- Événements de messages push (envoyés, reçus, cliqués, échoués, désabonnés)
- Événements e-mail (envoyés, ouverts, cliqués, rebondis, désabonnés, etc.)
- Événements SMS (envoyés, échoués, désabonnés, etc.)
- Événements de messages in-app (impression, cliqués, etc.)
- Événements Live Activity (envoyés, livrés, livraison confirmée, échoués, désabonnés, cliqués)
Cas d’usage courants
- Centraliser les données d’engagement — Diffusez des événements vers un CRM, un CDP ou un entrepôt de données afin que l’activité multicanale (ouvertures, clics, rebonds) soit regroupée en un seul endroit plutôt que dispersée entre des outils déconnectés.
- Analyse, reporting et conformité — Enregistrez chaque événement de message dans un entrepôt pour l’analyse des tendances, l’audit ou la conservation des registres réglementaires.
- Surveiller le désengagement — Suivez les désabonnements, les rebonds et les rejets dans vos propres systèmes pour détecter les risques de rétention tôt.
- Déclencher des flux de travail externes — Lancez des automatisations dans d’autres outils lorsqu’un utilisateur ouvre ou clique sur un message (p. ex., mettre à jour un score de lead, démarrer une séquence de suivi).
- Remplacer les synchronisations par lots et les intégrations supplémentaires — Réagissez aux événements en temps réel et connectez OneSignal directement à votre destination, réduisant les outils intermédiaires et les coûts de maintenance.
Démarrer avec votre équipe technique
La configuration d’Event Streams est un effort conjoint entre le responsable marketing/produit (qui décide quels événements sont importants et où ils vont) et l’équipe d’ingénierie (qui construit l’endpoint récepteur et configure le stream). Voici ce que cela implique côté ingénierie :- Décider de la destination et du périmètre — Convenir de l’endroit où les événements doivent arriver (votre propre API, un entrepôt de données, un CDP, etc.), des types d’événements à diffuser (push, e-mail, SMS, IAM, Live Activity) et d’une estimation du volume de messages pour dimensionner correctement l’endpoint.
- Configurer un endpoint HTTP — Construire ou configurer un endpoint accessible publiquement qui accepte les requêtes POST. Il doit enregistrer les événements rapidement sans traitement lourd pour maintenir des temps de réponse bas. Consultez Nouvelles tentatives / Désactivation pour les attentes de performance et ce qui se passe lorsque l’endpoint prend du retard.
- Configurer l’Event Stream dans OneSignal — Dans Données > Event Streams, sélectionnez les événements, définissez l’URL et les en-têtes d’authentification, et définissez le corps JSON en utilisant les champs de Données Event Streams avec la syntaxe Liquid.
- Tester de bout en bout — Utilisez webhook.site pour vérifier la forme du payload et les en-têtes avant de basculer vers votre endpoint de production (voir Tests).
Configuration
Vous pouvez configurer un nouvel event stream pour votre application OneSignal sous Données > Event Streams > Nouvel Event Stream.
- Une URL ou adresse IP valide pour un endpoint HTTP(S) accessible publiquement
- Les URL et adresses IP doivent être accessibles publiquement
- Les domaines doivent inclure un domaine de premier niveau reconnu (par ex. “.com”, “.net”)
Sélection d’événements
Nommez votre Event Stream et cliquez sur Sélectionner les événements.

Filtres d’event stream
Vous pouvez optionnellement affiner davantage les événements en spécifiant les identifiants d’un ou plusieurs messages ou modèles, vous permettant de recevoir uniquement des événements liés à des messages spécifiques.

