Filtros de router · Guía documental con ejercicio original

Router de Make: por qué un registro puede pasar por varias rutas

Contenido actualizado:

Respuesta breve

Un router no debe interpretarse automáticamente como una cadena excluyente de condiciones. Un registro puede cumplir varios filtros. Decide si quieres varias acciones o una sola y escribe condiciones compatibles con esa política. La ruta fallback atiende los datos que no cumplen las condiciones de las otras rutas; revisa también cualquier filtro que tenga.

Comprobación clave: Los casos de prueba producen exactamente las rutas previstas, incluido el caso que cumple dos filtros.

Fuentes y límites de esta guía

Un escenario asigna contactos españoles a una cola y contactos urgentes a otra. Un contacto puede reunir ambas condiciones. Antes de investigar duplicados del webhook, comprueba si el diseño pide dos acciones para ese único registro. Cambiar el orden visual de las ramas no convierte las condiciones en alternativas excluyentes.

Matriz original de coincidencias

Router de Make: por qué un registro puede pasar por varias rutas: tabla 1
País ESUrgenteRutas por condiciones independientes
SíSíEspaña y urgente
SíNoEspaña
NoSíUrgente
NoNoRespaldo si está configurado

La primera fila es correcta si el objetivo es registrar una etiqueta geográfica y avisar a un responsable. Es incorrecta si ambas ramas envían el mismo presupuesto. Escribe el resultado comercial deseado antes de ajustar filtros: «una asignación por contacto» y «todas las notificaciones aplicables» requieren políticas distintas.

Secuencial no significa exclusivo

La documentación del router de Make indica que las rutas se procesan secuencialmente, no en paralelo, y que una ruta de respaldo (fallback) procesa los datos que no cumplen la condición de ninguna otra ruta. Secuencial no es lo mismo que excluyente: Make evalúa el filtro de cada ruta por separado y ejecuta todas las que lo cumplan, una tras otra, salvo que tú mismo hayas escrito filtros que se excluyan entre sí.

Un router no es un «si... si no»El evento entra al router y cada ruta comprueba su propio filtro de forma independiente. Si el filtro de la ruta A se cumple, se ejecuta; si el de la ruta B también se cumple, se ejecuta igualmente, aunque ya se haya ejecutado la A. El fallback solo se ejecuta si ninguna ruta ordinaria coincidió. Evento entra al router Ruta A: ¿cumple su filtro? Sí: se ejecuta Ruta B: ¿cumple su filtro? Sí: también se ejecuta Fallback: ninguna ruta coincidió entonces se ejecuta Una ruta no descarta las demás: pueden ejecutarse varias a la vez
El router comprueba cada filtro por su cuenta; el orden decide el momento de ejecución, no si una ruta anula a otra.

Para una prioridad única, una política posible es urgente primero y España solo si no es urgente; tradúcela a filtros y vuelve a comprobar toda la matriz.

Ensayo sin efectos externos

Crea registros ficticios con identificadores distintos y sustituye acciones de envío por salidas de inspección. Para cada registro anota ramas esperadas y observadas, incluida la ausencia de coincidencias. Añade después el caso de país ausente según tu contrato de datos. Si una rama falla, estudia su tratamiento de errores por separado: fallback no es un manejador universal de fallos. Make resulta pertinente cuando necesitas ejecutar este enrutamiento; para decidir las condiciones basta la tabla. CallsIQ no ha ejecutado el escenario.

Convertir una prioridad en condiciones excluyentes

Para una única asignación, define primero qué significa «urgente»: en el siguiente ejercicio es un booleano validado, no cualquier texto no vacío. El país es un código de dos letras normalizado. La política propuesta prioriza urgentes de cualquier país, después España no urgente y, por último, una cola de revisión.

Router de Make: por qué un registro puede pasar por varias rutas: tabla 2
Registro ficticioPaísUrgenteRuta esperadaMotivo
R-01EStrueUrgenteLa ruta España exige false
R-02ESfalseEspañaCumple ambas condiciones de esa ruta
R-03FRtrueUrgenteEl país no limita la prioridad
R-04FRfalseRevisiónNo coincide ninguna ruta ordinaria
R-05AusenteDesconocidoRevisión de datosNo se convierte desconocido en false

Expresa los filtros ordinarios como urgente = true y pais = ES AND urgente = false. Configura la ruta de revisión como fallback y comprueba sus propios filtros si existen. R-05 necesita una decisión de validación previa o revisión; si el escenario rechaza el registro antes del router, no esperes que fallback lo recupere.

Caso límite: meses después se añade una cuarta ruta para contactos «VIP», con el filtro vip = true, sin tocar las otras tres. R-01 (ES, urgente) ahora también cumple la ruta VIP si ese contacto está marcado como VIP, y vuelve a activar dos ramas en la misma ejecución: la de urgentes y la nueva de VIP. El fallo no está en los filtros originales, que siguen siendo excluyentes entre sí, sino en que la cuarta ruta se diseñó sin repetir el ejercicio de la matriz completa. Cada filtro nuevo obliga a volver a comprobar las combinaciones con todos los filtros existentes, no solo con el que motivó el cambio.

Dos fallos distintos que parecen un duplicado

Si R-01 activa dos ramas en la misma ejecución, hay solapamiento de condiciones. Si aparece una vez en dos ejecuciones distintas, puede haber repetición del evento o reenvío del origen. Guarda identificador del evento, ejecución y ruta observada para distinguirlos. Hacer excluyentes las ramas no evita que un mismo evento sea recibido dos veces.

