Escolha o número de envio
Liste os números conectados à sua empresa, confira a qualidade conhecida e o limite compartilhado do portfólio.
/public/v1/numbersA chave Bearer limita a consulta à sua empresa. Números desconectados ou removidos não entram na lista. Use o phone_number_id escolhido no catálogo de templates e no envio; ele é um identificador da Meta, não o telefone do contato.
curl "https://api.patrociniotech.com/public/v1/numbers?limit=20" \
-H "Authorization: Bearer SUA_CHAVE"Paginação (link para esta seção)
| Parâmetro | Regra |
|---|---|
| limit | De 1 a 50. Padrão: 20 números por página. |
| after_id | Copie next_after_id da resposta anterior. Omita na primeira página; não incremente nem interprete o cursor. |
| has_more / next_after_id | Enquanto has_more for true, consulte a próxima página. next_after_id é null quando a lista termina. |
A ordem é lexical por ID. A listagem não congela o cadastro: uma conexão nova que entre antes do cursor será vista em uma nova varredura. Guarde o catálogo localmente e renove periodicamente, em vez de fazer esta consulta antes de cada mensagem.
{
"success": true,
"data": {
"items": [
{
"phone_number_id": "123456789012345",
"waba_id": "234567890123456",
"business_portfolio_id": "345678901234567",
"label": "Avisos",
"display_phone_number": "+55 11 90000-0000",O que cada leitura significa (link para esta seção)
| Campo | Interpretação |
|---|---|
| quality.rating | GREEN, YELLOW, RED, UNKNOWN ou null. UNKNOWN/null não são qualidade baixa; representam ausência de nota ou indisponibilidade. |
| messaging_limit.value | Destinatários únicos em uma janela móvel de 24 h, compartilhados pelo portfólio. Não é mensagens por minuto, saldo restante ou limite individual de cada número. |
| messaging_limit.known / unlimited | known=false: não foi possível conhecer o limite. unlimited=true: a Meta informou ilimitado. Nos dois casos value pode ser null; não confunda desconhecido com ilimitado. |
| business_portfolio_id | Agrupa números que compartilham a capacidade. Não some o limite desses números. Pode ser null quando a conexão não informa o portfólio. |
| health.state | Última verificação persistida: AVAILABLE, LIMITED, BLOCKED ou UNKNOWN. Não garante que uma nova mensagem será aceita ou entregue. |
| health.reasons | Lista de restrições: code, title, action e entity. 141010 é uma pendência de verificação da empresa; não reduz por si só o limite para 250. Erros de SIP/chamadas são excluídos. |
| health.stale | true quando não há leitura ou ela tem mais de 30 minutos. Confira a hora antes de tomar decisões com o estado persistido. |
| checked_at | A resposta, a qualidade, o limite e a saúde têm horários próprios. A data da consulta não indica quando a Meta alterou o valor. |
Falha parcial e atualização (link para esta seção)
BLOCKED informa impedimento de envio: suspenda a campanha e confira os motivos. LIMITED exige avaliar reasons; não equivale a bloqueio total. Uma pendência de verificação pode coexistir com qualidade GREEN e limite TIER_10K. Mesmo AVAILABLE não reserva capacidade: acompanhe recusas, entrega e qualidade durante o envio. Para UNKNOWN ou leitura antiga, não conclua que o número está liberado.
Uma falha em um número não apaga os outros. A página retorna HTTP 200 com meta_available: false nesse item, qualidade e limite desconhecidos, preservando identidade e a última saúde registrada. Mostre indisponível; não converta esse caso em bloqueado, qualidade baixa ou custo zero.
Qualidade e limite podem usar uma consulta Meta feita há até 120 segundos. O monitoramento de saúde é separado, distribuído em lotes e com novas tentativas espaçadas em falhas. Em fila acumulada ou indisponibilidade, seu horário pode ser mais antigo. Use os horários na interface para deixar isso claro.