Pular para o conteúdo principal
OneSignal Databricks integration

Visão geral da integração OneSignal Databricks


Visão geral

A integração OneSignal + Databricks suporta sincronização bidirecional de dados:
  • Exportar eventos de mensagem do OneSignal para o Databricks para analytics, dashboards e relatórios.
  • Importar eventos personalizados do Databricks para o OneSignal para acionar Jornadas e campanhas personalizadas.
Use esta integração para unificar seus dados de engajamento e comportamentais entre plataformas e impulsionar estratégias de mensagens informadas por dados.

Exportar eventos do OneSignal para o Databricks

Sincronize eventos de push, email, in-app e SMS do OneSignal no seu lakehouse Databricks para analytics e visibilidade em tempo quase real. Requisitos
  • Plano Professional
  • Custom Events habilitados (para importações de eventos)
  • Plataforma Databricks: AWS, Azure ou GCP
  • Plano Databricks: Premium ou superior
  • Databricks Unity Catalog (recomendado para governança)
  • Databricks SQL Warehouse para consultas
  • Tabelas de eventos Delta Lake (para importação de eventos personalizados)
Etapas de configuração

1. Coletar detalhes do SQL warehouse

1

Faça login no seu workspace Databricks

Vá para SQL Warehouses no seu workspace Databricks.
2

Selecione seu warehouse

Selecione seu warehouse e abra a aba Connection details.
3

Salve os seguintes detalhes

  • Server Hostname
  • Port
  • HTTP Path
Databricks SQL connection details for Fivetran setup

Detalhes de conexão SQL do Databricks para configuração do Fivetran

2. Criar um service principal

1

Vá para a página Service Principals

Vá para Workspace Settings > Identity and Access > Service Principals.
2

Adicionar um novo service principal

Clique em Add Service Principal, depois em Add New.
3

Nomeie o service principal

Nomeie-o (por exemplo, onesignal-sync).
Modal for adding a service principal, with the 'Add new' option highlighted

Modal para adicionar um service principal, com a opção 'Add new' destacada

3. Gerar um segredo

1

Clique no principal criado

2

Vá para a aba Secrets

3

Gere um segredo

Clique em Generate Secret e salve-o com segurança.
O segredo é visível apenas uma vez—armazene-o com segurança.
Databricks 'Generate secret' modal showing OAuth secret and client ID for API authentication

Modal 'Generate secret' do Databricks mostrando OAuth secret e client ID para autenticação de API

4. Atribuir permissões

1

Navegue até seu Catalog e abra a aba Permissions

2

Clique em Grant

3

Atribua as seguintes permissões ao service principal

  • USE CATALOG
  • USE SCHEMA
  • SELECT
  • MODIFY
  • CREATE SCHEMA
  • CREATE TABLE
Privilege assignment screen for a Databricks principal with custom catalog permissions selected

Tela de atribuição de privilégios para um principal do Databricks com permissões de catálogo personalizadas selecionadas.

5. Conectar o OneSignal

1

Ativar a integração

No OneSignal, navegue até Data > Integrations > Databricks.
2

Insira os detalhes

  • Server Hostname
  • Port
  • HTTP Path
  • Catalog Name
  • Schema Name
  • Credenciais do Service Principal (ID + Secret)
OneSignal Databricks Configuration form with fields for catalog, hostname, HTTP path, and OAuth credentials

Formulário de configuração do Databricks do OneSignal com campos para catalog, hostname, HTTP path e credenciais OAuth.

3

Configure a integração

  • Sync Frequency: tão frequentemente quanto a cada 15 minutos
  • Dataset/Table Names: pré-definidos como onesignal_events_<app-id> e message_events (editável)
  • Event Types: escolha quais sincronizar—selecione todos ou apenas o que você precisa
4

Selecione eventos

Selecione os eventos que você deseja receber no seu catálogo Databricks.
OneSignal event export settings screen showing sync status, dataset configuration, and selected message event types

Tela de configurações de exportação de eventos do OneSignal mostrando status de sincronização, configuração de dataset e tipos de eventos de mensagem selecionados.

5

Complete a configuração

Clique em Save e aguarde a confirmação de sucesso
A sincronização inicial de dados pode levar 15–30 minutos para aparecer no BigQuery.Enquanto espera, envie mensagens via push, email, in-app ou SMS para acionar os eventos selecionados.

6. Visualizar dados no Databricks

  1. Abra seu Catalog no Databricks.
  2. Assim que a sincronização for concluída, seu esquema configurado aparecerá.
  3. Acesse e consulte a tabela message_events.
    Databricks Catalog view showing OneSignal message events table under a production schema

    Visualização do Catalog do Databricks mostrando tabela de eventos de mensagem do OneSignal sob um esquema de produção.

  4. Clique em tabelas para pré-visualização de dados de amostra.
    Sample data from the message_events_1 table with synced OneSignal event fields

    Dados de amostra da tabela message_events_1 com campos de evento do OneSignal sincronizados.

