Transmissão de dados a partir de Shopify Flow
O layout do seu e-mail é uma forma com espaços em branco. As variáveis (JSON) são a forma como o Shopify Flow preenche esses espaços.
Esta é a falha mais comum, pelo que vale a pena dedicar-lhe cinco minutos.
As duas metades
| Onde | O que escreve | Exemplo |
|---|---|---|
| No layout do seu e-mail | O marcador de posição | 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 se segue a variables. no seu layout - com a mesma ortografia e as mesmas maiúsculas. firstName e firstname são duas variáveis diferentes.
Deixe que a aplicação crie o JSON por si
Não tem de escrever isto à mão, e provavelmente nem deve fazê-lo.
Abra o seu layout. Na barra lateral (ou no separador «Variáveis de teste» no construtor visual), encontra-se um cartão «Utilizar 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».
A aplicação preenche a propriedade «Shopify Flow» para os campos que reconhece - nome do cliente, nome do pedido, total do pedido, URL da página de estado e outros semelhantes. Qualquer informação que não consiga inferir aparece como <pick a Flow variable>, para que a possa substituir.
Como deve ser o JSON
{
"firstName": "{{ order.customer.firstName }}",
"orderName": "{{ order.name }}",
"statusPageUrl": "{{ order.statusPageUrl }}"
}
Regras que convém conhecer:
- Coloque todos os valores do Shopify Flow entre aspas duplas.
"orderName": {{ order.name }}é um JSON inválido;"orderName": "{{ order.name }}"está correto. - Vírgulas entre as entradas, sem vírgula após a última.
- A escolha dos nomes das chaves cabe-lhe a si. Basta que correspondam ao seu layout. Se o seu layout indicar
{{ variables.kunde }}, a chave ékunde. - Os valores são apresentados como texto. Os números e as datas são apresentados tal como o Shopify Flow os converteu.


O erro mais comum: itens de linha
Um pedido tem muitos itens de linha, pelo que não existe um único ficheiro variant.title para ler. Isto não devolve qualquer resultado:
{{ order.lineItems.variant.title }}
Tem duas boas opções.
Opção 1 - utilizar um ciclo no interior do layout. Envie a lista e, em seguida, itere. Na ação «Shopify Flow»:
{
"items": "{{ order.lineItems | json }}"
}
No seu layout, utilize um bloco «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 com um ciclo for e envie a cadeia de caracteres final:
{
"itemList": "{% for li in order.lineItems %}{{ li.title }} x{{ li.quantity }}{% unless forloop.last %}, {% endunless %}{% endfor %}"
}
Se a aplicação detetar uma variável que pareça corresponder a dados de item de linha - qualquer variável com o nome variant, product, item, sku ou quantity - , irá alertá-lo para isso no cartão «Utilizar em Shopify Flow».
Os valores de teste não são valores em tempo real
Isto confunde quase toda a gente.
- As variáveis de teste no editor de layout determinam apenas a pré-visualização e o envio do e-mail de teste.
- Uma execução em tempo real do Shopify Flow ignora-os completamente e utiliza o que quer que a ação do Shopify Flow envie.
Portanto, um e-mail de teste com um aspeto perfeito comprova que o seu design funciona. Não comprova, no entanto, nada sobre a sua configuração do Shopify Flow. Confirme sempre através de uma execução real do fluxo de trabalho.
Quando uma variável não contém valores
Desde a versão 1.10.0, a aplicação informa-o, em vez de o deixar na incerteza.
Se uma transmissão em direto definir uma variável como nula, a entrada no Histórico apresenta um símbolo de** «Variáveis vazias»** e, ao abri-la, é possível ver exatamente quais são, divididas em dois casos:
| Caso | Significado | Corrigir |
|---|---|---|
| Enviado por Shopify Flow, mas vazio | A chave constava no seu JSON, mas o Shopify Flow não produziu qualquer valor | O caminho da propriedade «Shopify Flow» está incorreto ou está efetivamente vazio para este pedido (um checkout como convidado não tem customer.firstName) |
| Não foi, de forma alguma, enviado por Shopify Flow | A chave está completamente ausente do seu JSON | Adicione-o - o botão «Copiar JSON» fornece-lhe o conjunto completo |
Prevenção contra valores nulos
No que diz respeito a qualquer elemento opcional, preveja 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, a aplicação considera um valor vazio como intencional e não emitirá qualquer aviso a esse respeito.
Lista de verificação
- Copie o JSON do cartão «Utilizar em Shopify Flow» no 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. - Percorra os itens de linha em vez de os ler diretamente.
- Adicione
| default:a qualquer elemento opcional. - Execute o fluxo de trabalho na prática e, em seguida, verifique no Histórico se existe um ícone que indique «Variáveis vazias».
Relacionado
- Variáveis e Líquido - a referência completa sobre modelos.
- Criar um layout de e-mail - conceber o próprio layout.
- Histórico e resolução de problemas - leitura de um envio falhado ou em branco.

