Skip to main content
A Routa limita as requisições por projeto para proteger a plataforma. Os limites usam o algoritmo token bucket: você tem um balde com capacidade de rajada que se reabastece a uma taxa constante.

Limites padrão

Os valores são por projeto. Se a sua operação precisa de mais, fale com a Routa: elevar o limite de um projeto é uma configuração, não um deploy.
O envio de uma mensagem só consome o limite de envios. Ele não disputa tokens com as suas leituras.

Headers de resposta

Os headers RateLimit-* vêm em toda resposta, não só nas rejeitadas, então você pode ajustar o ritmo antes de levar um 429.

Resposta 429

Como reagir

1

Respeite o Retry-After

Espere pelo menos o número de segundos indicado antes de tentar de novo.
2

Use espera exponencial com jitter

Se vários processos são limitados ao mesmo tempo, adicione variação aleatória para não repetirem a requisição juntos.
3

Reduza o ritmo na origem

Use RateLimit-Remaining para espaçar o envio de lotes. Para disparos grandes, enfileire do seu lado.
O SDK Node.js já repete 429 automaticamente, com espera exponencial, jitter e respeito ao Retry-After. Veja Configuração.

Limites do provedor: a Routa absorve

O WhatsApp impõe seus próprios limites de envio por número. Você não precisa gerenciá-los: a Routa os absorve na fila. Uma mensagem já aceita nunca vira erro 429 por limite do provedor. Ela espera na fila e é enviada. Você percebe latência, não falha.

Backlog do canal

Se a fila de um canal passa muito da sua capacidade de escoamento, a Routa recusa novos envios para aquele canal com 429 e o código channel_backlog_exceeded. É um sinal honesto: aceitar mais trabalho seria prometer um prazo que não dá para cumprir. O limite é alto e por canal. Tente de novo em instantes.

Tamanho do corpo

Todo corpo de requisição tem um limite, verificado antes de ser lido. Acima do limite, a API retorna 413 payload_too_large.