Referência de códigos de erro HTTP e mensagens da aplicação.
| Código | Status | Descrição |
|---|---|---|
200 |
OK | Requisição processada com sucesso |
201 |
Created | Recurso criado com sucesso |
400 |
Bad Request | Requisição inválida ou malformada |
401 |
Unauthorized | Autenticação ausente ou inválida |
403 |
Forbidden | Acesso negado ao recurso |
404 |
Not Found | Recurso não encontrado |
409 |
Conflict | Conflito com estado atual do recurso |
500 |
Internal Server Error | Erro interno não tratado |
{
"error": "Unauthorized"
}Causa: Header apikey ausente ou valor inválido.
Resolução:
curl -H "apikey: SUA-CHAVE-API" http://localhost:4000/endpoint{
"error": "Instance not found"
}Causa: Instância com nome especificado não existe.
Resolução: Verificar nome da instância ou criar nova via POST /instance/create.
{
"error": "Instance already exists"
}Causa: Tentativa de criar instância com nome duplicado.
Resolução: Utilizar nome único ou deletar instância existente.
{
"error": "Instance is not connected"
}Causa: Operação requer instância conectada ao WhatsApp.
Resolução: Conectar instância via QR Code (POST /instance/connect) ou pairing code.
{
"error": "Invalid phone number format"
}Causa: Formato de número incorreto.
Resolução: Utilizar formato internacional sem símbolos.
- Correto:
5511999999999(DDI + DDD + número) - Incorreto:
+55 (11) 99999-9999,11999999999
{
"error": "Field 'instanceName' is required"
}Causa: Campo obrigatório ausente no body da requisição.
Resolução: Incluir campo obrigatório no payload JSON.
{
"error": "Invalid JSON"
}Causa: Sintaxe JSON inválida ou header Content-Type incorreto.
Resolução:
- Validar sintaxe JSON
- Incluir header:
Content-Type: application/json
{
"error": "Database connection failed"
}Causa: Falha ao conectar com PostgreSQL.
Diagnóstico:
# Verificar status do PostgreSQL
docker-compose ps postgres
# Verificar logs
docker-compose logs postgres
# Testar conectividade
docker-compose exec evolution-go nc -zv postgres 5432Resolução:
- Verificar variáveis
POSTGRES_AUTH_DBePOSTGRES_USERS_DB - Confirmar que PostgreSQL está rodando
- Validar credenciais de acesso
{
"error": "Failed to connect to message queue"
}Causa: Falha ao conectar com RabbitMQ/NATS.
Resolução:
- Verificar variável
AMQP_URLouNATS_URL - Confirmar que serviço de fila está rodando
- Validar credenciais e permissões
{
"error": "User not found on WhatsApp"
}Causa: Número destinatário não está registrado no WhatsApp.
Resolução: Verificar número ou desabilitar validação (CHECK_USER_EXISTS=false).
{
"error": "Failed to send message",
"details": "..."
}Causas comuns:
- Número bloqueou sua instância
- Mensagem violou políticas do WhatsApp
- Instância foi bloqueada/banida
- Problema de conectividade
Diagnóstico:
# Verificar logs detalhados
docker-compose logs -f evolution-go
# Verificar status da instância
curl -H "apikey: SUA-CHAVE" \
"http://localhost:4000/instance/status?instanceName=NOME"WADEBUG=DEBUG# Docker Compose
docker-compose logs -f evolution-go
# Docker (container específico)
docker logs -f evolution-go --tail=100
# Arquivo (se LOGTYPE=file)
tail -f logs/evolution-go.logLogs incluem:
- Timestamp: Data/hora do evento
- Level: DEBUG, INFO, WARN, ERROR
- Module: Componente que gerou o log
- Message: Descrição do evento
- Context: Dados adicionais (instanceName, userId, etc)
- API key inválida
- Token expirado
- Permissões insuficientes
- JSON malformado
- Campos obrigatórios ausentes
- Formato inválido
- Instância não encontrada
- Recurso duplicado
- Estado inconsistente
- Erro de banco de dados
- Timeout de operação
- Serviço indisponível
- Debugging - Guia completo de debugging
- FAQ - Problemas comuns e soluções
- Logs - Configuração de logs
Documentação Evolution GO v1.0