Agendamentos, obtenção de dados e fluxos de trabalho em loop no Shopify Flow
Na maioria dos casos, é possível criar um workflow vinculando várias condições e ações a um acionador que é executado quando um evento ocorre. Para casos de uso mais complexos, talvez não exista um acionador para o que você precisa fazer, ou talvez seja necessário executá-lo em um determinado horário ou trabalhar com uma lista de dados. Nesses casos, use acionadores de horário programado, ações para obter dados e loops para criar workflows avançados.
Por exemplo, suponha que você queira receber um resumo diário dos pedidos não processados. Com esse grupo de recursos, é possível executar um workflow que é executado todos os dias em um determinado horário, que obtém esses pedidos e, em seguida, envia um resumo deles para você. É possível explorar mais exemplos e modelos que usam esses acionadores e ações.
Nesta página
Acionador de horário programado
Em vez de iniciar um workflow por causa de um evento, o acionador Horário programado inicia um workflow em uma data e hora específicas que você define. Também é possível agendar a recorrência do workflow por hora, dia, semana ou mês. Como o workflow é executado com base em um agendamento, para usar dados como clientes, pedidos ou produtos, é preciso usar uma ação para obter esses dados. Para fazer isso, use as ações de Obter dados.
O acionador de Horário programado pode ser executado a cada 10 minutos.
Ações para obter dados
A maioria das ações altera algo na sua loja, como adicionar tags a um cliente ou enviar um comando a um app (por exemplo, instruir um app a enviar uma notificação push a um cliente).
As ações de Obter dados buscam dados da sua loja para uso no Flow. Elas chamam uma consulta com um conjunto de filtros, como obter apenas algo atualizado no último dia. A ação retorna uma lista de dados que correspondem a esses dados. Por exemplo, a ação Obter dados do pedido chama a consulta de pedido na Admin API e retorna uma lista de pedidos que correspondem à sua consulta.
As ações para obter dados só podem ser executadas em listas de até 100 itens.
As ações a seguir recuperam informações da sua loja para que você possa usar esses dados no seu workflow. Consulte cada ação para ver informações sobre como filtrar dados e quais dados são retornados:
- Obter dados da sessão de rastreamento de caixa
- Obter dados da coleção
- Obter dados da empresa
- Obter dados do local da empresa
- Obter dados do cliente
- Obter dados de desconto
- Obter dados do rascunho de pedido
- Obter dados do pedido em processamento
- Obter dados do cartão-presente
- Obter dados do local
- Obter entradas de metaobjeto
- Obter entrada de metaobjeto
- Obter dados do pedido
- Obter dados do produto
- Obter dados da variante do produto
- Obter dados do grupo de planos de venda
- Obter dados da tentativa de cobrança de assinatura
- Obter dados do contrato de assinatura
Tags Liquid em ações para obter dados
Ao usar uma ação de Obter dados com datas, é possível usar as tags Liquid date_minus e date_plus para alterar as datas na consulta. Por exemplo, para calcular uma data cinco dias antes do horário de execução programado de um workflow, use o seguinte código Liquid:
{{ scheduledAt | date_minus: "5 days" }}Para saber mais sobre como usar essas tags, consulte a documentação de variáveis Liquid.
Loops 'Para cada item'
Quando você usa uma ação de Obter dados, recebe uma lista de dados que corresponde à sua consulta. É possível usar a ação Loop 'Para cada item' (iterar) para percorrer essa lista. Em um loop Para cada item, é possível usar condições e ações que se aplicam apenas a esse item.
Por exemplo, você cria um workflow que é executado toda segunda-feira. O workflow usa a ação Obter dados do pedido para recuperar os pedidos feitos durante a semana. Em seguida, o Loop 'Para cada item' (iterar) aplica a tag Novo pedido a cada pedido retornado pela lista getOrderData. Depois que todos os pedidos da lista são marcados com tag, um e-mail interno é enviado para indicar que a marcação com tag foi concluída.

