Tester les messages avec du JSON simulé dans l’aperçu
Simulez du JSON de type API ou de type entrée dans votre message avec
captureetjson_parseafin de valider le Liquid et la mise en page dans l’aperçu du compositeur avant de lancer une Campaign, de déclencher un Canvas ou d’appeler du contenu connecté en direct.
À propos de cet exemple
Flash & Thread, une marque fictive de vêtements, crée des messages qui dépendent de réponses de contenu connecté, de variables de contexte Canvas ou de données de profil sous forme de tableaux d’objets. Déclencher de vrais appels API ou lancer des Campaigns à chaque itération ralentit le développement.
Ce modèle intègre un payload JSON simulé dans le corps du message, le stocke avec capture, puis l’analyse avec json_parse afin que Liquid puisse référencer des champs structurés dans la section Preview, sans appel de contenu connecté en direct, sans entrée Canvas déclenchée par API, ni envoi de test.
Utilisez ce modèle pendant le développement de vos messages. Il ne remplace pas les tests de bout en bout avec de vrais déclencheurs, des envois de test ou la prévisualisation des parcours utilisateur dans Canvas.
Considérations
- Cette approche prend en charge l’aperçu du compositeur pendant le développement. Effectuez des envois de test et des vérifications en conditions réelles avant de lancer auprès de vos clients.
- Un bloc
captureseul stocke le JSON sous forme de chaîne de caractères. Ne référencez les champs qu’après avoir appliquéjson_parse— sinon l’aperçu peut rester vide. - Le JSON fictif doit être valide. Un JSON invalide provoque l’échec de
json_parseou renvoie des structures inattendues. - Supprimez ou retirez les blocs fictifs avant le lancement, ou protégez votre Liquid de production afin que les données fictives ne soient utilisées que dans l’aperçu (par exemple avec un indicateur de commentaire que vous supprimez avant la mise en production).
- Les extraits de code Liquid de cet article sont des exemples. Testez-les dans vos canaux et avec vos propres structures de payload.
- Pour le contenu connecté en production, supprimez le bloc fictif et utilisez votre tag d’URL en direct. Consultez Effectuer un appel API.
Configuration
Cet exemple simule une réponse de type contenu connecté pour une liste de produits, destinée à un e-mail qui boucle sur listings.
Étape 1 : Capturer le JSON simulé dans le message
Utilisez capture pour stocker la chaîne JSON. Utilisez une syntaxe JSON valide à l’intérieur du bloc (guillemets doubles sur les clés et les valeurs de type chaîne de caractères).
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{% capture mock_response %}
{
"success": true,
"listings": [
{
"id": 45731,
"name": "Summit Trail Jacket",
"image_url": "https://example.com/images/trail-jacket.png",
"price": {
"actual": "89.00",
"currency": "USD"
},
"link": "https://example.com/products/trail-jacket",
"product_category": "Outerwear",
"properties": {
"size": "L",
"colour": "Navy",
"limited_edition": false
},
"out_of_stock": false
}
]
}
{% endcapture %}
Étape 2 : Analyser le JSON avec json_parse
Assignez la structure analysée à une variable que vous référencerez dans le reste du message.
1
{% assign response_json = mock_response | json_parse %}
Sans json_parse, la notation par points sur la chaîne capturée (par exemple {{ mock_response.listings }}) affiche généralement un résultat vide dans l’aperçu.
Étape 3 : Référencer les champs analysés en Liquid
Parcourez le tableau analysé et affichez les champs comme vous le feriez pour une réponse d’API en direct.
1
2
3
{% for listing in response_json.listings %}
{{ listing.name }} — {{ listing.price.actual }} {{ listing.price.currency }}
{% endfor %}
Accédez à la section Aperçu dans le compositeur de messages et vérifiez que les champs s’affichent correctement.
Étape 4 : Appliquer le même schéma à d’autres structures JSON
Utilisez le même flux capture + json_parse pour simuler :
| Données à tester | Structure JSON simulée |
|---|---|
| Variables de contexte Canvas | Objet avec les clés de propriétés attendues par votre message |
| Tableau d’objets sur un profil | Tableau JSON d’objets avec les mêmes clés que votre attribut personnalisé |
| Réponse de contenu connecté | Exemple de JSON d’API enregistré à partir d’un appel précédent réussi |
Remplacez les variables simulées par du Liquid de production (variables de contexte Canvas, attributs personnalisés ou balises de contenu connecté) avant de lancer votre envoi.