Flujos Multicontexto

Los Flujos Multicontexto permiten utilizar el mismo flujo en diversos contextos. Cada contexto tiene sus propios valores de variables de flujo y sus propias cuentas. A través de los flujos multicontexto, puedes activar el mismo flujo para distintos socios, clientes o usuarios, especificando las cuentas de cada uno. Es una forma sencilla de usar la misma integración para diferentes entidades bajo el control de una sola cuenta.


Definiciones

Es más fácil explicar el Flujo Multicontexto con un escenario en el que necesitamos ejecutar el mismo flujo para dos cuentas diferentes. Imagina que una integración se ejecuta periódicamente y actualiza la base de datos de un cliente. Ahora imagina que otro cliente quiere utilizar la misma integración, pero debemos guardar la información en la base de datos de este otro cliente.

Con el Flujo Multicontexto podemos utilizar el mismo flujo para ejecutar la función en ambas empresas. Claro que necesitaremos indicar al flujo:

  • Contexto: En este caso, habrá un contexto para cada cliente.

  • Clave de Contexto: Es la variable que permite identificar el contexto. Puede ser un identificador de cliente. A través de esta clave se identifican todas las variables y cuentas del contexto.

  • Variables de Contexto: Podemos crear variables de flujo configuradas por contexto. Es decir, los valores de estas variables son especificados individualmente para cada cliente.

  • Cuentas de Contexto: Podemos crear cuentas de acceso (Base de Datos, API REST, etc.) para cada contexto. De esta manera, el flujo utilizará las cuentas específicas de un cliente cuando se ejecute en el contexto de ese cliente.

Un Flujo Multicontexto tiene al menos un Localizador de Contexto o Context Finder. Durante la ejecución del flujo invocamos el Context Finder pasando una clave de identificación de contexto. El Context Finder tiene como objetivo localizar el contexto a partir de la clave proporcionada. Una vez localizado, devuelve todos los valores de parámetros y cuentas específicos de ese contexto. Los módulos posteriores pueden usar las variables y cuentas de cada contexto.


Configurar un flujo multicontexto

La construcción de un flujo multicontexto debe seguir exactamente los mismos pasos que un flujo convencional. Una vez probado, el flujo convencional puede convertirse en multicontexto.

[ Paso 01 ] Construir el flujo convencional monocontenido [ Paso 02 ] Introducir el Context Finder en el flujo [ Paso 03 ] Seleccionar las variables que deben cambiar según el contexto [ Paso 04 ] Seleccionar las cuentas que deben cambiar según el contexto [ Paso 05 ] Configurar las cuentas de cada contexto [ Paso 06 ] Crear los contextos y sus claves [ Paso 07 ] Configurar las variables de flujo y asignar las cuentas de cada contexto [ Paso 08 ] Logs de ejecución del flujo multicontexto


Paso a Paso

Paso 01: Construir el flujo convencional monocontenido

Construye tu flujo de manera convencional utilizando las variables de flujo y las cuentas como si este flujo fuera a atender solo un contexto.

Puedes definir un contexto predeterminado. Como sugerencia, crea el flujo convencional con las variables y cuentas que serán utilizadas por este contexto por defecto.

Paso 02: Introducir el Context Finder en el flujo

El Context Finder recibe una clave y, con ella, encuentra el conjunto de variables de flujo y cuentas conectadas que deben utilizarse en la ejecución del flujo.

Normalmente, el Context Finder se coloca al inicio de la ejecución del flujo, pero puede ubicarse en cualquier punto del mismo. Lo importante es que esté antes de los módulos que usan variables de flujo y cuentas conectadas dependientes del contexto.

También es importante asegurar que la clave de contexto ya esté disponible para poder pasársela al Context Finder. Usualmente esta clave puede venir de un Webhook Trigger o de una llamada a una API del API Gateway, pero también puede provenir de cualquier módulo, incluso de una variable de flujo.

