Saltar al contenido principal

Resumen

La integración de OneSignal + MySQL permite la sincronización de eventos personalizados desde tu base de datos MySQL a OneSignal para activar campañas de mensajería automatizadas y Journeys basados en comportamiento de usuario. MySQL es un sistema de gestión de bases de datos relacionales de código abierto ampliamente usado, ideal para almacenar datos de eventos estructurados que pueden impulsar campañas de mensajería personalizadas.

Requisitos

MySQL

  • MySQL Community 5.7 o posterior, o versiones recientes de MariaDB
  • Tablas de eventos que contengan datos de comportamiento estructurados
  • Conectividad de red desde OneSignal a tu instancia de MySQL
  • TLS v1.2 o superior soportado

Configuración

1

Crear usuario dedicado para OneSignal

Crea una cuenta de usuario dedicada con permisos de solo lectura:
-- 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 tienes múltiples esquemas que contienen datos de eventos, repite la declaración GRANT SELECT para cada esquema.
2

Configurar conexión de OneSignal

In OneSignal, go to Data > Integrations and click Add Integration.Selecciona MySQL y proporciona tus detalles de conexión:
  • Host: El hostname de tu servidor MySQL
  • Port: Puerto MySQL (típicamente 3306)
  • Database: Nombre de la base de datos que contiene tus tablas de eventos
  • Username: CENSUS
  • Password: La contraseña que creaste arriba
3

Probar conexión

Haz clic en Test Connection para verificar que OneSignal puede conectarse exitosamente a tu base de datos MySQL y acceder a tus tablas de eventos.

Event data mapping

Map your to OneSignal’s custom events format:
OneSignal FieldDescriptionRequired
nameevent_nameEvent identifierYes
external_iduser_idUser identifierYes
timestampevent_timestampWhen event occurredNo
propertiesevent_dataNo

Ejemplo de esquema de tabla de eventos

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)
);

Modo de tabla

Selecciona tu tabla de eventos directamente y OneSignal sincronizará todas las filas como eventos individuales.

Modo de consulta SQL

Escribe consultas SQL personalizadas para transformar tus datos de eventos:
-- 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;

Configuración avanzada de red

OneSignal puede conectarse exitosamente a instancias de MySQL usando controles de red avanzados incluyendo restricciones de región, listas de direcciones IP permitidas o túnel SSH. OneSignal soporta MySQL con versiones TLS 1.2 y superiores para conexiones seguras.

Preguntas frecuentes

¿Qué versiones de MySQL están soportadas?

OneSignal soporta MySQL Community 5.7 o posterior, así como versiones recientes de MariaDB.

¿Puedo conectarme a MySQL en una red privada?

Sí, OneSignal soporta túnel SSH y listas de IP permitidas para conectarse a instancias de MySQL en redes privadas o detrás de firewalls.