Programaciones, obtención de datos y flujos de trabajo iterativos en Shopify Flow

En la mayoría de los casos, puedes crear un flujo de trabajo vinculando varias condiciones y acciones a un activador que se ejecuta cuando ocurre un evento. En casos más complejos, quizá no exista un activador para lo que necesitas, necesites que se ejecute a una hora específica o debas trabajar con una lista de datos. En esos casos, puedes usar activadores de tiempo programado, acciones para obtener datos y bucles para crear flujos de trabajo avanzados.

Por ejemplo, supongamos que quieres obtener un resumen diario de los pedidos no preparados. Con este conjunto de funciones, puedes configurar un flujo de trabajo que se ejecute todos los días a una hora específica, obtenga esos pedidos y luego te envíe un resumen. Explora más ejemplos y plantillas que usan estos activadores y acciones.

Activador de tiempo programado

En lugar de iniciar un flujo de trabajo por un evento, el activador hora programada lo inicia en la fecha y la hora que indiques. También puedes programarlo para que se repita cada hora, día, semana o mes. Como estos flujos se ejecutan según una programación, para usar datos como clientes, pedidos o productos debes usar una acción que obtenga esos datos. Para eso, utiliza las acciones de Obtener datos.

El activador de tiempo programado puede ejecutarse con una frecuencia de hasta cada 10 minutos.

Acciones para obtener datos

La mayoría de las acciones cambian algo en la tienda, por ejemplo, agregan etiquetas a un cliente o envían un comando a una app, como indicarle a una app que envíe una notificación automática a un cliente.

Las acciones de Obtener datos obtienen datos de la tienda para usarlos en Shopify Flow. Estas acciones ejecutan una consulta con un conjunto de filtros, por ejemplo, obtener solo lo actualizado el último día. La acción devuelve una lista de datos que cumplen esos criterios. Por ejemplo, la acción Obtener datos de pedidos llama a la consulta de pedidos en la Admin API y devuelve una lista de pedidos que coinciden con tu consulta.

Las acciones de Obtener datos solo se pueden ejecutar en listas de hasta 100 elementos.

Las siguientes acciones obtienen información de la tienda para que puedas usarla en tu flujo de trabajo. Consulta cada acción para ver cómo filtrar los datos y qué datos devuelve:

Etiquetas de Liquid en acciones de Obtener datos

Cuando usas una acción de Obtener datos con fechas, puedes usar las etiquetas de Liquid date_minus y date_plus para modificar las fechas de tu consulta. Por ejemplo, para calcular una fecha 5 días antes de la hora programada de ejecución de un flujo de trabajo, puedes usar el siguiente código Liquid:

{{ scheduledAt | date_minus: "5 days" }}

Para más detalles sobre cómo usar estas etiquetas, consulta la documentación de Liquid variables.

Bucles para cada

Cuando usas una acción de Obtener datos, obtienes una lista de datos que coincide con tu consulta. Puedes usar la acción Bucle para cada (iterar) para recorrer esa lista. En un bucle Para cada, puedes usar condiciones y acciones que aplican solo a ese elemento.

Por ejemplo, creas un flujo de trabajo que se ejecuta todos los lunes. El flujo usa la acción Obtener datos de pedidos para recuperar los pedidos realizados durante esa semana. Luego, el bucle Para cada (iterar) aplica la etiqueta New order a cada pedido devuelto por la lista getOrderData. Cuando todos los pedidos de la lista están etiquetados, se envía un correo electrónico interno indicando que el etiquetado se completó.

Ejemplo de un flujo de trabajo que recupera una lista de pedidos realizados en la última semana, agrega una etiqueta a cada pedido y luego envía un correo electrónico.

Acciones de agregación

Cuando trabajas con listas, quizá quieras contar la cantidad de elementos para usarla en condiciones y acciones posteriores. Por ejemplo, podrías querer comprobar si hay más de 0 resultados antes de enviar un correo electrónico. Flow incluye estas acciones para realizar cálculos sobre datos de listas en un flujo de trabajo:

  • Contar devuelve la cantidad de elementos en una lista.
  • Sumar suma los valores de los elementos de una lista.

Ejemplos de flujos de trabajo avanzados en Shopify Flow

Revisa algunos ejemplos de flujos de trabajo avanzados que puedes usar en Shopify Flow:

Obtén un resumen diario de los pedidos que no se prepararon en un plazo de preparación de dos días

Este flujo de trabajo se puede usar para determinar si algún pedido no cumplió el plazo de garantía de envío y, de ser así, cuánto valen esos pedidos.

