Pular para o conteúdo principal

Registrar e Atualiza estoque de SKUs e suas quantidades

Este endpoint é utilizado para registrar um lote de SKUs em armazéns, caso não exista nas nossas bases de dados ou atualiza as informações contidas no lote se existerem. É 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
externalReferencestringNãoReferência externa do armazém para rastreabilidade fora dos sistemas Grocers. Se não for fornecida, será gerada automaticamente.
itemsarrayNãoLista de SKUs com a quantidade disponível e reservada.

Exemplo de Corpo da Requisição

[
{
"externalReference": "1",
"items": [
{
"SKUExternalReference": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"quantityAvailable": 10,
"quantityReserved": 20
}
]
}
]

Respostas

  • 200: Retorna sucesso da operação. A resposta incluirá detalhes sobre o processamento da lista de produtos.
  • 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 Erro (400)

{
"error": "Invalid request",
"details": "The SKUExternalReference field is missing in one of the SKU items."
}

Mensagem de notificação webhook

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

{
"operationId": "54d6a979-5f62-4e17-9d4c-dbd9f5ede403",
"relatedEntity": "WarehouseSKU",
"eventType": 16,
"data": {
"warehouseId": "123",
"warehouseExternalReference": "1",
"sKUId": "guid",
"quantityAvailable": 10,
"quantityReserved": 20
},
"contractAccountId": "9f36a666-acd5-4987-a47f-3de247f65d82"
}
  • OperationId: Identificador único da operação.
  • RelatedEntity: Entidade relacionada ao evento (por exemplo, WarehouseSKU).
  • EventType: Tipo de evento (por exemplo, WarehouseSKU_Created).
    • Os tipos possíveis relevantes para Warehouse SKU são:
      • WarehouseSKU_Created = 16
      • WarehouseSKU_Updated = 17
      • WarehouseSKU_Deleted = 18
  • Data: Dados específicos do evento.
  • ContractAccountId: Identificador da conta do contrato.
  • Error: Detalhes do erro caso exista algum.