· 2 min read
Detección de Números de WhatsApp — Verificación en Lote via Plataforma o API | CheckNumber.AI
Guía paso a paso para verificar el registro en WhatsApp vía API. Incluye ejemplos curl, Python y Node.js. Procesamiento por lotes, ~$1 / 10.000 comprobaciones.
API de detección de números WhatsApp — Guía de integración paso a paso
Verificar el registro en WhatsApp a escala es clave para limpieza de listas, antifraude, calificación de leads y validación en CRM. Esta guía muestra cómo integrar la API masiva de CheckNumber.AI con ejemplos en curl, Python y Node.js.
Cómo funciona
En producción las comprobaciones son tareas por lotes: subir archivo, consultar estado, descargar resultados — no una llamada síncrona por número. Permite procesar grandes volúmenes de forma eficiente.
Referencia oficial: WhatsApp Checker — bulk registration.
Crear tarea
POST https://api.checknumber.ai/v1/tasks
| Parámetro | Descripción |
|---|---|
file | .txt / .csv, un número E.164 por línea |
task_type | ws — comprobación de registro WhatsApp |
Ejemplo — curl:
curl --location 'https://api.checknumber.ai/v1/tasks' \
--header 'X-API-Key: API-KEY' \
--form 'file=@"./numbers.txt"' \
--form 'task_type="ws"'
Ejemplo — Python:
import requests
url = "https://api.checknumber.ai/v1/tasks"
headers = {"X-API-Key": "YOUR_API_KEY"}
with open("numbers.txt", "rb") as f:
files = {"file": f, "task_type": (None, "ws")}
response = requests.post(url, headers=headers, files=files)
print(response.json())
Ejemplo — Node.js:
const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');
const form = new FormData();
form.append('file', fs.createReadStream('numbers.txt'));
form.append('task_type', 'ws');
axios.post('https://api.checknumber.ai/v1/tasks', form, {
headers: {
...form.getHeaders(),
'X-API-Key': 'YOUR_API_KEY'
}
}).then(res => console.log(res.data))
.catch(err => console.error(err.message));
Consultar estado
POST https://api.checknumber.ai/v1/gettasks
curl --location 'https://api.checknumber.ai/v1/gettasks' \
--header 'X-API-Key: API-KEY' \
--form 'task_id="TASK_ID"'
Columnas del resultado
| Campo | Descripción |
|---|---|
Number | Teléfono E.164 |
whatsapp | yes / no |
Errores frecuentes
| Error | Causa | Solución |
|---|---|---|
400 Bad Request | Falta API key o archivo inválido | Header X-API-Key; formato E.164 |
401 Unauthorized | API key incorrecta | Revisar panel |
413 Payload Too Large | Archivo demasiado grande | Dividir en lotes (~50MB máx.) |
500 Server Error | Fallo temporal | Reintentar en ~30 s |
FAQ
¿Cuánto tarda un lote grande?
Depende de la cola; suele ser segundos o pocos minutos para volúmenes elevados.
¿Tamaño mínimo/máximo del archivo?
Mínimo 1 número; máximo ~50MB por archivo.
¿Solo se cobran checks exitosos?
Sí — las filas procesadas con éxito consumen crédito según política de facturación.
Próximos pasos
Notas
- Una línea por número; E.164 con prefijo país.
- Hacer polling hasta
exported, usarresult_url. - Ver documentación oficial.
- Precios: pricing.