Se você encontrar problemas como esquemas ausentes, erros de permissão ou eventos malformados, entre em contato com support@onesignal.com.

Eventos e propriedades de mensagem

Tipos de evento de mensagem

Propriedade: event_kind Tipo: String O tipo de mensagem e evento (por exemplo, message.push.received, message.push.sent).
Evento de Mensagem (OneSignal)event_kindDescrição
Push Sentmessage.push.sentNotificação push enviada com sucesso.
Push Receivedmessage.push.receivedPush entregue (veja Entrega Confirmada).
Push Clickedmessage.push.clickedUsuário clicou no push.
Push Failedmessage.push.failedFalha de entrega. Veja relatórios de mensagens.
Push Unsubscribedmessage.push.unsubscribedUsuário cancelou inscrição de push.
In-App Impressionmessage.iam.displayedMensagem in-app mostrada.
In-App Clickedmessage.iam.clickedMensagem in-app clicada.
In-App Page Viewedmessage.iam.pagedisplayedPágina in-app mostrada.
Email Sentmessage.email.sentEmail entregue.
Email Receivedmessage.email.receivedEmail aceito pelo servidor de email do destinatário.
Email Openedmessage.email.openedEmail aberto. Veja Relatórios de Email.
Email Link Clickedmessage.email.clickedLink no email clicado.
Email Unsubscribedmessage.email.unsubscribedDestinatário cancelou inscrição.
Email Marked Spammessage.email.resporedasspamMarcado como spam. Veja Deliverability de Email.
Email Bouncedmessage.email.hardbouncedBounce devido a falha permanente de entrega.
Email Failedmessage.email.failedEntrega falhou.
Email Suppressedmessage.email.supressedSuprimido devido a lista de supressão.
SMS Sentmessage.sms.sentSMS enviado.
SMS Deliveredmessage.sms.deliveredSMS entregue com sucesso.
SMS Failedmessage.sms.failedSMS falhou ao entregar.
SMS Undeliveredmessage.sms.undeliveredSMS rejeitado ou inalcançável.

Schema de dados de evento

Para cada evento de mensagem gerado por um usuário, os seguintes metadados serão anexados ao registro.
Nome da ColunaTipoDescrição
event_idUUIDIdentificador único para o evento
event_timestampTimestampHorário de ocorrência do evento
event_kindStringO Tipo de Evento
subscription_device_typeStringTipo de dispositivo (por exemplo, iOS, Android, Web, Email, SMS)
languageStringCódigo de idioma da inscrição
versionStringVersão da integração
device_osStringVersão do sistema operacional do dispositivo
device_typeNumberTipo de dispositivo numérico
tokenStringToken push, número de telefone ou email
subscription_idUUIDID da inscrição
subscribedBooleanStatus da inscrição
onesignal_idUUIDID de usuário OneSignal
last_activeStringTimestamp da última atividade
sdkStringVersão do SDK OneSignal
external_idStringID de usuário externo que deve corresponder ao ID de usuário da integração
app_idUUIDApp ID do OneSignal
template_idUUIDTemplate ID (se aplicável)
message_idUUIDID de lote/requisição de mensagem
message_nameStringNome da mensagem
message_titleStringTítulo da mensagem (apenas em inglês)
message_contentsStringCorpo da mensagem truncado (apenas em inglês)
_created, _id, _index, _fivetran_syncedUso internoMetadados de sincronização Fivetran

Notas

  • Sincronizações após salvar/ativar podem levar 15-30 minutos adicionais para completar.
  • Desativar ainda pode resultar em uma sincronização final após desativação.
  • Para garantir sincronização eficiente de dados, nosso sistema cria e gerencia automaticamente datasets de staging. Estes datasets, nomeados com um padrão como fivetran_{duas palavras aleatórias}_staging, armazenam temporariamente dados durante o processamento antes de serem integrados ao seu schema principal. Estes datasets de staging são essenciais para manter um fluxo de trabalho otimizado e não devem ser deletados, pois serão automaticamente recriados.

Importar eventos do Databricks

Envie dados de eventos comportamentais do Databricks para o OneSignal para:
  • Acionar Jornadas com base na atividade do usuário
  • Personalizar mensagens com base em dados comportamentais
Requisitos
  • Acesso a Event Streams para eventos de mensagem de saída (Limitações de plano e excedentes se aplicam)
  • Acesso a Custom Events para sincronização de eventos de entrada (Limitações de plano e excedentes se aplicam)
  • Plano de Conta Atualizado (não disponível em apps gratuitos)
  • Workspace Databricks com SQL Warehouse ou cluster de computação
  • Personal Access Token com permissões apropriadas
  • Tabelas de dados de eventos contendo dados comportamentais em formato Delta Lake
  • Unity Catalog (recomendado para governança de dados)
