Erros e confiabilidade

Status HTTP

StatusSignificado típicoAção recomendada
400payload ou parâmetro inválidocorrija o request; não repita igual
401credencial ausente ou inválidainterrompa e revise/rotacione o token
403operação não permitidarevise escopo, papel ou permissão no WhatsApp
404recurso ou instância não encontradoconfirme identificadores e ownership
409conflito ou operação já em andamentoconsulte o estado antes de repetir
429limite temporáriorespeite Retry-After quando presente
5xxfalha temporária ou do provedorregistre contexto e tente novamente com limite

Sempre leia o schema e o corpo documentado da operação: alguns erros incluem error_key, mensagem do provedor ou endpoint de diagnóstico.

Política de retry

  • Pode repetir automaticamente leituras (GET) após falhas temporárias.
  • Em 429 e 503, respeite Retry-After quando retornado.
  • Use atraso exponencial com jitter e limite de tentativas.
  • Não repita cegamente um envio de mensagem após timeout: o primeiro request pode ter sido processado.
  • Antes de repetir uma mutação, consulte o estado ou reconcilie pelo ID retornado, webhook ou campo de rastreamento.

Exemplo de sequência de espera: 1s, 2s, 4s, 8s, sempre com pequena variação aleatória.

Webhooks

Seu receptor deve:

  1. autenticar e validar o destino configurado;
  2. rejeitar payloads maiores que o limite esperado;
  3. responder rapidamente;
  4. colocar processamento demorado em fila;
  5. tolerar eventos repetidos e fora de ordem;
  6. deduplicar por identificadores de evento/mensagem quando disponíveis.

Consulte /webhook/errors com o token da instância para diagnosticar falhas recentes. Para o webhook global, use /globalwebhook/errors com admintoken.

Observabilidade mínima

Registre operação, status HTTP, duração, instância interna/tenant e um correlation ID. Nunca registre tokens, conteúdo sensível de mensagens ou a query completa do SSE.