Condiciones en Shopify Flow

En Shopify Flow, las condiciones definen si se toma o no una acción en cuanto un activador inicia un flujo de trabajo. Para definir una condición, se elige un valor tomado de los datos de tu tienda, un operador lógico y se define manualmente un valor de comparación.

Tipos de datos usados con Flow

El primer valor en cualquier condición de Flow son los datos de tu tienda, y se extraen de la API del panel de control de GraphQL.

Flow admite los siguientes tipos de datos:

  • Float: los valores de float son números con un importe decimal, por ejemplo: 4,25.
  • Entero: los valores enteros son números enteros que no tienen un importe decimal, por ejemplo: 42.
  • Fecha: los valores de fecha son representaciones numéricas de la fecha, por ejemplo: 01012021.
  • Cadena: los valores de cadena son texto. Las comparaciones con los valores de cadena no consideran mayúsculas ni minúsculas.
  • Booleano: los valores booleanos son verdaderos o falsos.
  • Enum: los valores enum son conjuntos de datos que permiten que una variable sea un conjunto de constantes predefinidas.

Operadores lógicos utilizados en Flow

Los operadores lógicos definen cómo se aplica tu condición. Las condiciones pueden verificar propiedades simples, como si el total de un pedido está por encima de un determinado monto o si un cliente acepta materiales publicitarios. Los operadores lógicos también pueden verificar si hay propiedades más complejas.

Flow puede usar los siguientes operadores:

Igual a

Igual a compara valores para comprobar que sean iguales. En el siguiente ejemplo, el valor de order.currentTotalDiscountsSet.shopMoney.amount se recupera de los datos de tu tienda y se compara con el segundo valor, 50.

Ejemplo de un flujo de trabajo que usa el operador lógico

Si el primer valor es igual a 50, la condición es verdadera y el pedido se cancela.

No es igual a

No es igual a compara valores para comprobar que no sean iguales. En el siguiente ejemplo, el valor de order.currentTotalDiscountsSet.shopMoney.amount se recupera de los datos de tu tienda y se compara con el segundo valor, 50.

Ejemplo de un flujo de trabajo que usa el operador lógico

Si el primer valor es igual a 93, la condición es verdadera y el pedido se cancela.

Mayor que y Mayor que o igual a

Mayor que y Mayor que o igual a compara valores para comprobar si el primer valor es mayor que (o mayor que o igual a) el segundo valor. En el siguiente ejemplo, el valor de order.currentTotalDiscountsSet.shopMoney.amount se recupera de los datos de tu tienda y se compara con el segundo valor, 50.

Ejemplo de un flujo de trabajo que usa el operador lógico

Si el valor tomado de tu tienda es 137, la condición es verdadera, porque 137 es mayor que 50, por lo tanto, el pedido se cancela.

Menor que o Menor que o igual a

Menor que y Menor que o igual a compara valores para comprobar si el primer valor es menor que (o menor que o igual a) el segundo valor. En el siguiente ejemplo, el valor de order.currentTotalDiscountsSet.shopMoney.amount se recupera de los datos de tu tienda y se compara con el segundo valor, 50.

Ejemplo de un flujo de trabajo que usa el operador lógico

Si el valor tomado de tu tienda es 47, la condición es verdadera, porque 47 es menor que o igual a 50. El pedido se cancela.

Cualquiera de

Se trata de cualquier valor de comparación de una matriz de datos para ver si el primer valor contiene algún dato del segundo valor. Los valores de comparación deben introducirse uno por uno, seguidos de la tecla Enter. El uso de cualquier valor de una matriz en blanco da lugar a una evaluación falsa. En el ejemplo a continuación, el valor de order.lineitem.product.title se recupera de los datos de tu tienda y se compara con la segunda serie de valores: piña, guayaba, kiwi.

Ejemplo de un flujo de trabajo que usa el operador lógico

Si el valor tomado de tu tienda es "guayaba", la condición es verdadera, porque "guayaba" se incluye en la matriz de "piña, guayaba y kiwi". El pedido se cancela.

