Webhook de Ocorrências
POST https://seusite.com/webhook/ocorrences
Através deste Webhook, o Embarcador receberá notificações sobre as ocorrências do frete.
Para isso, basta disponibilizar uma URL única que receberá as requisições com os dados listados abaixo.
Cada vez que ocorrer uma atualização de ocorrência do frete, o webhook enviará as informações para a URL fornecida, de acordo com as configurações definidas no Dash FR.
Envio:
Parâmetros enviados no corpo da requisição:
Nome | Descrição | Formato / Exemplo | Informado |
---|---|---|---|
id_frete | Identificador do frete contratado na Frete Rápido. Pode ser utilizado para rastrear o frete. | String de 13 caracteres | * |
numero_pedido | Número do Pedido | String | Eventual |
numero_pedido_pai | Número do Pedido Pai | String | Eventual |
canal | Nome do canal informado no frete | String | Eventual |
codigo | Código da ocorrência. Vide todas as ocorrências disponíveis na Frete Rápido. | Numérico (inteiro) | * |
nome | Nome da ocorrência | String | * |
data_ocorrencia | Data e hora da ocorrência pela transportadora informada à Frete Rápido | Datetime (YYYY-MM-DD hh:mm:ss) | * |
comprovantes | Comprovantes da ocorrência | Array com nenhum ou vários comprovantes | Eventual |
data_atualizacao | Data e hora da atualização da ocorrência pela transportadora | Datetime (YYYY-MM-DD hh:mm:ss) | * |
data_reentrega | Data de previsão de nova tentativa de entrega ao destinatário | Date (YYYY-MM-DD) | Em caso de reentrega |
prazo_devolucao | Prazo em dias úteis para devolução da carga | String Numérica (Caso não informado será enviado o "0") | Em caso de devolução |
mensagem | Mensagem de texto livre da transportadora | String de até 255 caracteres | Eventual |
notas_fiscais | Array com os dados da nota fiscal | Array em json | Opcional |
numero | Número da nota fiscal | String Numérica | Se Houver NF |
serie | Série da nota fiscal | String Numérica | Se Houver NF |
chave_acesso | Chave de acesso da nota fiscal | String Numérica | Se Houver NF |
metadados | Array com os metadados da cotação | Array em json | Opcional |
chave | Chave do metadado | String | Se houverem metadados |
valor | Valor do metadado | String | Se houverem metadados |
transportadora | Objeto com alguns dados da transportadora | Objeto em json | * |
cnpj | CNPJ da transportadora | String Numérica | * |
razao_social | Razão Social da transportadora | String | * |
* Informado sempre |
Exemplo de envio:
{
"id_frete": "",
"numero_pedido": "",
"numero_pedido_pai": "",
"canal": "",
"codigo": 0,
"nome": "",
"data_ocorrencia": "",
"comprovantes": [
{
"url_imagem": ""
}
],
"data_atualizacao": "",
"data_reentrega": null,
"prazo_devolucao": null,
"mensagem": "",
"notas_fiscais": [
{
"numero": "",
"serie": "",
"chave_acesso": ""
}
],
"metadados": [
{
"chave": "",
"valor": ""
}
],
"transportadora": {
"cnpj": "",
"razao_social": ""
}
}
Resposta:
- Em caso de sucesso deverá ser retornado o código de resposta HTTP 200.
Reprocessamento
- O reprocessamento automático acontece nos casos onde o status do retorno seja:
Condição | Status |
---|---|
igual a | HTTP 408 |
igual a | HTTP 429 |
maior ou igual a | HTTP 500 |
Cada tentativa é realizada até que a API retorne um status de sucesso ou até que o número máximo de tentativas seja atingido.
O intervalo entre as tentativas de reprocessamento é relativo à tentativa anterior, ou seja, cada nova tentativa ocorre após um tempo adicional em relação à última tentativa, e não em relação ao momento de criação do webhook. O exemplo a seguir ilustra esse processo de re-tentativas, com o tempo adicional aplicado a cada nova tentativa:
- Tentativa 1: após 1 minuto (acumulado: 1 minuto)
- Tentativa 2: após 5 minutos (acumulado: 6 minutos)
- Tentativa 3: após 10 minutos (acumulado: 16 minutos)
Veja abaixo a tabela completa com as tentativas e seus respectivos tempos:
Tentativa | Tempo |
---|---|
1 | 1min |
2 | 2min |
3 | 3min |
4 | 5min |
5 | 10min |
6 | 30min |
7 | 1h |
8 | 2h |
9 | 3h |
10 | 4h |
11 | 5h |
12 | 8h |
- Ao solicitar o reprocessamento pelo Dash FR, caso o retorno não seja bem-sucedido, serão realizadas até 3 tentativas, todas com um intervalo de 1 minuto. As tentativas seguem a mesma lógica cumulativa utilizada no fluxo padrão, acumulando o tempo total decorrido entre elas.
Tentativa | Tempo |
---|---|
1 | 1min |
2 | 1min |
3 | 1min |