Saltearse al contenido

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:

  1. Valida que sea un objeto Data y que contenga la clave indicada en Key Name.
  2. 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.).
  3. Si la condición se cumple, el objeto se envía al True Output; si no, al False Output.
  4. 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 objeto Data o la lista de objetos Data que se procesarán.
  • Compare Value
    El valor con el que se comparará la clave. No se usa cuando el operador es boolean validator.
  • Key Name
    El nombre de la clave dentro del objeto Data 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.

  1. Conecta la salida de un componente que genere la lista de clientes al Data Input.
  2. En Key Name escribe tags.
  3. En Comparison Operator selecciona contains.
  4. En Compare Value escribe premium.
  5. 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.