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.
Ação «Enviar e-mail transacional» no Shopify Flow com os campos «Responder a», «Nome do remetente», «Idioma» e o ficheiro JSON de variáveis preenchido com variáveis do Shopify Flow
Variáveis (JSON) na ação: as suas chaves à esquerda, as variáveis do Shopify Flow à direita. Acima, os campos «Responder a», «De» e «Idioma».
O separador «Variáveis de teste» de um layout com o painel «Utilizar no Shopify Flow» e o respetivo botão «Copiar JSON»
O separador «Variáveis de teste» do layout gera o JSON por si: copie o JSON, cole-o na ação e substitua os valores.

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

  1. Copie o JSON do cartão «Utilizar em Shopify Flow» no 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. Percorra os itens de linha em vez de os ler diretamente.
  5. Adicione | default: a qualquer elemento opcional.
  6. 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