Pular para o conteúdo

Erros

Todas as respostas de erro seguem um formato consistente. Quando uma requisição falha, a API retorna um objeto JSON com o campo error contendo a mensagem descritiva.

CódigoNomeDescrição
400Bad RequestO body da requisição é inválido ou faltam campos obrigatórios
401UnauthorizedAPI key ausente ou inválida
403ForbiddenA API key não tem permissão para este recurso
404Not FoundO recurso solicitado não existe
429Too Many RequestsLimite de requisições excedido
500Internal Server ErrorErro inesperado no servidor
502Bad GatewayO engine da sessão está inacessível ou não responde
{
"error": "Session not found"
}

O campo error sempre contém uma string legível em inglês descrevendo o problema.

A API retorna headers de rate limit em todas as respostas:

HeaderDescrição
X-RateLimit-LimitNúmero máximo de requisições permitidas na janela
X-RateLimit-RemainingRequisições restantes na janela atual

Quando você recebe 429 Too Many Requests:

  1. Pare de enviar requisições imediatamente
  2. Leia o header Retry-After (segundos até a janela resetar)
  3. Aguarde o tempo indicado antes de tentar novamente
  4. Implemente exponential backoff para retries subsequentes
ErroCausaSolução
UnauthorizedHeader x-api-key ausente ou valor incorretoVerifique se o header está presente e a key é válida
Session not foundO sessionId não existe ou foi removidoListe as sessões ativas em GET /sessions
Engine unavailableO container da sessão está offline ou reiniciandoAguarde alguns segundos e tente novamente
Session not connectedA sessão existe mas o WhatsApp não está pareadoInicie o pairing via QR code ou phone number
Invalid phone numberO número enviado não é um JID válidoUse formato internacional sem +: 5511999999999
Rate limit exceededMuitas requisições em curto períodoReduza a frequência e implemente backoff
Request body invalidJSON malformado ou campos com tipo incorretoValide o body contra a documentação do endpoint