Cómo funcionan las condiciones en Shopify Flow

Una condición es un paso de un flujo en el que se decide cómo continuar según si se cumple un conjunto de criterios. Cada paso de condición tiene 2 posibilidades: Verdadero, cuando se cumplen los criterios, y Falso cuando no se cumplen. Si no defines un paso siguiente para alguna de las dos posibilidades al elegir otra condición o acción, la ejecución del flujo se detiene.

Por ejemplo, si el flujo se activa cuando se crea un pedido, una condición podría verificar si se usó un código de descuento específico AFFILIATE10 en el pedido. Si se usó, la rama Verdadero puede llevar a una acción que envíe un correo electrónico al Afiliado para informarle que se usó su código. Si no se usó, la rama Falso puede quedar vacía, lo que indica que no ocurre nada más y la ejecución del flujo termina.

Un flujo puede tener cualquier número de condiciones, según la complejidad del flujo. Las condiciones también pueden conectarse con otras condiciones o con acciones, según lo que quieras que haga el flujo. Se pueden configurar para conectarse en secuencia (por ejemplo, si la condición A es verdadera, verifica la condición B; si A es falsa, verifica la C) o para que ocurran de forma simultánea como parte del mismo paso (por ejemplo, verifica si A o B o C es verdadera).

Crea condiciones para el flujo de trabajo

A diferencia de un activador o una acción, que puedes seleccionar de una lista preestablecida de opciones disponibles en Shopify Flow, las condiciones se crean desde cero seleccionando variables, operadores lógicos y valores para crear la sentencia condicional:

  • Una variable es un marcador de posición que define los datos que usa la condición. Por ejemplo, si una condición quiere verificar un código de descuento específico en un pedido, la variable sería order.discountCode. Las variables usan la notación de puntos de GraphQL Admin API.
  • Un operador lógico indica cómo debe determinar el flujo si se cumple la condición. Los operadores lógicos pueden aplicarse a nivel de variable o cuando se incluyen varias variables como parte de los criterios generales de la condición:
    • Las opciones a nivel de variable incluyen operadores de campo como Mayor que o Empieza con, u operadores de lista como Al menos uno de o Todos.
    • Las opciones a nivel de condición incluyen Y, lo que significa que todas las variables deben ser verdaderas para que la condición se considere verdadera en general, u O, lo que significa que al menos 1 variable debe ser verdadera para que la condición se considere verdadera en general.
  • Un valor es la información específica que busca la variable. Por ejemplo, si el order.discountCode específico que quieres que el flujo verifique es AFFILIATE10, ese sería el valor que se incluye como parte de la condición.

A medida que seleccionas variables y operadores, el paso de condición en el lienzo de Shopify Flow se actualiza para reflejar la sentencia condicional en lenguaje natural, para que puedas verificar si la condición que estás creando está formateada correctamente. Puedes hacer clic en Agregar descripción para reemplazar la sentencia condicional predeterminada con una descripción propia.

Obtén más información detallada sobre elements of conditions in Shopify Flow.

Cómo funcionan las variables en las condiciones

Cuando creas un paso de condición en un flujo, lo primero es hacer clic en Agregar variable. Pero, ¿qué es una variable?

En Shopify Flow, una variable es un marcador de posición que indica los datos que usa la condición en el flujo. Cuando una condición dice "Si A es mayor que 10...", la parte A es la variable. Elegir una variable para una condición le indica a la condición exactamente qué datos evaluar.

Las variables se formatean con la notación de puntos de GraphQL Admin API. No es necesario dominar la API para crear flujos con la app Shopify Flow, pero comprender lo básico de los nombres de variables y sus definiciones puede ayudarte a crear la lógica específica que quieres para el flujo.

Para entender qué datos representa una variable, considera lo siguiente sobre las variables:

Sugerencia: obtén ayuda con las variables del Dev Docs Assistant

