Descripción general
La integración de OneSignal + Elasticsearch permite la sincronización automática de eventos personalizados desde su clúster de Elasticsearch a OneSignal. Esto le permite activar Journeys automatizados y campañas de mensajería personalizadas basadas en datos de comportamiento del usuario almacenados en su motor de búsqueda y análisis.Requisitos
- Access to Event Streams for outbound message events (Plan limitations and overages apply)
- Access to Custom Events for inbound event syncing (Plan limitations and overages apply)
- Updated Account Plan (not available on free apps)
Elasticsearch
- Clúster de Elasticsearch (versión 7.0 o superior recomendada)
- Credenciales de autenticación (clave API, nombre de usuario/contraseña o certificado)
- Índices de eventos que contienen datos de comportamiento con estructura de documento adecuada
- Acceso de red desde OneSignal a su clúster de Elasticsearch
Configuración
1
Configurar acceso a Elasticsearch
Asegúrese de que OneSignal pueda conectarse a su clúster de Elasticsearch:Para Elasticsearch Cloud:
- Navegue a Security en su consola de Elasticsearch Cloud
- Cree una clave API con permisos de lectura para índices de eventos
- Anote su Cloud ID y API Key
- Configure la autenticación (autenticación básica o clave API)
- Asegúrese de que su clúster sea accesible desde las direcciones IP de OneSignal
- Anote la URL del endpoint del clúster y las credenciales
2
Crear usuario dedicado (recomendado)
Cree un usuario dedicado para OneSignal con acceso de solo lectura a los índices de eventos:
3
Agregar integración en OneSignal
In OneSignal, go to Data > Integrations and click Add Integration.Seleccione Elasticsearch y proporcione:
- Cluster URL: Su endpoint de Elasticsearch (por ejemplo,
https://your-cluster.es.amazonaws.com) - Authentication Method: API Key, Basic Auth o Certificate
- Username/Password o API Key: Credenciales de autenticación
- Cloud ID (si usa Elasticsearch Cloud): Su Cloud ID de implementación
4
Configurar fuente de datos de eventos
Especifique el índice de Elasticsearch que contiene sus datos de eventos:
- Index Pattern: Índice o patrón de índice que contiene eventos (por ejemplo,
events-*) - Event Query: Query DSL de Elasticsearch opcional para filtrar documentos de eventos
- Time Field: Campo de marca de tiempo para filtrado basado en tiempo (por ejemplo,
@timestamp)
- Nombre/tipo de evento (String)
- Identificador de usuario (String)
- Marca de tiempo del evento (Date)
- Propiedades de evento adicionales (Object)
5
Probar la conexión
Haga clic en Test Connection para verificar que OneSignal pueda acceder a su clúster de Elasticsearch y leer datos de eventos.
Event data mapping
Map your to OneSignal’s custom events format:| OneSignal Field | Description | Required | |
|---|---|---|---|
name | event_name | Event identifier | Yes |
external_id | user_id | User identifier | Yes |
timestamp | event_timestamp | When event occurred | No |
properties | event_data | No |
Configuración avanzada
Filtrado Query DSL
Use Query DSL de Elasticsearch para filtrar y transformar datos de eventos antes de sincronizar con OneSignal:Configuración de patrón de índice
Consulte eficientemente en múltiples índices:- Índices basados en tiempo: Use patrones como
events-2024-*para datos particionados por tiempo - Enrutamiento: Asegure un enrutamiento consistente para consultas basadas en usuario
- Alias: Use alias de índice para una gestión simplificada
Optimización de rendimiento
Optimice las consultas para grandes volúmenes de eventos:- Filtrado de campos: Use filtrado
_sourcepara recuperar solo los campos necesarios - API Scroll: Para conjuntos de resultados grandes, OneSignal usa paginación de scroll
- Matemáticas de fecha: Use matemáticas de fecha de Elasticsearch para filtrado eficiente basado en tiempo
Preguntas frecuentes
¿Con qué frecuencia OneSignal sincroniza eventos desde Elasticsearch?
OneSignal sincroniza datos de eventos según su programación configurada, con un intervalo mínimo de 15 minutos.¿Puedo sincronizar eventos desde múltiples índices de Elasticsearch?
Sí, puede usar patrones de índice (por ejemplo,events-*) para consultar en múltiples índices, o crear múltiples integraciones para diferentes grupos de índices.