Guia 8/12
Limites de pedidos
Cada integração tem uma quota por minuto escolhida pela clínica (120 por omissão).
- Todas as respostas trazem
X-RateLimit-Limit,X-RateLimit-RemainingeX-RateLimit-Reset(segundos epoch). - Acima do limite:
429 limite_excedidocomRetry-After(segundos). - O endpoint do token tem um limite próprio por IP (20 por minuto).
- Prefira webhooks a perguntar repetidamente; peça 100 registos por página; guarde em cache o que raramente muda (esquemas, opções).
async function chamar(url, opcoes, tentativa = 0) {
const r = await fetch(url, opcoes);
if (r.status === 429 && tentativa < 5) {
const espera = Number(r.headers.get('Retry-After') || 2 ** tentativa);
await new Promise((ok) => setTimeout(ok, espera * 1000));
return chamar(url, opcoes, tentativa + 1);
}
return r;
}