Utiliser des intégrations externes pour la personnalisation integrations-personalization

Sur cette page : découvrez comment les responsables marketing appliquent des intégrations configurées pour personnaliser le contenu des e-mails, des SMS et des notifications push et enchaîner plusieurs appels API pour obtenir des messages plus riches et dynamiques.

Avant d’utiliser des intégrations externes dans votre contenu, vérifiez qu’un administrateur ou une administratrice a configuré et activé chaque intégration (point d’entrée, authentification, politiques, payload de réponse et activation), comme décrit dans la section Utiliser les intégrations.

Vous pouvez ajouter jusqu’à 3 intégrations par fragment et jusqu’à 5 dans le message. Les intégrations qui proviennent uniquement de fragments ne sont pas comptabilisées dans la limite de 5.

Application de la personnalisation de l’intégration à votre contenu apply-integration-personalization

En tant que responsable marketing, vous pouvez utiliser des intégrations configurées pour personnaliser votre contenu. Procédez comme suit :

  1. Accédez au contenu de votre campagne et cliquez sur Ajouter une personnalisation dans le champ Composants Texte ou HTML.

    En savoir plus sur les composants

  2. Accédez à la section Intégrations et cliquez sur Ouvrir les intégrations pour afficher toutes les intégrations actives.

    Notez que les fragments Journey Optimizer sont disponibles avec les intégrations, mais prennent uniquement en charge les canaux sortants. Une fois qu’un fragment est publié, l’ajout et l’enregistrement de nouvelles intégrations sont désactivés afin d’éviter tout impact sur les parcours et campagnes existants.

  3. Sélectionnez une intégration et cliquez sur Enregistrer.

  4. Activez le mode Pastilles pour déverrouiller le menu d’intégration avancé.

  5. Lorsque vous créez la personnalisation de l’intégration, l’assistant Intégrations inclut un champ required qui définit la manière dont les données manquantes ou en échec interagissent avec le contenu par défaut :

    • required=true (par défaut) : le rendu s’arrête pour ce message. L’envoi est exclu avec ExternalDataLookupExclusion et cette exclusion est enregistrée dans le jeu de données du feedback sur les messages.

    • required=false : la variable de résultat est définie sur null et le rendu se poursuit. Utilisez du texte par défaut, du contenu de secours ou une logique conditionnelle dans votre modèle afin que les profils ne reçoivent pas de contenu vide lorsque l’intégration ne renvoie pas de données.

  6. Pour terminer la configuration de votre intégration, définissez les attributs d’intégration, qui ont été précédemment spécifiés lors de la configuration.

    Vous pouvez attribuer des valeurs à ces attributs à l’aide de valeurs statiques, qui restent constantes, ou d’attributs de profil, qui extraient dynamiquement des informations des profils utilisateur.

  7. Une fois les attributs d’intégration définis, vous pouvez utiliser les champs d’intégration de votre contenu pour envoyer des messages personnalisés en cliquant sur l’icône ajouter .

    note
    NOTE
    Les jetons de votre modèle doivent utiliser uniquement les champs exposés par l’administrateur ou l’administratrice dans la configuration de l’intégration. Par exemple, {{weatherResponse.temperature}} est valide lorsque temperature est exposé ; {{weatherResponse.humidity}} est rejeté dans l’éditeur si humidity n’a pas été exposé.
  8. Cliquez sur Enregistrer.

Votre personnalisation d’intégration est maintenant appliquée avec succès à votre contenu, en veillant à ce que chaque destinataire reçoive une expérience adaptée et pertinente en fonction des attributs que vous avez configurés.

Mappage d’un appel API à un autre map-integration-chain

Vous pouvez enchaîner les intégrations de sorte que les résultats d’un appel alimentent les suivants, par exemple les segments de chemin d’accès, les en-têtes ou les paramètres de requête. Les appels s’exécutent dans l’ordre dans le même message, ce qui permet une personnalisation plus riche sans code personnalisé.

Avant de commencer, assurez-vous des points suivants :

  • Un administrateur a configuré et activé chaque intégration dont vous avez besoin. Consultez Configurer votre intégration.
  • Les espaces réservés de chemin d’accès aux variables, les en-têtes et les paramètres de requête sont configurés dans la configuration de l’intégration avec des libellés destinés aux responsables marketing.
  • L’administrateur ou l’administratrice a exposé les champs de réponse dont vous avez besoin dans la payload de réponse de chaque intégration afin qu’ils apparaissent lors de la création.

