Skip to main content

Formato padrão

Todas as respostas de erro seguem o mesmo formato:
O campo code é estável e legível por máquina — programe suas checagens contra ele, não contra o texto de error (que pode mudar e varia de idioma entre endpoints). O hint aparece só em alguns erros.

Códigos HTTP

Erros comuns

400 — phone is required

O campo phone é obrigatório em todas as requisições.

400 — Invalid phone number

O número de telefone deve ter pelo menos 10 dígitos. Aceita formato E.164 ou DDD+número brasileiro.

401 — API key expired

A chave atingiu a data de expiração configurada. Gere uma nova chave.

402 — Limite do plano atingido

Quando um limite do plano é atingido, a resposta é 402 com um code específico do recurso. Os registros já existentes continuam acessíveis — só a criação de novos é bloqueada.
Consulte os tetos de cada plano em Planos e Limites.

402 — API access not available

O acesso à API está disponível em todos os planos pagos (Essencial, Crescimento e Sob consulta). Este erro só ocorre para workspaces sem plano ativo — por exemplo, no plano gratuito ou com o período de teste expirado.

402 — Subscription inactive

A assinatura do workspace está inativa (cancelada, suspensa, inadimplente ou trial expirado). Alguns endpoints devolvem esse mesmo code com a mensagem em português — por isso, cheque sempre o code.

422 — No WhatsApp instance

Para criar leads via API, o workspace precisa ter pelo menos uma instância de WhatsApp conectada.

Erros dos endpoints de mensagem

Códigos específicos de POST /messages (número novo) e POST /conversations/{id}/messages (conversa existente).

400 — INVALID_PHONE

O phone precisa vir no formato internacional brasileiro completo: 55 + DDD + número. Sem o 55/DDD ou com número ambíguo, o CRM recusa para não criar contato duplicado. Aceita o celular com ou sem o 9º dígito.

422 — INSTANCE_REQUIRED

O workspace tem mais de uma conexão WhatsApp. Informe instanceId no corpo. Liste as conexões em GET /instances.

404 — INSTANCE_NOT_FOUND

O instanceId informado não existe (ou não pertence a este workspace).

422 — NO_INSTANCE

O workspace não tem nenhuma conexão WhatsApp configurada. Conecte uma instância antes de enviar.

403 — OPTED_OUT

O contato solicitou opt-out de marketing e não pode receber mensagens ativas. Não é seguro para retry.

429 — COLD_LIMIT_REACHED

O cap diário de números novos do workspace foi atingido. Reinicia no dia seguinte — veja Rate Limits.

409 — IN_PROGRESS

Já existe uma requisição em andamento com o mesmo Idempotency-Key. Aguarde a primeira concluir — quando ela termina, uma nova chamada com a mesma chave devolve a resposta memoizada (200) em vez de reenviar.

422 / 503 — TEMPLATE_HEADER_MEDIA_UNAVAILABLE

O template tem cabeçalho de mídia e ele não pode sair. A API não recebe arquivo para o cabeçalho: com cabeçalho IMAGE, o CRM usa a imagem aprovada na Meta automaticamente.
  • 422 — definitivo: a imagem aprovada não pode ser usada (removida, formato diferente, recusada pela Meta) ou o cabeçalho é VIDEO/DOCUMENT, que a API não envia. Não repita sem mudar o template.
  • 503 — temporário: a Meta ou a CDN dela não entregou a imagem agora. Repita com backoff.
Nos dois casos nada é enviado à Meta e a cota diária não é consumida.

422 — OFFICIAL_TOKEN_UNAVAILABLE

A conexão da API Oficial não conseguiu acessar o template ou a mídia do cabeçalho na Meta: token expirado ou sem permissão, ou a conta WhatsApp Business (WABA) da conexão não pôde ser identificada. Reconecte o número no CRM. Nada é enviado e a cota não é consumida.

Retry seguro

Os seguintes erros são seguros para retry:
  • 429 Too Many Requests — aguarde o Retry-After antes de tentar novamente
  • 409 IN_PROGRESS — aguarde e repita com o mesmo Idempotency-Key (nunca reenvia em dobro)
  • 500 Internal Server Error / 502 SEND_FAILED — use backoff exponencial (1s, 2s, 4s…)
  • 503 TEMPLATE_HEADER_MEDIA_UNAVAILABLE — mídia do cabeçalho indisponível no momento; backoff exponencial
Os seguintes erros não devem ser retentados sem corrigir o problema:
  • 400 — corrija o payload
  • 401, 402, 403 — corrija a autenticação, o plano ou o opt-out do contato
  • 422 — verifique a configuração do workspace, a instância ou a janela de 24h