Data Conditional Router
El Data Conditional Router permite separar un conjunto de datos en dos flujos distintos según una condición que se evalúa sobre una clave específica de cada objeto.
Puedes usarlo para, por ejemplo, enviar registros que cumplan un criterio a un proceso de aprobación y los que no lo cumplan a otro proceso de corrección.
¿Cómo funciona?
El componente recibe uno o varios objetos Data.
Para cada objeto:
- Valida que sea un objeto
Datay que contenga la clave indicada en Key Name. - Evalúa la condición usando el operador seleccionado en Comparison Operator:
equals,not equals,contains,starts with,ends withcomparan el valor de la clave con el texto de Compare Value.boolean validatorinterpreta el valor como booleano (verdadero si es"true","1","yes", etc.).
- Si la condición se cumple, el objeto se envía al True Output; si no, al False Output.
- Si el objeto no es válido, se devuelve un objeto
Datacon un mensaje de error en la salida correspondiente.
El componente trabaja localmente, sin llamadas a APIs externas, y detiene el flujo en la salida que corresponda (true_output o false_output).
Entradas
- Data Input
El objetoDatao la lista de objetosDataque se procesarán. - Compare Value
El valor con el que se comparará la clave. No se usa cuando el operador esboolean validator. - Key Name
El nombre de la clave dentro del objetoDataque se evaluará. - Comparison Operator
El operador que se aplicará para comparar el valor de la clave.
Opciones:equals,not equals,contains,starts with,ends with,boolean validator.
Salidas
- True Output – Lista de objetos
Dataque cumplieron la condición. - False Output – Lista de objetos
Dataque no cumplieron la condición.
Ejemplo de Uso
Supongamos que tienes una lista de registros de clientes y quieres separar a los que tienen la etiqueta "premium" en un flujo y a los demás en otro.
- Conecta la salida de un componente que genere la lista de clientes al Data Input.
- En Key Name escribe
tags. - En Comparison Operator selecciona
contains. - En Compare Value escribe
premium. - Conecta la salida True Output a un proceso de envío de ofertas especiales y la salida False Output a un proceso de seguimiento estándar.
Componentes Relacionados
- Data Splitter – Divide un objeto
Dataen varios según una clave. - Data Filter – Filtra objetos
Databasándose en condiciones simples. - Data Mapper – Transforma los campos de un objeto
Data.
Consejos y Mejores Prácticas
- Usa
boolean validatorcuando la clave contenga valores que ya representan estados (por ejemplo,"active": "yes"). - Si trabajas con listas largas, considera usar un componente de Batch Processing antes de enviar los datos al router para evitar cuellos de botella.
- Verifica que la clave exista en todos los objetos antes de ejecutar el flujo para evitar errores de validación.
Consideraciones de Seguridad
- El componente no realiza llamadas externas, por lo que no expone datos a servicios externos.
- Asegúrate de que los objetos
Datano contengan información sensible antes de enviarlos a flujos que puedan ser visibles para usuarios no autorizados. - Si el flujo incluye pasos que envían datos a sistemas externos, revisa los permisos y la encriptación de esos pasos.