Read this article in English.
Cómo validar un teléfono en n8n (con un solo nodo)
Si automatizas la entrada de leads o pedidos con n8n, en algún punto necesitas comprobar que un teléfono es real y, de paso, dejarlo en un formato uniforme (cada cliente lo escribe a su manera: con espacios, sin prefijo, con guiones...). Con el nodo HTTP Request de siempre y la API de Cofferdock lo resuelves en un paso.
Aclaración rápida: n8n no trae un nodo de "validar teléfono". Se hace con el nodo HTTP Request llamando a una API que reconoce el país, el tipo de número (móvil, fijo...) y lo devuelve ya formateado. Aquí te enseño cómo, campo a campo.
Qué vas a conseguir
Le mandas el teléfono y te dice si es válido, de qué país es, de qué tipo (móvil, fijo...) y te lo devuelve ya formateado en E.164 (el estándar que usan las pasarelas de SMS) y en formato internacional legible.
Usos habituales en n8n:
- Filtrar leads con teléfonos falsos antes de crearlos en tu CRM.
- Normalizar teléfonos escritos de mil formas distintas antes de mandarlos a una pasarela de SMS.
- Comprobar el teléfono de un pedido antes de confirmarlo.
- Detectar si un contacto dio un fijo cuando pedías un móvil.
Lo que necesitas
- Una cuenta en Cofferdock. El plan gratis te da 50 usos al mes sin tarjeta.
- Tu API key, desde tu panel con "+ Crear llave". Se muestra una sola vez.
- Un nodo HTTP Request en tu flujo de n8n.
Paso a paso en el nodo HTTP Request
Añade un nodo HTTP Request y rellénalo así:
- Method:
POST - URL:
https://api.cofferdock.com/validate-phone - Send Headers: actívalo y añade dos:
x-api-keycon tu llave, yContent-Typecon el valorapplication/json. - Send Body: actívalo → Body Content Type:
JSON→ en el cuerpo:
{ "phone": "={{ $json.phone }}" }
- En Options → Response → Response Format déjalo en JSON.
La salida trae valid, country, type, formatted_e164 y formatted_international. Con un nodo Set puedes quedarte solo con el teléfono ya formateado para el resto del flujo.
Un ejemplo para verlo claro
Imagina que normalizas los teléfonos antes de guardarlos en tu CRM:
- Un disparador (webhook de un formulario) con el teléfono tal cual lo escribió el cliente.
- El nodo HTTP Request de arriba, que lo valida y lo formatea.
- Un nodo de tu CRM que guarda
formatted_e164en vez del texto original, para que todos los teléfonos queden en el mismo formato.
Nunca más un teléfono guardado de tres formas distintas.
Si el teléfono no lleva prefijo internacional
Si tus clientes escriben el número "a la española" (sin +34 delante), añade el país por defecto en el mismo cuerpo:
{ "phone": "={{ $json.phone }}", "country": "ES" }
| Opción | Para qué sirve |
|---|---|
country | Código de país de 2 letras (ISO 3166-1) que se usa cuando el número no lleva prefijo +. Por ejemplo ES, MX, GB. |
¿Prefieres verlo en código?
La misma llamada con curl:
curl -X POST "https://api.cofferdock.com/validate-phone" \
-H "x-api-key: TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{"phone": "612345678", "country": "ES"}'
¿Cuánto cuesta?
Cada comprobación gasta 1 crédito de tu plan, tanto si el teléfono sale válido como si no. Todas las herramientas de Cofferdock tiran del mismo bote de créditos.
Preguntas frecuentes
¿n8n tiene un nodo nativo para validar teléfonos? No. Se hace con el nodo HTTP Request llamando a la API de Cofferdock.
¿Qué pasa si no mando country y el número no lleva +? La API no puede adivinar el país y el número sale como no válido. Manda siempre country si tus usuarios no escriben el prefijo internacional.
¿Qué significa type? Si la librería puede determinarlo, dice si el número es MOBILE, FIXED_LINE, VOIP, etc. Útil para descartar fijos cuando necesitas mandar un SMS.
¿Puedo validar varios teléfonos en bucle? Sí. Si el nodo anterior devuelve varias filas, n8n ejecuta el HTTP Request una vez por cada una.
Guías relacionadas
Pruébalo tú mismo
Tienes las instrucciones completas, con ejemplos para copiar y pegar, en la página de validación de teléfono. Y si aún no tienes cuenta, puedes crear una gratis y montar tu primer flujo hoy mismo.