CSM-CRMC-02

Dettaglio configurazione.
La funzionalità permette ottenere una specificare configurazione.
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
configuratorRawMaterialId: ID del prodotto padre (nel caso di varianti)
configurationId: ID della configurazione ricercata

ALTRI PARAMETRI:
HEADER

				
					[GET] /api-catalog/v2
/customers/{customerId:long}
/products/{configuratorRawMaterialId:long}
/configurations/{configurationId:long}
				
			

Risposta

Elenco delle opzioni di configurazione scelte per il prodotto. Il primo livello di “steps” rappresenta il sottomodello, in prodotti complessi potrebbero essercene più di uno. Gli attributi rappresentano un tipo di configurazione, mentre le opzioni sono tutti i valori selezionati per quel tipo.

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

				
					[200] OK
{
  "tagId": 0,
  "tagName": "string",
  "steps": [
    {
      "modelTypeId": 0,
      "modelTypeName": "string",
      "attributes": [
        {
          "attributeId": 0,
          "title": "string",
          "options": [
            {
              "valueId": 0,
              "name": "string",
              "isSelected": true
            }
          ]
        }
      ]
    }
  ]
}

[400] Bad Request

[401] Unauthorized
				
			

Esempio

				
					using RestSharp;
using System.Threading.Tasks;
using System.Collections.Generic;

public async Task<ApiResponseDto> GetApiResponseAsync(long customerId, long configuratorRawMaterialId, long configurationId, string bearerToken)
{
    var client = new RestClient("https://apim-fe-staging.tailoor.com");
    var request = new RestRequest($"/api-catalog/v2/customers/{customerId}/products/{configuratorRawMaterialId}/configurations/{configurationId}", Method.Get);

    request.AddHeader("Authorization", $"Bearer {bearerToken}");
    
    var response = await client.ExecuteAsync<ApiResponseDto>(request);
    
    if (response.IsSuccessful && response.Data != null)
    {
        return response.Data;
    }
    else
    {
        // Gestione degli errori
        throw new Exception(response.ErrorMessage ?? "Errore nella chiamata API.");
    }
}

// DTO per i dati di uscita
public class ApiResponseDto
{
    public long TagId { get; set; }
    public string TagName { get; set; }
    public List<StepDto> Steps { get; set; }
}

public class StepDto
{
    public long ModelTypeId { get; set; }
    public string ModelTypeName { get; set; }
    public List<AttributeDto> Attributes { get; set; }
}

public class AttributeDto
{
    public long AttributeId { get; set; }
    public string Title { get; set; }
    public List<OptionDto> Options { get; set; }
}

public class OptionDto
{
    public long ValueId { get; set; }
    public string Name { get; set; }
    public bool IsSelected { get; set; }
}

				
			

Per ulteriori dettagli consultare Api.Web.Catalog