Entender as condições no Shopify Flow

Uma condição é uma etapa em um workflow na qual uma decisão é tomada sobre como prosseguir com base no cumprimento de um conjunto de critérios. Cada etapa de condição tem duas possibilidades: Verdadeiro, quando os critérios foram atendidos, e Falso, quando não foram. Se você não definir uma próxima etapa para nenhuma das possibilidades, seja outra condição ou uma ação, a execução do workflow será interrompida.

Por exemplo, se o workflow for acionado quando um pedido é criado, uma condição poderá verificar se um código de desconto AFFILIATE10 específico foi usado no pedido. Se sim, a opção Verdadeiro poderá levar a uma ação que envia um e-mail ao Afiliado para informá-lo de que o código dele foi usado. Se não, a opção Falso poderá ficar vazia, indicando que nada mais acontece e a execução do workflow termina.

Um workflow pode ter qualquer número de condições, dependendo da complexidade. As condições também podem se conectar a outras condições ou ações, dependendo do que você quer que o workflow faça. Elas podem ser configuradas para se conectar em sequência (por exemplo, se a condição A for verdadeira, verifique a condição B; se A for falsa, verifique C) ou para ocorrer simultaneamente como parte da mesma etapa (por exemplo, verifique se A, B ou C é verdadeira).

Criar condições para o workflow

Diferentemente de um acionador ou uma ação, que podem ser selecionados em uma lista predefinida de opções disponíveis no Shopify Flow, as condições são criadas do zero com a seleção de variáveis, operadores lógicos e valores para criar a instrução condicional:

  • Uma variável é um marcador de posição que define os dados que a condição está usando. Por exemplo, se uma condição precisar verificar um código de desconto específico em um pedido, a variável será order.discountCode. As variáveis usam a notação de ponto da GraphQL Admin API.
  • Um operador lógico indica como o workflow deve determinar se a condição foi atendida. Os operadores lógicos podem ser aplicados no nível da variável ou quando várias variáveis são incluídas como parte dos critérios gerais da condição:
    • As opções no nível da variável incluem operadores de nível de campo, como Maior que ou Começa com, ou operadores de lista, como Pelo menos um de ou Todos de.
    • As opções no nível da condição incluem E, o que significa que todas as variáveis devem ser verdadeiras para que a condição geral seja considerada verdadeira, ou OU, o que significa que pelo menos uma variável deve ser verdadeira para que a condição geral seja considerada verdadeira.
  • Um valor é a informação real que a variável está procurando. Por exemplo, se o order.discountCode específico que você quer que o workflow verifique for AFFILIATE10, esse será o valor a ser incluído como parte da condição.

À medida que você seleciona as variáveis e os operadores, a etapa de condição na tela do Shopify Flow é atualizada para refletir a instrução condicional em linguagem simples, para que você possa verificar se a condição que está criando está formatada corretamente. Clique em Adicionar descrição para substituir a instrução condicional padrão por uma descrição própria.

Saiba mais informações detalhadas sobre os elementos de condições no Shopify Flow.

Noções básicas sobre variáveis em condições

Ao criar uma etapa de condição em um workflow, a primeira etapa solicitada é Adicionar uma variável. Mas o que é uma variável?

No Shopify Flow, uma variável é um marcador de posição que indica os dados que estão sendo usados pela condição no workflow. Quando uma condição indica “Se A for maior que 10...”, a parte A é a variável. Escolher uma variável para uma condição é, essencialmente, dizer à condição especificamente quais dados avaliar.

As variáveis são formatadas usando a notação de ponto da GraphQL Admin API. Não é preciso ser proficiente na API para criar workflows com o app Flow, mas um entendimento básico dos nomes das variáveis e das respectivas definições pode ajudar a criar a lógica de workflow específica que você deseja.

Para entender quais dados uma variável representa, considere as seguintes informações sobre variáveis:

Dica: peça ajuda com as variáveis ao Dev Docs Assistant