L’exemple ci-dessous utilise une intégration de réservation qui renvoie un numéro de vol de la réservation du profil, puis une intégration d’informations sur les vols qui utilise ce numéro pour obtenir le statut en temps réel (retards, destination). Vous mappez les entrées de la seconde intégration à la réponse du premier appel.

  1. Ouvrez votre message ou fragment, puis ouvrez l’éditeur de personnalisation.

  2. Dans Intégrations, cliquez sur Ouvrir les intégrations.

  3. Ajoutez l’intégration dont la réponse alimentera l’appel suivant, par exemple les données de réservation qui incluent l’identifiant du vol.

  4. (Facultatif) Ouvrez le menu Fonction d’assistance et ajoutez un assistant, par exemple la fonction Let, si vous souhaitez lier une variable nommée à la réponse de réservation.

    note
    NOTE
    Seuls les champs exposés dans la payload de réponse définie par l’administrateur ou l’administratrice sont disponibles. Vous ne pouvez pas référencer des propriétés qui n’ont pas été exposées dans la configuration.
  5. Si vous utilisez une variable d’assistance, mappez-la au champ renvoyé par l’intégration de réservation pour une utilisation en aval, par exemple le numéro de vol dans la payload du passager ou de la réservation.

  6. Dans le menu Ouvrir les intégrations, ajoutez la deuxième intégration, par exemple, le statut du vol.

  7. Dans la seconde intégration, ouvrez Attributs d’intégration. Pour chaque entrée qui doit réutiliser les données du premier appel, telles qu’une variable de chemin d’accès, un en-tête ou un paramètre de requête, sélectionnez une source de mappage à partir de la première réponse d’intégration.

    Dans l’expérience Cadres, vous pouvez mapper la sortie du premier appel directement à l’entrée du second appel sans l’instruction Let. Si vous avez utilisé Let, vous pouvez mapper à l’aide de cette variable.

  8. Insérez les jetons de la deuxième intégration dans votre contenu avec la commande add , par exemple la destination renvoyée dans la réponse de l’intégration d’informations sur le vol.

  9. Enregistrez votre contenu.

Lors de la simulation ou de l’envoi, Journey Optimizer exécute les intégrations dans l’ordre : le premier appel utilise le contexte de profil que vous avez configuré et son résultat génère la seconde demande. L’exécution d’une intégration donnée au moment de la simulation ou de l’envoi dépend de la configuration et du canal.

Utilisation d’Adobe Target Recommendations dans votre contenu use-adobe-target-in-templates

Cette section explique comment utiliser les intégrations dans Adobe Journey Optimizer pour récupérer les données de personnalisation de Adobe Target au moment de l’envoi et les utiliser dans le contenu de votre message, qu’elles soient créées dans un modèle ou intégrées. Elle suppose que l’API Target Delivery a déjà été configurée en tant qu’intégration.

