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é estkunde. - Les valeurs sont transmises sous forme de texte. Les nombres et les dates sont transmis tels que Shopify Flow les a affichés.


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
- Copiez le code JSON figurant dans la carte « Utiliser dans Shopify Flow » de votre mise en page.
- Collez-le dans le champ « Variables (JSON) » de l'action Shopify Flow.
- Remplacez toutes les occurrences de
<pick a Flow variable>à l'aide du sélecteur de variables de Shopify Flow. - Parcourez les articles plutôt que de les lire directement.
- Ajoutez
| default:à tout élément facultatif. - Exécutez le workflow en conditions réelles, puis vérifiez dans l'historique si un badge « Variables vides » apparaît.
Connexes
- Variables et liquide - la documentation complète sur les modèles.
- Créer une mise en page d'e-mail - la conception de la mise en page proprement dite.
- Historique et dépannage - lecture d'un envoi ayant échoué ou d'un envoi vide.

