Pular para o conteúdo principal

Rate Limiting

A API do ION Guard implementa limites de requisição para proteger o sistema contra uso excessivo e garantir disponibilidade para todos os clientes.

Tiers

TierLimiteEscopoEndpoints
api60 req/minPor usuário (ou IP se não autenticado)Todos os endpoints autenticados
api-auth5 req/minPor IPLogin, refresh, logout
api-driver300 req/minPor IPEndpoints de ingestão de dados de hardware

Headers de resposta

Toda resposta da API inclui headers indicando o estado do rate limiting:

X-RateLimit-Limit: 60
X-RateLimit-Remaining: 57
HeaderDescrição
X-RateLimit-LimitLimite máximo de requisições no período
X-RateLimit-RemainingRequisições restantes no período atual

Quando o limite é excedido

A API retorna status 429 Too Many Requests:

HTTP/1.1 429 Too Many Requests
Retry-After: 34
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 0

{
"message": "Too Many Attempts."
}
HeaderDescrição
Retry-AfterSegundos até o limite ser renovado

Boas práticas

  • Cache respostas quando possível — evite buscar dados que não mudaram
  • Respeite o Retry-After — espere o tempo indicado antes de tentar novamente
  • Use WebSocket para dados em tempo real ao invés de polling frequente na API
  • Paginação eficiente — solicite apenas os dados necessários com o parâmetro limit

Tier de driver

O tier api-driver (300 req/min) é destinado a integrações de hardware que precisam enviar dados com alta frequência (ex: sinais BLE de antenas). Se sua integração precisa de limites maiores, entre em contato com o administrador do sistema.