En este ejemplo, el flujo de trabajo se ejecuta todos los días a las 5:00 p. m. El flujo usa la acción Get order data para recuperar una lista de pedidos que no se prepararon dentro de un plazo de envío de dos días. Luego, la acción For each agrega una etiqueta a todos los pedidos atrasados. El flujo también usa la acción Count para determinar la cantidad de pedidos atrasados y la acción Sum para determinar el valor de esos pedidos. Las variables que crean las acciones Count y Sum se usan para enviar un correo electrónico que indica la cantidad de pedidos y su valor.

Ejemplo de un flujo de trabajo que recupera una lista de pedidos atrasados, los etiqueta y envía un correo electrónico con información sobre la cantidad y el valor de esos pedidos.

Install this workflow template in your store.

Cuando se crea un pedido nuevo, verifica si el mismo cliente hizo otros pedidos en las últimas 24 horas

Este flujo de trabajo se puede usar para determinar si el mismo cliente realizó varios pedidos el mismo día y, de ser así, poner en espera la preparación de pedidos para poder enviarlos juntos.

En este ejemplo, el flujo de trabajo se ejecuta cada vez que se crea un pedido nuevo. El flujo usa la acción Get order data para recuperar una lista de pedidos que el cliente realizó en el último día. Luego, la acción Count determina la cantidad de pedidos que realizó el cliente. Si el mismo cliente realizó dos o más pedidos en el mismo día, se pone en espera la preparación de los pedidos y se agregan etiquetas a esos pedidos.

Ejemplo de un flujo de trabajo que recupera una lista de varios pedidos, los etiqueta y pone en espera su preparación.

Install this workflow template in your store.

Recibe un correo diario con un resumen de los productos agotados

Este flujo de trabajo se puede usar para generar una lista de todos los productos agotados y enviar un correo electrónico.

En este ejemplo, el flujo de trabajo se ejecuta todos los días a las 9:00 p. m. El flujo usa la acción Get product data para recuperar una lista de productos sin existencias. La acción Count determina la cantidad de artículos agotados. Las variables que crean las acciones Get order data y Count se usan para enviar un correo electrónico que indica la cantidad de productos y una lista de esos productos.

Ejemplo de un flujo de trabajo que recupera una lista de varios pedidos, los etiqueta y pone en espera su preparación.

Install this workflow template in your store.

Una vez al día, busca todos los pedidos asociados a un contracargo y etiqueta al cliente

Este flujo de trabajo se puede usar para hacer seguimiento a clientes que iniciaron un contracargo.

En este ejemplo, el flujo de trabajo se ejecuta todos los días a las 10:00 a. m. El flujo usa la acción Get order data para recuperar una lista de pedidos con contracargos. Luego, la acción For each agrega una etiqueta a todos los clientes que hicieron esos pedidos.

Ejemplo de un flujo de trabajo que recupera una lista de pedidos con contracargos y etiqueta al cliente asociado a ellos.

Install this workflow template in your store.

Cuando se crea un pedido nuevo, averigua cuántos pedidos hizo el cliente en los últimos seis meses

Este flujo de trabajo se puede usar para determinar cuántos pedidos hizo un cliente en los últimos seis meses y agregar etiquetas de fidelidad.

En este ejemplo, el flujo de trabajo se ejecuta cada vez que se crea un pedido nuevo. El flujo usa la acción Get order data para recuperar una lista de pedidos que el cliente realizó en los últimos seis meses. Luego, la acción Count determina la cantidad de pedidos que realizó el cliente y la acción Sum determina el valor de esos pedidos. Se agrega una etiqueta al cliente si la cantidad de pedidos es igual o superior a cinco, y se agrega otra etiqueta si el valor de los pedidos es igual o superior a 100 $.

Ejemplo de un flujo de trabajo que recupera una lista de pedidos, calcula la cantidad de pedidos y el valor total, y agrega etiquetas de cliente.

Install this workflow template in your store.

Obtén todos los días una lista de los pedidos preliminares abiertos y envía un mensaje de Slack

Este flujo de trabajo se puede usar para enviar un mensaje de Slack que indique si hay pedidos preliminares abiertos en la tienda y, de ser así, cuántos hay.

En este ejemplo, el flujo de trabajo se ejecuta todos los días a las 5:00 p. m. El flujo usa la acción Get draft order data para recuperar una lista de pedidos preliminares con el estado Open. Luego, la acción Count determina la cantidad de pedidos preliminares abiertos. La variable que crea la acción Count se usa para enviar un mensaje de Slack que indica la cantidad de pedidos preliminares abiertos.

Ejemplo de un flujo de trabajo que recupera una lista de pedidos preliminares, calcula la cantidad de pedidos preliminares abiertos y envía un mensaje de Slack.

Install this workflow template in your store.