Pular para o conteúdo
Wbiztool

API de verificação de números

Resultados da verificação de números de WhatsApp (API)

Leia os resultados da verificação de números página por página, filtrando por tarefa ou por status. Use-a para exportar os números que têm WhatsApp, remover números inválidos da sua lista de contatos ou sincronizar os resultados com o seu CRM.

GEThttps://wbiztool.com/api/v1/verification/results/

Sem filtros, ela retorna todas as verificações do seu espaço de trabalho, das mais recentes para as mais antigas. Isso inclui tarefas criadas pela página Verificação de Número do painel, e não só as criadas pela API.

Exemplo rápido#

curl "https://wbiztool.com/api/v1/verification/results/?campaign_id=4521&status=verified&limit=100&offset=0" \
  -H "Authorization: Bearer YOUR_API_KEY"

Parâmetros da requisição#

Todos os parâmetros vão na query string.

Autenticação

Authorizationheaderobrigatório

Bearer YOUR_API_KEY, usando uma chave de Configurações → Chaves API. Você também pode passar a chave como parâmetro de query api_key, mas o cabeçalho a mantém fora dos logs do servidor e de proxies.

Filtros e paginação

campaign_idintegeropcional

Retorna somente os números desta tarefa de verificação. Precisa ser uma tarefa de verificação do mesmo espaço de trabalho da chave de API. Não envie para obter os resultados de todas as tarefas.

statusstringopcional

Retorna somente os números com este status: pending, verified ou invalid. Qualquer outro valor é ignorado e nenhum filtro de status é aplicado, inclusive unknown, então status=unknown retorna todos os status. Os valores diferenciam maiúsculas de minúsculas: Verified é ignorado e retorna todos os status.

limitintegeropcional

Resultados por página. Padrão 100. Use um valor igual ou maior que 1.

offsetintegeropcional

Quantos resultados pular. Padrão 0. Precisa ser igual ou maior que 0.

Resposta#

Uma requisição bem-sucedida retorna HTTP 200:

{
  "status": "success",
  "total_count": 2,
  "returned_count": 2,
  "limit": 100,
  "offset": 0,
  "has_more": false,
  "results": [
    {
      "id": 88215,
      "campaign_id": 4521,
      "campaign_name": "Website leads - September",
      "number": "14155550123",
      "status": "verified",
      "checked_at": "2026-09-16T10:16:26.730114+00:00",
      "created_at": "2026-09-16T10:15:00.483101+00:00"
    },
    {
      "id": 88213,
      "campaign_id": 4521,
      "campaign_name": "Website leads - September",
      "number": "919876543210",
      "status": "verified",
      "checked_at": "2026-09-16T10:16:12.204551+00:00",
      "created_at": "2026-09-16T10:15:00.482913+00:00"
    }
  ]
}
CampoTipoDescrição
statusstring"success". Os erros retornam "error".
total_countintegerResultados que correspondem aos seus filtros, somando todas as páginas.
returned_countintegerResultados nesta resposta.
limitintegerO limit usado.
offsetintegerO offset usado.
has_morebooleantrue se offset + limit for menor que total_count, ou seja, se há outra página.
resultsarrayOs resultados, dos mais recentes para os mais antigos.
results[].idintegerID deste registro de verificação.
results[].campaign_idinteger ou nullID da tarefa à qual o número pertence.
results[].campaign_namestring ou nullNome dessa tarefa.
results[].numberstringO número de telefone limpo.
results[].statusstringpending, verified, invalid, ou unknown para uma verificação cancelada.
results[].checked_atstring ou nullQuando o número foi verificado, ou null enquanto estiver pendente.
results[].created_atstringQuando o número foi adicionado.

Os timestamps estão em ISO 8601, em UTC, com deslocamento +00:00. Para saber o que cada status significa, veja Valores de status do número.

Erros#

Os erros retornam um corpo JSON com status igual a "error" e um código de erro HTTP:

{ "status": "error", "message": "Campaign not found" }
HTTPMensagemComo corrigir
405Only GET method allowedEnvie uma requisição GET.
401API key requiredAdicione o cabeçalho Authorization: Bearer YOUR_API_KEY.
401Invalid API keyVerifique se a chave existe e não foi excluída nem desativada.
404Campaign not foundO campaign_id não existe, não é uma tarefa de verificação ou pertence a outro espaço de trabalho.
500Internal server error: …Geralmente campaign_id, limit ou offset não é um número inteiro, offset é negativo ou offset + limit é negativo.

Ler todas as páginas#

Aumente offset em limit até que has_more seja false.

Exportar todos os números verificados de uma tarefa
import requests

numbers, offset, limit = [], 0, 500

while True:
    response = requests.get(
        "https://wbiztool.com/api/v1/verification/results/",
        headers={"Authorization": "Bearer YOUR_API_KEY"},
        params={"campaign_id": 4521, "status": "verified", "limit": limit, "offset": offset},
        timeout=60,
    )
    result = response.json()
    if result["status"] != "success":
        raise RuntimeError(result["message"])

    numbers += [item["number"] for item in result["results"]]
    if not result["has_more"]:
        break
    offset += limit

print(len(numbers), "numbers are on WhatsApp")

Dicas#

  • Remova duplicados por id ao paginar. Os resultados são ordenados pela data de criação, dos mais recentes para os mais antigos. Números da mesma tarefa têm quase o mesmo timestamp e novas verificações podem ser adicionadas enquanto você pagina, então uma linha pode aparecer em duas páginas ou ser pulada. Filtrar por campaign_id e esperar a tarefa terminar reduz esse problema.
  • Aguarde a conclusão antes de exportar. Consulte Status da verificação até que overall_status seja completed, ou trate os resultados pending no seu código.
  • Limpe sua lista de contatos exportando status=invalid e removendo esses números antes da sua próxima campanha.
  • Tamanho da página: não há limit máximo, mas uma página muito grande gera uma resposta grande e lenta.