Etapas de configuração
1

Criar Databricks Personal Access Token

Gere um Personal Access Token para o OneSignal acessar seu workspace Databricks:
  1. Navegue até User Settings no seu workspace Databricks
  2. Clique na aba Developer e depois em Access tokens
  3. Clique em Generate new token
  4. Insira um comentário como “OneSignal Integration” e defina a expiração (recomendamos 90 dias)
  5. Salve o token gerado (você precisará disso para o OneSignal)
2

Configurar acesso ao SQL Warehouse

Certifique-se de que o OneSignal possa consultar seus dados de eventos via SQL Warehouse:
  1. Navegue até SQL Warehouses no seu workspace Databricks
  2. Selecione ou crie um SQL Warehouse para acesso do OneSignal
  3. Anote o Server Hostname e HTTP Path dos detalhes de conexão
  4. Certifique-se de que o warehouse tenha acesso às suas tabelas de dados de eventos
3

Conceder permissões de tabela

Conceda ao OneSignal acesso de leitura às tabelas contendo dados de eventos:
-- Para workspaces com Unity Catalog habilitado
GRANT SELECT ON TABLE catalog.schema.event_table TO `onesignal@yourdomain.com`;

-- Para tabelas Hive metastore
GRANT SELECT ON TABLE database.event_table TO `onesignal@yourdomain.com`;
4

Adicionar integração no OneSignal

No OneSignal, vá para Data > Integrations e clique em Add Integration.Selecione Databricks e forneça:
  • Server Hostname: Nome do host do SQL Warehouse do Databricks
  • HTTP Path: Caminho HTTP do SQL Warehouse
  • Personal Access Token: Token criado na etapa 1
  • Catalog (opcional): Nome do Unity Catalog se estiver usando Unity Catalog
5

Configurar fonte de dados de eventos

Especifique a tabela Databricks contendo seus dados de eventos:
  • Database/Schema: Nome do banco de dados ou esquema contendo tabelas de eventos
  • Table: Nome da tabela com registros de eventos (por exemplo, user_events)
  • Event Query: Consulta SQL opcional para filtrar ou transformar dados de eventos
Sua tabela de eventos deve conter colunas para:
  • Nome/tipo do evento (String)
  • Identificador do usuário (String)
  • Timestamp do evento (Timestamp)
  • Propriedades adicionais do evento
6

Testar a conexão

Clique em Test Connection para verificar se o OneSignal pode acessar seu workspace Databricks e ler dados de eventos.

Mapeamento de dados de evento

Mapeie seu para o formato de eventos personalizados do OneSignal:
Campo OneSignalDescriçãoObrigatório
nameevent_nameIdentificador de eventoSim
external_iduser_idIdentificador de usuárioSim
timestampevent_timestampQuando o evento ocorreuNão
propertiesevent_dataNão

Configuração avançada

Integração Unity Catalog

Aproveite o Unity Catalog para acesso governado a dados:
SELECT
  event_name,
  user_id,
  event_timestamp,
  to_json(
    named_struct(
      'product_id', product_id,
      'purchase_amount', purchase_amount,
      'category', category
    )
  ) as payload
FROM catalog.schema.user_events
WHERE event_timestamp >= current_timestamp() - INTERVAL 7 DAYS

Otimização Delta Lake

Otimize tabelas de eventos para melhor performance de consulta:
  • Particionamento: Particione por data (event_date) para consultas baseadas em tempo mais rápidas
  • Z-Ordering: Z-order por user_id e event_name para melhor filtragem
  • Recursos Delta Lake: Use liquid clustering para otimização automática

Processamento de eventos streaming

Para processamento de eventos em tempo real, considere:
  • Structured Streaming: Processe eventos conforme eles chegam
  • Delta Live Tables: Construa pipelines robustos de processamento de eventos
  • Auto Loader: Ingira continuamente novos arquivos de eventos
Certifique-se de que seu SQL Warehouse tenha recursos de computação suficientes para lidar com as consultas do OneSignal sem afetar outras cargas de trabalho.

FAQ

Por que vejo IDs de mensagem diferentes com o mesmo conteúdo?

Isso acontece quando a mesma mensagem é enviada mais de uma vez, provavelmente através de um fluxo transacional ou template de mensagem reutilizado em vários envios.

Com que frequência o OneSignal sincroniza eventos do Databricks?

O OneSignal sincroniza dados de eventos com base no seu cronograma configurado, com um intervalo mínimo de 15 minutos.

Posso usar notebooks do Databricks para processamento de eventos?

Sim, você pode usar notebooks para processar e preparar dados de eventos, depois expô-los via tabelas que o OneSignal pode consultar.

E quanto à otimização de custos para consultas de eventos?

Considere usar SQL Warehouses sem servidor para computação econômica e sob demanda que escala automaticamente com base na carga de consulta.