Limites de taxa e novas tentativas em APIs
Limites de taxa e novas tentativas fazem parte do contrato entre o cliente e a API. O cliente precisa distinguir sucesso, erros de validação, falhas de autenticação, limites de taxa e erros temporários do servidor. Usar JSON ou XML não muda a semântica do HTTP, e valores IPv4/IPv6 precisam ser preservados sem supor que todo endereço tem o tamanho de um IPv4.
Como tratar a resposta
Valide o Content-Type, o código de status, os campos documentados e a cota. Trate o HTTP 429 à parte, respeite o Retry-After quando ele vier na resposta e use backoff exponencial limitado, com jitter. Antes de repetir uma requisição, pense na idempotência. Registre nos logs os identificadores das requisições, o status e a latência, mas nunca os segredos da API.
Como reagir ao 429
Quando a API devolver 429, leia o Retry-After, se ele vier, em vez de esperar às cegas um intervalo fixo. Limite o número de tentativas, acrescente jitter ao backoff exponencial e não repita automaticamente operações que possam gerar efeitos colaterais em dobro. Para fazer uma requisição real e ver o contrato atual da API, consulte a API da 2IP.