Documentazione / Completo
Limiti di velocità (per numero, per account, per key)
POST /v1/messages
Programmi con l'IA? Collegala al tuo account via MCP: controlla la tua configurazione, crea webhook e modelli con la tua conferma e scrive il codice. Scopri come →
Tre limiti, e ognuno conta per conto suo. Per numero (connection), solo POST /v1/messages: il ritmo che Meta dà a quel numero — Coesistenza 20 al secondo, Cloud API 80 al secondo, con una raffica di un secondo. Un numero al massimo non frena gli altri del tuo account. Per account (account), solo POST /v1/messages, al minuto secondo il piano: prova 600, Starter 1.200, Studio 2.400, Agencia 4.800, Escala 9.600; piano su misura senza tetto; mai meno di 600 per key attiva. Per key (key): tutto il resto di /v1, 600 richieste al minuto. Un invio non consuma i 600 della key.
curl -i -X POST https://api.waiaconnect.com/v1/messages \
-H "Authorization: Bearer wc_live_YOUR_API_KEY" \
-H "Idempotency-Key: 7c0e…-same-on-every-retry" \
-H "Content-Type: application/json" \
-d '{"connectionId":"conn_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX","to":"5493511234567","type":"text","text":{"body":"Hi"}}'
# 202 → X-RateLimit-Scope: connection X-RateLimit-Limit: 20 X-RateLimit-Remaining: 19
# 429 → Retry-After: 1
# { "error": { "code": "RATE_LIMITED", "limit": "connection", "connectionId": "conn_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
# "retryAfterSeconds": 1, "details": { "limitPerSecond": 20, "burst": 20 } } }Il 429: il code è quello di sempre, RATE_LIMITED. Aggiunge error.limit (connection, account o key: quale ti ha fermato), error.connectionId (solo se era quello del numero) e error.retryAfterSeconds, uguale all'header Retry-After. Per account e key la cifra è in details.limitPerMinute; per connection, in details.limitPerSecond e details.burst.
Ogni risposta di /v1 porta X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset (secondi finché torna pieno) e X-RateLimit-Scope, del limite più stretto in quel momento.
Come costruire la tua coda: un limitatore per numero (fino a 20/s in Coesistenza, 80/s in Cloud API), tutti sotto la cifra al minuto del tuo account. Davanti a un 429, aspetta Retry-After e riprova con la stessa Idempotency-Key: un 429 non crea nulla, il nuovo tentativo è sicuro. Con limit: "connection" metti in pausa solo quel numero; con account o key, tutto.
Accettato non è consegnato: dopo un 202 la coda passa ogni messaggio a Meta al suo ritmo e non ne perde nessuno. GET /v1/usage/by-connection conta messaggi, non richieste: un 429 lì non compare.
Ti serve un'altra cifra di account per un caso speciale? Scrivici: si regola account per account.