Cota diária
Cada parceiro tem uma cota de 1.000 chamadas por dia, salvo acordo diferente. O dia é o dia UTC. Toda chamada autenticada conta, inclusive o teste de webhook. Toda resposta autenticada traz:X-RateLimit-Limit: a sua cota diária;X-RateLimit-Remaining: o que resta dela depois desta chamada.
401, e um caminho ou método fora da API de Parceiros, não trazem nenhum dos dois.
Passada a cota, a API responde 429 rate_limited com o motivo rate_limited, não faz nada e envia Retry-After com a data HTTP da próxima meia-noite UTC.
Limite de frequência dos totais de voo
PUT /v1/partner/grants/{grant_id}/flight-totals aceita um envio por grant a cada 15 minutos. O servidor verifica, nesta ordem: uma repetição do último envio aceito (mesmo as_of, mesmos totais) responde 200 e não aplica nada; um envio cujo as_of é anterior ao último aceito responde 409 com o motivo stale_totals; e só então um envio NOVO dentro dos 15 minutos responde 429 rate_limited com o motivo push_throttled, com Retry-After indicando o momento em que o próximo envio será aceito. Nos dois últimos casos nada é aplicado. Como um envio é um estado completo, você não perde nada esperando e enviando o estado atual. Veja o guia de idempotência.
Boas práticas
Reconcilie comGET /v1/partner/grants (paginando com next_cursor) em vez de consultar cada grant periodicamente, e leia o resumo quando um piloto abrir a sua tela, não em intervalos fixos.