Ninguno de

No es cualquier valor de comparación de una matriz de datos para ver si el primer valor contiene algún dato del segundo valor. Los valores de comparación deben introducirse uno por uno, seguidos de la tecla Enter. En el ejemplo a continuación, el valor de order.lineitem.product.title se recupera de los datos de tu tienda y se compara con la segunda serie de valores: piña, guayaba, kiwi.

Ejemplo de un flujo de trabajo que usa el operador lógico

Si el valor tomado de tu tienda es "frambuesa", la condición es verdadera, porque "frambuesa" no se incluye en la matriz de "piña, guayaba y kiwi". El pedido se cancela.

Incluye

Incluye compara valores para ver si en la entrada del primer valor se incluyen los datos de la entrada del segundo valor. En el siguiente ejemplo, el valor de order.lineitem.product.title se recupera de los datos de tu tienda y se compara con el segundo valor, "rasca".

Ejemplo de un flujo de trabajo que usa el operador lógico

Si el valor tomado de los datos de tu tienda es "rascacielos", la condición es verdadera, porque la cadena exacta "rasca" se incluye en la cadena "rascacielos". El pedido se cancela.

No incluye

No incluye compara valores para comprobar si en la entrada del primer valor no se incluyen los datos de la entrada del segundo valor. En el siguiente ejemplo, el valor de order.lineitem.product.title se recupera de los datos de tu tienda y se compara con el segundo valor, "rasca".

Ejemplo de un flujo de trabajo que usa el operador lógico

Si el valor recuperado de los datos de tu tienda es "rascadores", la condición es verdadera, porque la cadena exacta "rascadores" no se incluye en la cadena "rascacielos". Se cancela el pedido.

Comienza con

Comienza con compara valores para comprobar si el primer valor comienza con los datos del segundo valor. En el siguiente ejemplo, el valor de order.shippingAddress.country se recupera de los datos de tu tienda y se compara con el segundo valor, "Reino".

Ejemplo de un flujo de trabajo que usa el operador lógico

Si el valor tomado de tu tienda es "Reino Unido", la condición es verdadera, porque la cadena "Reino" comienza la cadena "Reino Unido". El pedido se cancela.

No comienza con

No comienza con compara valores para comprobar si el primer valor no comienza con los datos del segundo valor. En el siguiente ejemplo, el valor de order.shippingAddress.country se recupera de los datos de tu tienda y se compara con el segundo valor, "Reino".

Ejemplo de un flujo de trabajo que usa el operador lógico

Si el valor tomado de tu tienda es "Canadá", la condición es verdadera, porque la cadena "Canadá" no inicia la cadena "Reino Unido". El pedido se cancela.

Termina con

Termina con compara valores para comprobar si el primer valor termina con los datos del segundo valor. En el siguiente ejemplo, el valor de order.lineitems.product.title se recupera de los datos de tu tienda y se compara con el segundo valor, "últimos disponibles".

Ejemplo de un flujo de trabajo que usa el operador lógico

Si el valor tomado de tu tienda es "calcetines deportivos, últimos disponibles", la condición es verdadera, porque "calcetines deportivos, últimos disponibles" termina con la cadena "últimos disponibles". El pedido se cancela.

No termina con

No termina con compara valores para comprobar que el primer valor no termina con los datos del segundo valor. En el siguiente ejemplo, el valor de order.lineitems.product.title se recupera de los datos de tu tienda y se compara con el segundo valor: "últimos disponibles".

Ejemplo de un flujo de trabajo que usa el operador lógico

Si el valor tomado de tu tienda es "calcetines deportivos nuevos", entonces la condición es verdadera, porque "calcetines deportivos nuevos" no termina con la cadena "últimos disponibles". Se cancela el pedido.

Orden de condiciones

Puedes crear flujos de trabajo que tengan varias condiciones, cada una de las cuales puede dar lugar a diferentes acciones. El orden de las condiciones es importante. La verificación de las condiciones comienza al inicio del flujo de trabajo y avanza de forma automática a través de cada condición. La verificación se detiene cuando se cumple una condición.

