Las integraciones en detalle Rufnummernvergleich
Por qué deciden los últimos nueve dígitos
Tres formas de escribirlo, un número:
- 05251/2020505
- +49 5251 2020505
- +49 (0)5251 2020505
Una persona ve enseguida que es tres veces la misma línea. Una comparación de caracteres ve tres valores distintos. Aquí es donde falla la mayoría de las identificaciones de llamadas: no en la interfaz, no en la centralita, sino en una línea de lógica de comparación.
Lo que la comparación debe descartar
Entre el número que anuncia la red y el número de la ficha del cliente hay cinco tipos de diferencia:
- El prefijo de país: a veces +34, a veces 0034, a veces ninguno.
- El cero inicial, que desaparece en formato internacional.
- Separadores: barra, guion, punto, espacio.
- Paréntesis alrededor del cero: los peores, porque son las dos cosas a la vez.
- La extensión, unas veces pegada y otras separada con guion.
Quien descarta todo eso y compara los últimos nueve dígitos acierta con la misma persona, sin que nadie haya tenido que limpiar antes una base de datos.
Por qué nueve y no ocho
Ocho sería más cómodo. Ocho encontraría más. Ocho es incorrecto.
En +49 5251 2020505 los últimos ocho dígitos son `12020505`. El corte cae en medio del prefijo provincial. Entonces se acierta con cualquiera que casualmente tenga los mismos dígitos finales: en otra ciudad, sin relación alguna con quien llama.
Y ese nombre ajeno es el que aparece cuando suena el teléfono. Un identificado erróneo es peor que ninguno: nadie comprueba un dato que el sistema muestra con seguridad.
Lo distinto que lo resuelven los fabricantes
Al revisar más de cuarenta sistemas aparece un abanico amplio, de ejemplar a inservible.
El caso más estricto
Un programa español de contabilidad dice literalmente sobre su filtro de teléfono que el valor «debe coincidir exactamente, incluidos caracteres especiales como '+', '#' y '-'».
Es inequívoco — y duro. Un número guardado allí como «+34 871 590159» no se encuentra con «+34871590159». El espacio cuenta.
Para sistemas así el portal envía varias formas seguidas. En un sistema con búsqueda por subcadena esas variantes serían una red de seguridad; aquí son la función.
El caso ejemplar
Dos sistemas resolvieron el problema antes de que preguntáramos.
Un programa alemán para inmobiliarias mantiene un campo con los números normalizados y explica que se puede buscar por un número normalizado «completo o parcial». Normalizado significa que el sistema ordena las grafías antes de comparar. Parcial significa que basta un fragmento.
Un CRM francés describe su filtro como una búsqueda de una cadena contenida, en fijo y móvil a la vez, con un solo parámetro.
Con ambos, nuestra lista de variantes sería en teoría innecesaria. Aun así la enviamos: el motor no decide sistema por sistema qué omitir.
Lo que por eso escribimos a los fabricantes
En cada consulta a una empresa de software va el mismo párrafo:
Es la mejora más barata que puede hacer un fabricante — y la única que beneficia a todos sus clientes a la vez.
Preguntas frecuentes
¿Por qué mi CRM no encuentra a quien llama?
Normalmente porque compara lo que está escrito en lugar de lo que significa. La llamada llega como «+34 871 590159» y en el CRM figura «871 59 01 59». Para una comparación de caracteres son dos valores distintos.
¿Cómo debería hacerse la comparación?
Reducir ambos lados a solo dígitos y comparar por los últimos nueve. Así desaparecen el prefijo de país, el cero inicial, los paréntesis, las barras y los espacios, y el mismo número sigue siendo el mismo.
¿Por qué nueve y no ocho?
Porque ocho dígitos cortan por la mitad del prefijo provincial. Entonces se acierta con quien casualmente comparte los mismos dígitos finales, y el nombre equivocado aparece mientras suena el teléfono.
¿Tengo que limpiar antes mis números?
No. De eso se trata precisamente: la comparación debe soportar las distintas formas, no la base de datos evitarlas. Quien primero tiene que normalizar sus datos ha movido el problema al sitio equivocado.