Rate Limiting
Limites globais dos pedidos
A API tem uma taxa limitada a 150 pedidos a cada 60 segundos. Todos os pedidos contam para o total. Cada pedido processado pela API devolve informações de limitação de taxa nos cabeçalhos HTTP.
Nota: A limitação da taxa baseia-se tanto no nome de utilizador como no endereço IP. Por conseguinte, um único nome de utilizador está limitado a 150 pedidos a cada 60 segundos, tal como um único endereço IP.
Limites de pedidos de estatísticas
Os pedidos de estatísticas estão limitados a 30 pedidos por minuto para cada endereço IP e a 25 pedidos por minuto para cada nome de utilizador.
Nota: O IP e o nome de utilizador de cada pedido de estatísticas efectuado serão contabilizados para estes limites.
Por exemplo, se iniciar sessão com o seu nome de utilizador num único computador e fizer 25 pedidos de estatísticas, o próximo que fizer falhará. No entanto, pode mudar para um nome de utilizador diferente e fazer mais 5 pedidos de estatísticas, antes de atingir o limite de endereços IP.
Exemplos
Limitação da taxa - Exemplo 1
$ curl -i https://api.example.com/v2/statistics/a/date
{
"HTTP/1.1": "200 OK",
"Date": "Fri, 24 Oct 2014 14:57:32 GMT",
"Content-Type": "application/json",
"Transfer-Encoding": "chunked",
"X-Rate-Limit-Limit": 25,
"X-Rate-Limit-Remaining": 44,
"X-Rate-Limit-Reset": 27
}
Quando o limite de débito é ultrapassado, é apresentado um erro HTTP 429 Too Many Requests em todos os pedidos subsequentes até que o limite de débito seja reposto. Tal como acontece com um pedido normal, as informações sobre o limite de débito estarão disponíveis nos cabeçalhos HTTP.
Limitação da taxa - Exemplo 2 (Limite excedido)
$ curl -i https://api.example.com/v2/statistics/a/date
{
"HTTP/1.1": "429 Too Many Requests",
"Date": "Fri, 24 Oct 2014 15:04:35 GMT",
"Content-Type": "application/json",
"Transfer-Encoding": "chunked",
"X-Rate-Limit-Limit": 25,
"X-Rate-Limit-Remaining": 0,
"X-Rate-Limit-Reset": 12
}