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.


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
- Copie o JSON do cartão “Use in Shopify Flow” em seu layout.
- Cole-o no campo “Variáveis (JSON)” da ação do Shopify Flow.
- Substitua qualquer
<pick a Flow variable>utilizando o seletor de variáveis do Shopify Flow. - Faça um ciclo pelos itens de linha, em vez de lê-los diretamente.
- Adicione
| default:a qualquer elemento opcional. - Execute o fluxo de trabalho de fato e, em seguida, verifique no Histórico se há um ícone indicando “Variáveis vazias”.
Relacionado
- Variáveis e Líquido - a referência completa sobre modelos.
- Crie um layout de e-mail - a concepção do próprio layout.
- Histórico e solução de problemas - leitura de um envio com falha ou em branco.

