Sur cette page : créez une campagne déclenchée par API dans Journey Optimizer afin de démarrer, mettre à jour et terminer à distance des activités en direct pour des utilisateurs et utilisatrices ou des audiences spécifiques.
Après avoir effectué la configuration mobile et implémenté le SDK mobile Adobe Experience Platform, vous pouvez créer une activité en direct dans Journey Optimizer :
-
Accédez au menu Campagnes, puis cliquez sur Créer une campagne.
-
Sélectionnez le type de campagne Déclenchée par API.
-
Sélectionnez Marketing déclenché par API pour les campagnes basées sur les audiences.
-
Sélectionnez Transactionnelle déclenchée par API pour les campagnes individuelles.
note important IMPORTANT Notez que pour Transactionnelle déclenchée par API, l’option Débit élevé ne doit pas être activée.
-
-
Dans la section Propriétés, modifiez le Titre et la Description de votre campagne.
-
Dans la section Actions, sélectionnez Activité en direct et sélectionnez ou créez une nouvelle configuration.
Pour en savoir plus sur la configuration des activités en direct, consultez cette page.
-
Cliquez sur Créer une expérience pour commencer à configurer votre expérience de contenu et créer des traitements afin de mesurer leurs performances et d’identifier la meilleure option pour votre audience cible. En savoir plus
-
Dans l’onglet Audience, choisissez le Type d’identité En savoir plus.
note NOTE Pour les campagnes marketing déclenchées par API, vous pouvez sélectionner une audience existante qui agit comme première segmentation avant de vérifier l’abonnement à l’identifiant de canal APNs à partir de la payload de l’API. -
Les campagnes sont conçues pour être exécutées à une date spécifique ou à une fréquence récurrente. Découvrez comment configurer le Planning de votre campagne dans cette section.
-
Une fois la configuration effectuée, cliquez sur Réviser pour activer, puis sur Activer.
-
Une fois la campagne activée, utilisez la requête cURL fournie comme modèle pour déclencher les événements de démarrage, de mise à jour ou d’arrêt de l’activité en direct. Modifiez l’exemple de payload en incluant vos données avant l’exécution.
Veillez également à copier les identifiants ID de campagne à inclure dans votre payload.
➡️ Les exigences d’authentification, y compris les jetons OAuth et les clés d’API, sont disponibles dans la documentation sur les campagnes déclenchées par API.
Après avoir créé votre activité en direct, vous pouvez suivre son impact à l’aide des rapports intégrés.
Exemples de payload payload
La structure de la payload dépend de la plateforme sur laquelle iOS utilise l’objet de aps Apple Push Notification Service (APNs) , tandis qu’Android utilise l’objet de fcm Firebase Cloud Messaging (FCM) . Utilisez les exemples ci-dessous pour votre plateforme et votre type de campagne.
Payload iOS
Pour iOS, placez les champs de personnalisation et de cycle de vie dans l’objet aps APNs . Assurez-vous que attributes-type correspond au nom de la structure de LiveActivityAttributes de votre application et que attributes correspond aux champs définis dans cette structure.
Cas d’utilisation unitaire (campagne transactionnelle déclenchée par une API)
Cet exemple de payload concerne les campagnes de type Transactionnelle déclenchée par API. Notez que la plupart des champs de l’exemple de payload suivant sont obligatoires, seuls requestId, dismissal-date et alert sont facultatifs.
| code language-json |
|---|
|
Cas d’utilisation de diffusion (campagne marketing déclenchée par API)
Cet exemple de payload concerne les campagnes basées sur une audience de type Marketing déclenchée par API.
| code language-json |
|---|
|
Payload Android
Pour Android, placez les champs Activité dynamique dans l’objet fcm Firebase Cloud Messaging (FCM). Définissez des valeurs dynamiques dans content_state à l’aide des clés custom_key_* que le fournisseur de style de votre application est configuré pour gérer.
Cas d’utilisation unitaire (campagne transactionnelle déclenchée par une API)
fcm contient deux champs temporels, tous deux exprimés en secondes epoch :timestampcontrôle l’ordre des messages. Chaque événement de début, de mise à jour et de fin doit utiliser une valeur supérieure à l’événement précédent pour la mêmenotification_id(outopic_namepour les diffusions). Les mises à jour ne s’affichent que si leur horodatage est plus récent que la dernière valeur traitée. Les dates et heures antérieures ou égales sont ignorées.whencontrôle l’heure d’affichage de la notification. Ce champ facultatif correspond à la méthodesetWhend’Android et n’affecte pas l’ordre des messages. Conservez sa valeur à jour, car une valeur obsolète peut entraîner des problèmes d’affichage.
Utilisez ces payloads pour des campagnes individuelles de type transactionnel déclenché par l’API.
Utilisez le même notification_id pour tous les événements de début, de mise à jour et de fin afin de vous assurer qu’ils ciblent la même instance d’activité active.
| code language-json |
|---|
|
Pour mettre à jour une activité En direct , définissez event_type sur update et notification_id restez inchangé. Mettez à jour body, critical_text et les valeurs dans content_state selon les besoins pour refléter le dernier statut.
| code language-json |
|---|
|
Pour mettre fin à une activité active, définissez event_type sur end. Vous pouvez éventuellement inclure des dismiss_after pour spécifier le délai, en secondes, avant que l’activité Live terminée ne soit ignorée.
| code language-json |
|---|
|
Cas d’utilisation de diffusion (campagne marketing déclenchée par API)
Utilisez cette payload pour les campagnes basées sur une audience de type Marketing déclenché par l’API.
Définissez topic_name sur la rubrique FCM à laquelle les appareils des utilisateurs s’abonnent. Envoyez tous les événements de mise à jour et de fin à la même rubrique et conservez les notification_id inchangés pour cibler la même notification d’activité active.
| code language-json |
|---|
|
Ajouter des données personnalisées avec des métadonnées d’exécution metadata
executionMetadata n’est disponible que pour les campagnes transactionnelles déclenchées par API.Joignez vos propres données personnalisées à un profil, tel qu’un identifiant de commande, un niveau de fidélité ou un code de région, à l’aide du champ facultatif executionMetadata. Journey Optimizer stocke ces données avec l’exécution afin que vous puissiez les récupérer ultérieurement à partir de votre jeu de données de retour sur l’activité en direct et faire correspondre les résultats de la diffusion aux enregistrements de votre propre entreprise.
Pour envoyer ces données via l’API, reportez-vous à la référence de l’API Messaging pour le champ executionMetadata. Pour relire les valeurs sur l’appareil, consultez le guide du SDK mobile sur la réception des métadonnées d’exécution à partir du déclencheur d’API.
Pour ajouter des données personnalisées avec des métadonnées d’exécution :
-
Ajoutez
executionMetadataà un profil, à côté deuserIdetnamespace. Seules les clés de chaîne et les valeurs de chaîne sont acceptées. Convertissez toute valeur qui n’est pas de chaîne en chaîne avant de l’envoyer. -
Les valeurs sont enregistrées exactement comme envoyées.
executionMetadatane prend pas en charge les expressions de personnalisation. Toute expression{{...}}est donc traitée comme du texte littéral plutôt que résolue. Vous devez toujours envoyer des valeurs finales et littérales. -
Chaque profil peut transporter jusqu’à 50 paires clé/valeur, avec une limite de taille combinée de 2 Ko pour toutes les clés et valeurs. Les métadonnées qui dépassent cette limite sont ignorées, mais l’activité en direct est toujours diffusée. Limitez la payload aux informations requises à des fins de création de rapports.
Dans cet exemple, orderId, tier, restaurant et region sont vos propres valeurs. Une fois l’activité en direct déclenchée, vous pouvez les relire à partir du jeu de données de retour pour lier la diffusion à votre enregistrement de commande.
| code language-json |
|---|
|
| note |
|---|
| NOTE |
Récupérez les métadonnées d’exécution sur Android de la même manière que sur iOS : à partir des événements message.feedback dans le jeu de données Commentaires sur les messages AJO . Pour obtenir des exemples de requête, voir la section Avancé : débogage via des requêtes de jeu de données. |
| Android utilise l’extension de messagerie open-source Adobe Experience Platform (AEP) pour Mobile SDK. |
Dans cet exemple, seat et type sont des champs de métadonnées personnalisés contenant les détails de votre réservation. Après avoir déclenché l’activité Live, récupérez ces valeurs du jeu de données de commentaires sur l’activité Live pour associer les résultats de diffusion à votre enregistrement de réservation.
| code language-json |
|---|
|
Vidéo pratique
Découvrez comment configurer les activités en direct iOS avec Adobe Journey Optimizer pour afficher des mises à jour détaillées et en temps réel sur l’écran verrouillé et la Dynamic Island d’un iPhone.
This section contains structured knowledge intended to support interpretation, retrieval, and question answering related to this topic.
For complete understanding, this information should be combined with the documentation on this page. Neither source is intended to stand alone; the page describes the feature, while this section provides additional context that helps disambiguate terminology, intent, applicability, and constraints.
- TL;DR: This page explains how to build an API-triggered campaign in Journey Optimizer to remotely start, update, and end Live activities for individual users or audiences, and how to attach custom data to a profile using the optional
executionMetadatafield.
Intents:
- Create an API-triggered campaign for Live activities, selecting API-triggered Marketing for audience-based campaigns or API-triggered Transactional for individual campaigns
- Choose Live activity in the Actions section and select or create a configuration
- Create a content experiment with treatments to measure performance
- Activate the campaign and use the provided cURL request to trigger start, update, or end events
- Attach custom data to a profile using the optional
executionMetadatafield for later retrieval from the Live activity feedback dataset
Glossary:
- API-triggered Marketing: The campaign type used for audience-based campaigns (product-specific)
- API-triggered Transactional: The campaign type used for individual campaigns (product-specific)
- High Throughput: An option that should not be enabled for API-triggered Transactional Live activity campaigns (product-specific)
- Live activity: The action chosen in the Actions section, tied to a selected or newly created configuration (product-specific)
- executionMetadata: An optional field that attaches custom data to a profile, stored alongside the execution and retrievable from the Live activity feedback dataset (product-specific)
- Live activity feedback dataset: The dataset from which stored
executionMetadatavalues can be retrieved to match delivery results to your own records (product-specific) - event (iOS) / event_type (Android): The payload field whose values are
start,update, orend
Guardrails:
- For API-triggered Transactional campaigns, the High Throughput option should not be enabled.
executionMetadatais only available for API-triggered Transactional campaigns.executionMetadataaccepts only string keys and string values; convert any non-string value to a string before sending.executionMetadatadoes not support personalization expressions, so any{{...}}expression is treated as literal text rather than resolved.- Each profile can carry up to 50 key/value pairs in
executionMetadata(hard limit), with a combined size limit of 2 KB for all keys and values (hard limit). Metadata exceeding this limit is discarded, but the Live activity is still delivered. - In the iOS unitary payload example, most fields are mandatory; only
requestId,dismissal-date, andalertare optional.
Terminology:
- Canonical name: Live activity — Acronym: n/a — variants: Live activities
- Synonyms: “Unitary use cases” = “individual campaigns (API-triggered Transactional)”
- Synonyms: “Broadcast use cases” = “audience-based campaigns (API-triggered Marketing)”
- Do not confuse: “API-triggered Marketing” (audience-based campaigns) ≠ “API-triggered Transactional” (individual campaigns)
- Do not confuse: “start” ≠ “update” ≠ “end” (the values of the
eventfield in iOS payloads and theevent_typefield in Android payloads) - Do not confuse: “dismissal-date” (optional; auto-removes the activity when
eventisend) ≠ “timestamp” (current epoch time)
FAQ:
- Q: Which campaign type do I use for Live activities? — API-triggered Marketing for audience-based campaigns; API-triggered Transactional for individual campaigns.
- Q: Should High Throughput be enabled for API-triggered Transactional? — No; for API-triggered Transactional, the High Throughput option should not be enabled.
- Q: How do I trigger start, update, or end events after activation? — Use the provided cURL request as a template, update the sample payload with your specific data, and copy the Campaign ID into your payload.
- Q: What is
executionMetadatafor? — Attaching your own custom data, such as an order ID, loyalty tier, or region code, to a profile; it is stored alongside the execution and retrievable from the Live activity feedback dataset. It is only available for API-triggered Transactional campaigns. - Q: What are the
executionMetadatalimits? — Up to 50 key/value pairs per profile with a combined 2 KB size limit; only string keys and values are accepted, and personalization expressions are not resolved. Metadata exceeding the limit is discarded, but the Live activity is still delivered.