Skip to main content

Tratamento de Erros

Um tratamento adequado de erros é essencial para criar aplicações robustas que usam a API Speedio. Este guia apresenta estratégias e implementações para lidar com diferentes tipos de erros.

Tipos de Erros

1. Erros de Autenticação

error
Credenciais inválidas ou expiradasCausas comuns:
  • Username ou password incorretos
  • Credenciais expiradas
  • Header Authorization malformado
error
Acesso negado ao recursoCausas comuns:
  • Conta sem permissão para o endpoint
  • Plano não inclui a funcionalidade
  • IP bloqueado

2. Erros de Requisição

error
Requisição malformada ou parâmetros inválidosCausas comuns:
  • JSON inválido no corpo da requisição
  • Parâmetros obrigatórios ausentes
  • Formato de dados incorreto
error
Dados válidos mas não processáveisCausas comuns:
  • CNPJ com formato correto mas inválido
  • E-mail com sintaxe correta mas domínio inexistente

3. Erros de Rate Limiting

error
Limite de requisições excedidoHeaders importantes:
  • Retry-After: Tempo para tentar novamente
  • X-RateLimit-Remaining: Requisições restantes
  • X-RateLimit-Reset: Quando o limite reseta

4. Erros do Servidor

error
Erro interno do servidor
error
Problema no gateway/proxy
error
Serviço temporariamente indisponível
error
Timeout no gateway

Estratégias de Tratamento

1. Hierarquia de Classes de Erro

2. Interceptador de Erros

3. Retry com Backoff Exponencial

4. Circuit Breaker

5. Logs Estruturados de Erro

Estratégias Avançadas

1. Fallback e Degradação Graceful

2. Health Check e Monitoring

Implementação Completa

Cliente Final com Todas as Funcionalidades

Próximos Passos

Melhores Práticas

Implemente padrões de excelência no uso da API

Monitoramento

Configure monitoramento e alertas em produção

Performance

Otimize a performance das suas integrações

Segurança

Implemente práticas avançadas de segurança
Importante: O tratamento de erros robusto é fundamental para aplicações em produção. Implemente pelo menos retry com backoff exponencial e circuit breaker para garantir a resiliência da sua aplicação.