Passer au contenu principal
Accédez aux données event stream en utilisant la syntaxe Liquid. Enveloppez n’importe quel champ dans {{ }} pour l’inclure dans le corps de votre Event Stream. Voir Exemples.
Les données de messages pour les Journeys et les envois API sont conservées pendant 30 jours. Les événements d’interaction (clics, ouvertures, désabonnements) survenant après 30 jours peuvent avoir des propriétés de message vides. Pour récupérer les données, corrélez le message.id de l’événement d’interaction avec l’événement sent original, qui contient les données complètes du message.

Propriétés event

Chaque événement inclut les champs principaux ci-dessous. Les champs spécifiques au canal sous event.data.* ne sont inclus que si applicable — voir Champs spécifiques au canal.
event.kind
string
Le type d’événement, combinant le canal et l’action (ex. : message.push.clicked, message.email.bounced). Voir la liste complète des valeurs dans la référence des event kinds ci-dessous. Liquid : {{ event.kind }}
event.id
UUID
Un identifiant unique généré par OneSignal pour chaque événement individuel au format UUID v4. Utilisez cet ID pour le suivi de livraison idempotent. Pour l’identifiant de message ou de modèle, utilisez message.id ou message.template_id. Liquid : {{ event.id }}
event.timestamp
integer
Horodatage UNIX de l’événement. Liquid : {{ event.timestamp }}
event.datetime
string
Heure lisible de l’événement en UTC sous forme de chaîne ISO 8601 (ex. : “2024-02-21T23:45:15.228Z”). Liquid : {{ event.datetime }}
event.app_id
UUID
L’App ID OneSignal. Liquid : {{ event.app_id }}
event.subscription_device_type
string
Le type d’abonnement (ex. : iOS, Android, Chrome, Email, SMS). Liquid : {{ event.subscription_device_type }}
event.subscription_id
UUID
L’ID d’abonnement OneSignal. Liquid : {{ event.subscription_id }}
event.onesignal_id
UUID
L’ID utilisateur OneSignal. Liquid : {{ event.onesignal_id }}
event.external_id
string
Votre ID utilisateur défini comme alias ID externe OneSignal. Peut être vide s’il n’est pas défini. Liquid : {{ event.external_id }}

Champs spécifiques au canal

Ces champs event.data.* ne sont présents que pour certains types d’événements.

Événements de message in-app

Inclus avec les événements message.iam.*. Voir Event Streams de messages in-app pour les détails.
event.data.page_name
string
Le nom de la page ou de la carte du message in-app affichée. Liquid : {{ event.data.page_name }}
event.data.page_id
string
Identifiant unique pour la page ou la carte du message in-app affichée. Liquid : {{ event.data.page_id }}
event.data.target_name
string
Le nom du bouton ou de l’élément de bloc d’image cliqué. L’élément doit contenir une action de clic in-app. Liquid : {{ event.data.target_name }}
event.data.target_id
string
Identifiant unique pour le bouton ou l’élément de bloc d’image cliqué. Liquid : {{ event.data.target_id }}

Événements Live Activity

Inclus avec les événements message.live_activity.*.
event.data.live_activity_id
string
Identifiant unique pour une Live Activity spécifique (ex. : “Knicks vs Cavs - Oct 22 7PM”). Liquid : {{ event.data.live_activity_id }}
event.data.live_activity_type
string
Étiquette de regroupement pour les catégories de Live Activity (ex. : “Knicks_games”). Liquid : {{ event.data.live_activity_type }}

Événements d’échec

Inclus avec les événements message.push.failed et message.email.failed.
event.data.failure_reason
string
La raison pour laquelle le message n’a pas pu être envoyé. Voir les Rapports de messages push ou les Rapports de messages e-mail pour les raisons courantes. Liquid : {{ event.data.failure_reason }}

Référence des event kinds

