Pular para o conteúdo principal

Registrar e atualizar estoque de SKUs e suas quantidades

Este endpoint é utilizado para registrar um lote de SKUs em armazéns, caso não exista nas bases de dados, ou atualizar as informações contidas no lote se existirem. É ideal para sistemas que precisam sincronizar uma grande quantidade de dados de estoque de SKU.

POST /v1/batch/warehouses/sku

  • 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 de armazém contendo SKUs, cada um contendo os seguintes campos:

CampoTipoNullableDescrição
warehouseExternalReferencestringNãoReferência externa do armazém para rastreabilidade fora dos sistemas.
itemsarrayNãoLista de SKUs com a quantidade disponível e reservada.

Campos dos Items

CampoTipoNullableDescrição
SKUExternalReferencestringNãoReferência externa do SKU.
quantityAvailabledecimalNãoQuantidade disponível em estoque.
quantityReserveddecimalNãoQuantidade reservada (em pedidos).

Exemplo de Corpo da Requisição

[
{
"warehouseExternalReference": "warehouse-001",
"items": [
{
"SKUExternalReference": "sku-001",
"quantityAvailable": 10,
"quantityReserved": 20
},
{
"SKUExternalReference": "sku-002",
"quantityAvailable": 50,
"quantityReserved": 5
}
]
}
]

Respostas

  • 200: Retorna sucesso da operação. A resposta incluirá detalhes sobre o processamento.
  • 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": "WarehouseSKU",
"eventType": 22,
"data": {
"warehouseId": "123",
"warehouseExternalReference": "warehouse-001",
"sKUId": "guid",
"quantityAvailable": 10,
"quantityReserved": 20
},
"contractAccountId": "9f36a666-acd5-4987-a47f-3de247f65d82"
}
  • OperationId: Identificador único da operação.
  • RelatedEntity: Entidade relacionada ao evento (WarehouseSKU).
  • EventType: Tipo de evento.
    • Os tipos possíveis relevantes para Warehouse SKU são:
      • WarehouseSKU_Created = 22
      • WarehouseSKU_Updated = 23
      • WarehouseSKU_Deleted = 24
      • WarehouseSKU_CreationFailed = 107
      • WarehouseSKU_UpdateFailed = 117
      • WarehouseSKU_DeletionFailed = 127
  • Data: Dados específicos do evento.
  • ContractAccountId: Identificador da conta do contrato.
  • Error: Detalhes do erro caso exista algum.