> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Référence des données Event Stream

> Référence de schéma pour toutes les propriétés event, message, user et subscription disponibles dans Event Streams et Webhooks, avec la syntaxe Liquid pour chaque champ.

Accédez aux données event stream [en utilisant la syntaxe Liquid](./using-liquid-syntax). Enveloppez n'importe quel champ dans `{{ }}` pour l'inclure dans le corps de votre Event Stream. Voir [Exemples](./event-streams#example-body).

<Warning>
  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.
</Warning>

## 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](#channel-specific-fields).

<ParamField body="event.kind" type="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](#event-kind-reference) ci-dessous. **Liquid :** `{{ event.kind }}`
</ParamField>

<ParamField body="event.id" type="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`](#message-id) ou [`message.template_id`](#template-id). **Liquid :** `{{ event.id }}`
</ParamField>

<ParamField body="event.timestamp" type="integer">
  Horodatage UNIX de l'événement. **Liquid :** `{{ event.timestamp }}`
</ParamField>

<ParamField body="event.datetime" type="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 }}`
</ParamField>

<ParamField body="event.app_id" type="UUID">
  L'[App ID](./keys-and-ids) OneSignal. **Liquid :** `{{ event.app_id }}`
</ParamField>

<ParamField body="event.subscription_device_type" type="string">
  Le type d'abonnement (ex. : `iOS`, `Android`, `Chrome`, `Email`, `SMS`). **Liquid :** `{{ event.subscription_device_type }}`
</ParamField>

<ParamField body="event.subscription_id" type="UUID">
  L'[ID d'abonnement](./subscriptions) OneSignal. **Liquid :** `{{ event.subscription_id }}`
</ParamField>

<ParamField body="event.onesignal_id" type="UUID">
  L'[ID utilisateur](./users) OneSignal. **Liquid :** `{{ event.onesignal_id }}`
</ParamField>

<ParamField body="event.external_id" type="string">
  Votre ID utilisateur défini comme alias [ID externe](./users) OneSignal. Peut être vide s'il n'est pas défini. **Liquid :** `{{ event.external_id }}`
</ParamField>

### 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](./iam-event-streams) pour les détails.

<ParamField body="event.data.page_name" type="string">
  Le nom de la page ou de la carte du message in-app affichée. **Liquid :** `{{ event.data.page_name }}`
</ParamField>

<ParamField body="event.data.page_id" type="string">
  Identifiant unique pour la page ou la carte du message in-app affichée. **Liquid :** `{{ event.data.page_id }}`
</ParamField>

<ParamField body="event.data.target_name" type="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](./iam-click-actions). **Liquid :** `{{ event.data.target_name }}`
</ParamField>

<ParamField body="event.data.target_id" type="string">
  Identifiant unique pour le bouton ou l'élément de bloc d'image cliqué. **Liquid :** `{{ event.data.target_id }}`
</ParamField>

#### Événements Live Activity

Inclus avec les événements `message.live_activity.*`.

<ParamField body="event.data.live_activity_id" type="string">
  Identifiant unique pour une Live Activity spécifique (ex. : "Knicks vs Cavs - Oct 22 7PM"). **Liquid :** `{{ event.data.live_activity_id }}`
</ParamField>

<ParamField body="event.data.live_activity_type" type="string">
  Étiquette de regroupement pour les catégories de Live Activity (ex. : "Knicks\_games"). **Liquid :** `{{ event.data.live_activity_type }}`
</ParamField>

#### Événements d'échec

Inclus avec les événements `message.push.failed` et `message.email.failed`.

<ParamField body="event.data.failure_reason" type="string">
  La raison pour laquelle le message n'a pas pu être envoyé. Voir les [Rapports de messages push](./push-notification-message-reports#failure-message-troubleshooting) ou les [Rapports de messages e-mail](./email-message-reports#why-are-my-emails-marked-as-failed) pour les raisons courantes. **Liquid :** `{{ event.data.failure_reason }}`
</ParamField>

### Référence des event kinds

Pour les définitions détaillées de chaque métrique, voir le [Glossaire des métriques](./analytics-metrics-glossary).

