Passer au contenu principal

Vue d’ensemble

L’intégration OneSignal + MySQL permet la synchronisation des événements personnalisés depuis votre base de données MySQL vers OneSignal pour déclencher des campagnes de messagerie automatisées et des parcours basés sur le comportement des utilisateurs. MySQL est un système de gestion de base de données relationnelle open source largement utilisé, idéal pour stocker des données d’événement structurées qui peuvent alimenter des campagnes de messagerie personnalisées.

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)

MySQL

  • MySQL Community 5.7 ou version ultérieure, ou versions récentes de MariaDB
  • Tables d’événements contenant des données comportementales structurées
  • Connectivité réseau de OneSignal vers votre instance MySQL
  • TLS v1.2 ou version supérieure prise en charge

Configuration

1

Créer un utilisateur dédié pour OneSignal

Créez un compte utilisateur dédié avec des permissions en lecture seule :
-- Create census user with ability to sign in with a password
CREATE USER CENSUS IDENTIFIED BY '<strong, unique password>';

-- Grant read-only access to your event schema
GRANT SELECT ON <your_schema>.* TO CENSUS;
Si vous avez plusieurs schémas contenant des données d’événement, répétez l’instruction GRANT SELECT pour chaque schéma.
2

Configurer la connexion OneSignal

Dans OneSignal, allez dans Data > Integrations et cliquez sur Add Integration.Sélectionnez MySQL et fournissez vos détails de connexion :
  • Host : Nom d’hôte de votre serveur MySQL
  • Port : Port MySQL (généralement 3306)
  • Database : Nom de la base de données contenant vos tables d’événements
  • Username : CENSUS
  • Password : Le mot de passe que vous avez créé ci-dessus
3

Tester la connexion

Cliquez sur Test Connection pour vérifier que OneSignal peut se connecter avec succès à votre base de données MySQL et accéder à vos tables d’événements.

Mappage des données d’événement

Mappez vos au format des événements personnalisés de OneSignal :
Champ OneSignalDescriptionRequis
nameevent_nameIdentifiant de l’événementOui
external_iduser_idIdentifiant de l’utilisateurOui
timestampevent_timestampQuand l’événement s’est produitNon
propertiesevent_dataNon

Exemple de schéma de table d’événements

CREATE TABLE user_events (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    event_name VARCHAR(100) NOT NULL,
    user_id VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    event_data JSON,
    session_id VARCHAR(255),
    device_type VARCHAR(50)
);

Mode table

Sélectionnez directement votre table d’événements et OneSignal synchronisera toutes les lignes en tant qu’événements individuels.

Mode requête SQL

Rédigez des requêtes SQL personnalisées pour transformer vos données d’événement :
-- Example: Recent high-value events
SELECT
    event_name,
    user_id,
    created_at as timestamp,
    event_data as payload
FROM user_events
WHERE created_at >= DATE_SUB(NOW(), INTERVAL 7 DAY)
    AND JSON_EXTRACT(event_data, '$.value') > 100
ORDER BY created_at DESC;

Configuration réseau avancée

OneSignal peut se connecter avec succès aux instances MySQL en utilisant des contrôles de réseau avancés, notamment les contraintes régionales, les listes d’autorisation d’adresses IP ou le tunneling SSH. OneSignal prend en charge MySQL avec les versions TLS 1.2 et supérieures pour des connexions sécurisées.

FAQ

Quelles versions de MySQL sont prises en charge ?

OneSignal prend en charge MySQL Community 5.7 ou version ultérieure, ainsi que les versions récentes de MariaDB.

Puis-je me connecter à MySQL dans un réseau privé ?

Oui, OneSignal prend en charge le tunneling SSH et les listes d’autorisation IP pour la connexion aux instances MySQL dans des réseaux privés ou derrière des pare-feu.