Las integraciones en detalle Fehlersuche bei Anbindungen
El peor mensaje de error es el que nunca llega
Un programa que se cae es molesto. Un programa que muestra un error es incómodo. Un programa que calla y no encuentra nada es peligroso, porque nadie se da cuenta de que algo está roto.
En una identificación de llamadas se ve así: suena el teléfono, el panel pregunta al CRM, el CRM responde con una lista vacía, el panel muestra «Desconocido». Todo funciona. Todo está en verde. Y aun así nada está bien.
Tres formas de que una integración falle en silencio
Primera: buscar en el sitio equivocado
Un programa para despachos ofrece búsqueda de texto completo sobre contactos. Su ayuda dice que resulta especialmente útil cuando llama un cliente y solo se tiene el número. La documentación de la interfaz, en cambio, dice únicamente que el término se aplica «a varios campos del contacto».
Qué campos son esos no está escrito en ninguna parte. Si los teléfonos no estuvieran entre ellos, no aparecería ningún error. Aparecería una lista vacía: en cada llamada, durante semanas, sin que nadie sospeche de la búsqueda.
Por eso preguntamos en lugar de probar. Un intento no podría distinguir entre «busqué mal» y «no existe».
Segunda: se ignoró el campo de búsqueda
El caso más desagradable, y el que nos hizo construir una protección.
Un CRM escandinavo recibe sus búsquedas por una llamada genérica en la que importa el nombre del campo de búsqueda. Si ese nombre fuera erróneo, cabrían dos respuestas: un error, o simplemente ignorar el campo desconocido.
En el segundo caso volvería todo el fichero, con estado 200. El panel habría mostrado el primer registro como quien llama.
Desde entonces existe el guardián: tras la respuesta se comprueba si el número del resultado coincide realmente con el buscado. Lo que no encaja se descarta y queda registrado. Así el fallo se anuncia solo, en lugar de saludar en silencio a la persona equivocada.
Tercera: el error está en el cuerpo
Un programa alemán para inmobiliarias responde a una autenticación incorrecta con un error HTTP en regla. Un fallo durante el procesamiento — por ejemplo, falta de permiso sobre el módulo de direcciones — lo comunica en el cuerpo de la respuesta, con estado 200.
Sin una precaución, una falta de permiso tendría por tanto el mismo aspecto que «el número no está»: lista vacía, ningún aviso.
El portal comprueba ahora ese código expresamente. En la puesta en marcha, distinguir entre «sin permiso» y «sin resultados» es la mitad del diagnóstico, y sin ello la sospecha recae sobre el CRM del cliente, donde no corresponde.
Por qué preferimos preguntar a adivinar
En cada consulta a una empresa de software va por eso un párrafo que explica por qué escribimos en lugar de empezar sin más:
No es desconfianza hacia el fabricante. Es la certeza de que una integración que no encuentra nada en silencio es peor que ninguna: la que no existe al menos la conoce todo el mundo.
Cómo notarlo en la propia casa
Quien tenga una identificación de llamadas y sospeche que reconoce demasiado poco, conviene que compruebe en este orden:
- ¿Se buscan todos los campos de teléfono o solo el primero?
- ¿Se compara carácter a carácter o por los dígitos?
- ¿Una consulta deliberadamente errónea produce un error o una lista vacía?
- ¿Queda algo en el registro cuando no se encuentra nada, o no queda nada?
La última pregunta es la más importante. Un sistema que no anota su propio fallo no se puede comprobar.
Preguntas frecuentes
¿Por qué no prueban simplemente la interfaz?
Porque aquí un intento fallido no se nota como fallo. Una búsqueda que no incluye los teléfonos no responde con un error: responde con una lista vacía. Parece «quien llama no está en la base».
¿Qué es un guardián?
Una comprobación posterior a la respuesta: un resultado solo se muestra si su número coincide realmente con el buscado. Si un sistema ajeno ignora nuestro campo de búsqueda y devuelve todo, se descarta lo que no encaja y queda registrado que ocurrió.
¿HTTP 200 no significa que todo está bien?
No. Algunas interfaces responden siempre con 200 y llevan el resultado en el cuerpo. Una falta de permiso se ve entonces igual que «no se encontró nada», hasta que se mira expresamente en el cuerpo.
¿Qué significa esto para la puesta en marcha?
Que distinguir entre «sin permiso» y «sin resultados» es la mitad del diagnóstico. Sin esa distinción alguien pierde medio día, y la sospecha recae sobre el CRM del cliente.