Resposta de sucesso
data.
O conteúdo útil está sempre em data, em uma única camada.
Listas vêm em
items. Quando o endpoint pagina, limit e offset acompanham items dentro de data.Resposta de erro
message.error. É por ele que o seu cliente deve decidir o que fazer — nunca pelo texto de message.message, que pode mudar.
O campo errorId
Todo erro carrega um errorId único. Ele é a referência que permite ao suporte localizar a requisição exata nos registros do servidor, inclusive nos casos em que a mensagem devolvida é genérica.
Guarde o
errorId nos seus próprios registros. Ao abrir um chamado, envie-o junto: sem ele, um erro genérico é praticamente impossível de rastrear.Códigos de erro
Erros de limite de plano
O403 de limite de plano não traz código nomeado, e a mensagem devolvida é genérica. Se a criação de contato passar a responder 403, verifique o consumo do plano no painel.
Erro de limite de requisições
O429 também não traz código nomeado:
Repare que neste caso
message é um texto, e não um objeto. Erros com código nomeado trazem message como objeto ({ "error": …, "message": … }); erros sem código nomeado, como o 429 e o 401, podem trazê-lo como texto. Trate os dois formatos ao ler o campo.Erros vindos do WhatsApp
O envio é assíncrono: a API responde201 assim que aceita a mensagem, antes de falar com o WhatsApp. Por isso, uma recusa do WhatsApp nunca aparece na resposta do envio.
Ela aparece depois, no campo failed_reason da consulta de status, já traduzida para português. Veja Status da mensagem.