Pour connaître les étapes de configuration, consultez Utilisation des intégrations et l’exemple d’](vendor-integration.md#adobe-target-recommendations)Adobe Target Recommendations[.

L’API Target Delivery renvoie un tableau prefetch.mboxes. Chaque mbox comprend un objet options avec les champs content et type. La valeur type détermine la manière dont vous utilisez content dans votre modèle. Ouvrez l’onglet correspondant à la réponse de votre mbox, puis suivez les étapes pour utiliser ces données dans votre message.

Contenu JSON

Lorsque type est json, le champ content est une chaîne JSON. Analysez-le avant d’accéder aux champs imbriqués. L’exemple ci-dessous illustre une réponse type de l’API Delivery pour une mbox JSON.

code language-json
{
  "status": 200,
  "prefetch": {
    "mboxes": [
      {
        "index": 0,
        "name": "SummerOffer",
        "options": {
          "content": "{\"recommendations\":[{\"productId\":\"p101\",\"name\":\"Noise Smartwatch\",\"price\":2999},{\"productId\":\"p205\",\"name\":\"Boat Earbuds\",\"price\":1499}],\"strategy\":\"collaborative-filtering\"}",
          "type": "json"
        }
      }
    ]
  }
}

Utilisez trois assistants successifs pour récupérer, extraire et analyser la réponse de Target.

  1. Récupérer la réponse de Target Appelez votre intégration Target configurée avec externalDataLookup. Définissez integrationName sur le nom de cette intégration (remplacez l’exemple d’espace réservé target_recommendations). Utilisez le paramètre result pour nommer la variable de modèle qui contient la payload complète de l’API de diffusion, par exemple targetResponse.

    Vous pouvez également sélectionner l’intégration directement à partir du menu Intégrations dans le volet de navigation de gauche de l’éditeur de personnalisation. Consultez Application de la personnalisation de l’intégration à votre contenu.

    code language-handlebars
    {{externalDataLookup integrationName="target_recommendations" result="targetResponse"}}
    
  2. Extrayez une mbox spécifique à l’aide de valueAtPath. valueAtPath extrait un élément d’un tableau à partir de son son index de base 0 et l’affecte à une variable de modèle. Utilisez le paramètre idx pour spécifier l’élément auquel accéder.

    code language-handlebars
    {{valueAtPath targetResponse.prefetch.mboxes idx=0 result="summerOffer"}}
    
    table 0-row-2 1-row-2 2-row-2 3-row-2
    Paramètre Description
    path Chemin d’accès au tableau (position, pas de mot-clé)
    idx Index de base 0 pour l’accès au tableau (facultatif)
    result Nom de variable pour stocker la valeur extraite
    note
    NOTE
    Si idx est hors limites, le rendu renvoie une exception. Vérifiez que les index sont valides avec {%#if idx >= 0 and idx < count(targetResponse.prefetch.mboxes)%}. Les expressions PQL ne peuvent pas être utilisées comme chemin d’accès. Disponible depuis la version 2025.9.0.
  3. Analysez la chaîne JSON à l’aide de parseJson. Le champ options.content de la mbox est une chaîne JSON brute. parseJson la convertit en un objet structuré dont les champs sont directement accessibles dans le modèle.

    code language-handlebars
    {{parseJson jsonStr=summerOffer.options.content result="summerOfferContent"}}
    
    table 0-row-2 1-row-2 2-row-2
    Paramètre Description
    jsonStr Chemin d’accès au champ de chaîne contenant un fichier JSON valide
    result Nom de la variable pour stocker l’objet analysé
    note
    NOTE
    Si la chaîne JSON n’est pas valide ou si la référence est nulle, result est défini sur null et aucune erreur de rendu n’est renvoyée. Testez votre réponse Target actuelle pour confirmer que le contenu est un JSON valide. Disponible depuis : 2026.6.0
  4. Accédez aux données. Une fois l’analyse effectuée, utilisez la notation par points pour accéder aux champs depuis summerOfferContent. Pour effectuer le rendu d’une liste de recommandations :

    code language-handlebars
    {{externalDataLookup integrationName="target_recommendations" result="targetResponse"}}
    {{valueAtPath targetResponse.prefetch.mboxes idx=0 result="summerOffer"}}
    {{parseJson jsonStr=summerOffer.options.content result="summerOfferContent"}}
    
    Strategy: {{summerOfferContent.strategy}}
    {{#each summerOfferContent.recommendations as |rec|}}
      {{rec.name}} — {{rec.price}}
    {{/each}}
    
Contenu HTML

Lorsque type est html, le champ content est une chaîne HTML prête pour le rendu. Il n’est pas nécessaire de l’analyser. L’exemple ci-dessous illustre une réponse type de l’API Delivery pour une mbox HTML.

code language-json
{
  "status": 200,
  "prefetch": {
    "mboxes": [
      {
        "index": 0,
        "name": "SummerOffer",
        "options": {
          "content": "<div class=\"offer\"><h2>Summer Sale</h2><p>50% off Smartwatch</p></div>",
          "type": "html"
        }
      }
    ]
  }
}

Récupérez et extrayez la mbox, puis effectuez directement le rendu de content. Ignorez parseJson.

code language-handlebars
{{externalDataLookup integrationName="target_recommendations" result="targetResponse"}}
{{valueAtPath targetResponse.prefetch.mboxes idx=0 result="summerOffer"}}
{{{summerOffer.options.content}}}
note
NOTE
Utilisez des accolades triples {{{...}}} pour effectuer le rendu du contenu HTML en l’état. Les accolades doubles {{...}} permettent d’échapper les entités HTML et de générer des chaînes de balises brutes au lieu du code HTML.

Vidéo pratique video

Cette vidéo montre comment les intégrations connectent Adobe Journey Optimizer à des API externes afin d’extraire des données et du contenu en temps réel dans des canaux sortants, des e-mails, des SMS et des notifications push, pour une personnalisation plus pertinente.

recommendation-more-help
journey-optimizer-help