Router de Make: por qué un registro puede pasar por varias rutas: tabla 3
Síntoma observadoCausa probableCómo confirmarlo
Dos acciones en la misma ejecución, mismo ID de eventoSolapamiento de filtros dentro del routerRevisar si dos rutas comparten condiciones no excluyentes para ese registro
La misma acción dos veces, en dos ejecuciones distintasRepetición o reenvío del evento de origen, no del routerComparar el ID de ejecución: si son dos ejecuciones distintas, el router no es la causa
Una acción comercial duplicada aunque el router sea excluyenteFalta de clave estable o de control de concurrencia en el destinoRevisar si el destino busca y escribe sin bloqueo entre ejecuciones simultáneas
Un registro nunca llega a ninguna ruta ni al fallbackEl escenario lo descarta o lo transforma antes del routerRevisar los módulos previos al router con la salida de inspección

Cuando una acción comercial no deba repetirse, define una clave estable, por ejemplo evento más tipo de acción, y un registro de su resultado. La comprobación y reserva de esa clave deben resistir ejecuciones simultáneas; buscar primero y escribir después sin control de concurrencia puede dejar pasar dos envíos. La implementación depende del almacenamiento y de la API de destino, no del orden visual del router.

Errores frecuentes y cómo detectarlos

Router de Make: por qué un registro puede pasar por varias rutas: tabla 4
ErrorSíntomaComprobación
Tratar el router como un «si... si no»Dos ramas se ejecutan para el mismo registro sin que se haya previstoComprobar si los filtros de ambas rutas pueden cumplirse a la vez con los mismos datos
Confiar en que el orden visual excluye ramasCambiar el orden de las rutas no cambia qué se ejecutaRevisar el filtro de cada ruta, no su posición en el escenario
Tratar fallback como manejador de erroresUn fallo de la API de destino desaparece sin dejar rastroSeparar el tratamiento de errores de cada rama de la lógica de qué rama se ejecuta
Aceptar cualquier texto como booleano«false» como cadena de texto se evalúa como verdaderoValidar el campo como booleano real antes del router, no como texto no vacío
Convertir un país ausente en «no España»Un registro sin país cae en una ruta pensada para otro casoEnviar los registros con el dato ausente a revisión, no a una ruta ordinaria
No repetir la matriz al añadir una ruta nuevaUna combinación antigua, antes única, ahora activa dos rutasVolver a ejecutar el ejercicio con fila por cada filtro existente, incluido el nuevo

Criterio de aceptación antes de activar envíos

Ejecuta la matriz en un entorno autorizado con acciones de inspección. Cada registro válido debe producir una sola asignación bajo esta política. Repite un evento y verifica la política de duplicados por separado. Fuerza después un fallo de destino en el ensayo: debe quedar visible para recuperación, sin tratar la cola fallback como sustituto de un manejador de errores. Documenta el resultado observado y cualquier caso pendiente antes de conectar presupuestos o avisos reales.

Desde la experiencia del autor

En mis once años desarrollando e implantando software de contact center (en Vocalcom, con perfil .NET/C#/APIs), he trabajado con bastante lógica de enrutamiento de eventos, y el solapamiento que más me he encontrado es el de filtros de categoría y urgencia que pueden cumplirse a la vez: lo primero que hay que definir es si eso debe generar acciones independientes o una sola, porque la matriz de filtros no responde esa pregunta de negocio por sí sola.

No me atrevería a dar una frecuencia de cuántas veces se olvida revisar las combinaciones al añadir una ruta nueva sin haber revisado antes los escenarios concretos; lo que sí exijo siempre es repetir la matriz de combinaciones completa cada vez que se añade una ruta, no solo comprobar la ruta nueva contra la antigua que la motivó.

Para distinguir un solapamiento de filtros de un reenvío del evento de origen, el dato que más me ha servido en la práctica es comparar el ID de evento, el ID de ejecución y las rutas recorridas; eso separa con claridad una ejecución con varias ramas de varias entregas del mismo evento. Y de los fallos frecuentes, el que más incidencias de facturación o notificación duplicada provoca es que una acción externa se repita en ramas solapadas, así que añado una protección por operación de negocio cuando esa acción solo debe ejecutarse una vez. Antes de conectar envíos reales, cubro cada combinación de filtros, sus límites y los casos sin coincidencia: lo que importa es la cobertura de comportamientos, no una cantidad arbitraria de registros de prueba.

Fuentes y límites de esta guía

Revisión documental: . Tipo de contenido: Guía documental con ejercicio original.

Las fuentes enlazadas describen las condiciones y funciones que publica cada proveedor. Los ejemplos con datos ficticios se identifican en el texto.

Alcance: Guía documental revisada el 16/10/2026. Los ejemplos son ficticios y los ensayos propuestos; CallsIQ no ha realizado pruebas de estos productos.

Cómo comunicar una corrección

Consulta las condiciones actuales

Valora estas opciones si resuelven el problema descrito. Confirma funciones, límites y contratación en tu país.

MakeEnlace de afiliación

Los enlaces comerciales identificados pueden generar una comisión o recompensa por referido para CallsIQ. Nuestra política comercial.

Cómo se ha preparado esta guía

Fuentes oficiales, cálculos explicados y ejemplos identificados. Consulta la metodología y el uso de IA en la redacción.