Erros e rate limits
Envelope de erro
error.code de forma estável — a mensagem pode evoluir.
Rate limits
Janela deslizante de 60 segundos, compartilhada entre workers.
Dedup (
200 + deduplicated: true) e 409 idempotency_key_reused não consomem o bucket send.
Quando estourar → 429 com:
Body:
error.code = rate_limited.
Códigos comuns
Auth (401)
Envio
Leitura
Boas práticas
- Gere
client_message_idestável no seu sistema (ex.crm-order-123-msg-1). - Em retry de rede, reenvie o mesmo body.
- Em
429, respeiteRetry-Aftercom backoff. - Prefira webhooks a polling agressivo de status.