Rate limit de API externa: o que fazer quando a consolidadora limita quantas vezes você pode perguntar
O que é rate limit, na prática
Rate limit é o número máximo de chamadas que uma API aceita processar de um mesmo sistema dentro de um período determinado — por minuto, por hora, ou por dia. Ultrapassar esse limite normalmente resulta numa resposta de erro específica, avisando que o teto foi atingido, até que o período seja renovado.
Por que consolidadoras impõem esse limite
Sem um limite, um único sistema mal configurado, ou com erro de lógica que gera chamada em excesso, poderia sobrecarregar a infraestrutura da consolidadora, prejudicando todos os outros sistemas conectados a ela ao mesmo tempo. O rate limit protege a estabilidade do serviço pra todo mundo que depende dele.
O erro mais comum ao lidar com rate limit
Tratar o erro de limite excedido como se fosse uma falha qualquer, e simplesmente tentar de novo imediatamente, sem esperar, só piora a situação — a nova tentativa também vai ser recusada, e insistir dessa forma pode inclusive levar a restrições mais severas por uso considerado abusivo.
Como respeitar o limite de forma inteligente
- Espaçar as chamadas ao longo do tempo, em vez de disparar todas de uma vez no início do período;
- Priorizar quais chamadas são realmente necessárias naquele momento, adiando as que podem esperar;
- Respeitar o tempo de espera indicado pela própria API na resposta de erro, quando esse tempo é informado, em vez de tentar de novo num intervalo arbitrário.
Cache como aliado direto do rate limit
Reduzir a quantidade de chamadas desnecessárias, guardando temporariamente resultado de consulta que muda pouco, é uma das formas mais eficazes de nunca chegar perto do limite em primeiro lugar, em vez de só reagir bem depois de esbarrar nele.
Monitorar o consumo antes de estourar o limite
Acompanhar quantas chamadas já foram feitas dentro do período atual, comparado ao limite total disponível, permite ajustar o ritmo de consulta antes de atingir o teto — uma abordagem preventiva, em vez de descobrir o problema só quando a API já começou a recusar chamada.
Continue lendo
Versionamento de contrato de API: como mudar sem quebrar quem já está integrado
Criptografia de dado sensível em trânsito: protegendo a informação entre o clique e o banco de dados