Visão geral
A integração OneSignal + Elasticsearch permite a sincronização automática de eventos personalizados do seu cluster Elasticsearch para o OneSignal. Isso permite que você acione Jornadas automatizadas e campanhas de mensagens personalizadas baseadas em dados comportamentais de usuários armazenados em seu mecanismo de busca e analytics.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)
Elasticsearch
- Cluster Elasticsearch (versão 7.0 ou superior recomendada)
- Credenciais de autenticação (chave API, usuário/senha ou certificado)
- Índices de eventos contendo dados comportamentais com estrutura de documento adequada
- Acesso de rede do OneSignal ao seu cluster Elasticsearch
Configuração
1
Configurar acesso ao Elasticsearch
Certifique-se de que o OneSignal pode se conectar ao seu cluster Elasticsearch:Para Elasticsearch Cloud:
- Navegue até Security no seu console Elasticsearch Cloud
- Crie uma chave API com permissões de leitura para índices de eventos
- Anote seu Cloud ID e API Key
- Configure autenticação (autenticação básica ou chave API)
- Certifique-se de que seu cluster é acessível dos endereços IP do OneSignal
- Anote a URL do endpoint do seu cluster e credenciais
2
Criar usuário dedicado (recomendado)
Crie um usuário dedicado para o OneSignal com acesso somente leitura aos índices de eventos:
3
Adicionar integração no OneSignal
No OneSignal, vá para Data > Integrations e clique em Add Integration.Selecione Elasticsearch e forneça:
- Cluster URL: Seu endpoint Elasticsearch (por exemplo,
https://your-cluster.es.amazonaws.com) - Authentication Method: API Key, Basic Auth ou Certificate
- Username/Password ou API Key: Credenciais de autenticação
- Cloud ID (se estiver usando Elasticsearch Cloud): Seu Cloud ID de implantação
4
Configurar fonte de dados de eventos
Especifique o índice Elasticsearch contendo seus dados de eventos:
- Index Pattern: Índice ou padrão de índice contendo eventos (por exemplo,
events-*) - Event Query: Elasticsearch Query DSL opcional para filtrar documentos de eventos
- Time Field: Campo de timestamp para filtragem baseada em tempo (por exemplo,
@timestamp)
- Nome/tipo do evento (String)
- Identificador do usuário (String)
- Timestamp do evento (Date)
- Propriedades adicionais do evento (Object)
5
Testar a conexão
Clique em Test Connection para verificar se o OneSignal pode acessar seu cluster Elasticsearch e ler dados de eventos.
Mapeamento de dados de evento
Mapeie seu para o formato de eventos personalizados do OneSignal:| Campo OneSignal | Descrição | Obrigatório | |
|---|---|---|---|
name | event_name | Identificador de evento | Sim |
external_id | user_id | Identificador de usuário | Sim |
timestamp | event_timestamp | Quando o evento ocorreu | Não |
properties | event_data | Não |
Configuração Avançada
Filtragem Query DSL
Use Elasticsearch Query DSL para filtrar e transformar dados de eventos antes de sincronizar com o OneSignal:Configuração de Padrão de Índice
Consulte eficientemente através de múltiplos índices:- Índices baseados em tempo: Use padrões como
events-2024-*para dados particionados por tempo - Roteamento: Garanta roteamento consistente para consultas baseadas em usuário
- Aliases: Use aliases de índice para gerenciamento simplificado
Otimização de Desempenho
Otimize consultas para grandes volumes de eventos:- Filtragem de campos: Use filtragem
_sourcepara recuperar apenas campos necessários - Scroll API: Para grandes conjuntos de resultados, OneSignal usa paginação scroll
- Date math: Use date math do Elasticsearch para filtragem eficiente baseada em tempo
Certifique-se de que seu cluster Elasticsearch tem recursos suficientes para lidar com as consultas do OneSignal sem afetar outras aplicações usando o cluster.
FAQ
Com que frequência o OneSignal sincroniza eventos do Elasticsearch?
O OneSignal sincroniza dados de eventos baseado em seu cronograma configurado, com um intervalo mínimo de 15 minutos.Posso sincronizar eventos de múltiplos índices Elasticsearch?
Sim, você pode usar padrões de índice (por exemplo,events-*) para consultar através de múltiplos índices, ou criar múltiplas integrações para diferentes grupos de índices.