Confirme o código de entrega
curl --request POST \
--url https://api.dev.connect.onbeefapp.com.br/v1/logistics/confirmationCode \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-App-Id: <x-app-id>' \
--header 'X-App-MerchantId: <x-app-merchantid>' \
--header 'X-App-Signature: <x-app-signature>' \
--data '
{
"orderId": {},
"deliveryCode": "<string>"
}
'{
"orderId": {},
"deliveryCode": "<string>"
}Logística
Confirme o código de entrega
Valide o código de uma entrega.
POST
/
v1
/
logistics
/
confirmationCode
Confirme o código de entrega
curl --request POST \
--url https://api.dev.connect.onbeefapp.com.br/v1/logistics/confirmationCode \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-App-Id: <x-app-id>' \
--header 'X-App-MerchantId: <x-app-merchantid>' \
--header 'X-App-Signature: <x-app-signature>' \
--data '
{
"orderId": {},
"deliveryCode": "<string>"
}
'{
"orderId": {},
"deliveryCode": "<string>"
}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 comoapplication/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 ecoaorderId 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 headersX-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 oorderId 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 comPOST /v1/logistics/deliveryUpdate. Acima disso, a API responde { "title": "Too Many Requests", "status": 429 }. Veja Limite de requisições.
Exemplo de requisição
curl --request POST \
--url "https://api.dev.connect.onbeefapp.com.br/v1/logistics/confirmationCode" \
--header "Content-Type: application/json" \
--header "X-App-Id: <app_uuid>" \
--header "X-App-MerchantId: <merchant_id>" \
--header "X-App-Signature: <hmac_sha256_do_corpo>" \
--data '{
"orderId": "b3e1eced-f2bd-4d8c-9765-fbc9d1d222d5",
"deliveryCode": "8X4K2"
}'
Exemplo de resposta
{
"orderId": "b3e1eced-f2bd-4d8c-9765-fbc9d1d222d5",
"deliveryCode": "8X4K2"
}
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 headersX-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.