Transmissão de dados de umShopify Flow
Gere o JSON de variáveis para a ação Enviar e-mail transacional e evite erros de nomes vazios no Shopify 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. no seu layout - com a mesma grafia e o mesmo uso de maiúsculas e minúsculas. firstName e firstname são duas variáveis diferentes.
Deixe que o aplicativo gere o JSON para o senhor
O senhor não precisa escrever isso à mão, e provavelmente não deveria fazê-lo.
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 deduzir aparece como <pick a Flow variable>, para que o(a) senhor(a) possa substituí-la.
Como deve ser o JSON
{
"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 precisam apenas 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 exibidos da forma como o Shopify Flow os apresentou.


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, execute 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-o 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 %}"
}
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 seu design funciona. Isso não comprova nada sobre sua configuração do Shopify Flow. Confirme sempre por meio da execução real de um fluxo de trabalho.
Quando uma variável é nula
Desde a versão 1.10.0, o aplicativo informa a você, em vez de deixar você 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 “Flow” está incorreto ou está realmente vazio para este pedido (uma compra como convidado não possui customer.firstName) |
| Não foi enviado por Shopify Flow de forma alguma | A chave está completamente ausente do seu JSON | Adicione-o - o botão “Copiar JSON” fornece o conjunto completo |
Prevenção contra valores nulos
Para qualquer elemento opcional, defina uma alternativa no layout para que o cliente nunca receba um espaço 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>usando o seletor de variáveis do Shopify Flow. - Faça um loop pelos itens de linha, em vez de lê-los diretamente.
- Adicione
| default:a qualquer elemento opcional. - Execute o fluxo de trabalho de verdade e, em seguida, verifique se há um ícone de “Variáveis vazias” no Histórico.
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 uma mensagem enviada com falha ou em branco.
