Prérequis
- Contactez l’équipe commerciale OneSignal pour l’accès.
- L’URL ou l’adresse IP doit être valide et accessible via HTTP ou HTTPS.
- Les endpoints doivent être publiquement routables — pas derrière un pare-feu ou sur localhost.
- Les domaines doivent avoir un domaine de premier niveau valide (
.com,.org,.net, etc.).
Configuration
Une fois votre Journey créé, suivez ces étapes :- Accédez à Données > Webhooks dans le tableau de bord OneSignal.
- Cliquez pour créer un nouveau webhook.
- Définissez les éléments suivants :
- Méthode HTTP (généralement
POST) - URL cible
- En-têtes personnalisés (par exemple, tokens d’authentification)
- Contenu du corps (texte brut ou JSON, en utilisant optionnellement Liquid)
- Méthode HTTP (généralement

En-têtes non autorisés
Vous ne pouvez pas définir les en-têtes suivants :content-lengthreferermetadata-flavorx-google-metadata-requesthost- Tout en-tête commençant par
x-onesignal
Tester les webhooks
Vous pouvez également tester votre endpoint manuellement à l’aide d’un outil comme curl :Personnalisation
Tous les champs de webhook prennent en charge la syntaxe Liquid, vous permettant d’insérer dynamiquement des données utilisateur et d’abonnement dans la requête. Consultez la Personnalisation des messages pour la liste complète des propriétés disponibles.Référence des données utilisateur
Les propriétés suivantes de l’objetuser sont disponibles dans les champs de webhook via la syntaxe Liquid :
| Propriété | Type | Utilisation | Disponible en test ? |
|---|---|---|---|
| OneSignal ID | String | {{ user.onesignal_id }} | ✅ |
| External ID | String | {{ user.external_id }} | ✅ |
| Tags | Object | {{ user.tags.your_tag_key_here }} | ❌ |
| Language | String | {{ user.language }} | ✅ |
Ajouter un webhook à un Journey
- Après avoir créé et testé votre webhook, ouvrez votre Journey.
- Ajoutez une étape Webhook où nécessaire.
- Sélectionnez le webhook que vous avez configuré précédemment.

Débogage et journaux
Statistiques du webhook
Accédez à l’onglet Statistiques du webhook pour voir les performances de votre webhook. Cela inclut :- Total d’événements envoyés
- Tendances du temps de réponse
- Distribution des codes de statut

Onglet Journaux
Pour des informations plus détaillées, l’onglet Journaux affiche :- Données de requête/réponse récentes
- Codes de statut et messages d’erreur
- En-têtes et charges utiles (le cas échéant)

Logique de nouvelle tentative et comportement de désactivation
OneSignal réessaie les requêtes webhook échouées pour les erreurs récupérables (par exemple,429 Too Many Requests). Les nouvelles tentatives se produisent avec des délais croissants.
Si les nouvelles tentatives échouent à plusieurs reprises, le webhook est marqué comme définitivement échoué et aucune autre tentative n’est effectuée.
Désactivation automatique
Si un webhook échoue de manière constante, OneSignal le désactive pour éviter d’autres problèmes. Les administrateurs reçoivent des alertes par e-mail et une bannière dans le tableau de bord avant et après la désactivation d’un webhook. Identifiez la cause principale et testez le webhook avant de le réactiver. Votre endpoint doit être capable de gérer le volume d’événements produit par votre Journey. Examinez le volume d’envoi de messages de votre application pour estimer le débit nécessaire à votre API.Conseils de performance
- Les endpoints lents ou surchargés (surtout ceux renvoyant des réponses
429) peuvent déclencher la désactivation automatique. - Enregistrez les événements rapidement et différez le traitement supplémentaire pour éviter les délais d’attente.
- Le volume évolue avec l’activité des utilisateurs — assurez-vous que votre endpoint peut gérer le débit maximal.
- Utilisez la valeur
event.id(disponible en en-tête ou dans le corps) pour dédupliquer les événements entrants.
Meilleures pratiques de fiabilité
- Routez d’abord via votre propre serveur, pas directement vers des services tiers. Cela vous donne le contrôle sur la journalisation, l’authentification, la limitation et la mise en file d’attente. Les services tiers peuvent limiter ou bloquer les requêtes lors des pics de volume, et OneSignal ne gère pas ces limites.
- Planifiez les rafales. L’exécution du webhook se produit immédiatement lorsque les utilisateurs atteignent l’étape. Si de nombreux utilisateurs atteignent une étape webhook en même temps, OneSignal envoie une rafale de requêtes HTTP sans limitation de débit. Envisagez de créer une couche API légère ou un proxy de mise en file d’attente capable d’ingérer les webhooks de manière fiable, d’appliquer des limites de débit ou du traitement par lots, et de router les requêtes vers vos services tiers de manière appropriée.
- Vérifiez les limites des API tierces. Les outils populaires comme Slack, Twilio et Segment offrent des API HTTP publiques, mais ont leurs propres limites de débit, exigences d’authentification et gestion des erreurs. Consultez leur documentation avant de vous connecter directement.
Sécuriser votre webhook
Pour vérifier que les requêtes proviennent de OneSignal et n’ont pas été altérées :- Signature HMAC : Incluez un secret partagé dans la configuration du webhook. OneSignal signe chaque requête avec un en-tête HMAC que votre serveur peut valider avant de traiter la charge utile.
- Token d’authentification personnalisé : Ajoutez un en-tête d’autorisation personnalisé (par exemple,
Authorization: Bearer VOTRE_TOKEN_SECRET) et vérifiez-le côté serveur avant d’accepter la requête.
FAQ
Puis-je utiliser les webhooks pour appeler les API OneSignal ?
Non. Les webhooks de Journey sont conçus uniquement pour envoyer des données à des systèmes externes. Ils ne peuvent pas appeler les API OneSignal. Pour mettre à jour les données OneSignal en fonction des événements de Journey, routez le webhook via votre propre serveur et faites appeler l’API OneSignal par votre serveur.Pourquoi mon webhook a-t-il été automatiquement désactivé ?
OneSignal désactive les webhooks qui échouent de manière constante pour éviter d’autres problèmes. Vérifiez l’onglet Journaux pour les détails des erreurs (codes de statut, corps de réponse), corrigez la cause principale et testez le webhook avant de le réactiver. Les causes courantes incluent les pannes d’endpoint, les erreurs d’authentification et la limitation de débit.Comment puis-je dédupliquer les événements webhook ?
Utilisez la valeurevent.id (disponible en en-tête ou dans le corps de la requête) pour identifier les événements uniques. Stockez les ID d’événements traités sur votre serveur et ignorez les doublons. C’est particulièrement important si les nouvelles tentatives livrent le même événement plusieurs fois.
OneSignal limite-t-il le débit des requêtes webhook ?
Non. OneSignal envoie les requêtes webhook immédiatement lorsque les utilisateurs atteignent l’étape, sans limitation de débit. Si de nombreux utilisateurs atteignent une étape webhook en même temps, votre endpoint reçoit une rafale de requêtes. Créez votre endpoint pour gérer le volume maximal, ou utilisez un proxy de mise en file d’attente pour mettre en mémoire tampon et regrouper les requêtes.Puis-je tester les webhooks sans lancer un Journey ?
Oui. Utilisez le bouton Test dans la configuration du webhook pour envoyer une requête exemple. Notez que les tags ne sont pas disponibles dans les requêtes de test — utilisez des abonnements de test dans un Journey actif pour une validation complète.Pages connexes
Vue d'ensemble des Journeys
Introduction aux Journeys et fonctionnement des flux multicanaux.
Actions de Journey
Ajoutez des étapes d’attente, une logique de branchement, des fenêtres de temps et des chemins divisés.
Syntaxe Liquid
Référence complète pour les templates Liquid dans les messages et webhooks OneSignal.
Personnalisation des messages
Vue d’ensemble de toutes les méthodes de personnalisation incluant les tags, Liquid et le contenu dynamique.