Ações de agregação
Ao trabalhar com listas, pode ser interessante contar o número de itens para usar em condições e ações posteriores. Por exemplo, convém verificar se há mais de 0 resultados antes de enviar um e-mail. O Flow oferece estas ações para realizar cálculos em dados de lista em um workflow:
- Contagem: retorna o número de entradas em uma lista.
- Soma: soma os valores das entradas em uma lista.
Exemplos de workflows avançados no Shopify Flow
Confira alguns exemplos de workflows avançados que você pode usar no Shopify Flow:
- Receber um resumo diário de pedidos que não foram processados no prazo de dois dias.
- Quando um novo pedido é criado, verificar se o mesmo cliente fez outros pedidos nas últimas 24 horas.
- Todos os dias, receber um e-mail de resumo com a lista de produtos sem estoque.
- Uma vez por dia, encontrar todos os pedidos associados a um estorno e marcar o cliente com uma tag.
- Quando um novo pedido é criado, descobrir quantos pedidos o cliente fez nos últimos seis meses.
- Todos os dias, receber uma lista de todos os rascunhos de pedido em aberto e enviar uma mensagem no Slack.
Receber um resumo diário de pedidos que não cumprem o prazo de processamento de dois dias
Este workflow pode ser usado para determinar se algum pedido não cumpriu o prazo de garantia de frete e, se for o caso, qual é o valor desses pedidos.
Neste exemplo, o workflow é executado todos os dias às 17h. O workflow usa a ação Obter dados do pedido para recuperar uma lista de pedidos que não foram processados em um prazo de frete de dois dias. Em seguida, a ação Para cada adiciona uma tag a todos os pedidos atrasados. O workflow também usa a ação Contar para determinar o número de pedidos atrasados e a ação Somar para determinar o valor desses pedidos. As variáveis criadas pelas ações Contar e Somar são usadas para enviar um e-mail com o número de pedidos e o valor deles.

Instale este modelo de workflow na sua loja.
Quando um novo pedido é criado, verificar se o mesmo cliente fez outros pedidos nas últimas 24 horas
Este workflow pode ser usado para determinar se o mesmo cliente fez vários pedidos no mesmo dia e, se for o caso, suspender o processamento para que os pedidos possam ser enviados juntos.
Neste exemplo, o workflow é executado sempre que um novo pedido é criado. O workflow usa a ação Obter dados do pedido para recuperar uma lista de pedidos feitos pelo cliente no último dia. Depois, a ação Contar determina o número de pedidos que o cliente fez. Se houver dois ou mais pedidos feitos pelo mesmo cliente no mesmo dia, o processamento dos pedidos será colocado em suspensão e tags serão adicionadas a eles.

Instale este modelo de workflow na sua loja.
Todos os dias, receber um e-mail de resumo com a lista de produtos sem estoque
Este workflow pode ser usado para gerar uma lista de todos os produtos sem estoque e enviar um e-mail.
Neste exemplo, o workflow é executado todos os dias às 21h. O workflow usa a ação Obter dados do produto para recuperar uma lista de produtos que estão sem estoque. A ação Contar determina o número de itens sem estoque. As variáveis criadas pelas ações Obter dados do pedido e Contar são usadas para enviar um e-mail com o número de produtos e uma lista deles.

Instale este modelo de workflow na sua loja.
Uma vez por dia, encontrar todos os pedidos associados a um estorno e marcar o cliente com uma tag
Este workflow pode ser usado para rastrear clientes que iniciaram um estorno.
Neste exemplo, o workflow é executado todos os dias às 10h. O workflow usa a ação Obter dados do pedido para recuperar uma lista de pedidos que têm estornos. Em seguida, a ação Para cada adiciona uma tag a todos os clientes que fizeram esses pedidos.

Instale este modelo de workflow na sua loja.
Quando um novo pedido é criado, descobrir quantos pedidos o cliente fez nos últimos seis meses
Este workflow pode ser usado para determinar quantos pedidos um cliente fez nos últimos seis meses e adicionar tags de fidelidade.
Neste exemplo, o workflow é executado sempre que um novo pedido é criado. O workflow usa a ação Obter dados do pedido para recuperar uma lista de pedidos feitos pelo cliente nos últimos seis meses. Em seguida, a ação Contar determina o número de pedidos que o cliente fez, e a ação Somar determina o valor desses pedidos. Uma tag de cliente é adicionada se o número de pedidos for igual ou maior que cinco, e outra tag é adicionada se o valor dos pedidos for igual ou maior que US$ 100.

Instale este modelo de workflow na sua loja.
Todos os dias, receber uma lista de todos os rascunhos de pedido em aberto e enviar uma mensagem no Slack
Este workflow pode ser usado para enviar uma mensagem no Slack que informa se há algum rascunho de pedido em aberto na loja e, se houver, quantos.
Neste exemplo, o workflow é executado todos os dias às 17h. O workflow usa a ação Obter dados do rascunho de pedido para recuperar uma lista de rascunhos de pedido com o status Aberto. Em seguida, a ação Contar determina o número de rascunhos de pedido em aberto. A variável criada pela ação Contar é usada para enviar uma mensagem no Slack que informa o número de rascunhos de pedido em aberto.
