Validar teléfono
Validar teléfono es una API que comprueba si un número de teléfono es válido, sea cual sea el país, y te lo devuelve bien formateado (formato internacional, listo para guardar o marcar).
Cómo funciona
Le mandas el número (con el prefijo internacional, o sin él indicando el país) y comprueba si es un número real según las reglas de numeración de ese país. También te dice el tipo (móvil, fijo…) cuando se puede determinar.
Que el teléfono no sea válido no es un error de la petición: la respuesta es 200 con "valid": false, igual que cuando sí lo es.
Lo único que necesitas
- Tu API key. La creas en tu panel con "+ Crear llave". Se muestra una sola vez, así que cópiala y guárdala.
- En tu plataforma de automatización, un paso de tipo "HTTP Request" / "Hacer una petición HTTP" (lo tienen n8n, Make, Zapier, Pipedream…).
Cómo usarlo en n8n (paso a paso)
En el nodo HTTP Request:
- Method:
POST - URL:
https://api.cofferdock.com/validate-phone - Send Headers: actívalo y añade dos:
x-api-key= tu llave, yContent-Type=application/json - Send Body: actívalo → Body Content Type: JSON →
{ "phone": "612345678", "country": "ES" }
Si el número ya viene con el prefijo internacional (+34...), no hace falta mandar country.
En Make (módulo HTTP → Make a request): mismo método y URL, Body type: Raw, Content type: JSON, con el mismo cuerpo.
Opciones (dentro del JSON)
| Opción | Por defecto | Para qué sirve |
|---|---|---|
phone | - | Obligatorio. El número a validar, con o sin prefijo internacional. |
country | - | Código de país de 2 letras (ej. ES), para interpretar números sin prefijo +. |
Resumen de la API
- Endpoint:
POST https://api.cofferdock.com/validate-phone - Auth: cabecera
x-api-key: TU_LLAVE. - Entrada: SOLO
application/json. - Motor: libphonenumber-js (misma librería en la que se basan la mayoría de validadores de teléfono, JS puro sin dependencias).
- Texto no reconocible como teléfono: se trata igual que un número inválido (
valid:false), nunca da 500. - Límites: 30 peticiones/min por IP. 1 llamada = 1 crédito, sea el teléfono válido o no.
Opciones
| Opción | Por defecto | Descripción |
|---|---|---|
phone | - | Obligatorio. String no vacío, hasta 40 caracteres. |
country | - | Código ISO 3166-1 alpha-2 de 2 letras (400 si no cumple ese formato). Solo se usa si phone no lleva ya un prefijo +. |
Ejemplos
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"}'
JavaScript (Node 18+):
const r = await fetch('https://api.cofferdock.com/validate-phone', {
method: 'POST',
headers: { 'x-api-key': 'TU_LLAVE', 'Content-Type': 'application/json' },
body: JSON.stringify({ phone: '612345678', country: 'ES' }),
});
const { valid, formatted_e164 } = await r.json();
Python:
import requests
r = requests.post(
'https://api.cofferdock.com/validate-phone',
headers={'x-api-key': 'TU_LLAVE', 'Content-Type': 'application/json'},
json={'phone': '612345678', 'country': 'ES'},
)
print(r.json())
Respuesta
{ "success": true, "valid": true, "country": "ES", "type": "MOBILE",
"formatted_e164": "+34612345678", "formatted_international": "+34 612 34 56 78",
"meta": { "used": 12, "remaining": 488 } }
Lo que recibes
valid, el country y type detectados, y el número ya formateado en dos formatos estándar: formatted_e164 (para guardar o marcar por API) y formatted_international (para mostrar a una persona).