Limites de requisições

Visão Geral

Para proteger o sistema da academia contra problemas de desempenho durante o uso normal do EVO, as APIs seguem um sistema de rate limits (limitação de requisições). Essas restrições garantem que o ambiente permaneça estável, mesmo sob alta carga de uso.

Os critérios de rate limits estão descritos abaixo:


Critérios de Limite de Requisições

1. Limite por Minuto (por IP)

  • Limite: 40 requisições por minuto para o mesmo IP.

  • Comportamento após o limite ser atingido:

    • Retorno com status code 429 (Too Many Requests).
    • Aguardar 1 minuto antes de realizar novas requisições.

2. Limite por Hora (por Chave de API)

  • Limite: 10.000 requisições por hora para a mesma chave de API.

  • Comportamento após o limite ser atingido:

    • A chave de API ficará bloqueada por 1 hora.
    • Retorno com status code 429 (Too Many Requests).
  • Detalhes:

    • O bloqueio é aplicado à chave específica, independente do IP que realizou as requisições.
    • Todas as requisições feitas com essa chave contam para o limite.

3. Rate Limit por Hora (por DNS da Academia)

  • Limite: 20.000 requisições por hora para o mesmo DNS da academia.

  • Comportamento após o limite ser atingido:

    • Todas as chaves vinculadas ao DNS da academia ficarão bloqueadas por 1 hora.
    • Retorno com status code 429 (Too Many Requests).
  • Detalhes:

    • O bloqueio é aplicado à academia (validado pelo DNS), independente do IP ou chave de API utilizada.
    • Todas as requisições feitas pela academia contam para o limite.

Janela de Isenção de Limites

  • Horário: Das 0h até 5h.

  • Durante este período, não há aplicação de limites quanto a quantidade de requisições por hora, por DNS ou IP. No entanto, o limite de requisições por segundo permanece ativo. Ou seja, é possível realizar requisições em maior volume sem que esses limites sejam aplicados, mas ainda estarão em vigor a restrição de quantidade de requisições por segundo.

    • Requisições em lote podem ser realizadas durante este período.
    • Operações que demandem alto volume de requisições podem aproveitar essa janela.

Resumo dos Limites

Tipo de LimiteLimiteBloqueioStatus Code
Por Minuto (por IP)40 requisições1 minuto429
Por Hora (por Chave)10.000 requisições1 hora429
Por Hora (por DNS)20.000 requisições1 hora429

Boas Práticas para Evitar Rate Limits

  1. Implemente um sistema de retry (tentativa) com backoff: Ao receber um status code 429, aguarde antes de tentar novamente.
  2. Evite requisições desnecessárias: Certifique-se de que apenas as requisições essenciais sejam feitas.
  3. Aproveite a janela de isenção: Programe requisições em lote entre 0h e 5h, quando os limites de requisição por hora, DNS e IP não são aplicados, mas atente-se aos limites por requisições por segundo.
  4. Monitore suas requisições: Utilize logs para acompanhar e ajustar seu volume de chamadas à API.