Transmissão de dados de umShopify Flow

Transmissão de dados de umShopify Flow

Copiar página

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.
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”, “Nome do 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, 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

  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> usando o seletor de variáveis do Shopify Flow.
  4. Faça um loop pelos itens de linha, em vez de lê-los diretamente.
  5. Adicione | default: a qualquer elemento opcional.
  6. Execute o fluxo de trabalho de verdade e, em seguida, verifique se há um ícone de “Variáveis vazias” no Histórico.

Relacionado