automation // REST APILAB
429 + Retry-After com Exponential Backoff
Reduza a pressão quando o SFMC aplicar rate limit em uma rota em vez de martelar com retries imediatos.
api429retry-afterbackoff
Trust & provenanceLAB
Nível de evidênciaLABFontes oficiais1Outras fontes0Última verificação2026-10-05
O nível de evidência descreve minha experiência com o conteúdo. Fonte oficial descreve contrato/documentação da plataforma. Observação de produção não deve ser tratada automaticamente como limite oficial.
Integrações externas chamando endpoints REST em volume relevante.
async function callWithBackoff(request, maxRetries = 5) {
for (let attempt = 0; attempt <= maxRetries; attempt++) {
const res = await request();
if (res.status !== 429) return res;
const retryAfter = Number(res.headers.get('retry-after'));
const delayMs = Number.isFinite(retryAfter)
? retryAfter * 1000
: Math.min(30_000, 1000 * (2 ** attempt));
await new Promise(r => setTimeout(r, delayMs));
}
throw new Error('Rate limit retry budget exhausted');
}A Salesforce recomenda respeitar HTTP 429 e Retry-After enquanto aplica exponential backoff.
Adicione jitter em sistemas distribuídos para vários workers não tentarem novamente na mesma borda.
Prefira rotas batch quando disponíveis.