Extraire les données du profil utilisateur dans les appels de contenu connecté
Cette page explique comment intégrer les profils utilisateurs dans vos appels au contenu connecté et présente les meilleures pratiques en matière de création de modèles Liquid.
Conditions préalables
Si une réponse de contenu connecté contient des champs de profil utilisateur (dans une étiquette de personnalisation Liquid), ces valeurs doivent être définies plus tôt dans le message avec Liquid, avant l’appel de contenu connecté, afin de rendre le passback Liquid correctement. De même, l’indicateur :rerender doit être inclus dans la requête. Prenez en compte le fait que l’indicateur :rerender a une profondeur d’un seul niveau, ce qui signifie qu’il ne s’applique pas aux balises de contenu connecté imbriquées.
Le templating Liquid dans les appels au contenu connecté
Pour la personnalisation, Braze extrait les champs de profil utilisateur avant de transmettre ce champ au Liquid. Donc si la réponse du contenu connecté comporte des champs de profil utilisateur, ceux-ci doivent être définis au préalable.
Par exemple, s’il s’agissait de l’appel de contenu connecté :
1
2
Hi ${first_name},
{% connected_content https://examplewebsite.com :rerender %}
La réponse du contenu connecté est Your language is ${language}. Le contenu affiché dans cet exemple est Hi Jon, your language is.
La langue elle-même ne sera pas interprétée par le template. En effet, Braze doit savoir quels champs récupérer de l’utilisateur avant d’effectuer l’appel de contenu connecté.
Pour que le passback Liquid s’affiche correctement, vous devez inclure l’étiquette ${language} n’importe où dans la requête, comme illustré dans l’extrait de code suivant. Le préprocesseur Liquid saura alors récupérer l’attribut « language » de l’utilisateur afin de l’avoir prêt pour le templating de la réponse.
1
Hi ${first_name}, {% connected_content https://examplewebsite.com?language=${language} :rerender %}

N’oubliez pas que l’option de l’indicateur :rerender n’a qu’un seul niveau de profondeur. Si la réponse du contenu connecté contient elle-même d’autres balises de contenu connecté ou des balises de catalogue, Braze ne procédera pas à un nouveau rendu de ces balises supplémentaires.
Bonnes pratiques
Utiliser json_escape avec les étiquettes Liquid susceptibles de casser le format JSON
Lorsque vous utilisez :rerender, ajoutez le filtre json_escape à toute étiquette Liquid susceptible de casser le format JSON. Si vos étiquettes Liquid contiennent des caractères qui cassent le format JSON, l’intégralité de la réponse du contenu connecté sera interprétée comme du texte et intégrée telle quelle dans le message, et aucune des variables ne sera enregistrée.
Par exemple, si la propriété d’événement message dans l’exemple ci-dessous contient des caractères susceptibles de casser le format JSON, ajoutez le filtre json_escape comme dans cet exemple :
1
2
3
[{
"message":"{{event_properties.${message} | json_escape}}"
}]