Variables en Shopify Flow

Las variables son marcadores de posición que se reemplazan por valores cuando se ejecuta un flujo de trabajo. Estas variables describen los atributos de los clientes, pedidos y productos que aparecen en tus flujos de trabajo. Por ejemplo, hay variables para el número de pedido, el precio del pedido, el nombre del cliente, etc.

Flow usa una versión diferente de Liquid que los temas de Shopify y puede acceder a cualquiera de las variables disponibles a través de la API GraphQL del panel de control.

Los nombres de la mayoría de las variables son autodescriptivos. Por ejemplo, la variable que muestra el nombre del producto es {{ product.title }}. Cuando se envía el mensaje, esta variable se reemplaza con el nombre del producto pedido: Large Coffee Mug.

Agregar variables a acciones

Puedes agregar variables a cualquier campo de texto que contenga el enlace Agregar variable. Haz clic en el enlace Agregar variable debajo del campo correspondiente y, luego, selecciona una variable de la lista.

Las variables de la lista Agregar variable se filtran, de modo que solo veas las variables que se aplican al activador que has elegido. Después de elegir una variable de la lista, se le da el formato correcto y se agrega al cuadro de texto por ti.

Flow admite casi todos los campos de la API del panel de control de GraphQL.

Variables de Liquid

Si eres un desarrollador con experiencia escribiendo código de Liquid, puedes usar este lenguaje para escribir tus variables o editar variables que insertas usando el enlace Agregar variable. Para más información, consulta la referencia API GraphQL del panel de control.

Etiquetas condicionales y de repetición

Puedes agregar manualmente etiquetas de variables de Liquid a tus mensajes de flujo de trabajo. Puedes usar estas etiquetas para incluir más información en tus mensajes.

Por ejemplo, puedes usar un objeto for loop para que se repita a lo largo de una lista de objetos, como líneas de artículos para un pedido. Con estas etiquetas, puedes crear mensajes que contengan detalles, como título del producto, SKU, precio y cantidad de cada línea de artículo en un pedido y ahorrarles a tus destinatarios el trabajo de tener que buscar esta información en tu panel de control de Shopify.

Flow admite las siguientes etiquetas condicionales (o de flujo de control) de Liquid:

Flow también admite las siguientes etiquetas de iteración Liquid:

Filtros

Flow es compatible con los siguientes filtros de Liquid:

Filtros de Liquid compatibles con Flow
Nombre del filtro Tipo de filtro
abs Matemático
append Cadena
at_least Matemático
at_most Matemático
capitalize Cadena
ceil Matemático
concat Array
date Adicional
Predeterminado Adicional
divided_by Matemático
downcase Cadena
escape Cadena
Primero Array
floor Matemático
join Array
last Array
lstrip Cadena
map Array
minus Matemático
modulo Matemático
newline_to_br Cadena
plus Matemático
prepend Cadena
eliminar Cadena
remove_first Cadena
replace Cadena
replace_first Cadena
reverse Array
round Matemático
rstrip Cadena
Tamaño Array
slice Cadena
ordenar Array
split Cadena
strip Cadena
strip_html Cadena
strip_newlines Cadena
times Matemático
truncate Cadena
truncatewords Cadena
uniq Array
upcase Cadena
url_encode Cadena
where Array

Ejemplos de variables

Supongamos que deseas crear un flujo de trabajo para enviar un correo electrónico a un empleado cuando un cliente gaste más de $500 en un pedido. Creas un flujo de trabajo con el activador Pedido creado, estableces una condición que sea verdadera si el total del pedido es superior a $500 y usas la acción Enviar correo electrónico interno. En la sección Mensaje de la acción Enviar correo electrónico interno, usas las siguientes variables.

Ejemplo del uso de variables para proporcionar detalles del cliente
Entrada Salida
Envía una nota de agradecimiento personal a {{ order.customer.firstName }} {{ order.customer.lastName }}({{ order.customer.email }}) por realizar un pedido de $ {{ order.totalPriceSet.shopMoney.amount }}. Envía una nota de agradecimiento personal a Jeanne Dupont (jeanne@example.com) por realizar un pedido de $ 763,42.

Decides que es necesario informar a un empleado cuando el inventario de productos esté bajando y sea necesario realizar un pedido para ampliar las existencias. Creas un flujo de trabajo que se inicia con el activador Cantidad de inventario cambiada y estableces una condición que sea verdadera si la cantidad de inventario anterior es inferior o igual a 10. En la sección Mensaje de la acción Enviar correo electrónico interno, usas las siguientes variables.

