27 de julho de 2026

Novo webhook: seu sistema avisado quando o pedido atrasa

O evento ORDER_DELAY avisa o seu servidor no instante em que um pedido fura o prazo do cliente — e também antes, se você usa marcadores de risco. O payload diz qual dos dois casos disparou.

✅ Disponível agora — selecione o evento ORDER_DELAY em Configurações → Webhooks. Contrato completo na referência do evento.

A novidade em uma frase

Quando um pedido atrasa, a Abbiamo agora faz um POST no seu endpoint — vale para qualquer pedido com prazo de cliente, sem configuração nenhuma.

O que mudou

AntesSó dava pra ver na tela

O atraso aparecia na coluna Situação de entrega. Para reagir no seu sistema, era preciso alguém olhando a lista de Pedidos — ou uma varredura periódica na API atrás de pedidos perto do prazo.

AgoraChega no seu servidor

O evento ORDER_DELAY bate no seu endpoint no minuto exato. Seu sistema abre o alerta, o ticket ou a mensagem no canal do time — sem polling.

Dois gatilhos, um evento

O campo trigger diz por que o evento chegou:

🔴DELAYED

O prazo prometido ao cliente estourou e o pedido não foi concluído. Vale para todo pedido com prazo — não precisa configurar nada.

🟡RISK_MARKER

Uma regra de risco sua acendeu um marcador antes do prazo. Vem com o nome e a cor do marcador que você configurou.

Um mesmo pedido pode gerar os dois: primeiro o aviso preventivo, depois o atraso consumado.

O payload

{
  "event_type": "ORDER_DELAY",
  "trigger": "DELAYED",
  "order_id": "3f9a1c22-0000-0000-0000-000000000000",
  "order_number": "1042",
  "external_order_id": "PED-98213",
  "tracking": "AB12CD34EF",
  "status": "START_DELIVERY",
  "promised_delivery_date": "2026-07-27T21:00:00.000Z",
  "threshold_minutes": 0,
  "minutes_to_deadline": 0,
  "overdue": true,
  "risk_marker": null,
  "rule_id": null,
  "event_at": "2026-07-27T21:00:03.482Z"
}

No caso RISK_MARKER, o risk_marker vem preenchido com id, name e color. O corpo completo, campo a campo, está na referência do evento ORDER_DELAY.

Não é uma mudança de status

O ORDER_DELAY é um evento derivado do tempo, não uma transição do pedido. O campo status vem só como contexto do momento do disparo — o pedido continua exatamente onde estava. Se você já trata ORDER_STATUS_CHANGE, trate este num caminho separado.

Nada chega para pedido já resolvido

O disparo é agendado quando o pedido nasce — a partir do prazo informado na criação —, mas no instante em que vence o pedido é revalidado. Se ele já foi entregue, cancelado, baixado manualmente ou devolvido, o evento simplesmente não sai.

Deduplique do seu lado

A entrega é at-least-once: o normal é chegar um evento por gatilho, mas uma repetição é possível. Use order_id + trigger (+ risk_marker.id, quando houver) como chave e ignore o que já processou.

Para ligar

  1. Em Configurações → Webhooks, cadastre a URL do seu endpoint com o evento ORDER_DELAY.
  2. Opcional: em Configuração → Marcadores de risco de entrega, crie regras para receber também os avisos preventivos (trigger: "RISK_MARKER").
  3. Os disparos ficam auditáveis em Configurações → Logs → Webhooks, com o payload exato e o status HTTP retornado.