Si no tienes claro qué variable seleccionar cuando creas la condición, considera pedir asesoría al Shopify Dev Docs Assistant. Dev Docs Assistant tiene acceso a toda la documentación sobre GraphQL Admin API y puede ofrecer sugerencias sobre cómo formatear una condición en Shopify Flow:

  1. Ir a Shopify Dev Docs.
  2. Haz clic en Preguntar al asistente para abrir el panel del chat.
  3. En el campo de mensaje, ingresa una solicitud, por ejemplo: "¿Qué variable debo usar en Shopify Flow si quiero acceder a los datos de etiquetas del cliente cuando mi activador empieza con "Pedido creado"?".
  4. Presiona Enter o haz clic en Enviar.

Cómo leer la notación con puntos de las variables

Cuando seleccionas variables, notarás que se muestran como palabras clave separadas por puntos, como order.customer.tag. Este formato indica los pasos que la API sigue para llegar a los datos que quieres usar. Cada 'paso' de una variable se separa con un punto y la ruta a los datos se lee de izquierda a derecha. La longitud de las variables puede variar según dónde estén almacenados los datos en la API y la ruta que siga el flujo de trabajo para llegar a ellos.

Por ejemplo:

  • order.email: Revisa la dirección de correo electrónico asociada al cliente del pedido. Es similar a cuando haces clic en un pedido y luego verificas la dirección de correo electrónico en la información del pedido.
  • refunds_item.staffMember.name: Revisa el pedido para detectar un reembolso de un artículo, va a la información del miembro del personal asociado con ese reembolso y verifica el nombre completo de ese miembro del personal.

Cuando eliges una variable, piensa cómo navegarías por el panel de control de Shopify para encontrar la información que quieres. Es probable que la API tenga que seguir una ruta similar; esto puede ayudarte a determinar cómo se podría formatear la variable.

Por ejemplo, si estás revisando un pedido nuevo y quieres saber en qué RFM group está el cliente asociado al pedido, podrías hacer clic en el nombre del cliente en el pedido para ir a la página de información del cliente en el panel de control de Shopify y luego revisar el resumen de informes y estadísticas del cliente para ver qué valor aparece en la columna RFM group.

La variable que usarías para devolver esos mismos datos en Shopify Flow seguiría una ruta similar: order.customer.statistics.rfmGroup.

Requisitos de datos para las variables

Las variables necesitan datos. Si la variable no tiene los datos correctos, la condición no funciona y el flujo de trabajo falla. Según el activador que hayas seleccionado como inicio del flujo de trabajo, las opciones sobre qué variables agregar a las condiciones cambian para reflejar las posibilidades según los datos disponibles.

Por ejemplo, si el flujo de trabajo comienza con el activador Producto creado, entonces las condiciones que crees desde ese activador se limitan a las variables disponibles en el conjunto de datos de producto. Por lo tanto, variables como product.category.name, product.vendor y variants_item.displayName están disponibles para usarlas como parte de la condición. En cambio, variables como customer.verifiedEmail o subscriptionContracts_item.status no se mostrarían como opciones, porque no están asociadas al conjunto de datos de producto.

Sin embargo, esto no significa necesariamente que los datos contenidos en otros conjuntos de datos sean totalmente inaccesibles. Se puede acceder a algunos datos desde múltiples rutas en la API, de la misma forma que podrías hacer clic en distintos enlaces para llegar a la misma página en el panel de control de Shopify. En la práctica, esto significa que distintos activadores requieren distintas notaciones de variables para devolver la misma información.

Por ejemplo, quieres que el flujo de trabajo revise las etiquetas en el perfil del cliente. Si el flujo de trabajo comienza con el activador Pedido creado, la variable sería order.customer.tags porque el flujo de trabajo parte de los datos del pedido, luego consulta la información del cliente en el pedido y después verifica las etiquetas de ese cliente. Si el flujo de trabajo comienza con el activador Cliente creado, la variable sería simplemente customer.tags porque el flujo de trabajo parte de los datos del cliente, así que puede ir directo a revisar las etiquetas del perfil del cliente.