Se não tiver certeza de qual variável selecionar ao criar a condição, considere pedir um conselho ao Shopify Dev Docs Assistant. O Dev Docs Assistant tem acesso a toda a documentação da GraphQL Admin API e pode oferecer sugestões sobre como formatar uma condição no Shopify Flow:

  1. Acesse a Shopify Dev Docs.
  2. Clique em Perguntar ao assistente para abrir o painel de chat.
  3. No campo de mensagem, insira sua solicitação, como "Qual variável devo usar no Shopify Flow para acessar os dados da tag de cliente quando o acionador for “Pedido criado”?".
  4. Pressione Enter ou clique em Enviar.

Leitura da notação de pontos em variáveis

Ao selecionar variáveis, você verá que elas são formatadas como palavras-chave separadas por pontos, como order.customer.tag. Esse formato indica as etapas que a API segue para chegar aos dados que você quer usar. Cada “etapa” de uma variável é separada por um ponto, e o caminho para os dados é lido da esquerda para a direita. As variáveis podem ter comprimentos diferentes dependendo de onde os dados estão armazenados na API e do caminho que o fluxo de trabalho percorre para chegar até eles.

Por exemplo:

  • order.email: verifica o endereço de e-mail associado ao cliente do pedido. É semelhante a clicar em um pedido e verificar o endereço de e-mail nas informações do pedido.
  • refunds_item.staffMember.name: verifica o pedido em busca de um reembolso de item, acessa as informações do membro da equipe associado a esse reembolso e verifica o nome completo desse membro da equipe.

Ao escolher uma variável, pense em como você navegaria no admin da Shopify para encontrar as informações que deseja. É provável que a API precise seguir um caminho semelhante, o que pode ajudar a determinar como sua variável será formatada.

Por exemplo, se você estiver analisando um novo pedido e quiser saber em qual grupo RFM o cliente associado ao pedido está, poderá clicar no nome do cliente no pedido para ser redirecionado para a página de informações dele no admin da Shopify e, em seguida, verificar o resumo da análise do cliente para ler qual valor é exibido na coluna grupo RFM.

A variável que você usaria para retornar os mesmos dados no Shopify Flow usaria um caminho semelhante: order.customer.statistics.rfmGroup.

Requisitos de dados para variáveis

As variáveis exigem dados. Se os dados corretos não estiverem disponíveis para a variável, a condição não funcionará e o fluxo de trabalho falhará. Dependendo do acionador selecionado para iniciar o fluxo de trabalho, as opções de variáveis a serem adicionadas às condições mudam para refletir as opções possíveis com base nos dados disponíveis.

Por exemplo, se o fluxo de trabalho começar com o acionador Produto criado, as condições criadas com base nesse acionador se limitarão às variáveis disponíveis do conjunto de dados de produto. Portanto, variáveis como product.category.name, product.vendor e variants_item.displayName estão todas disponíveis para uso como parte da condição. Por outro lado, variáveis como customer.verifiedEmail ou subscriptionContracts_item.status não apareceriam como opções, pois não estão associadas ao conjunto de dados de produto.

No entanto, isso não significa necessariamente que os dados contidos em outros conjuntos de dados sejam totalmente inacessíveis. Alguns dados podem ser acessados por vários caminhos na API, da mesma forma que você pode clicar em diferentes links para chegar à mesma página no admin da Shopify. Na prática, isso significa que acionadores diferentes exigem notações de variáveis diferentes para retornar as mesmas informações.

Por exemplo, você quer que seu fluxo de trabalho verifique as tags no perfil de um cliente. Se o fluxo de trabalho começar com o acionador Pedido criado, a variável será order.customer.tags, porque o fluxo de trabalho começa com os dados do pedido, depois verifica as informações do cliente no pedido e, em seguida, verifica as tags desse cliente. Se o fluxo de trabalho começar com o acionador Cliente criado, a variável será simplesmente customer.tags, porque o fluxo de trabalho começa com os dados do cliente, então pode ir diretamente para a verificação das tags no perfil do cliente.

