Skip to main content

Paginação

Listas (GET /chats, GET /contacts, GET /queue…) aceitam ?page= e ?page_size= e respondem no mesmo envelope:
GET /business/products usa cursor (next_cursor) em vez de página, porque é o que o WhatsApp devolve.

Rate limit

Cada instância tem um token bucket: 60 requisições por segundo sustentadas, com rajadas de até 120. Toda resposta informa o estado: Ao estourar, a resposta é 429 com { "error": { "code": "rate_limited" } }. O limite conta requisições HTTP, não mensagens: uma chamada de send-text vale uma requisição mesmo que a mensagem fique um minuto na fila.
O gargalo real de envio não é o rate limit da API, é o intervalo anti-ban da fila (1 a 3 s entre mensagens por padrão). Ver Boas práticas.

Limites

Idempotência

A API não tem chave de idempotência. Repetir um POST /send-* envia duas mensagens. Se a chamada falhou por rede antes de você ler a resposta, confira GET /queue (a mensagem ainda pode estar lá) ou espere o webhook delivery antes de tentar de novo. Do lado dos webhooks, use event_id para descartar entregas repetidas.