Cumplir con múltiples condiciones

Cuando estableces una condición, puedes establecer varios criterios y determinar si Flow considerará la condición como verdadera si se cumplen todas las condiciones o si se cumple alguna de ellas.

Si se cumplen todas las condiciones

Al seleccionar Si se cumplen todas las condiciones se genera una respuesta verdadera únicamente si cada uno de los criterios que estableciste es verdadero.

Por ejemplo, creas un flujo de trabajo para etiquetar clientes que se encuentran en Canadá y gastan más de $ 500 en un solo pedido.

Ejemplo de un flujo de trabajo que usa la condición

El flujo de trabajo etiqueta al cliente solo si se encuentra en Canadá y gasta más de $ 500 en el pedido. Si cualquiera de estas condiciones es falsa, el cliente no se etiqueta.

Si se cumple alguna condición

Al seleccionar Si se cumple alguna condición se genera una respuesta verdadera si cualquiera de los criterios que estableces se cumple.

Por ejemplo, creas un flujo de trabajo para etiquetar pedidos que se consideran de riesgo alto o medio.

Ejemplo de un flujo de trabajo que usa la condición

El flujo de trabajo etiqueta el pedido si es de riesgo alto o medio. Siempre y cuando una de esas condiciones sea cierta, el pedido se etiqueta.

Combinación de condiciones y acciones

Puedes combinar condiciones para hacer una sola condición extensa. Cuando se combinan las condiciones, se deben cumplir todas las condiciones para que toda la condición sea verdadera. Si no se cumple alguna condición, toda la condición se considera falsa. En el siguiente ejemplo, el cliente debe aceptar materiales publicitarios y el precio total del pedido debe alcanzar un determinado límite.

Ejemplo de un flujo de trabajo que verifica el monto total de gasto de un cliente y agrega etiquetas

De manera similar, puedes combinar acciones para que se puedan ejecutar varias acciones. En este ejemplo se usan múltiples condiciones para comprobar si un cliente es elegible para un programa de fidelización según el monto total que gastó en la tienda. En el ejemplo anterior, se comprueban las siguientes condiciones en el orden en el que aparecen:

  1. Si el precio total es superior a $1000 y el cliente acepta recibir publicidad, etiquétalo con la etiqueta de fidelización Gold.
  2. Si el precio total es inferior a $1000 pero superior a $500 y el cliente acepta recibir publicidad, etiquétalo con la etiqueta de fidelización Silver.
  3. Si el cliente gastó más de $200 y acepta recibir publicidad, etiquétalo con la etiqueta de fidelización Bronze.

Datos estáticos y dinámicos en condiciones

En general, el segundo valor de una condición es un valor estático introducido manualmente. Este valor sigue siendo el mismo cada vez que se ejecuta el flujo de trabajo.

También puedes usar valores dinámicos si el campo del segundo valor muestra un símbolo </>. Los valores dinámicos se toman a partir de los datos de tu tienda cada vez que se ejecuta el flujo de trabajo. Para usar un valor dinámico, haz clic en el símbolo </> y selecciona el valor que deseas comparar. Los valores dinámicos no están disponibles para todos los campos.

Por ejemplo, creas un flujo de trabajo que etiqueta un pedido si el país en la dirección de facturación del pedido coincide con el país en su dirección de envío.

Ejemplo de un flujo de trabajo que etiqueta un pedido con datos de RHS para verificar que el país de facturación y el país del envío de un cliente son iguales

En este ejemplo, tanto el primer como el segundo valor se toman a partir de los datos de tu tienda, en lugar de especificar manualmente una cadena estática para buscar el segundo valor. Si el país en la dirección de facturación que proporciona el cliente es el mismo que el país que el cliente proporcionó en la dirección de envío, la condición es verdadera y el pedido se etiqueta.

¿Estás listo/a para comenzar a vender con Shopify?

Prueba gratis