Skip to main content
Todo erro da API volta com um código HTTP e um corpo JSON com um campo error:
O texto de 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 message em vez de error. 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 em error: 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_INTERACTION quando sai, ERROR quando falha).
  • Reenviar depois de um timeout pode duplicar a mensagem para o lead.

Para saber mais