Saltar al contenido principal

Descripción general

La integración OneSignal + SQL Server habilita la sincronización de eventos personalizados desde tu base de datos Microsoft SQL Server a OneSignal para activar campañas de mensajería automatizadas y Journeys basados en el comportamiento del usuario. SQL Server es el sistema de gestión de base de datos relacional de Microsoft diseñado para aplicaciones empresariales y almacenamiento de datos.

Requisitos

SQL Server

  • Instancia de SQL Server con acceso de red
  • Usuario de base de datos con permisos apropiados
  • Tablas de eventos conteniendo datos de comportamiento estructurados
  • Conectividad de red desde OneSignal a tu instancia de SQL Server

Configuración

1

Crear usuario dedicado para OneSignal

Crea una cuenta de usuario dedicada con una contraseña fuerte y única:
-- Crear usuario census con la capacidad de iniciar sesión con contraseña
CREATE USER CENSUS WITH PASSWORD = '<strong-unique-password>';

-- Dar al usuario census la capacidad de conectarse a la base de datos
GRANT CONNECT TO CENSUS;
Todos los comandos de SQL Server se ejecutarán dentro de la base de datos que se especifica al ejecutar el script.
2

Otorgar permisos de lectura

Proporciona acceso de solo lectura a tus datos de eventos:
-- Dar al usuario census la capacidad de leer tablas dentro de la base de datos
EXEC sp_addrolemember 'db_datareader', CENSUS;

-- Otorgar al usuario census capacidad de leer datos dentro de un esquema
-- Ejecuta esto para cada esquema que pretendes que OneSignal acceda
GRANT SELECT, VIEW DEFINITION ON SCHEMA::<your-schema> TO CENSUS;
Reemplaza <your-schema> con el nombre real de tu esquema que contiene datos de eventos. Repite este comando para cada esquema al que quieras que OneSignal acceda.
3

Configurar Motor de Sincronización Avanzado (Opcional)

Para rendimiento mejorado, crea un esquema de contabilidad para el estado de sincronización de OneSignal:
-- Crear un esquema de contabilidad privado donde Census puede almacenar el estado de sincronización
CREATE SCHEMA CENSUS AUTHORIZATION CENSUS;

-- Dar al usuario census acceso completo al esquema de contabilidad
GRANT ALTER, DELETE, EXECUTE, INSERT, REFERENCES, SELECT,
          UPDATE, VIEW DEFINITION ON SCHEMA::CENSUS TO CENSUS;

-- Dar al usuario census la capacidad de crear tablas dentro de la base de datos
GRANT CREATE TABLE TO CENSUS;
Omite este paso si usas el Motor de Sincronización Básico o modo de solo lectura.
4

Conectar a OneSignal

In OneSignal, go to Data > Integrations and click Add Integration.Selecciona SQL Server y proporciona los siguientes detalles de conexión:
  • Host: El nombre de host o dirección IP de tu instancia de SQL Server
  • Port: 1433 (predeterminado) o tu puerto personalizado
  • Database: El nombre de tu base de datos
  • Username: CENSUS
  • Password: La contraseña del Paso 1

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

-- Ejemplo de tabla de eventos de SQL Server
CREATE TABLE analytics.user_events (
    event_id BIGINT IDENTITY(1,1) PRIMARY KEY,
    event_name NVARCHAR(100) NOT NULL,
    user_id NVARCHAR(255) NOT NULL,
    event_timestamp DATETIME2 DEFAULT GETUTCDATE(),
    event_data NVARCHAR(MAX),
    session_id NVARCHAR(255),
    device_type NVARCHAR(50)
);

Modo de consulta SQL

Escribe consultas SQL personalizadas para transformar tus datos de eventos:
-- Ejemplo: Eventos recientes de alto valor
SELECT
    event_name,
    user_id,
    event_timestamp,
    event_data
FROM analytics.user_events
WHERE event_timestamp >= DATEADD(day, -7, GETUTCDATE())
    AND JSON_VALUE(event_data, '$.value') > 100
ORDER BY event_timestamp DESC;

Configuración de red avanzada

OneSignal puede conectarse exitosamente a instancias de SQL Server que están usando controles de red avanzados incluyendo restricciones de región, listas de permitidos de direcciones IP o Túnel SSH. Para más información sobre configurar acceso de red, contacta a tu administrador de SQL Server o soporte de OneSignal.

Opciones de motor de sincronización

Motor de Sincronización Básico

  • Acceso de solo lectura a tus datos de eventos
  • Seguimiento de estado gestionado por infraestructura de OneSignal
  • Configuración más simple con permisos mínimos

Motor de Sincronización Avanzado

  • Rendimiento mejorado con seguimiento de estado local
  • Requiere permisos adicionales para crear tablas
  • Recomendado para procesamiento de eventos de alto volumen

Limitaciones

  • Las consultas complejas pueden impactar el rendimiento de la base de datos durante períodos de alto tráfico
  • Las operaciones JSON requieren SQL Server 2016 o posterior para rendimiento óptimo
  • Todos los permisos se otorgan a nivel de base de datos especificado durante la configuración

FAQ

¿Puedo conectarme a múltiples esquemas de SQL Server?

Sí, puedes otorgar al usuario CENSUS acceso a múltiples esquemas ejecutando la declaración GRANT SELECT, VIEW DEFINITION ON SCHEMA::<schema> para cada esquema que contiene datos de eventos.

¿Qué versiones de SQL Server están soportadas?

OneSignal soporta versiones modernas de SQL Server. Para operaciones JSON en consultas de eventos, se recomienda SQL Server 2016 o posterior.

¿Necesito usar el Motor de Sincronización Avanzado?

No, el Motor de Sincronización Básico funciona bien para la mayoría de los casos de uso. Usa el Motor de Sincronización Avanzado si necesitas rendimiento mejorado y puedes permitir que OneSignal cree tablas en tu instancia de SQL Server.