4dim / Notas
Doce cifras pegadas no son un teléfono
Meta manda el número de quien te escribe como dígitos pegados y sin signo de más. Convertirlo en algo legible tiene cuatro trampas: el +1 que se come al +1809, la tabla que no se debe copiar entera, agrupar desde la derecha y saber cuándo eso no es un teléfono.
Lo que manda Meta, y lo que se lee
Si estás conectando la API de WhatsApp a algo que tú controlas, esta nota te ahorra las cuatro trampas de convertir el identificador que manda Meta en un número que una persona reconozca. Ninguna es difícil; las cuatro son fáciles de hacer mal.
Cuando alguien te escribe por WhatsApp, Meta no te manda un teléfono bonito. Manda dígitos pegados, sin signo de más y sin espacios: algo de la forma 573001234567. Eso es lo que se guarda, y es correcto que se guarde así.
El problema es enseñarlo. En la cabecera de un chat, una tira de doce cifras no la reconoce nadie. Quien atiende no identifica a un cliente leyendo 573001234567; lo identifica leyendo un país y un número agrupado como se dicta en voz alta.
Guardar el dato crudo y enseñarlo crudo no son la misma decisión. Solo la primera es obligatoria.
El +1 se come al +1809
Primera trampa, y la que produce banderas equivocadas en producción.
Los indicativos telefónicos se solapan. El 1 es Norteamérica; el 1809 es República Dominicana. Si compruebas los prefijos en el orden en que los escribiste, y el1 viene antes, un número dominicano sale con bandera de Estados Unidos. Siempre. Y nadie lo reporta, porque quien lo ve supone que el cliente tiene un número de allá.
La regla es de una línea: probar de más largo a más corto. Así el prefijo específico gana al genérico y el genérico solo recoge lo que no encajó en ninguno.
Hay un caso que no tiene arreglo con esta técnica y conviene decirlo en voz alta: Estados Unidos y Canadá comparten el +1. Sin mirar el código de área no se distinguen. Nosotros enseñamos la bandera de Estados Unidos y asumimos el error, porque el desglose por área es otra tabla y mucho más larga. Es una decisión, no un olvido.
Una tabla incompleta a propósito
Segunda trampa, y esta es de mantenimiento.
El plan de numeración internacional —la norma que reparte los indicativos— tiene más de doscientos países. Copiarlos todos al código es crear una lista que envejece: cambia, y nadie de la casa se entera hasta que alguien mira una bandera rara.
Nuestra tabla lleva los países desde los que de verdad escribe un cliente de un negocio colombiano, más los de la región. Y lo que importa es qué hace con lo que no está en la tabla: no lo inventa. Devuelve «país desconocido», y quien pinta enseña el indicativo crudo de toda la vida.
Preferimos un indicativo correcto a una bandera equivocada.
La frase parece modesta y es la regla entera. Una bandera equivocada es peor que ninguna bandera: la segunda hace que quien mira compruebe, y la primera hace que no compruebe.
Agrupar desde la derecha, no desde la izquierda
Tercera trampa, y es la única puramente visual. También es la que más se nota, porque aparece en todas las filas a la vez.
Un número se agrupa en bloques para poder leerlo: tres, tres y cuatro, que es como se dicta en voz alta. Lo natural es partir desde la izquierda. Funciona perfecto con diez cifras y se rompe con todo lo demás, porque los planes nacionales no miden todos diez cifras: hay de ocho, de nueve y de once.
| Cifras | Partiendo por la izquierda | Partiendo por la derecha |
|---|---|---|
| 10 | 300 123 4567 | 300 123 4567 |
| 11 | 155 123 456 78 | 1 551 234 5678 |
| 8 | 221 345 67 | 2 213 4567 |
Fíjate en el muñón de dos cifras al final de la columna del medio. Queda justo donde el ojo espera el bloque más largo, y hace que el número parezca cortado. Anclando el bloque de cuatro al final, lo que sobra queda delante, que es donde vive el indicativo de área y donde no estorba.
Cuándo eso que llegó no es un teléfono
Cuarta trampa, y la que evita colgarle una bandera a algo que no es un número.
La norma internacional topa los teléfonos en quince cifras. Lo que se pase de ahí no es un teléfono: suele ser un identificador de plataforma mal enrutado —de Instagram o de Messenger, que también entran por el mismo sitio— y partirlo por indicativo le colgaría una bandera inventada. Por debajo de siete tampoco. Fuera de ese rango, no se formatea nada.
Y hay una comprobación más, que es la más sutil de las cuatro: si al quitar el prefijo lo que queda es demasiado corto, el prefijo no era un indicativo, era parte del número. En ese caso se sigue probando en vez de partirlo mal. Mejor no partir que partir mal, otra vez.
Qué hacer entonces
- Guarda los dígitos crudos. Tal como los manda Meta. El formato es cosa de la pantalla, no de la base de datos.
- Prueba los indicativos de más largo a más corto. Si los pruebas en otro orden tienes banderas mal puestas ahora mismo y no te has enterado.
- Haz la prueba con un número dominicano. Un
1809…es el caso más rápido para descubrirlo. - Agrupa desde la derecha. Y compruébalo con un número de once cifras, no con uno de diez: con diez todo funciona.
- No inventes lo que no sabes. Un indicativo crudo delante de un número es honesto. Una bandera equivocada es una afirmación falsa, y quien la lee deja de comprobar.
Esta nota sale de nuestro trabajo en AI-CRM Connection.