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.

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…)
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