Rate Limit

Este interceptor determina a quantidade máxima de chamadas permitidas em um certo intervalo de tempo (que pode ser um segundo, minuto, hora, dia ou mês), e pode ser inserido no fluxo da API ou do Plano.

No caso de uma API, o interceptor pode ser inserido a nível da API como um todo, de um recurso ou de uma operação. Em todos esses casos, a taxa será incrementada independentemente de quem fez a requisição, respeitando o intervalo configurado. Se adicionado ao fluxo de Plano, será incrementada a taxa específica de quem fez a requisição (app ou access token). Em ambos os casos, é possível adicionar um novo header com a quantidade de requisições restantes.

É fácil confundir o funcionamento do Rate Limit com outro interceptor que controla tráfego, o Spike Arrest. Por isso, incluímos uma definição mais detalhada de cada um, de suas diferenças e exemplos de configuração aqui.

Configuração

O interceptor pode ser inserido apenas no fluxo de requisição. Para configurá-lo, temos que preencher algumas propriedades, como mostra a imagem abaixo.

rate limit

Os campos Calls (chamadas) e Interval (intervalo de tempo) são obrigatórios, configurando o número total de chamadas aceitas em um determinado período.

É permitido configurar um percentual adicional de chamadas permitidas. Para isso, marque a opção Soft Limit, adicionando o valor no campo %.

No exemplo da imagem, configuramos um limite de 300 chamadas por minuto, com 30% de excedente permitido. Ou seja, serão aceitas até 90 chamadas a mais.

Caso a opção Soft Limit seja marcada, o campo % passa a ser obrigatório. Caso contrário, o Rate Limit funcionará normalmente, tendo como base a quantidade de quota configurada.

Para estabelecer que um parâmetro com a quantidade de requisições restantes seja enviado com o header da resposta, marque a opção Return quota header.

Thanks for your feedback!
EDIT
How useful was this article to you?