Como tratar o 429

Ao passar do limite, a API responde 429 e informa quanto esperar.

As três causas

O 429 tem três causas, com Retry-After e consequências diferentes. Status e corpo têm o mesmo formato; só a message as distingue.

Causamessage contémRetry-AfterPenalidadeConsome cota
Cota da janelaToo Many RequestsSegundos restantes da janelaNãoNão
Requisição idênticaan identical request was sent less than four seconds ago4NãoNão
Uso indevidothe same query was repeated too many times900Sim, dobra até 24 h—

O que fazer em cada caso

  • Cota da janela: Leia o Retry-After e espere. É o caso benigno: o 429 de cota nem consome a cota, então esperar e seguir resolve.
  • Requisição idêntica: Você enviou o mesmo GET duas vezes sem esperar a primeira resposta. Não repita: espere a primeira responder. Quase sempre é agendador registrado duas vezes ou laço sem await.
  • Uso indevido: Pare o laço. Repetir durante o bloqueio aumenta a penalidade; é o único caso em que insistir piora a situação. Esta mesma mensagem é usada pelas duas regras de uso indevido: a de consulta repetida, nos pedidos e relatórios, e a de varredura em laço, nas GET de clientes, catálogo e restaurante. Em ambos os casos a orientação é a mesma: pare o laço e respeite o Retry-After.

Conta para a régua diária

As três causas contam igual no relatório diário. Para a régua, vale quantas chamadas suas foram recusadas, não o motivo, inclusive a duplicada, que é a mais barata de corrigir. Desativação da credencial