Pour les définitions détaillées de chaque métrique, voir le Glossaire des métriques.
Message Event Kind (OneSignal)Nom de l’événement (dans le jeu de données)Description de l’événement
Push Sentmessage.push.sentNotification push envoyée avec succès aux services push (FCM, APNS, etc).
Push Receivedmessage.push.receivedNotification push reçue par le destinataire. Non disponible sur toutes les plateformes. Voir Livraison confirmée pour plus de détails.
Push Clickedmessage.push.clickedL’utilisateur a appuyé sur la notification push pour ouvrir l’application sur l’appareil.
Push Failedmessage.push.failedÉchec de l’envoi push. Voir les Rapports de messages push pour plus de détails.
Push Unsubscribedmessage.push.unsubscribedL’utilisateur s’est désabonné de l’abonnement push. Voir Quand les statuts d’abonnement push sont-ils mis à jour ?.
In-App Impressionmessage.iam.impressionMessage in-app affiché avec succès sur l’appareil.
In-App Clickedmessage.iam.clickedL’utilisateur a appuyé sur un élément du message in-app.
In-App Page Displayedmessage.iam.page_displayedLa page du message in-app a été affichée. Utile pour suivre les carrousels.
Email Sentmessage.email.sentE-mail envoyé avec succès.
Email Receivedmessage.email.receivedE-mail reçu par le destinataire.
Email Openedmessage.email.openedE-mail ouvert par le destinataire. Voir Rapports de messages e-mail pour plus de détails.
Email Link Clickedmessage.email.clickedL’utilisateur a appuyé sur un lien dans l’e-mail.
Email Unsubscribedmessage.email.unsubscribedL’utilisateur s’est désabonné de l’e-mail via le lien de désabonnement.
Email Reported As Spammessage.email.reported_as_spamL’utilisateur a signalé l’e-mail comme spam. Gmail nécessite Google Postmaster Tools pour suivre. Voir Délivrabilité des e-mails pour plus de détails.
Email Bouncedmessage.email.bouncedE-mail retourné à l’expéditeur en raison d’une erreur permanente. Voir Rapports de messages e-mail pour plus de détails.
Email Failedmessage.email.failedL’e-mail n’a pas pu être livré. Voir Rapports de messages e-mail pour plus de détails.
Email Suppressedmessage.email.suppressedL’e-mail n’a pas pu être envoyé car l’adresse e-mail est sur la Liste de suppression.
SMS Sentmessage.sms.sentSMS envoyé au destinataire.
SMS Failedmessage.sms.failedÉchec de l’envoi du SMS. Voir Rapports de messages SMS pour plus de détails.
SMS Deliveredmessage.sms.deliveredSMS livré avec succès.
SMS Undeliveredmessage.sms.undeliveredLe SMS n’a pas pu être envoyé. Voir Rapports de messages SMS pour plus de détails.
Live Activity Sentmessage.live_activity.sentLive Activity envoyée avec succès à FCM/APNS.
Live Activity Deliveredmessage.live_activity.deliveredLive Activity reçue par le destinataire.
Live Activity Unsubscribedmessage.live_activity.unsubscribedL’utilisateur s’est désabonné des Live Activities.
Live Activity Failedmessage.live_activity.failedÉchec de l’envoi de la Live Activity.
Live Activity Clickedmessage.live_activity.clickedLive Activity cliquée par l’utilisateur.

Exemple d’objet événement

Copiez ce template Liquid dans le corps de votre Event Stream pour capturer tous les champs d’événement :
JSON
{
  "event.kind": "{{ event.kind }}",
  "event.id": "{{ event.id }}",
  "event.timestamp": "{{ event.timestamp }}",
  "event.datetime": "{{ event.datetime }}",
  "event.app_id": "{{ event.app_id }}",
  "event.subscription_device_type": "{{ event.subscription_device_type }}",
  "event.subscription_id": "{{ event.subscription_id }}",
  "event.onesignal_id": "{{ event.onesignal_id }}",
  "event.external_id": "{{ event.external_id }}",
  "event.data.page_name": "{{ event.data.page_name }}",
  "event.data.page_id": "{{ event.data.page_id }}",
  "event.data.target_name": "{{ event.data.target_name }}",
  "event.data.target_id": "{{ event.data.target_id }}",
  "event.data.failure_reason": "{{ event.data.failure_reason }}"
}
À quoi ressemble un événement de clic push après le rendu Liquid :
JSON
{
  "event.kind": "message.push.clicked",
  "event.id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "event.timestamp": 1708559115,
  "event.datetime": "2024-02-21T23:45:15.228Z",
  "event.app_id": "your-onesignal-app-id",
  "event.subscription_device_type": "iOS",
  "event.subscription_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "event.onesignal_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
  "event.external_id": "user_12345",
  "event.data.page_name": "",
  "event.data.page_id": "",
  "event.data.target_name": "",
  "event.data.target_id": "",
  "event.data.failure_reason": ""
}
Les champs spécifiques au canal comme event.data.page_name sont vides pour les types d’événements qui ne les incluent pas.