| Message Event Kind (OneSignal) | Nom de l'événement (dans le jeu de données) | Description de l'événement                                                                                                                                                                                    |
| ------------------------------ | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Push Sent                      | `message.push.sent`                         | Notification push envoyée avec succès aux services push (FCM, APNS, etc).                                                                                                                                     |
| Push Received                  | `message.push.received`                     | Notification push reçue par le destinataire. Non disponible sur toutes les plateformes. Voir [Livraison confirmée](./confirmed-delivery) pour plus de détails.                                                |
| Push Clicked                   | `message.push.clicked`                      | L'utilisateur a appuyé sur la notification push pour ouvrir l'application sur l'appareil.                                                                                                                     |
| Push Failed                    | `message.push.failed`                       | Échec de l'envoi push. Voir les [Rapports de messages push](./push-notification-message-reports) pour plus de détails.                                                                                        |
| Push Unsubscribed              | `message.push.unsubscribed`                 | L'utilisateur s'est désabonné de l'[abonnement](./subscriptions) push. Voir [Quand les statuts d'abonnement push sont-ils mis à jour ?](./subscriptions#when-do-push-subscription-statuses-update%3F).        |
| In-App Impression              | `message.iam.impression`                    | Message in-app affiché avec succès sur l'appareil.                                                                                                                                                            |
| In-App Clicked                 | `message.iam.clicked`                       | L'utilisateur a appuyé sur un élément du message in-app.                                                                                                                                                      |
| In-App Page Displayed          | `message.iam.page_displayed`                | La page du message in-app a été affichée. Utile pour suivre les carrousels.                                                                                                                                   |
| Email Sent                     | `message.email.sent`                        | E-mail envoyé avec succès.                                                                                                                                                                                    |
| Email Received                 | `message.email.received`                    | E-mail reçu par le destinataire.                                                                                                                                                                              |
| Email Opened                   | `message.email.opened`                      | E-mail ouvert par le destinataire. Voir [Rapports de messages e-mail](./email-message-reports) pour plus de détails.                                                                                          |
| Email Link Clicked             | `message.email.clicked`                     | L'utilisateur a appuyé sur un lien dans l'e-mail.                                                                                                                                                             |
| Email Unsubscribed             | `message.email.unsubscribed`                | L'utilisateur s'est désabonné de l'e-mail via le [lien de désabonnement](./unsubscribe-links-email-subscriptions).                                                                                            |
| Email Reported As Spam         | `message.email.reported_as_spam`            | L'utilisateur a signalé l'e-mail comme spam. Gmail nécessite [Google Postmaster Tools](./google-postmaster-tools) pour suivre. Voir [Délivrabilité des e-mails](./email-deliverability) pour plus de détails. |
| Email Bounced                  | `message.email.bounced`                     | E-mail retourné à l'expéditeur en raison d'une erreur permanente. Voir [Rapports de messages e-mail](./email-message-reports) pour plus de détails.                                                           |
| Email Failed                   | `message.email.failed`                      | L'e-mail n'a pas pu être livré. Voir [Rapports de messages e-mail](./email-message-reports) pour plus de détails.                                                                                             |
| Email Suppressed               | `message.email.suppressed`                  | L'e-mail n'a pas pu être envoyé car l'adresse e-mail est sur la [Liste de suppression](./email-deliverability).                                                                                               |
| SMS Sent                       | `message.sms.sent`                          | SMS envoyé au destinataire.                                                                                                                                                                                   |
| SMS Failed                     | `message.sms.failed`                        | Échec de l'envoi du SMS. Voir [Rapports de messages SMS](./sms-message-reports) pour plus de détails.                                                                                                         |
| SMS Delivered                  | `message.sms.delivered`                     | SMS livré avec succès.                                                                                                                                                                                        |
| SMS Undelivered                | `message.sms.undelivered`                   | Le SMS n'a pas pu être envoyé. Voir [Rapports de messages SMS](./sms-message-reports) pour plus de détails.                                                                                                   |
| Live Activity Sent             | `message.live_activity.sent`                | Live Activity envoyée avec succès à FCM/APNS.                                                                                                                                                                 |
| Live Activity Delivered        | `message.live_activity.delivered`           | Live Activity reçue par le destinataire.                                                                                                                                                                      |
| Live Activity Unsubscribed     | `message.live_activity.unsubscribed`        | L'utilisateur s'est désabonné des Live Activities.                                                                                                                                                            |
| Live Activity Failed           | `message.live_activity.failed`              | Échec de l'envoi de la Live Activity.                                                                                                                                                                         |
| Live Activity Clicked          | `message.live_activity.clicked`             | Live 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 JSON theme={null}
{
  "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 }}"
}
```

<Accordion title="Exemple de sortie rendue">
  À quoi ressemble un événement de clic push après le rendu Liquid :

  ```json JSON theme={null}
  {
    "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.
</Accordion>

***

## 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.

<ParamField body="message.id" type="UUID">
  L'ID de message généré par OneSignal. **Liquid :** `{{ message.id }}`
</ParamField>

<ParamField body="message.name" type="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 }}`
</ParamField>

<ParamField body="message.title" type="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 }}`
</ParamField>

<ParamField body="message.contents" type="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 }}`
</ParamField>

<ParamField body="message.template_id" type="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 }}`
</ParamField>

<ParamField body="message.url" type="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](./links). **Liquid :** `{{ message.url }}`
</ParamField>

<ParamField body="message.app_url" type="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](./links). **Liquid :** `{{ message.app_url }}`
</ParamField>

<ParamField body="message.web_url" type="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](./links). **Liquid :** `{{ message.web_url }}`
</ParamField>

<ParamField body="message.live_activity_event_kind" type="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 }}`
</ParamField>

### Exemple d'objet message

Copiez ce template Liquid dans le corps de votre Event Stream pour capturer tous les champs de message :

```json JSON theme={null}
{
  "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 }}"
}
```

<Accordion title="Exemple de sortie rendue">
  Un message de notification push :

  ```json JSON theme={null}
  {
    "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 JSON theme={null}
  {
    "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": ""
  }
  ```
</Accordion>

***

## Propriétés `user`

L'objet `user` contient les données au niveau du profil de l'utilisateur qui a reçu le message.

<ParamField body="user.onesignal_id" type="string">
  L'ID OneSignal de l'utilisateur. **Liquid :** `{{ user.onesignal_id }}`
</ParamField>

<ParamField body="user.external_id" type="string">
  L'ID externe de l'utilisateur. **Liquid :** `{{ user.external_id }}`
</ParamField>

<ParamField body="user.tags" type="object">
  Les [balises](./add-user-data-tags) 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: '' }}`.
</ParamField>

<ParamField body="user.language" type="string">
  Le code de langue de l'utilisateur. **Liquid :** `{{ user.language }}`
</ParamField>

***

## Propriétés `subscription`

Ces propriétés décrivent l'[abonnement](./subscriptions) qui a reçu le message.

<ParamField body="user.subscription.id" type="string">
  L'ID OneSignal de l'abonnement. **Liquid :** `{{ user.subscription.id }}`
</ParamField>

<ParamField body="user.subscription.app_id" type="string">
  L'App ID OneSignal. **Liquid :** `{{ user.subscription.app_id }}`
</ParamField>

<ParamField body="user.subscription.subscription_token" type="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 }}`
</ParamField>

