Vue d’ensemble
L’intégration OneSignal + ClickHouse permet la synchronisation automatique des événements personnalisés depuis votre base de données analytique ClickHouse vers OneSignal. Cela vous permet de déclencher des parcours automatisés et des campagnes de messagerie personnalisées basées sur les données comportementales des utilisateurs stockées dans votre base de données en colonnes haute performance.Prérequis
- Accès aux Event Streams pour les événements de message sortants (Les limitations de forfait et les dépassements s’appliquent)
- Accès aux Événements personnalisés pour la synchronisation des événements entrants (Les limitations de forfait et les dépassements s’appliquent)
- Forfait de compte mis à jour (non disponible sur les applications gratuites)
ClickHouse
- Serveur ClickHouse (auto-hébergé ou cloud)
- Identifiants de base de données avec accès en lecture aux tables d’événements
- Tables de données d’événements contenant des données comportementales avec un schéma approprié
Configuration
1
Créer un utilisateur ClickHouse pour OneSignal
Créez un compte utilisateur dédié pour OneSignal avec un accès en lecture seule à vos tables d’événements :
2
Configurer l'accès réseau
Assurez-vous que OneSignal peut se connecter à votre instance ClickHouse :
- Auto-hébergé : Autorisez les connexions depuis les adresses IP de OneSignal
- ClickHouse Cloud : Ajoutez les IP OneSignal à votre liste autorisée
- Port : Le port ClickHouse par défaut est 8123 (HTTP) ou 9000 (natif)
3
Ajouter l'intégration dans OneSignal
Dans OneSignal, allez dans Data > Integrations et cliquez sur Add Integration.Sélectionnez ClickHouse et fournissez :
- Hôte : Le nom d’hôte ou l’IP de votre serveur ClickHouse
- Port : Port ClickHouse (par défaut : 8123 pour HTTP, 9000 pour natif)
- Base de données : Nom de la base de données contenant les tables d’événements
- Nom d’utilisateur :
onesignal_reader(ou votre nom d’utilisateur choisi) - Mot de passe : Mot de passe pour l’utilisateur ClickHouse
- Protocole : HTTP ou Natif (HTTP recommandé pour la simplicité)
4
Configurer la source de données d'événements
Spécifiez la table ClickHouse contenant vos données d’événements :
- Table : Nom de la table contenant les enregistrements d’événements (par ex.,
user_events) - Requête d’événement : Requête SQL optionnelle pour filtrer ou transformer les données d’événements
- Nom/type d’événement (String)
- Identifiant utilisateur (String)
- Horodatage d’événement (DateTime)
- Propriétés d’événement supplémentaires (JSON ou colonnes individuelles)
5
Tester la connexion
Cliquez sur Tester la connexion pour vérifier que OneSignal peut accéder à votre base de données ClickHouse et lire les données d’événements.
Mappage des données d’événement
Mappez vos au format des événements personnalisés de OneSignal :| Champ OneSignal | Description | Requis | |
|---|---|---|---|
name | event_name | Identifiant de l’événement | Oui |
external_id | user_id | Identifiant de l’utilisateur | Oui |
timestamp | event_timestamp | Quand l’événement s’est produit | Non |
properties | event_data | Non |
Configuration avancée
Requêtes SQL personnalisées
Utilisez du SQL personnalisé pour filtrer ou transformer les données d’événements avant de les synchroniser vers OneSignal :Optimisation des performances
ClickHouse est optimisé pour les requêtes analytiques. Considérez :- Partitionnement : Utilisez le partitionnement basé sur les dates sur l’horodatage d’événement
- Indexation : Créez des index appropriés sur user_id et event_name
- Vues matérialisées : Pré-agrégez les données d’événements pour des requêtes plus rapides