Propriétés message

L’objet message décrit le message envoyé à l’utilisateur final, incluant son ID, son modèle, son contenu et ses URLs.
message.id
UUID
L’ID de message généré par OneSignal. Liquid : {{ message.id }}
message.name
string
Le nom du message tel que défini dans le tableau de bord ou en utilisant la propriété name de l’API. Liquid : {{ message.name }}
message.title
object
Le titre du message push ou l’objet de l’e-mail. Pour le push, renvoie un objet localisé comme {'en':'Your title'}. Pour l’e-mail, renvoie la ligne d’objet sous forme de chaîne simple. Défini via le tableau de bord ou les propriétés headings / email_subject de l’API. Liquid : {{ message.title }}
message.contents
object
Le contenu du message push ou SMS (tronqué à 50 caractères). Le contenu de l’e-mail (email_body) n’est pas fourni. Défini via le tableau de bord ou la propriété contents de l’API. Liquid : {{ message.contents }}
message.template_id
UUID
L’ID de modèle pour un message envoyé via Journeys ou la propriété template_id de l’API. Liquid : {{ message.template_id }}
message.url
string
L’URL de lancement du message lors de l’utilisation d’une seule URL agnostique au web et à l’application. Voir URLs, Liens et Liens profonds. Liquid : {{ message.url }}
message.app_url
string
L’URL de lancement spécifique à l’application lors de l’utilisation d’URLs séparées web et app. Voir URLs, Liens et Liens profonds. Liquid : {{ message.app_url }}
message.web_url
string
L’URL de lancement spécifique au web lors de l’utilisation d’URLs séparées web et app. Voir URLs, Liens et Liens profonds. Liquid : {{ message.web_url }}
message.live_activity_event_kind
string
Le type d’action de la Live Activity : start, update ou end. Présent uniquement pour les événements message.live_activity.*. Liquid : {{ message.live_activity_event_kind }}

Exemple d’objet message

Copiez ce template Liquid dans le corps de votre Event Stream pour capturer tous les champs de message :
JSON
{
  "message.id": "{{ message.id }}",
  "message.name": "{{ message.name }}",
  "message.title": "{{ message.title }}",
  "message.contents": "{{ message.contents }}",
  "message.template_id": "{{ message.template_id }}",
  "message.url": "{{ message.url }}",
  "message.app_url": "{{ message.app_url }}",
  "message.web_url": "{{ message.web_url }}"
}
Un message de notification push :
JSON
{
  "message.id": "f3c9cd09-10d7-4f59-b9bc-66e16607f1d5",
  "message.name": "weekly-promo-push",
  "message.title": "{'en':'Flash Sale: 50% Off Today'}",
  "message.contents": "{'en':'Shop now and save on select items'}",
  "message.template_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "message.url": "https://example.com/sale",
  "message.app_url": "",
  "message.web_url": ""
}
Un message e-mail — message.title est la ligne d’objet sous forme de chaîne simple, et message.contents est vide car le contenu du corps de l’e-mail n’est pas inclus dans les données Event Stream :
JSON
{
  "message.id": "e2d3c4b5-a6f7-8901-bcde-f12345678901",
  "message.name": "onboarding-welcome-email",
  "message.title": "Welcome to Acme — here's how to get started",
  "message.contents": "",
  "message.template_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "message.url": "",
  "message.app_url": "",
  "message.web_url": ""
}

Propriétés user

L’objet user contient les données au niveau du profil de l’utilisateur qui a reçu le message.
user.onesignal_id
string
L’ID OneSignal de l’utilisateur. Liquid : {{ user.onesignal_id }}
user.external_id
string
L’ID externe de l’utilisateur. Liquid : {{ user.external_id }}
user.tags
object
Les balises de l’utilisateur. Accédez à l’objet complet avec {{ user.tags }} ou à une balise spécifique avec {{ user.tags.your_tag }}. Utilisez une valeur par défaut pour gérer les balises manquantes : {{ user.tags.your_tag | default: '' }}.
user.language
string
Le code de langue de l’utilisateur. Liquid : {{ user.language }}

