Transmission de données depuis Shopify Flow

La mise en page de votre e-mail est une forme comportant des espaces vides. Les variables (JSON) permettent à Shopify Flow de remplir ces espaces vides.

C'est l'erreur la plus courante, cela vaut donc la peine d'y consacrer cinq minutes.

Les deux moitiés

Où Ce que vous écrivez Exemple
Dans la mise en page de votre e-mail L'espace réservé Hi {{ variables.firstName }}
Dans l'action « Shopify Flow » Le fichier JSON qui le fournit {"firstName": "{{ order.customer.firstName }}"}

La clé située à gauche dans le JSON doit correspondre exactement au nom figurant après variables. dans votre mise en page : orthographe et majuscules identiques. firstName et firstname sont deux variables différentes.

Laissez l'application générer le JSON à votre place

Vous n'êtes pas obligé de l'écrire à la main, et vous ne devriez probablement pas le faire.

Ouvrez votre mise en page. Dans la barre latérale (ou dans l'onglet « Variables de test » du générateur visuel), vous trouverez une fiche intitulée « Utiliser dans lShopify Flow contenant le code JSON exact de cette mise en page, avec toutes les clés déjà correctement définies. Cliquez sur « Copier le JSON », puis collez-le dans le champ « Variables (JSON) » de votre action « Envoyer un e-mail transactionnel ».

L'application renseigne la propriété « Shopify Flow » pour les champs qu'elle reconnaît : nom du client, nom de la commande, montant total de la commande, URL de la page d'état, etc. Les informations qu'elle ne parvient pas à déduire apparaissent sous la forme <pick a Flow variable> et vous pouvez les remplacer vous-même.

À quoi doit ressembler le fichier JSON ?

{
  "firstName": "{{ order.customer.firstName }}",
  "orderName": "{{ order.name }}",
  "statusPageUrl": "{{ order.statusPageUrl }}"
}

Règles à connaître :

  • Placez chaque valeur Shopify Flow entre guillemets doubles. "orderName": {{ order.name }} n'est pas un JSON valide ; "orderName": "{{ order.name }}" est correct.
  • Des virgules entre les entrées, mais pas après la dernière.
  • C'est à vous de choisir les noms des clés. Il suffit qu'ils correspondent à votre configuration. Si votre configuration indique {{ variables.kunde }}, la clé est kunde.
  • Les valeurs sont transmises sous forme de texte. Les nombres et les dates sont transmis tels que Shopify Flow les a affichés.
L'action « Envoyer un e-mail transactionnel » dans Shopify Flow, avec les champs « Répondre à », « Nom de l'expéditeur », « Langue » et le fichier JSON « Variables » renseigné avec les variables de Shopify Flow
Variables (JSON) dans l'action : vos clés à gauche, les variables Shopify Flow à droite. Au-dessus, les champs « Répondre à », « Nom de l'expéditeur » et « Langue ».
L'onglet « Variables de test » d'une maquette comportant le panneau « Utiliser dans lShopify Flow et son bouton « Copier le JSON »
L'onglet « Variables de test » du modèle génère automatiquement le code JSON pour vous : copiez le code JSON, puis collez-le dans l'action et remplacez les valeurs.

L'erreur la plus courante : les articles

Une commande comporte de nombreux articles ; il n'y a donc pas d'variant.title unique à lire. Cela ne renvoie rien :

{{ order.lineItems.variant.title }}

Deux options intéressantes s'offrent à vous.

Option 1 - boucle à l'intérieur du layout. Envoyez la liste, puis effectuez une itération. Dans l'action « Shopify Flow » :

{
  "items": "{{ order.lineItems | json }}"
}

Dans votre mise en page, utilisez un bloc « Loop » :

{% for item in variables.items %}
  <tr>
    <td>{{ item.title }}</td>
    <td>{{ item.quantity }}</td>
  </tr>
{% endfor %}

Option 2 : aplatissez-le dans Shopify Flow. Si vous n'avez besoin que d'une seule ligne de texte, créez-la dans Shopify Flow à l'aide d'une boucle for et envoyez la chaîne de caractères finale :

{
  "itemList": "{% for li in order.lineItems %}{{ li.title }} x{{ li.quantity }}{% unless forloop.last %}, {% endunless %}{% endfor %}"
}

Si l'application détecte une variable qui semble correspondre à des données d'article - tout élément nommé variant, product, item, sku ou quantity - , elle vous en avertit via la fiche « Utilisation dans Shopify Flow ».

Les valeurs de test ne correspondent pas aux valeurs réelles

Cela pose problème à presque tout le monde.

  • Les variables de test dans l'éditeur de mise en page ne servent qu'à générer l'aperçu et à envoyer l'e-mail de test.
  • Une exécution en temps réel de Shopify Flow les ignore complètement et utilise les données transmises par l'action Shopify Flow.

Ainsi, un e-mail de test qui semble parfait prouve que votre conception fonctionne. Cela ne prouve rien quant à la configuration de votre Shopify Flow. Vérifiez toujours en lançant un véritable workflow.

Lorsqu'une variable est vide

Depuis la version 1.10.0, l'application vous le signale clairement, sans vous laisser dans le doute.

Si un envoi en direct réduit une variable à néant, l'entrée correspondante dans l'historique est signalée par un badge « Variables vides » ; lorsque vous l'ouvrez, vous pouvez voir exactement de quelles variables il s'agit, réparties en deux cas :

Cas Signification Corriger
Envoyé par Shopify Flow, mais vide La clé figurait dans votre fichier JSON, mais Shopify Flow n'a renvoyé aucune valeur Le chemin d'accès à la propriété « Shopify Flow » est incorrect ou est réellement vide pour cette commande (un panier créé en tant qu'invité ne comporte pas d'customer.firstName)
Ce message n'a absolument pas été envoyé par Shopify Flow La clé est totalement absente de votre fichier JSON Ajoutez-le : le bouton « Copier le JSON » vous fournit l'ensemble complet

Se prémunir contre les valeurs vides

Pour tout élément facultatif, prévoyez une solution de secours dans la mise en page afin qu'aucun client ne reçoive jamais un message vide :

Hi {{ variables.firstName | default: "there" }}

Lorsqu'un filtre default: est activé, l'application considère qu'une valeur vide est intentionnelle et n'affiche pas d'avertissement à ce sujet.

Liste de contrôle

  1. Copiez le code JSON figurant dans la carte « Utiliser dans Shopify Flow » de votre mise en page.
  2. Collez-le dans le champ « Variables (JSON) » de l'action Shopify Flow.
  3. Remplacez toutes les occurrences de <pick a Flow variable> à l'aide du sélecteur de variables de Shopify Flow.
  4. Parcourez les articles plutôt que de les lire directement.
  5. Ajoutez | default: à tout élément facultatif.
  6. Exécutez le workflow en conditions réelles, puis vérifiez dans l'historique si un badge « Variables vides » apparaît.

Connexes