Pular para o conteúdo principal

Visão geral

A integração OneSignal + SQL Server permite a sincronização de eventos personalizados do seu banco de dados Microsoft SQL Server para o OneSignal para acionar campanhas de mensagens automatizadas e Journeys com base no comportamento do usuário. SQL Server é o sistema de gerenciamento de banco de dados relacional da Microsoft projetado para aplicações empresariais e data warehousing.

Requisitos

SQL Server

  • Instância SQL Server com acesso de rede
  • Usuário de banco de dados com permissões apropriadas
  • Tabelas de eventos contendo dados comportamentais estruturados
  • Conectividade de rede do OneSignal para sua instância SQL Server

Configuração

1

Criar usuário dedicado para o OneSignal

Crie uma conta de usuário dedicada com uma senha forte e única:
-- Create census user with the ability to sign in with a password
CREATE USER CENSUS WITH PASSWORD = '<strong-unique-password>';

-- Give the census user the ability to connect to database
GRANT CONNECT TO CENSUS;
Todos os comandos SQL Server serão executados dentro do banco de dados especificado ao executar o script.
2

Conceder permissões de leitura

Forneça acesso somente leitura aos seus dados de eventos:
-- Give the census user the ability to read tables within the database
EXEC sp_addrolemember 'db_datareader', CENSUS;

-- Grant census user ability to read data from within a schema
-- Run this for each schema you intend OneSignal to access
GRANT SELECT, VIEW DEFINITION ON SCHEMA::<your-schema> TO CENSUS;
Substitua <your-schema> pelo nome real do seu schema contendo dados de eventos. Repita este comando para cada schema que você deseja que o OneSignal acesse.
3

Configurar Advanced Sync Engine (Opcional)

Para desempenho aprimorado, crie um schema de contabilidade para o estado de sincronização do OneSignal:
-- Create a private bookkeeping schema where Census can store sync state
CREATE SCHEMA CENSUS AUTHORIZATION CENSUS;

-- Give the census user full access to the bookkeeping schema
GRANT ALTER, DELETE, EXECUTE, INSERT, REFERENCES, SELECT,
          UPDATE, VIEW DEFINITION ON SCHEMA::CENSUS TO CENSUS;

-- Give the census user the ability to create tables within the database
GRANT CREATE TABLE TO CENSUS;
Pule esta etapa se estiver usando Basic Sync Engine ou modo somente leitura.
4

Conectar ao OneSignal

In OneSignal, go to Data > Integrations and click Add Integration.Selecione SQL Server e forneça os seguintes detalhes de conexão:
  • Host: Nome do host ou endereço IP da sua instância SQL Server
  • Port: 1433 (padrão) ou sua porta customizada
  • Database: Nome do seu banco de dados
  • Username: CENSUS
  • Password: A senha da Etapa 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

Exemplo de Schema de Tabela de Eventos

-- Example SQL Server event table
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

Escreva consultas SQL personalizadas para transformar seus dados de eventos:
-- Example: Recent high-value events
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;

Configuração Avançada de Rede

O OneSignal pode se conectar com sucesso a instâncias SQL Server que estão usando controles de rede avançados, incluindo restrições de região, listas de permissão de endereços IP ou SSH Tunneling. Para mais informações sobre configuração de acesso de rede, entre em contato com seu administrador SQL Server ou suporte do OneSignal.

Opções de Sync Engine

Basic Sync Engine

  • Acesso somente leitura aos seus dados de eventos
  • Rastreamento de estado gerenciado pela infraestrutura do OneSignal
  • Configuração mais simples com permissões mínimas

Advanced Sync Engine

  • Desempenho aprimorado com rastreamento de estado local
  • Requer permissões adicionais para criar tabelas
  • Recomendado para processamento de eventos de alto volume

Limitações

  • Consultas complexas podem impactar o desempenho do banco de dados durante períodos de alto tráfego
  • Operações JSON requerem SQL Server 2016 ou posterior para desempenho ideal
  • Todas as permissões são concedidas no nível do banco de dados especificado durante a configuração

FAQ

Posso me conectar a múltiplos schemas SQL Server?

Sim, você pode conceder ao usuário CENSUS acesso a múltiplos schemas executando a declaração GRANT SELECT, VIEW DEFINITION ON SCHEMA::<schema> para cada schema contendo dados de eventos.

Quais versões do SQL Server são suportadas?

O OneSignal suporta versões modernas do SQL Server. Para operações JSON em consultas de eventos, SQL Server 2016 ou posterior é recomendado.

Preciso usar o Advanced Sync Engine?

Não, o Basic Sync Engine funciona bem para a maioria dos casos de uso. Use o Advanced Sync Engine se você precisa de desempenho aprimorado e pode permitir que o OneSignal crie tabelas na sua instância SQL Server.