Workflow experto: variables, acumuladores y control de flujo

En este artículo aprenderás a usar variables personalizadas dentro de los workflows de Omniwallet.

Esto os servirá para: 

  • Guardar información temporal

  • Acumular valores

  • Controlar cuándo y cuántas veces se ejecuta una acción

  • Evitar duplicidades y efectos no deseados

Este tipo de workflow es clave cuando trabajas con:

  • Listas de productos

  • Reglas complejas

  • Condiciones múltiples

  • Bonificaciones que solo deben aplicarse una vez

Qué son las variables en un workflow

Una variable es un valor temporal que se crea y se utiliza solo durante la ejecución del workflow.

Sirve para:

  • Guardar resultados intermedios

  • Marcar estados (true / false)

  • Acumular importes o cantidades

  • Tomar decisiones al final del flujo

Las variables no se guardan en el perfil del cliente.
Existen únicamente mientras el workflow se está ejecutando.

Tipos habituales de variables

En Omniwallet puedes usar variables para almacenar:

  • Números (importe, cantidad, contadores)

  • Booleanos (true / false)

  • Texto

  • Listas

Caso 1 – Variable booleana (detectar una condición)

Objetivo

Detectar si una compra contiene al menos un producto de una categoría concreta y actuar una sola vez.

Por qué es necesario

Si recorres una lista de productos y aplicas acciones dentro del bucle, corres el riesgo de ejecutar la acción varias veces.

Paso a paso

1. Crear la variable

  • Nombre: categoria_detectada

  • Tipo: Boolean

  • Valor inicial: false

2. Bucle sobre productos

  • Paso: Para cada elemento en lista

  • Lista: items

3. Condición dentro del bucle

  • Si item.category contiene Premium

👉 En la rama Verdadero:

  • Acción: Asignar variable

  • categoria_detectada = true

4. Salir del bucle

Aunque el bucle continúe, la variable ya queda marcada.

5. Acción fuera del bucle

Añade una Condición:

  • Si categoria_detectada = true

👉 Acción:

  • Multiplicar puntos (una sola vez)

Caso 2 – Variable acumuladora (sumar valores)

Objetivo

Sumar el importe de ciertos productos y decidir una acción según el total.

Ejemplo

Si el importe total de productos “Electronics” supera 200 €, aplicar un bonus.

Paso a paso

1. Crear variable

  • Nombre: importe_electronics

  • Tipo: Número

  • Valor inicial: 0

2. Bucle sobre productos

  • Lista: items

3. Condición por categoría

  • Si item.category contiene Electronics

👉 En Verdadero:

  • Acción: Calcular

  • importe_electronics = importe_electronics + (item.price * item.quantity)

4. Condición final

Fuera del bucle:

  • Si importe_electronics ≥ 200

👉 Acción:

  • Añadir puntos fijos

  • O multiplicar puntos

Caso 3 – Control de ejecución (una sola vez)

Problema habitual

Un workflow complejo puede ejecutar una acción más de una vez sin que lo notes.

Solución

Usar una variable de control.

Ejemplo

  • Variable: bonus_aplicado

  • Inicial: false

Antes de aplicar cualquier bonus:

  • Condición: bonus_aplicado = false

Después de aplicar el bonus:

  • Asignar bonus_aplicado = true

Esto garantiza que:

  • La acción solo se ejecuta una vez

  • El workflow es seguro y predecible

Control de flujo avanzado

Las variables permiten:

  • Simular estructuras tipo if / else if

  • Crear reglas escalonadas complejas

  • Priorizar condiciones

  • Romper flujos lógicos

Ejemplo típico:

  • Si condición A → acción A

  • Si no, y condición B → acción B

  • Si no, no hacer nada

Todo controlado con variables y orden.

Errores comunes

❌ No inicializar variables
❌ Usar la variable fuera de su contexto
❌ Modificar variables dentro de bucles sin control
❌ Olvidar el estado final

Buenas prácticas

✔ Nombres claros para las variables
✔ Inicializar siempre
✔ Aplicar acciones fuera de bucles
✔ Testear con datos complejos
✔ Documentar el propósito de cada variable

Cuándo usar variables (regla de oro)

Usa variables cuando:

  • Hay bucles

  • Hay acumulaciones

  • Hay más de una condición

  • Hay riesgo de duplicidades

  • La lógica ya no cabe en un “if simple”

¿Te ha sido útil este artículo?

Preguntas Frecuentes

Encuentra respuestas a las preguntas más comunes sobre este tema

Las variables en un workflow de Omniwallet son valores temporales que se utilizan durante la ejecución del flujo. Sirven para guardar resultados intermedios, marcar estados y acumular importes.
Para evitar la ejecución duplicada de acciones, puedes usar una variable de control que verifique si la acción ya se ha ejecutado. Esto garantiza que la acción se ejecute solo una vez.
Debes usar variables en tus workflows cuando trabajes con bucles, acumulaciones, múltiples condiciones o cuando exista el riesgo de duplicidades. Esto ayuda a manejar la lógica de manera más efectiva.
Los errores comunes incluyen no inicializar variables, usarlas fuera de su contexto y modificar variables dentro de bucles sin control. Es importante seguir buenas prácticas para evitar estos problemas.

Loyalty Master

Tu asistente experto en fidelización

¡Hola! Soy Loyalty Master, tu asistente experto en programas de fidelización.

Puedo ayudarte con:

  • Dudas sobre Omniwallet y sus funcionalidades
  • Configuración de tu programa de puntos
  • Estrategias de fidelización
  • Integraciones y aspectos técnicos

¿En qué puedo ayudarte hoy?

🇬🇧 View in English?