Devido ao estilo de notação de pontos no Shopify Flow, a pesquisa de variáveis para usar em uma condição com base em palavras-chave pode retornar vários resultados. É importante entender o que o caminho da variável indica ao determinar qual variável escolher ao criar sua condição.

Por exemplo, seu fluxo de trabalho usa o acionador Pedido criado, e você pesquisa uma variável usando a palavra-chave tags. Sua pesquisa pode retornar os seguintes resultados, que verificam diferentes informações no pedido:

  • order.tags: as tags aplicadas ao próprio pedido. Por exemplo, #pedido_urgente ou #presente.
  • order.customer.tags: as tags aplicadas ao cliente que fez o pedido. Por exemplo, #VIP ou #afiliado.
  • order.lineItems.product.tags: as tags aplicadas aos produtos comprados no pedido. Por exemplo, #frágil ou #exige_ID.

Com base no tipo de tags que você quer que o fluxo de trabalho verifique, você precisa selecionar a variável correta para que sua condição funcione como esperado.

Noções sobre operadores lógicos em condições

Operadores lógicos definem como sua condição é aplicada e resultam em uma declaração que é verdadeira ou falsa. Quando uma condição diz “Se A for maior que 10...”, a parte é maior que é o operador lógico. Escolher um operador lógico para uma condição é, essencialmente, dizer à condição como avaliar a variável.

Nos fluxos de trabalho do Shopify Flow, existem três tipos de operadores lógicos:

  • Operadores em nível de campo, como Maior que ou Começa com.
  • Operadores de lista, como Pelo menos um de ou Todos de.
  • Operadores em nível de condição, como AND ou OR.

Os operadores de nível de campo e de lista se aplicam no nível da variável, e os operadores de nível de condição se aplicam à condição geral e podem ser usados para combinar várias variáveis em uma única condição.

Os operadores de nível de campo são os tipos mais comuns de operador, usados em todos os tipos de declaração de variável. Com os operadores de nível de campo, você pode criar instruções condicionais como “Se A for maior que 10, então faça X” ou “Se B contiver 'VIP', então faça X” para ter um maior grau de controle sobre quais valores de uma variável retornam um resultado verdadeiro. Igual a é o operador lógico padrão.

Os operadores de lista só podem ser aplicados a variáveis que podem retornar uma lista de resultados. Por exemplo, a variável lineItems_item.variant.price retorna o preço de uma variante de produto no pedido, que pode retornar uma lista de resultados quando o cliente comprou vários produtos no mesmo pedido. Isso significa que você pode aplicar um operador de lista como Pelo menos um de quando quiser que uma instrução condicional como “lineItems_item.variant.price é maior que US$ 10” seja verdadeira quando houver pelo menos uma variante de produto no pedido que custe mais de US$ 10. Por outro lado, os operadores de lista não são exibidos para variáveis que podem retornar apenas um resultado por vez. Por exemplo, há apenas um valor possível para uma variável como order.createdAt, porque um pedido só pode ser criado uma vez. Portanto, os operadores de lista não são exibidos como opções para modificar a instrução que contém essa variável.

Operadores de condição como AND e OR permitem incluir diversas variáveis na mesma condição. Por exemplo, em vez de uma instrução condicional simples como “Se A for igual a 5, faça X”, é possível criar condições mais complexas como “Se A for igual a 5 e B for maior que 10, faça X”, que exige que as duas variáveis (A e B) sejam verdadeiras, ou “Se A for igual a 5 ou B for maior que 10 ou C for menor que 1, faça X”, que exige que apenas uma das variáveis (A, B ou C) seja verdadeira. Use AND quando tudo em um workflow precisar ser verdadeiro; use OR quando bastar que um dos critérios seja atendido para que a condição seja verdadeira.

Por que isso é importante: Entender como os operadores lógicos funcionam nas condições permite criar workflows que verificam exatamente os critérios desejados. Com os três tipos de operadores lógicos, é possível elaborar instruções condicionais detalhadas e complexas para criar workflows que verificam condições muito específicas.

Saiba mais sobre operadores lógicos em condições.