Pular para o conteúdo principal

Registrar novos preços de SKUs

Este endpoint é utilizado para registrar os preços de SKUs em armazéns. É ideal para sistemas que precisam sincronizar uma grande quantidade de dados de precificação.

POST /v1/batch/pricing

  • Authorization: Basic Auth contendo a chave pública e secreta disponibilizadas para o cliente.
    • Exemplo: Basic <base64-encoded-credentials>
  • x-contractAccountId: Identificador da conta do contrato do cliente.
    • Exemplo: x-contractAccountId: 9f36a666-acd5-4987-a47f-3de247f65d82

Exemplo de Autorização

Para gerar o valor de Authorization, você precisa codificar suas credenciais (public_key:secret_key) em base64. Por exemplo, se sua chave pública for public_key e sua chave secreta for secret_key, você deve codificar public_key:secret_key em base64.

echo -n 'public_key:secret_key' | base64

Corpo da Requisição

O corpo da requisição deve ser uma lista de objetos contendo as informações de preço para o SKU, com os seguintes campos:

CampoTipoNullableDescrição
skuExternalReferencestringNãoReferência externa do SKU para identificação.
externalReferencestringNãoReferência externa do preço para rastreabilidade. Se não for fornecida, será gerada automaticamente.
commercialPolicyIdstringNãoID da política comercial aplicada ao preço do SKU.
listPriceobjectNãoObjeto contendo o preço listado para o SKU.
listPrice.valuenumberNãoValor do listed price.
listPrice.startDateTimestringNãoData e hora de início para o preço listado (formato: YYYY-MM-DD HH:MM:SS).
basePriceobjectNãoObjeto contendo o preço base para o SKU.
basePrice.valuenumberNãoValor do preço base.
fixedPriceobjectSimObjeto contendo o preço fixo do SKU, utilizado em promoções.
fixedPrice.valuenumberSimValor do preço fixo, aplicável durante o período de vigência.
fixedPrice.startDateTimestringSimData e hora de início para o preço fixo (formato: YYYY-MM-DD HH:MM:SS).
fixedPrice.endDateTimestringSimData e hora de término para o preço fixo (formato: YYYY-MM-DD HH:MM:SS).

Exemplo de Corpo da Requisição

[
{
"skuExternalReference": "sku-001",
"externalReference": "price-001",
"commercialPolicyId": "9f36a666-acd5-4987-a47f-3de247f65d82",
"listPrice": {
"value": 110,
"startDateTime": "2024-09-10"
},
"basePrice": {
"value": 100
},
"fixedPrice": {
"value": 90,
"startDateTime": "2024-09-12 12:00:00",
"endDateTime": "2024-09-12 18:00:00"
}
}
]

Respostas

  • 200: Retorna sucesso da operação. A resposta incluirá detalhes sobre o processamento da lista de preços.
  • 400: Retorna erro de requisição inválida. Isso geralmente ocorre devido a dados de entrada mal formatados ou faltando.
  • 500: Retorna erro interno do servidor. Indica problemas no processamento da requisição no servidor.

Exemplo de Resposta para Sucesso (200)

{ "operationId": "402fe685-2060-432b-ac57-223eb2e680f3" }

Mensagem de notificação webhook

Quando a operação é processada, uma mensagem é enviada para os endpoints de notificação registrados pelo webhook. A mensagem contém o ID, o status da operação e detalhes do retorno.

{
"operationId": "54d6a979-5f62-4e17-9d4c-dbd9f5ede403",
"relatedEntity": "SKUPricing",
"eventType": 16,
"data": {
"id": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90",
"skuExternalReference": "sku-001",
"externalReference": "price-001",
"commercialPolicyId": "9f36a666-acd5-4987-a47f-3de247f65d82",
"listPrice": {
"value": 110,
"startDateTime": "2024-09-10"
},
"basePrice": {
"value": 100
},
"fixedPrice": {
"value": 90,
"startDateTime": "2024-09-12 12:00:00",
"endDateTime": "2024-09-12 18:00:00"
}
},
"contractAccountId": "9f36a666-acd5-4987-a47f-3de247f65d82"
}
  • OperationId: Identificador único da operação.
  • RelatedEntity: Entidade relacionada ao evento (SKUPricing).
  • EventType: Tipo de evento.
    • Os tipos possíveis relevantes para preços de SKU são:
      • SKUPricing_Created = 16
      • SKUPricing_Updated = 17
      • SKUPricing_Deleted = 18
      • SKUPricing_CreationFailed = 105
      • SKUPricing_UpdateFailed = 115
      • SKUPricing_DeletionFailed = 125
  • Data: Dados específicos do evento.
  • ContractAccountId: Identificador da conta do contrato.
  • Error: Detalhes do erro caso exista algum.