Skip to main content
POST
Confirme o código de entrega
Use este endpoint quando um operador de logística precisar validar o código informado pelo cliente.

Autenticação

Como todos os endpoints de logística, este não usa o Bearer token OAuth. É autenticado por três headers HTTP:
string (uuid)
required
Identificador da sua aplicação de logística (UUID v4).
string
required
UUID do merchant na plataforma Onbeef (entre 36 e 100 caracteres).
string
required
Assinatura HMAC-SHA256 (hex, 64 caracteres) do corpo cru da requisição. A chave é o client_secret fornecido no provisionamento da sua integração de logística. Não use o client_secret OAuth do merchant: são credenciais diferentes.

Corpo da requisição

O corpo da requisição deve ser enviado como application/json.
string (uuid)
required
Identificador do pedido gerado pela Onbeef, fornecido quando a entrega foi solicitada.
string
required
Código de confirmação informado pelo cliente na porta. Envie-o exatamente como o cliente apresenta.

Resposta

200: Código confirmado

O código está correto. A entrega pode prosseguir. O corpo da resposta ecoa orderId e deliveryCode.
string (uuid)
Identificador do pedido validado.
string
Código de confirmação validado com sucesso.

400: Código inválido

O código não corresponde ao esperado para este pedido. Corpo: { "title": "Invalid code provided", "status": 400 }. Não marque o pedido como entregue.

401: Não autorizado

Os headers X-App-* não foram reconhecidos, a integração não está ativa, ou a assinatura não confere.

404: Não encontrado

Nenhum pedido foi encontrado com o orderId informado para este merchant. Corpo: { "title": "Order not found", "status": 404 }.

429: Limite de requisições

A rota aceita até 120 requisições por minuto por endereço IP, num limite compartilhado com POST /v1/logistics/deliveryUpdate. Acima disso, a API responde { "title": "Too Many Requests", "status": 429 }. Veja Limite de requisições.

Exemplo de requisição

Exemplo de resposta

Relação com a validação de pedido

Este endpoint é a entrada do lado da logística para a verificação do código, autenticada por headers X-App-*. Do lado do merchant/PDV, o endpoint equivalente POST /v1/orders/{orderId}/validateCode tem o mesmo propósito, mas é autenticado com um Bearer token de merchant. Ambos verificam o mesmo código: a diferença é qual parte está fazendo a checagem e quais credenciais são usadas.
Uma resposta 400 significa que o código não bateu. Não entregue o pedido até receber uma resposta 200. Se as tentativas repetidas falharem, escale pelo canal de suporte: não pule a validação.