Cada chave tem 60 requisições por minuto; passado isso, a API responde 429 com quanto esperar. Guarde as recomendações em cache por contexto e não gaste a cota duas vezes na mesma coisa.

Como se conta

  • Conta-se por chave, depois de autenticar. Uma requisição sem chave não gasta a cota de ninguém.
  • O orçamento se reabastece aos poucos, não por janela fixa.
  • Passado o orçamento, a resposta é 429 rate_limited com Retry-After em segundos.

O que fazer com um 429

  1. Esperar o que diz Retry-After, não menos.
  2. Não tentar de novo em loop. O SDK não repete sozinho uma requisição de recomendações: tryGetRecommendations devolve null e a página segue. Os sinais, sim, são reenviados, com espera crescente.
  3. Procurar o loop. Quase sempre é um render que se repete: um efeito sem dependências, um observer que dispara várias vezes, uma requisição por card.

O que guardar em cache

Uma recomendação vale enquanto dura a visualização. Guardá-la economiza cota, e o comprador vê a mesma lista ao voltar. Não guarde uma resposta vazia porque o motor não respondeu: ele pode voltar em segundos. Nem uma recomendação além da sessão: decision_id (o id da recomendação) amarra os sinais, e uma recomendação velha atribui errado.

O que você vai ver

Um 429 traz Retry-After e um request_id. Com isso e a aba Rede você acha a requisição que se repete.

Se você não vê

Chaves e segurança

Por que a cota faz parte da segurança da chave.

Erros

Cada erro da API, com o código e o que fazer.