Skip to content

Propriétés d’entrées persistantes

Lorsqu’un Canvas est déclenché par un événement personnalisé, un achat ou un appel API, vous pouvez utiliser les métadonnées de l’appel API, de l’événement personnalisé ou de l’événement d’achat pour la personnalisation à chaque étape de votre flux de travail Canvas. Vous pouvez utiliser ces propriétés pour envoyer des messages mieux agencés.

Utilisation des propriétés d’entrées

Les propriétés d’entrées peuvent être utilisées dans les Canvas déclenchés par une action et par l’API. Ces propriétés d’entrées sont définies lorsqu’un Canvas est déclenché par un événement personnalisé, un achat ou un appel API. Consultez les articles suivants pour en savoir plus :

Les propriétés transmises par ces objets peuvent être référencées à l’aide de l’étiquette Liquid canvas_entry_properties. Par exemple, une requête contenant "canvas_entry_properties": {"product_name": "shoes", "product_price": 79.99} pourrait ajouter le mot « shoes » à un message en utilisant le Liquid {{canvas_entry_properties.${product_name}}}.

Lorsqu’un Canvas contient un message avec l’étiquette Liquid canvas_entry_properties, les valeurs associées à ces propriétés sont enregistrées pendant toute la durée du parcours de l’utilisateur dans le Canvas et supprimées lorsque l’utilisateur quitte le Canvas. Notez que les propriétés d’entrées Canvas sont uniquement disponibles pour référence dans Liquid. Pour filtrer sur les propriétés au sein du Canvas, utilisez plutôt la segmentation par propriétés d’événement.

Mettre à jour un Canvas pour utiliser les propriétés d’entrées

Si un Canvas actif qui ne contenait auparavant aucun message utilisant canvas_entry_properties est modifié pour inclure canvas_entry_properties, la valeur correspondant à cette propriété ne sera pas disponible pour les utilisateurs qui sont entrés dans le Canvas avant l’ajout de canvas_entry_properties. Les valeurs ne seront enregistrées que pour les utilisateurs qui entrent dans le Canvas après la modification.

Par exemple, si vous avez initialement lancé un Canvas sans propriétés d’entrées le 3 novembre, puis ajouté une nouvelle propriété product_name au Canvas le 11 novembre, les valeurs de product_name ne seront enregistrées que pour les utilisateurs entrés dans le Canvas à partir du 11 novembre.

Si une propriété d’entrée Canvas est nulle ou vide, vous pouvez annuler les messages à l’aide de conditions. L’extrait de code suivant montre comment utiliser Liquid pour annuler un message.

1
2
3
{% if canvas_entry_properties.${product_name} == blank %}
{% abort_message() %}
{% endif %}

Pour en savoir plus sur l’annulation de messages avec Liquid, consultez notre documentation Liquid.

Propriétés d’entrées Canvas globales

Avec canvas_entry_properties, vous pouvez définir des propriétés globales qui s’appliquent à tous les utilisateurs, ou des propriétés spécifiques à un utilisateur qui ne s’appliquent qu’à l’utilisateur concerné. La propriété spécifique à l’utilisateur prévaut sur la propriété globale pour cet utilisateur.

Exemple de requête

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
curl -X POST \
-H 'Content-Type: application/json' \
-d '{
      "api_key": "a valid rest api key",
      "canvas_id": "the ID of your Canvas",
      "canvas_entry_properties": {
        "food_allergies": "none"
      },
      "recipients": [
        {
          "external_user_id": "Customer_123",
          "canvas_entry_properties": {
            "food_allergies": ["dairy", "soy"],
            "nutrition": {
              "calories_per_serving": 200,
              "serving_size_in_ounces": 4
            }
          }
        }
      ]
    }'

Dans cette requête, la valeur globale pour « food allergies » est « none ». Pour Customer_123, la valeur est « dairy ». Les messages de ce Canvas contenant l’extrait Liquid {{canvas_entry_properties.${food_allergies}}} afficheront « dairy » pour Customer_123 et « none » pour tous les autres utilisateurs.

Cas d’utilisation

Imaginons que vous avez un Canvas déclenché lorsqu’un utilisateur consulte un article sur votre site e-commerce sans l’ajouter à son panier. La première étape du Canvas pourrait être une notification push lui demandant s’il souhaite acheter l’article. Vous pouvez référencer le nom du produit en utilisant {{canvas_entry_properties.${product_name}}}

La deuxième étape peut envoyer une autre notification push invitant l’utilisateur à finaliser son achat s’il a ajouté l’article à son panier mais ne l’a pas encore acheté. Vous pouvez continuer à référencer la propriété d’entrée product_name en utilisant {{canvas_entry_properties.${product_name}}}.

New Stuff!