POST /v1/messages responde 202, a mensagem está accepted: a Routa a gravou, mas ela ainda precisa chegar ao WhatsApp e ao aparelho do cliente. Existem três formas de acompanhar o resto do caminho.
1. Por webhook
Assine os eventos de mensagem. O curingamessage.* cobre todos eles.
data é a mensagem no estado atual:
Atualize seu banco usando o
data.id da mensagem e o data.status. Como a entrega pode chegar fora de ordem, nunca regrida o status:
2. Consultando a mensagem
sent_at, delivered_at, read_at e failed_at mostram quando cada etapa ocorreu, ou null se ainda não ocorreu.
3. Reconciliando com o log de eventos
Se o seu servidor ficou indisponível, liste os eventos que você perdeu a partir do último processado:O que significa failed
failed é terminal. Ocorre quando o provedor rejeita a mensagem de forma definitiva ou quando as tentativas de envio se esgotam. Falhas transitórias são retentadas automaticamente pela Routa e não aparecem como status. O motivo detalhado da falha fica na linha do tempo da mensagem, no painel.
Se uma mensagem permanece
accepted por muito tempo, geralmente há uma indisponibilidade do provedor ou o canal está com uma fila acima da capacidade. A mensagem não se perde: ela é enviada assim que o caminho normaliza.