Tratamento de Erros
A Engine API retorna erros padronizados em JSON para facilitar o diagnóstico e tratamento.Formato de erro
Códigos HTTP
| Código | Significado | Quando acontece |
|---|---|---|
200 | ✅ Sucesso | Operação realizada com sucesso |
201 | ✅ Criado | Recurso criado (empresa, webhook) |
400 | ❌ Bad Request | JSON inválido, campos faltando |
401 | 🔒 Não autorizado | Token JWT inválido ou expirado |
403 | 🚫 Proibido | Sem permissão para este recurso |
404 | 🔍 Não encontrado | Issuer, nota ou recurso não existe |
409 | ⚠️ Conflito | Nota já emitida, CNPJ já cadastrado |
422 | ❌ Erro fiscal | SEFAZ rejeitou o documento |
429 | 🐢 Rate limit | Muitas requisições, aguarde |
500 | 💥 Erro interno | Bug no servidor (nos reporte!) |
Erros fiscais (422)
Quando a SEFAZ rejeita um documento, o erro 422 contém os detalhes da rejeição:Erros comuns e soluções
401 - Token JWT expirado
401 - Token JWT expirado
Causa: Token tem validade de 24h e expirou.
Solução: Faça login novamente em
POST /auth/login.422 - Rejeição 539 (duplicidade)
422 - Rejeição 539 (duplicidade)
Causa: Já existe uma NFe com esse número/série para esse CNPJ.
Solução: Consulte a nota existente ou use o próximo número disponível.
422 - Rejeição 225 (falha no schema)
422 - Rejeição 225 (falha no schema)
Causa: O XML gerado não está conforme o schema da SEFAZ. Solução:
Verifique se todos os campos obrigatórios estão preenchidos corretamente.
400 - Certificado não encontrado
400 - Certificado não encontrado
Causa: A empresa não tem certificado A1 cadastrado. Solução: Faça
upload do certificado em
POST /companies/{id}/certificate.500 - SEFAZ fora do ar
500 - SEFAZ fora do ar
Causa: O servidor da SEFAZ está indisponível.
Solução: Tente novamente em alguns minutos. A Engine API faz retry automático.