Configurer l’Event Stream
Sélectionnez la méthode HTTP, l’URL et ajoutez des en-têtes pour l’event stream. C’est ici que l’authentification doit être configurée pour assurer une communication sécurisée entre OneSignal et vos systèmes. L’URI et les en-têtes peuvent contenir de la syntaxe liquid qui proviendra à la fois des propriétés utilisateur et des propriétés de l’event stream.En-têtes d’authentification
Vous pouvez ajouter des en-têtes d’authentification pour valider que les requêtes vers votre endpoint proviennent véritablement de OneSignal. Les méthodes d’authentification courantes incluent :- En-tête Authorization : Ajoutez un en-tête
Authorization, oùYOUR_TOKENest fourni par votre système ou un tiers comme :Basic {{YOUR_TOKEN}}Bearer {{YOUR_TOKEN}}ApiKey {{YOUR_API_KEY}}
- En-têtes personnalisés : Vous pouvez également ajouter des en-têtes personnalisés comme :
X-API-Key: {{YOUR_API_KEY}}
Tester votre configuration
Si vous cherchez un moyen facile de tester, utilisez webhook.site. Trouvez “Your unique URL” au centre de la page. Copiez cette URL et utilisez-la dans le champ URL de votre configuration d’event stream.
En-têtes non autorisés
Les en-têtes suivants sont restreints et ne peuvent pas être définis.content-lengthreferermetadata-flavorx-google-metadata-requesthostx-onesignal*
Corps
Le corps d’un event stream sera en JSON. Le JSON du corps peut être défini soit comme des paires clé/valeur individuelles, soit comme un bloc de code modifiable. Pour changer la méthode de saisie, utilisez le premier menu déroulant sous l’en-tête du corps et sélectionnez le corps personnalisé.

Personnalisation
Vous pouvez personnaliser tous les champs de votre Event Stream avec des données Event Streams prédéfinies. Ces données peuvent être ajoutées en utilisant la syntaxe Liquid. Cela vous donne la flexibilité d’utiliser les event streams pour presque tous les cas d’usage.Voir Données Event Streams pour une liste de toutes les données d’événements, de messages et d’utilisateurs disponibles pour la personnalisation.
Exemple de corps
Sélectionnez “Corps personnalisé” dans le menu déroulant :JSON

Utilisation de la syntaxe Liquid dans JSON
Lors de l’utilisation de la syntaxe Liquid dans JSON, les guillemets appropriés dépendent du type de données : Directives pour le formatage JSON- Chaînes → Doivent être enveloppées dans des guillemets.
- Nombres → Ne doivent pas être enveloppés dans des guillemets.
- Objets → Ne doivent pas être enveloppés dans des guillemets.
Les lignes de commentaire
// dans les exemples Corrects ci-dessous sont uniquement pour la lisibilité. Supprimez-les dans le corps réel de votre Event Stream — le JSON strict n’autorise pas les commentaires //.- Chaînes
- Nombres et booléens
- Objets
✅ Correct — envelopper dans des guillemets :❌ Incorrect — l’absence de guillemets produit un JSON invalide :
JSON
JSON
- Utilisez des vérifications de langue directes : Vérifiez toujours
user.languagedirectement dans les conditionnels, pas dans des variables commeuserLang, pour une meilleure compatibilité. - Commencez simplement : Commencez par des phrases de base, puis ajoutez progressivement de la complexité.
- Évitez l’imbrication excessive : Gardez les conditionnels plats pour éviter les problèmes d’analyse.
- Testez d’abord la ponctuation de base : Commencez par des phrases simples et de la ponctuation avant d’utiliser des caractères spéciaux.
- Utilisez des solutions de secours : Assurez-vous d’avoir une langue par défaut (par ex. anglais) en cas de traductions manquantes.
- Tenez-vous-en aux clés standard : Utilisez des clés OneSignal standard comme
content/title/enpour la fiabilité.
Pour des détails et des options sur comment personnaliser vos messages en utilisant la syntaxe Liquid, consultez notre Guide d’utilisation de la syntaxe Liquid.
Résultats et débogage
Surveiller les performances de votre Event Stream et résoudre les problèmes : Onglet Rapport — Affiche les totaux de tous les temps, le statut actuel de votre event stream et un graphique de séries chronologiques des codes de réponse HTTP au fil du temps.| Réponse | Signification |
|---|---|
| 2xx | L’événement a été reçu avec succès par votre endpoint. |
| 4xx / 5xx | Votre endpoint a renvoyé une erreur. Consultez l’onglet Logs pour le code de statut spécifique et le corps de la réponse. |
| Timeout | Votre endpoint n’a pas répondu dans la fenêtre autorisée. OneSignal a fermé la connexion et traité la livraison comme échouée. |

