error:
error é em inglês e serve para diagnóstico. Monte a lógica pelo código
HTTP e, quando precisar distinguir casos com o mesmo código, pelo começo do texto
(listado abaixo).
Duas exceções ao formato:
- 429 (limite de requisições) vem com
messageem vez deerror. Ver Limites. - Corpo JSON malformado ou rota inexistente recebem a resposta padrão do servidor web (400 ou 404), que pode não ser JSON. Trate como erro do seu lado.
Códigos HTTP
Erros de validação (400)
O corpo diz qual regra falhou, com o texto da regra. Mais de um problema vem separado por;.
Erros de envio pelo WhatsApp
Aparecem nas rotas de Mensagens e Mídia.Conexão não oficial
Na conexão não oficial (QR Code), a falha do provedor vira um destes códigos, com a descrição emerror:
A conexão não oficial não tem janela de 24h: o erro de janela vencida não acontece
nela. Ver WhatsApp não oficial.
Mídia: o 201 não garante a entrega
As rotas de mídia respondem 201 assim que recebem o arquivo e validam o lead. O processamento e o envio acontecem logo depois, em segundo plano. Se o envio falhar nesse momento (formato não aceito, recusa do WhatsApp), a resposta HTTP já foi dada: a mensagem aparece como falha no chat do painel. Detalhes em Mídia.Repetir ou não?
Armadilhas
- Lead inexistente nem sempre é 404. No envio de texto e mídia é 400. Veja a tabela acima antes de tratar “não encontrado”.
- Não faça parse do texto inteiro de
error. Ele pode mudar de redação. Use o código e, no máximo, o começo do texto. - 201 de mídia não é entrega. Confira o status no chat ou pelo
webhook (
API_KEY_INTERACTIONquando sai,ERRORquando falha). - Reenviar depois de um timeout pode duplicar a mensagem para o lead.
Para saber mais
- Mensagens, Mídia, Identificar o lead
- Janela de 24h, Templates da Meta
- Meta: janela de atendimento
- Termos para buscar: “WhatsApp 24 hour customer service window”, “template not approved”, “HTTP status codes REST API”, “retry with exponential backoff”.