<ParamField body="user.subscription.session_count" type="number">
  Nombre total de sessions enregistrées pour cet abonnement. **Liquid :** `{{ user.subscription.session_count }}`
</ParamField>

<ParamField body="user.subscription.language" type="string">
  Le code de langue défini sur l'abonnement. **Liquid :** `{{ user.subscription.language }}`
</ParamField>

<ParamField body="user.subscription.game_version" type="string">
  La version d'application ou de jeu rapportée par l'abonnement. **Liquid :** `{{ user.subscription.game_version }}`
</ParamField>

<ParamField body="user.subscription.last_active" type="number">
  Horodatage UNIX de la session la plus récente de l'abonnement. **Liquid :** `{{ user.subscription.last_active }}`
</ParamField>

<ParamField body="user.subscription.play_time" type="number">
  Temps de jeu total enregistré pour cet abonnement, en secondes. **Liquid :** `{{ user.subscription.play_time }}`
</ParamField>

<ParamField body="user.subscription.amount_spent" type="number">
  Montant total des achats in-app enregistré pour cet abonnement. **Liquid :** `{{ user.subscription.amount_spent }}`
</ParamField>

<ParamField body="user.subscription.created_at" type="number">
  Horodatage UNIX de la création de l'abonnement. **Liquid :** `{{ user.subscription.created_at }}`
</ParamField>

<ParamField body="user.subscription.subscribed" type="boolean">
  Si l'abonnement est actuellement actif. **Liquid :** `{{ user.subscription.subscribed }}`
</ParamField>

<ParamField body="user.subscription.sdk" type="string">
  La version du SDK OneSignal sur l'appareil de l'abonnement. **Liquid :** `{{ user.subscription.sdk }}`
</ParamField>

<ParamField body="user.subscription.device_model" type="string">
  Le modèle matériel de l'appareil (ex. : "iPhone14,2", "Pixel 7"). **Liquid :** `{{ user.subscription.device_model }}`
</ParamField>

<ParamField body="user.subscription.device_os" type="string">
  Le système d'exploitation et la version de l'appareil (ex. : "iOS 17.2", "Android 14"). **Liquid :** `{{ user.subscription.device_os }}`
</ParamField>

***

## Pages connexes

<Columns cols={2}>
  <Card title="Event Streams" icon="bolt" href="./event-streams">
    Configurez Event Streams, notamment la configuration, les templates de corps et le débogage.
  </Card>

  <Card title="Utilisation de la syntaxe Liquid" icon="code" href="./using-liquid-syntax">
    Référence de la syntaxe Liquid utilisée pour personnaliser les corps Event Stream.
  </Card>

  <Card title="Event Streams de messages in-app" icon="message" href="./iam-event-streams">
    Détails sur les données d'événements de messages in-app et le suivi des carrousels.
  </Card>

  <Card title="Glossaire des métriques" icon="chart-bar" href="./analytics-metrics-glossary">
    Définitions de toutes les métriques d'événements de message sur tous les canaux.
  </Card>
</Columns>

***

## 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](./custom-events). 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](./using-liquid-syntax) pour plus de détails.

***