Ejemplo del uso de variables para proporcionar detalles del artículo.
Entrada Salida
Solicita de nuevo {{ product.title }}. Envía a owner@store.com un correo electrónico para verificar que ha recibido la orden de compra. Solicita de nuevo los leggings de cintura alta negros. Envía a owner@example.com un correo electrónico para verificar que ha recibido la orden de compra.

Deseas cancelar los pedidos que tengan un nivel de riesgo alto, pero prefieres que tus empleados cancelen el pedido manualmente. Creas un flujo de trabajo que se inicia con el activador Pedido creado y estableces una condición que sea verdadera si el nivel de riesgo del pedido es elevado. En la sección Mensaje de la acción Enviar correo electrónico interno, usas las siguientes variables.

Ejemplo del uso de variables para proporcionar información sobre un pedido fraudulento
Entrada Salida
Nuestra tienda Shopify ha recibido un pedido con un alto riesgo de fraude. Nos gustaría cancelar este pedido de inmediato, antes de enviarlo a producción:

{{ order.name }}
{{ order.billingAddress.lastName }}, {{ order.billingAddress.firstName }}
{{ order.email }}

Confirma el nuevo estado del pedido. ¡Gracias!
Nuestra tienda Shopify ha recibido un pedido con un alto riesgo de fraude. Nos gustaría cancelar este pedido de inmediato, antes de enviarlo a producción:

#1001
Dupont, Jeanne
jeanne@example.com

Confirma el nuevo estado del pedido. ¡Gracias!

Ejemplos de bucle for

Cuando se recibe un pedido, puede ser útil enviar un mensaje que contenga los productos solicitados. Puedes hacer esto usando for loop, que ejecuta repetidamente un bloque de código. Los campos de texto que admiten variables también admiten bucles "for" y el objeto "forloop".

Por ejemplo, deseas crear un flujo de trabajo que devuelva una lista de todos los SKU y cantidades de un pedido. En la sección Mensaje de la acción Enviar correo electrónico interno, usas las siguientes variables.

Ejemplo de uso de bucle for para proporcionar información de pedido
Entrada Salida
Resumen del pedido:
{% for a in order.lineItems %}
SKU: {{a.sku}} ({{a.quantity}}),
{% endfor %}
Resumen del pedido:
8987097979 (50)
8877778887 (3)
888998898B (1)

Decides agregar más información al correo electrónico, incluyendo el nombre del producto, los SKU, el precio por artículo y la información de envío del cliente. En la sección Mensaje de la acción Enviar correo electrónico interno, usas las siguientes variables.

Ejemplo de uso de bucle for para proporcionar información de pedidos más extensa
Entrada Salida
Resumen del pedido:
{% for a in order.lineItems %}
Producto: {{a.title}}
SKU: {{a.sku}}
Precio (por unidad): $ {{a.originalUnitPriceSet.shopMoney.amount}}
Cantidad: {{a.quantity}}
{% endfor %}
Resumen del pedido:
Producto: leggings de cintura alta negros
SKU: 8987097979
Precio (por unidad): $ 8,49
Cantidad: 5
Producto: calcetines deportivos azules
SKU: 888998898B
Precio (por unidad): $ 5,61
Cantidad: 2

Debes hacer seguimiento de los artículos vendidos que suministra un proveedor específico. En la sección Mensaje de la acción Enviar correo electrónico interno, usas las variables siguientes e incluyes una instrucción if en for loop.

Ejemplo de uso del bucle for e instrucción if para proporcionar información de pedidos a proveedores específicos
Entrada Salida
Producto de Acme vendido:
{% for x in order.lineItems %}
{% if x.vendor == 'acme-vendor' %}
Nombre del producto: {{x.title}}
SKU: {{x.sku}}
{% endif %}
{% endfor %}
Producto de Acme vendido:
Nombre del producto: leggings de cintura alta negros
SKU: 8987097979

Objetos de datos complejos en Shopify Flow

Shopify Flow no admite la salida de matrices y objetos por las siguientes razones:

  • Los datos de salida que no son obligatorios están obsoletos para la API GraphQL, y podrían crear tamaños de consulta grandes que causen errores en tu flujo de trabajo.
  • Cuando se introducen nuevas funciones, se agregan nuevos campos de la API, lo que podría interrumpir tu flujo de trabajo.

Si se envían demasiados datos automáticamente, el flujo de trabajo falla. En lugar de llamar a matrices y objetos directamente, realiza un bucle sobre las matrices e incluye solo los campos que desees.

Por ejemplo, en lugar de llamar a {{ order.lineItems }} directamente, usa el siguiente formato para llamar a campos específicos. Estos ejemplos incluyen todos los campos que se incluirían al llamar directamente a la matriz u objeto. Copia y pega los campos que necesites.

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

Prueba gratis