Transmissão de dados de umShopify Flow

O layout do seu e-mail é uma forma com lacunas. As variáveis (JSON) são a forma como o Shopify Flow preenche essas lacunas.

Esse é o erro mais comum que as pessoas cometem, por isso vale a pena dedicar cinco minutos a isso.

As duas metades

Onde O que o(a) senhor(a) escreve Exemplo
No layout do seu e-mail O espaço reservado Hi {{ variables.firstName }}
Na ação “Shopify Flow” O JSON que o fornece {"firstName": "{{ order.customer.firstName }}"}

A chave à esquerda do JSON deve corresponder exatamente ao nome que vem após variables. em seu layout - com a mesma grafia e as mesmas maiúsculas. firstName e firstname são duas variáveis diferentes.

Deixe que o aplicativo gere o JSON para você

O senhor não precisa escrever isso à mão, e provavelmente nem deveria.

Abra seu layout. Na barra lateral (ou na guia “Variáveis de teste” no construtor visual), há um cartão “Usar emShopify Flow” que contém o JSON exato para esse layout, com todas as chaves já corretas. Clique em “Copiar JSON” e, em seguida, cole-o no campo “Variáveis (JSON)” da sua ação “Enviar e-mail transacional”.

O aplicativo preenche a propriedade “Shopify Flow” para os campos que reconhece - nome do cliente, nome do pedido, valor total do pedido, URL da página de status e similares. Qualquer informação que ele não consiga inferir aparece como <pick a Flow variable>, para que o(a) senhor(a) a substitua.

Como o JSON deve ser apresentado

{
  "firstName": "{{ order.customer.firstName }}",
  "orderName": "{{ order.name }}",
  "statusPageUrl": "{{ order.statusPageUrl }}"
}

Regras que vale a pena conhecer:

  • Coloque cada valor do Shopify Flow entre aspas duplas. "orderName": {{ order.name }} é um JSON inválido; "orderName": "{{ order.name }}" está correto.
  • Vírgulas entre os itens, sem vírgula após o último.
  • A escolha dos nomes das chaves fica a seu critério. Eles só precisam corresponder ao seu layout. Se o seu layout indicar {{ variables.kunde }}, a chave será kunde.
  • Os valores são recebidos como texto. Os números e as datas são recebidos da forma como o Shopify Flow os converteu.
A ação “Enviar e-mail transacional” no Shopify Flow com os campos “Responder para”, “Nome do remetente”, “Idioma” e o JSON de variáveis preenchido com variáveis do Shopify Flow
Variáveis (JSON) na ação: suas chaves à esquerda, variáveis do Shopify Flow à direita. Acima delas, os campos “Responder para”, “Remetente” e “Idioma”.
A guia “Variáveis de teste” de um layout com o painel “Usar no Shopify Flow” e seu botão “Copiar JSON”
A guia “Variáveis de teste” do layout gera o JSON para você: copie o JSON, cole-o na ação e substitua os valores.

O erro mais comum: itens de linha

Um pedido contém muitos itens de linha, portanto, não há um único variant.title para ser lido. Isso não retorna nada:

{{ order.lineItems.variant.title }}

O senhor tem duas boas opções.

Opção 1 - loop dentro do layout. Envie a lista e, em seguida, faça a iteração. Na ação “Shopify Flow”:

{
  "items": "{{ order.lineItems | json }}"
}

Em seu layout, utilize um bloco de loop:

{% for item in variables.items %}
  <tr>
    <td>{{ item.title }}</td>
    <td>{{ item.quantity }}</td>
  </tr>
{% endfor %}

Opção 2 - simplifique-a no Shopify Flow. Se precisar apenas de uma linha de texto, crie-a no Shopify Flow usando um loop for e envie a string finalizada:

{
  "itemList": "{% for li in order.lineItems %}{{ li.title }} x{{ li.quantity }}{% unless forloop.last %}, {% endunless %}{% endfor %}"
}

Se o aplicativo detectar uma variável que pareça ser um dado de item de linha - qualquer coisa com o nome variant, product, item, sku ou quantity - , ele o alertará sobre isso no cartão “Usar emShopify Flow”.

Os valores de teste não são valores em tempo real

Isso confunde quase todo mundo.

  • As variáveis de teste no editor de layout influenciam apenas a visualização prévia e o envio do e-mail de teste.
  • Uma execução ao vivo do Shopify Flow os ignora completamente e utiliza o que quer que a ação do Shopify Flow envie.

Portanto, um e-mail de teste com aparência perfeita comprova que o seu design funciona. Isso não comprova nada sobre a sua configuração do Shopify Flow. Sempre confirme com uma execução real do fluxo de trabalho.

Quando uma variável é nula

Desde a versão 1.10.0, o aplicativo informa a você, em vez de deixá-lo na dúvida.

Se um envio em tempo real definir uma variável como nula, a entrada no Histórico exibirá um ícone de “Variáveis vazias” e, ao abri-la, será possível ver exatamente quais são, divididas em dois casos:

Caso Significado Corrigir
Enviado por Shopify Flow, mas vazio A chave estava no seu JSON, mas o Shopify Flow não gerou nenhum valor O caminho da propriedade customer.firstName está incorreto ou está realmente vazio para este pedido (uma compra como convidado não possui “”)
Não foi enviado por Shopify Flow de forma alguma A chave está totalmente ausente do seu JSON Adicione-o - o botão “Copiar JSON” fornece o conjunto completo

Prevenção contra valores nulos

Para qualquer elemento opcional, preveja uma alternativa no layout, de modo que o cliente nunca receba uma mensagem em branco:

Hi {{ variables.firstName | default: "there" }}

Com um filtro default: definido, o aplicativo considera um valor vazio como intencional e não exibirá nenhum aviso a respeito.

Lista de verificação

  1. Copie o JSON do cartão “Use in Shopify Flow” em seu layout.
  2. Cole-o no campo “Variáveis (JSON)” da ação do Shopify Flow.
  3. Substitua qualquer <pick a Flow variable> utilizando o seletor de variáveis do Shopify Flow.
  4. Faça um ciclo pelos itens de linha, em vez de lê-los diretamente.
  5. Adicione | default: a qualquer elemento opcional.
  6. Execute o fluxo de trabalho de fato e, em seguida, verifique no Histórico se há um ícone indicando “Variáveis vazias”.

Relacionado