Módulo Context Finder El módulo Context Finder requiere que el operador proporcione únicamente la clave (key) que será utilizada para localizar el contexto. Especifica la variable que servirá como clave en el campo Identificador de Contexto.

Paso 03: Seleccionar las variables de flujo que deben cambiar según el contexto

Debes indicar las variables que se modifican de acuerdo con el contexto.

Para que una variable de flujo también sea de contexto, basta con editar la variable en Contextos → Variables → Agregar variables.

Las variables creadas en “Contexto” se muestran en una pestaña exclusiva dentro de Configuración.

Paso 04: Seleccionar las cuentas que deben cambiar según el contexto

Debes indicar las cuentas que cambian de acuerdo con el contexto. Todas las cuentas de los módulos que se ejecutan después del Context Finder pueden especificarse.

Al revisar tu flujo, abre la configuración de los módulos que requieren cuentas conectadas (Bases de Datos, APIs REST, etc.).

Ahora esos módulos permiten que asocies una cuenta a un contexto. Selecciona la opción Usar cuenta de contexto.

Luego, aparecerá la opción Configurar cuenta conectada de contexto.

El Skyone Studio utiliza la cuenta original creada en el PASO 01 y la asigna al contexto Default.

Observa que en este momento puedes crear otras cuentas de contexto, pero lo haremos más adelante. Puedes hacer clic en "Siguiente" para avanzar a la página de prueba del módulo.

Observa que ahora es posible seleccionar la cuenta de contexto para ejecutar la prueba. Como aún no hemos configurado ningún contexto, solo la cuenta Default está disponible.

Paso 05: Configurar las cuentas de cada contexto

Las cuentas de acceso siguen configurándose de la misma forma. Deberás configurar una cuenta para cada contexto, que luego será referenciada en la edición del contexto.

Todos los tipos de cuentas disponibles en Skyone Studio pueden ser accesibles desde los contextos.

Paso 06: Crear los contextos y sus claves

Existe un área específica para la configuración de los contextos. Cada contexto corresponde a una entidad diferente que posee sus propias cuentas y variables específicas. Por ejemplo, cada contexto puede representar un cliente distinto con sus cuentas de acceso a bases de datos y variables de flujo específicas. En este paso, debes crear los contextos y definir una clave que permita identificar cada uno, como por ejemplo, un identificador de cliente.

Selecciona la opción "Contexto" en la pantalla principal de edición del flujo.

En el modo de edición de Contextos, puedes crear, editar y eliminar contextos. La primera vez que accedes, solo el contexto predeterminado (Default) está disponible. Puedes hacer clic en "Agregar contexto" para añadir un nuevo contexto.

Al crear un nuevo contexto, puedes definir un nombre y una clave (key) para tu contexto. El nombre es solo una referencia para que el operador pueda localizar el contexto. La clave es la información que se utilizará para localizar este contexto. Funciona como un indexador y debe ser única para este flujo.

Al guardar este contexto, podrás verlo en la lista de contextos disponibles.

Paso 07: Configurar variables de flujo y asignar cuentas

En este paso configuras las variables de flujo y cuentas de cada contexto.

Haz clic en el lápiz de edición del contexto que quieres modificar.

Observa que ahora podrás editar las variables y cuentas conectadas del contexto seleccionado. Todas las variables de flujo que fueron convertidas a Context Parameter para variables de contexto en el PASO 02 aparecerán automáticamente para que puedas definir sus valores.

De la misma manera, las Cuentas Conectadas también pueden definirse en este paso. Haz clic en "Cuentas Conectadas".

Podrás definir qué cuenta se utilizará para cada uno de los componentes que requieren cuentas conectadas por contexto. Tendrás que realizar esta configuración para cada uno de los contextos que crees.

Paso 08: Ejecutar el flujo multicontexto

Ejecuta el flujo igual que un flujo convencional, asegurándote de que la clave se pase correctamente al Context Finder.

Los logs de los flujos multicontexto contienen información adicional sobre la localización de contextos y los valores obtenidos en cada ejecución.

Last updated