Nouvelles tentatives / Désactivation
Comportement de nouvelles tentatives — Lorsqu’une requête échoue avec un statut récupérable (p. ex.429), OneSignal réessaie avec des délais croissants. Si les nouvelles tentatives pour un seul événement continuent d’échouer, cet événement est marqué comme définitivement échoué et n’est plus retenté.
Désactivation automatique — Si votre endpoint renvoie des échecs soutenus sur de nombreux événements, OneSignal peut désactiver l’intégralité de l’event stream. Lorsque cela se produit :
- Les administrateurs d’application et d’organisation reçoivent un e-mail lorsque le volume d’échecs devient significatif (avant la désactivation) et à nouveau lorsque le stream est désactivé.
- Une bannière apparaît également sur la page d’index des Event Streams dans le tableau de bord.
- Corrigez le problème sous-jacent, testez avec l’onglet Logs ou webhook.site, et réactivez le stream.
- Enregistrez les événements rapidement — Écrivez l’événement entrant dans une file d’attente ou un magasin de données sans traitement inline lourd.
- Évitez les réponses lentes et les 429 — Des temps de réponse constamment lents ou des réponses de limite de débit entraînent l’accumulation d’événements, ce qui pousse OneSignal à désactiver le stream.
- Dimensionnez pour votre volume d’envoi — Si vous envoyez 100k messages, attendez jusqu’à 100k événements par type d’événement sélectionné. Consultez le volume de messages de votre plan et provisionnez en conséquence.
event.id unique. Incluez-le dans un en-tête ou dans le corps JSON afin que votre système puisse dédupliquer si le même événement est retenté ou rejoué.
Conseils pour réussir
- Pointez d’abord les streams vers vos propres serveurs. Vous pouvez vous connecter directement à une API tierce, mais le débogage, la gestion des limites de débit et la gestion du volume sont plus difficiles lorsque vous ne contrôlez pas l’extrémité réceptrice.
- Mettez en mémoire tampon avant de transmettre à des tiers. OneSignal envoie des événements aussi vite que les utilisateurs les déclenchent — un envoi important peut produire une rafale qui dépasse les limites de débit externes ou fait monter les coûts (surtout avec les fournisseurs SMS). Créez un service léger qui accepte les événements, les met en file d’attente et les transmet aux API externes à un rythme que vous contrôlez.
- Consultez les docs API des tiers. De nombreux services exposent des API HTTP publiques que vous pouvez cibler avec un event stream. Recherchez leur documentation sur l’authentification, le format de payload accepté et les limites de débit avant de configurer votre stream.
Limitations des données d’événements de message
Les données des messages envoyés via nos Journeys ou API ne sont disponibles dans OneSignal que pendant 30 jours. Cela signifie que tous les événements de message (comme les clics, ouvertures, désabonnements, etc.) qui se produisent 30+ jours après l’envoi du message Journey ou API, ne seront pas disponibles dans l’event stream. Cela peut apparaître comme des données vides ou manquantes dans votre analyse. Pour contourner cette limitation, vous pouvez corréler lemessage.id de ces événements cliqués/ouverts/désabonnés avec l’événement sent original qui a le même message.id. L’événement sent original devrait avoir les données de message pertinentes (titre, modèle, etc).
Tests
Guide de test de bout en bout utilisant webhook.site. Collez Your unique URL dans le champ URL de l’Event Stream avec la méthode POST.


- Host : l’adresse IP d’où provient la requête. Voir Aperçu de l’API REST pour une liste des IP possibles.
- Request Content : les données envoyées dans le corps de l’event stream.