Skip to main content

Visão Geral

A API Eyo Wallet implementa rate limiting para garantir estabilidade, segurança e uso justo dos recursos. Diferentes tipos de rotas têm limites diferentes baseados no método de autenticação.

Limites por Tipo de Rota

Rotas Autenticadas (com API Key)

Rotas que requerem autenticação via API Key têm os seguintes limites:
O rate limit é aplicado por API Key, permitindo que você tenha múltiplas API Keys para aumentar sua capacidade total.

Headers de Rate Limit

Todas as respostas incluem headers informativos sobre o rate limit:

Descrição dos Headers

integer
O número máximo de requisições permitidas na janela de tempo atual.
integer
O número de requisições restantes na janela de tempo atual.
timestamp
Timestamp Unix (segundos) indicando quando a janela de rate limit será resetada.

Resposta 429 (Too Many Requests)

Quando o rate limit é excedido, você receberá uma resposta HTTP 429:

Campos da Resposta

string
required
Tipo do erro: “Too Many Requests”
string
required
Mensagem descritiva indicando quanto tempo esperar antes de tentar novamente.
integer
required
Número de segundos para aguardar antes de fazer uma nova requisição.

Estratégias para Lidar com Rate Limiting

1. Implementar Backoff Exponencial

Quando receber um erro 429, implemente backoff exponencial antes de tentar novamente:

2. Monitorar Headers de Rate Limit

Monitore os headers X-RateLimit-Remaining para evitar atingir o limite:

3. Usar Cache Quando Possível

Algumas rotas têm cache implementado. Use essas rotas para reduzir o número de requisições:
  • GET /api/v1/payment/list - Cache de 60 segundos
  • GET /api/v1/withdraw/list - Cache de 60 segundos
  • GET /api/v1/user/balance - Cache variável

4. Agrupar Operações

Em vez de fazer múltiplas requisições individuais, use endpoints de listagem quando possível: Ineficiente:
Eficiente:

5. Usar Múltiplas API Keys

Se você precisa de maior capacidade, crie múltiplas API Keys e distribua as requisições entre elas:
Distribuir requisições entre múltiplas API Keys pode ajudar, mas certifique-se de que cada API Key tenha as permissões necessárias para as operações que você está realizando.

Exemplos de Rate Limiting

Exemplo: Rate Limit em Rotas Autenticadas

Boas Práticas

Sempre monitore os headers de rate limit: Use X-RateLimit-Remaining para saber quantas requisições você ainda pode fazer.
Implemente retry com backoff: Não faça requisições imediatamente após receber 429. Aguarde o tempo indicado em retryAfter.
Use cache quando possível: Reduza o número de requisições usando dados em cache.
Agrupe operações: Use endpoints de listagem em vez de múltiplas requisições individuais.
Teste em ambiente de desenvolvimento primeiro: Entenda os limites antes de fazer deploy em produção.

Próximos Passos

Pagamentos

Comece a criar e gerenciar transações PIX

Saques

Aprenda a criar e gerenciar saques