| Campo | Significado |
|---|---|
service | Classe/serviço onde o erro foi originado |
method | Método específico que falhou |
message | Mensagem em pt-BR pronta pra mostrar/logar |
Status codes principais
| Status | Significado | Retry? |
|---|---|---|
| 200 OK | Operação concluída, body com dados | — |
| 201 Created | Recurso criado, body com ID gerado | — |
| 204 No Content | Operação ok, sem body | — |
| 400 Bad Request | Validação de schema falhou (campo errado, tipo errado) | ❌ Não — corrige o request |
| 401 Unauthorized | Token ausente, inválido ou expirado | ❌ Não — corrige autenticação |
| 403 Forbidden | Autenticado mas sem permissão | ❌ Não — verifica plano/escopo |
| 404 Not Found | Recurso não existe (ID inválido ou de outro tenant) | ❌ Não — corrige ID |
| 500 Internal Server Error | Erro inesperado no backend | ✅ Sim — backoff + retry |
message do envelope sempre indica
a causa concreta.
Mensagens comuns
401 Unauthorized — falhas de autenticação
| Mensagem | Causa típica |
|---|---|
Token inválido | Malformado, assinatura corrompida, ou de ambiente errado (PROD vs HML) |
Token expirado | Atingiu o exp (expiração) — hora de rotacionar |
400 Bad Request — validação de schema
Vem do ValidationPipe global do NestJS. Indica que o payload tem
problema estrutural (campo faltando, tipo errado, propriedade extra).
message pode ser um array de strings quando há múltiplos erros.
Trate defensivamente:
404 Not Found — recurso inexistente
Atenção: se você está em multi-tenant, 404 pode
significar “ID existe, mas em outra UN”. Cheque que o token pertence à UN
do recurso.
500 Internal Server Error — erro interno
Indica algo inesperado no backend. Sempre transitório do ponto de vista
do cliente:
- Retente com backoff (3-5 tentativas, jitter)
- Se persistir, abra chamado em
tecnologia@pontua.com.brcom:service,method,message- Timestamp da primeira ocorrência (BRT)
- Payload exato que estava sendo enviado
Estratégia de retry
Error class wrapper (recomendado)
Encapsule o tratamento em uma classe específica para a Pontua:Logging recomendado
Capture sempre os 3 campos no seu observability stack:service.method no Datadog/Sentry/CloudWatch
e identificar tendências.
Veja também
- Autenticação — como evitar 401
- Idempotência — backoff exponencial detalhado
- Versionamento — política de mudanças