Debido al estilo de notación con puntos en Shopify Flow, buscar variables para usar en una condición por palabras clave puede devolver varios resultados. Entender qué indica la ruta de la variable es importante para decidir qué variable elegir al crear la condición.

Por ejemplo, tu flujo de trabajo usa el activador Pedido creado y buscas una variable con la palabra clave tags. La búsqueda puede devolver los siguientes resultados, que verifican información distinta en el pedido:

  • order.tags: Las etiquetas aplicadas al pedido en sí. Por ejemplo, #rush order o #gift.
  • order.customer.tags: Las etiquetas aplicadas al cliente que hizo el pedido. Por ejemplo, #VIP o #affiliate.
  • order.lineItems.product.tags: Las etiquetas aplicadas a los productos comprados en el pedido. Por ejemplo, #fragile o #requiresID.

Según el tipo de etiquetas que quieras que el flujo de trabajo revise, debes seleccionar la variable correcta para que la condición funcione como esperas.

Cómo funcionan los operadores lógicos en las condiciones

Los operadores lógicos definen cómo se aplica la condición y hacen que una afirmación sea verdadera o falsa. Cuando una condición dice "Si A es mayor que 10...", la parte is greater than es el operador lógico. Elegir un operador lógico para una condición básicamente le indica a la condición cómo evaluar la variable.

En los flujos de trabajo de Shopify Flow hay 3 tipos de operadores lógicos:

  • Operadores a nivel de campo, como Mayor que o Empieza con.
  • Operadores de lista, como Al menos uno de o Todos.
  • Operadores a nivel de condición, como AND o OR.

Los operadores a nivel de campo y los operadores de lista se aplican a nivel de variable, y los operadores a nivel de condición se aplican a la condición completa y se pueden usar para combinar varias variables en una sola condición.

Los operadores a nivel de campo son los más comunes y se usan en todo tipo de sentencias de variables. Con los operadores a nivel de campo puedes crear sentencias condicionales como "Si A es mayor que 10, entonces realizar X" o "Si B contiene 'VIP', entonces realizar X" para tener un mayor grado de control sobre qué valores de una variable devuelven un resultado verdadero. Igual a es el operador lógico predeterminado.

Los operadores de lista solo se aplican a variables que pueden devolver una lista de resultados. Por ejemplo, la variable lineItems_item.variant.price devuelve el precio de una variante de producto en el pedido, lo que puede generar una lista de resultados cuando el cliente compra varios productos en el mismo pedido. Esto significa que podrías aplicar un operador de lista como Al menos uno de cuando quieres que una sentencia condicional como "lineItems_item.variant.price es mayor que 10 USD" sea verdadera cuando al menos 1 variante de producto en el pedido supera los 10 USD. En cambio, los operadores de lista no se muestran para variables que solo pueden devolver 1 resultado a la vez. Por ejemplo, una variable como order.createdAt solo puede tener 1 valor posible porque un pedido solo se crea una vez, así que los operadores de lista no aparecen como opciones para modificar la sentencia que contiene esa variable.

Los operadores a nivel de condición, como AND y OR, permiten incluir varias variables en la misma condición. Por ejemplo, en vez de una condición simple como "Si A es igual a 5, entonces haz X", puedes crear condiciones más complejas como "Si A es igual a 5 y B es mayor que 10, entonces haz X", que exige que las variables A y B sean verdaderas, o "Si A es igual a 5 o B es mayor que 10 o C es menor que 1, entonces haz X", que solo exige que una de A, B o C sea verdadera. Usa AND cuando deban cumplirse todos los criterios del flujo de trabajo; usa OR cuando basta con que se cumpla un solo criterio para que la condición sea verdadera.

Por qué es importante: comprender cómo funcionan los operadores lógicos en las condiciones te permite crear flujos de trabajo que verifiquen exactamente los criterios que necesitas. Con los 3 tipos de operadores lógicos, puedes definir reglas condicionales detalladas y complejas para crear flujos de trabajo que verifiquen condiciones muy específicas.

Más información detallada sobre logical operators in conditions.