Passer au contenu

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 capture et json_parse afin 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 test.

Utilisez ce modèle pendant le développement des messages. Il ne remplace pas les tests de bout en bout avec de vrais déclencheurs, des envois tests ou la prévisualisation des parcours utilisateur dans Canvas.

Considérations

  • Cette approche prend en charge la prévisualisation 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 capture seul 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 la prévisualisation peut renvoyer un résultat vide.
  • Le JSON fictif doit être valide. Un JSON invalide provoque l’échec de json_parse ou 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 qu’en prévisualisation (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 les structures de payload réelles.
  • 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 dans un e-mail qui itère 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 pour les clés et les valeurs de type chaîne de caractères).

{% 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érencez dans le reste du message.

{% 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 }}) n’affiche généralement rien dans l’aperçu.

Étape 3 : Référencer les champs analysés en Liquid

Itérez sur le tableau analysé et affichez les champs comme vous le feriez pour une réponse d’API en production.

{% for listing in response_json.listings %}
{{ listing.name }} — {{ listing.price.actual }} {{ listing.price.currency }}
{% endfor %}

Accédez à la section Aperçu dans le composeur de messages et confirmez que les champs s’affichent correctement.

Étape 4 : Appliquer le même modèle à 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é lors d’un appel réussi précédent

Remplacez les variables simulées par du Liquid de production (variables de contexte Canvas, attributs personnalisés ou tags de contenu connecté) avant le lancement.

New Stuff!