Pular para o conteúdo principal

Visão geral

A integração OneSignal + Apache Kafka permite a sincronização automática de eventos personalizados dos seus tópicos Kafka diretamente para a API de Eventos Personalizados do OneSignal. Isso permite que você acione Journeys automatizadas e campanhas de mensagens personalizadas baseadas no comportamento do usuário em tempo real transmitido através da sua infraestrutura Kafka. Você pode sincronizar eventos como compras, visualizações de produtos, mudanças de assinatura ou quaisquer ações personalizadas do usuário para acionar automaticamente sequências de onboarding, campanhas de re-engajamento, mensagens transacionais e promoções direcionadas através de notificações push, email, mensagens in-app e SMS.

Requisitos

Apache Kafka

  • Cluster Kafka (Apache Kafka, Confluent ou gerenciado na nuvem)
  • Tópicos contendo dados de evento
  • Credenciais de autenticação (SASL/SCRAM, SSL ou chaves de API)
  • Acesso de rede aos brokers Kafka
  • Dados de evento em formato JSON

Configuração

Configurar permissões do Kafka

O OneSignal precisa consumir eventos dos seus tópicos Kafka. A configuração exata depende da sua configuração do Kafka:
1

Coletar detalhes de conexão

Colete as seguintes informações sobre seu cluster Kafka:
  • Bootstrap Servers: Endpoints do broker Kafka
  • Protocolo de Segurança: PLAINTEXT, SASL_PLAINTEXT, SASL_SSL ou SSL
  • Autenticação: Nome de usuário/senha, certificados ou chaves de API
  • Nomes de Tópicos: Lista de tópicos contendo dados de evento
2

Criar credenciais de consumidor

Crie credenciais para o OneSignal acessar seus tópicos Kafka:Para autenticação SASL/SCRAM:
# Create a user with read access to event topics
kafka-configs --bootstrap-server localhost:9092 \
  --alter --add-config 'SCRAM-SHA-256=[password=onesignal-password]' \
  --entity-type users --entity-name onesignal-consumer
Para autorização baseada em ACL:
# Grant read access to topics and consumer group
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 acesso ao tópico

Teste se o OneSignal pode acessar seus tópicos de evento:
kafka-console-consumer --bootstrap-server localhost:9092 \
  --topic your-event-topic \
  --from-beginning \
  --max-messages 5

Configurar conexão do OneSignal Kafka

1

Navegar até integrações

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

Selecionar Apache Kafka

Escolha Apache Kafka da lista de integrações disponíveis.
3

Inserir detalhes de conexão

Forneça suas informações de conexão Kafka:
  • Bootstrap Servers: Endpoints de broker separados por vírgula
  • Protocolo de Segurança: Configuração de segurança do seu cluster
  • Nome de Usuário/Senha: Credenciais SASL (se aplicável)
  • Nomes de Tópicos: Tópicos contendo seus dados de evento
  • Grupo de Consumidor: ID de grupo único para o OneSignal
4

Testar a conexão

Clique em Testar Conexão para verificar se o OneSignal pode conectar ao seu cluster Kafka e 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 Dados de Evento

Suas mensagens de evento Kafka devem estar em formato JSON e incluir campos que mapeiam para a estrutura de evento personalizado do OneSignal:
Campo de Evento KafkaCampo de Evento OneSignalDescrição
event_type