Propriétés subscription

Ces propriétés décrivent l’abonnement qui a reçu le message.
user.subscription.id
string
L’ID OneSignal de l’abonnement. Liquid : {{ user.subscription.id }}
user.subscription.app_id
string
L’App ID OneSignal. Liquid : {{ user.subscription.app_id }}
user.subscription.subscription_token
string
Le jeton spécifique à la plateforme de l’abonnement. Pour E-mail, c’est l’adresse e-mail. Pour SMS, un numéro de téléphone au format E.164. Pour Push, le jeton push. Liquid : {{ user.subscription.subscription_token }}
user.subscription.session_count
number
Nombre total de sessions enregistrées pour cet abonnement. Liquid : {{ user.subscription.session_count }}
user.subscription.language
string
Le code de langue défini sur l’abonnement. Liquid : {{ user.subscription.language }}
user.subscription.game_version
string
La version d’application ou de jeu rapportée par l’abonnement. Liquid : {{ user.subscription.game_version }}
user.subscription.last_active
number
Horodatage UNIX de la session la plus récente de l’abonnement. Liquid : {{ user.subscription.last_active }}
user.subscription.play_time
number
Temps de jeu total enregistré pour cet abonnement, en secondes. Liquid : {{ user.subscription.play_time }}
user.subscription.amount_spent
number
Montant total des achats in-app enregistré pour cet abonnement. Liquid : {{ user.subscription.amount_spent }}
user.subscription.created_at
number
Horodatage UNIX de la création de l’abonnement. Liquid : {{ user.subscription.created_at }}
user.subscription.subscribed
boolean
Si l’abonnement est actuellement actif. Liquid : {{ user.subscription.subscribed }}
user.subscription.sdk
string
La version du SDK OneSignal sur l’appareil de l’abonnement. Liquid : {{ user.subscription.sdk }}
user.subscription.device_model
string
Le modèle matériel de l’appareil (ex. : “iPhone14,2”, “Pixel 7”). Liquid : {{ user.subscription.device_model }}
user.subscription.device_os
string
Le système d’exploitation et la version de l’appareil (ex. : “iOS 17.2”, “Android 14”). Liquid : {{ user.subscription.device_os }}

Pages connexes


FAQ

Pourquoi certaines données d’événements sont-elles manquantes ou vides ?

Les données de messages pour les Journeys et les envois API sont conservées pendant 30 jours. Si un utilisateur interagit avec un message (clic, ouverture, désabonnement) plus de 30 jours après son envoi, les propriétés de message associées peuvent être vides. Pour contourner ce problème, corrélez le message.id de l’événement d’interaction avec l’événement sent original, qui contient les données complètes du message.

Quelle est la différence entre event.id et message.id ?

event.id est un identifiant unique pour l’événement individuel (ex. : un clic spécifique). message.id est l’identifiant du message envoyé — plusieurs événements peuvent partager le même message.id (par exemple, un événement sent et un événement clicked pour la même notification push).

Quel est le format de message.title pour push vs e-mail ?

Pour les notifications push, message.title renvoie un objet localisé comme {'en':'Your title'}. Pour l’e-mail, il renvoie la ligne d’objet sous forme de chaîne simple. Le format dépend du canal.

Les événements personnalisés sont-ils inclus dans Event Streams ?

Non. Event Streams contient des événements de message (envoyé, cliqué, ouvert, rejeté, etc.) — pas les événements personnalisés. Les événements personnalisés sont des actions utilisateur que vous envoyez vers OneSignal. Event Streams exporte les données de livraison et d’engagement des messages depuis OneSignal.

Comment référencer une balise spécifique dans le corps de mon Event Stream ?

Utilisez {{ user.tags.your_tag_key }} avec la clé de balise exacte. Pour éviter les erreurs lorsqu’une balise n’est pas définie, ajoutez une valeur par défaut : {{ user.tags.your_tag_key | default: '' }}. Voir Utilisation de la syntaxe Liquid pour plus de détails.