POST automáticas em tempo real.
Como funciona
1. Configurando seu Endpoint de Webhook
- No painel, vá em Configurações > Webhooks.
- Informe a URL do seu servidor que receberá os eventos (ex:
https://meusistema.com.br/api/webhooks/bulkroute). - Copie o Webhook Secret gerado (usado para validar a assinatura de segurança).
- Selecione os eventos que deseja receber (ou “Todos”).
- Salve.
Requisitos do seu endpoint
- Deve aceitar
POSTcom body JSON - Deve retornar
200 OKem até 10 segundos (senão o BulkRoute considera timeout e faz retry) - Deve ser acessível publicamente (não localhost)
- Deve validar a assinatura HMAC (ver abaixo)
- Deve ser idempotente (pode receber o mesmo evento mais de uma vez em caso de retry)
2. Eventos disponíveis
3. Exemplo de Payload Recebido
shipment.status_updated
shipment.created
bid.acceptance_received
4. Validação de Assinatura (Segurança HMAC)
Cada requisição enviada pelo BulkRoute inclui o cabeçalho:Node.js
Python (Flask)
5. Retry e Dead Letter Queue
O BulkRoute tenta entregar cada webhook até 5 vezes:
Se todas as 5 tentativas falharem, o evento vai para a Dead Letter Queue (DLQ) e fica visível no painel em Configurações > Webhooks > DLQ.
Você pode:
- Reprocessar um evento da DLQ manualmente
- Baixar o payload para debug
- Descartar eventos irrelevantes
6. Logs de Webhook
Cada disparo de webhook é logado no painel:7. Testando seu Webhook
Com ngrok (desenvolvimento local)
Com webhook.site (teste rápido)
- Acesse webhook.site
- Copie a URL gerada
- Configure no painel do BulkRoute
- Crie um shipment e observe os eventos chegando em tempo real