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
Data
y 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 with
comparan el valor de la clave con el texto de Compare Value.boolean validator
interpreta 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
Data
con 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 objetoData
o la lista de objetosData
que 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 objetoData
que 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
Data
que cumplieron la condición. - False Output – Lista de objetos
Data
que 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
Data
en varios según una clave. - Data Filter – Filtra objetos
Data
basándose en condiciones simples. - Data Mapper – Transforma los campos de un objeto
Data
.
Consejos y Mejores Prácticas
- Usa
boolean validator
cuando 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
Data
no 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.