code é estável e feito para o seu código tratar; message é para humanos e pode mudar.
details é opcional (em invalid_request traz issues com o caminho de cada campo inválido).
Códigos HTTP
Códigos de erro
Autenticação e acesso
Request e estado da instância
Erros de operação (ações imediatas ou webhook delivery)
Estes aparecem como resposta HTTP nas ações imediatas e em error_code no webhook delivery quando um envio falha.
Como tratar
429: espereRetry-Aftersegundos. O limite é por instância; distribua envios em várias instâncias se precisar de mais.409 instance_not_connected: consulteGET /status; sestatusforqroulogged_out, o número precisa ler o QR de novo. Envios enfileirados não sofrem disso.402: leitura e webhooks continuam funcionando; só os envios param até a assinatura.5xxe timeouts de rede: repita com backoff exponencial. Envios são seguros de repetir? Não automaticamente — se a primeira chamada chegou, você mandaria duas mensagens. Guarde owabox_idda resposta antes de repetir e confirme pelo webhookdeliveryou porGET /queue.