Documentação / Completo
Estado de envio: este número pode iniciar conversas?
GET /v1/connections/{id}/sending-status
Programa com IA? Conecte-a à sua conta por MCP: ela revisa sua configuração, cria webhooks e modelos com sua confirmação e escreve o código. Veja como →
Antes de uma campanha, GET /v1/connections/{id}/sending-status ({id} = conn_… ou o seu externalId) diz se é preciso pausar antes de acumular rejeições e o que o seu cliente precisa corrigir. Vem do que já lemos da Meta: não chama a Meta.
canSend: available, limited, blocked ou unknown (ainda não lido), com canSendReason. Responder dentro das 24 h de um cliente não depende disso.
Por quê. entities[] (conta do WhatsApp, portfólio, app e número, cada um com o seu veredito e os códigos da Meta) e reasonCodes[] com o código original: 141006 forma de pagamento, 141010 verificação da empresa, 131042 enquanto a Meta continuar rejeitando envios pelo pagamento. Também businessVerification, accountReviewStatus, qualityRating, payment (ok, missing ou unknown; nunca dados de cartão) e links para a página da Meta que resolve.
Limite diário. messagingLimit.tier e dailyLimit: a Meta aplica ao portfólio, compartilhado por todos os seus números e provedores. O consumo nas 24 h móveis e a próxima liberação a Meta não expõe: vêm unknown, nunca aproximados. O mesmo vale para payment.fundingSource e payment.creditLine.
Reler. Quando o seu cliente disser que já resolveu: POST /v1/connections/{id}/sending-status/refresh relê na Meta (só leitura), uma vez por número a cada 10 min; antes disso, 429 RATE_LIMITED com Retry-After.
Avisos. Assine no webhook connection.sending_status_changed (pelo nome) e receba cada mudança com changed, a assinatura anterior e o estado completo.
# 1) before a campaign: can this number start conversations?
curl https://api.waiaconnect.com/v1/connections/conn_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/sending-status -H "Authorization: Bearer wc_live_YOUR_API_KEY"
# → { "sendingStatus": { "canSend": "blocked", "reasonCodes": [141006],
# "payment": { "status": "missing", "owner": "client", … },
# "messagingLimit": { "tier": "TIER_250", "dailyLimit": 250, "used": "unknown", … }, … } }
# 2) your customer says they fixed it: re-read from Meta (once per number every 10 min)
curl -X POST https://api.waiaconnect.com/v1/connections/conn_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/sending-status/refresh -H "Authorization: Bearer wc_live_YOUR_API_KEY"Um número de outra conta recebe o mesmo 404 CONNECTION_NOT_FOUND de um que não existe.
readAt diz quando foi lido; é relido a cada 12 h e com o refresh.
message.status traz o código original da Meta (errors[], com subcode numa rejeição do envio), a etapa (stage: send ou delivery) e o pricing da Meta (billable, category, type) para conciliar.