CSM-CRM-03

Inserimento nuovo Prodotto a livello di anagrafica base.
Il salvataggio creerà un nuovo SKU univoco per il Prodotto, successivamente sarà possibile utilizzare le altre API per caricare tutte le sezioni, come immagini, attributi etc.
Questa API richiede l’immissione di un Token autorizzativo valido e il possesso del permesso MNRM per garantire la sicurezza dei dati.

Richiesta

PARAMETRI OBBLIGATORI:
customerId: ID del Customer attivo
rawMaterialId: ID del Materiale
modelTypeId: ID del ModelType da utilizzare

ALTRI PARAMETRI:
HEADER

				
					[POST] /api-catalog/v2/customers
/{customerId:long}/products/
{
  "rawMaterialId": 0,
  "modelTypeId": 0,
  "isActive": true,
  "warehouseQuantity": 0
}
				
			

Risposta

ID del nuovo Prodotto, utilizzarlo per il recupero delle informazioni di base tra le quali lo SKU.

RESPONSE-DTO
In caso di errore o risultato senza ritorno.

				
					[200] OK
0

[400] Bad Request

[401] Unauthorized
				
			

Esempio

				
					using RestSharp;
using System.Threading.Tasks;

public async Task<long> CreateCustomerProductAsync(long customerId, ProductDto productDto, string token)
{
    var client = new RestClient(ApiBaseUrl);
    var request = new RestRequest($"/api-catalog/v2/customers/{customerId}/products/", Method.Post);
    
    // Aggiunge il Bearer Token nell'header
    request.AddHeader("Authorization", $"Bearer {token}");
    request.AddJsonBody(productDto);

    // Effettua la chiamata e ottiene la risposta
    var response = await client.ExecuteAsync<long>(request);

    if (response.IsSuccessful)
    {
        // Restituisce il valore della risposta in caso di successo
        return response.Data;
    }
    else
    {
        // Gestisci eventuali errori qui, come 400 o 401
        throw new ApplicationException($"Error: {response.StatusCode}, {response.Content}");
    }
}

// DTO per il corpo della richiesta
public class ProductDto
{
    public long RawMaterialId { get; set; }
    public long ModelTypeId { get; set; }
    public bool IsActive { get; set; }
    public int WarehouseQuantity { get; set; }
}


				
			

Per ulteriori dettagli consultare Api.Web.Catalog