Saltar al contenido principal

Resumen

La integración de OneSignal + Apache Kafka permite la sincronización automática de eventos personalizados desde tus topics de Kafka directamente a la API de Eventos personalizados de OneSignal. Esto te permite activar Journeys automatizados y campañas de mensajería personalizadas basadas en el comportamiento del usuario en tiempo real que fluye a través de tu infraestructura de Kafka. Puedes sincronizar eventos como compras, vistas de productos, cambios de suscripción o cualquier acción de usuario personalizada para activar automáticamente secuencias de incorporación, campañas de reenganche, mensajes transaccionales y promociones dirigidas a través de notificaciones push, email, mensajes in-app y SMS.

Requisitos

Apache Kafka

  • Kafka Cluster (Apache Kafka, Confluent o gestionado en la nube)
  • Topics que contienen datos de eventos
  • Credenciales de autenticación (SASL/SCRAM, SSL o claves API)
  • Acceso de red a brokers de Kafka
  • Datos de eventos en formato JSON

Configuración

Configurar permisos de Kafka

OneSignal necesita consumir eventos de tus topics de Kafka. La configuración exacta depende de tu configuración de Kafka:
1

Reunir detalles de conexión

Recopila la siguiente información sobre tu cluster de Kafka:
  • Bootstrap Servers: Endpoints de broker de Kafka
  • Protocolo de seguridad: PLAINTEXT, SASL_PLAINTEXT, SASL_SSL o SSL
  • Autenticación: Usuario/contraseña, certificados o claves API
  • Nombres de topics: Lista de topics que contienen datos de eventos
2

Crear credenciales de consumidor

Crea credenciales para que OneSignal acceda a tus topics de Kafka:Para autenticación SASL/SCRAM:
# Crear un usuario con acceso de lectura a topics de eventos
kafka-configs --bootstrap-server localhost:9092 \
  --alter --add-config 'SCRAM-SHA-256=[password=onesignal-password]' \
  --entity-type users --entity-name onesignal-consumer
Para autorización basada en ACL:
# Otorgar acceso de lectura a topics y grupo de consumidor
kafka-acls --bootstrap-server localhost:9092 \
  --add --allow-principal User:onesignal-consumer \
  --operation Read --topic your-event-topic

kafka-acls --bootstrap-server localhost:9092 \
  --add --allow-principal User:onesignal-consumer \
  --operation Read --group onesignal-consumer-group
3

Verificar acceso al topic

Prueba que OneSignal pueda acceder a tus topics de eventos:
kafka-console-consumer --bootstrap-server localhost:9092 \
  --topic your-event-topic \
  --from-beginning \
  --max-messages 5

Configurar conexión de Kafka de OneSignal

1

Navegar a integraciones

In OneSignal, go to Data > Integrations and click Add Integration.
2

Seleccionar Apache Kafka

Elige Apache Kafka de la lista de integraciones disponibles.
3

Ingresar detalles de conexión

Proporciona tu información de conexión de Kafka:
  • Bootstrap Servers: Endpoints de broker separados por comas
  • Protocolo de seguridad: Configuración de seguridad de tu cluster
  • Usuario/Contraseña: Credenciales SASL (si aplica)
  • Nombres de topics: Topics que contienen tus datos de eventos
  • Grupo de consumidor: ID de grupo único para OneSignal
4

Probar la conexión

Haz clic en Probar conexión para verificar que OneSignal pueda conectarse a tu cluster de Kafka y consumir eventos.

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

Esquema de datos de eventos

Tus mensajes de eventos de Kafka deben estar en formato JSON e incluir campos que mapeen a la estructura de eventos personalizados de OneSignal:
Campo de evento de KafkaCampo de evento de OneSignalDescripción
event_type