Zum Inhalt springen

Integration für Event-Streaming

Integrationsübersicht

Anchor link to

Integrationstyp

Anchor link to

Quelle: Daten werden von Pushwoosh an Ihr System über HTTP oder gRPC basierend auf konfigurierten Event-Triggern gesendet.

Wie funktioniert die Integration?

Anchor link to

Pushwoosh übermittelt Kommunikations-Event-Daten (z. B. Push-/E-Mail-Aktivitäten) an einen vom Kunden definierten Endpunkt. Die Daten werden in Batch-Streams in geplanten Intervallen oder bei Erreichen einer minimalen Batch-Größe gesendet.

Daten werden nur gesendet, wenn sie mit den ausgewählten Events, Plattformen und optionalen Filtern (Kampagnen-/Nachrichtencodes, Live-Aktivität) übereinstimmen. Der Endpunkt des Kunden muss bereit sein, die Daten zu empfangen und optional mit einem Status zu antworten.

Endpunkt-URL: Serverseitiger Endpunkt, der den Empfang von Anfragen ermöglicht. Der Client kann bei Bedarf einen Port angeben.

Beispiele:

  • https://clientdomainname.com/webhook_endpoint
  • https://clientdomainname.com:8081/webhook_endpoint

Liste der synchronisierten Entitäten

Anchor link to
  • Kommunikationsstatistik-Events (z. B. Push gesendet, E-Mail zugestellt)
  • Post-Events: Events, die Ihre App über postEvent an Pushwoosh sendet und die getrennt von den Kommunikationsstatistik-Events gestreamt werden

Anwendungsfälle

Anchor link to
  • Echtzeit-Engagement-Tracking

Überwachen Sie Benutzerinteraktionen wie gesendete Push-Nachrichten, geöffnete E-Mails oder zugestellte Nachrichten in Echtzeit, um sofortige Einblicke in die Kampagnenleistung zu erhalten.

  • Integration externer Analysen

Streamen Sie Events an Analyseplattformen von Drittanbietern für zentralisierte Berichterstattung und Analyse.

  • Automatisierte Benutzer-Workflows

Lösen Sie Aktionen in externen Systemen (wie CRMs oder Marketing-Automatisierungstools) basierend auf dem Benutzerverhalten aus, z. B. das Senden einer Folgenachricht, wenn ein Benutzer eine E-Mail öffnet.

  • Synchronisierung der Geräteliste

Entfernen Sie Geräte aus Ihrer eigenen Datenbank, wenn sie keine Nachrichten mehr empfangen können. Siehe Abgemeldete Geräte mit Ihrem System synchronisieren.

Einrichtung der Integration

Anchor link to

Um die Integration einzurichten:

  1. Gehen Sie in Ihrem Pushwoosh-Konto zu Einstellungen > Integrationen von Drittanbietern, finden Sie die Integration für Event-Streaming und klicken Sie auf Konfigurieren.

Konfigurieren der Integration für Event-Streaming

  1. Füllen Sie in dem sich öffnenden Fenster die erforderlichen Felder aus.

Füllen Sie die erforderlichen Felder aus

Endpunkt-URL eingeben

Anchor link to

Geben Sie im Feld Endpunkt-URL die vollständige URL ein, an die Events gesendet werden sollen, einschließlich Protokoll und Port, falls zutreffend.

Beispiel

  • https://clientdomainname.com/webhook_endpoint
  • https://clientdomainname.com:8081/webhook\_endpoint

Events auswählen

Anchor link to

Wählen Sie aus dem Dropdown-Menü Events mindestens ein Event aus. Wenn keines ausgewählt ist, schlägt die Validierung fehl. Die Liste der Events wird vom Backend verwaltet und kann sich im Laufe der Zeit ändern.

Anmeldeinformationen für die Autorisierung bereitstellen

Anchor link to

Wenn von Ihrem Server gefordert, geben Sie den vollständigen Wert für den Authorization-Header in das Feld Autorisierung ein.

Beispiele:

  • Bearer your_token_here

  • Basic base64encoded_credentials

Transporttyp auswählen

Anchor link to

Wählen Sie aus dem Dropdown-Menü Transporttyp das Übertragungsprotokoll für die Event-Übertragung: HTTP oder gRPC. Jedes hat ein spezifisches Verhalten und eine spezifische Konfiguration.

Mit dem HTTP-Transporttyp sendet Pushwoosh Daten in Batches basierend auf einer der folgenden Bedingungen:

  • Mindestens 100 Events sind zum Senden bereit, oder

  • Eine Stunde ist seit der letzten Übertragung vergangen.

Nach dem Senden der Daten wird die Verbindung geschlossen, sobald eine erfolgreiche Antwort empfangen wird.

Wenn der Server mit einem 5xx-Fehler antwortet, wird Pushwoosh die Anfrage gemäß der definierten Wiederholungsrichtlinie erneut versuchen.

Wiederholungsmechanismus

VersuchVerzögerung
1.1 Sekunde
2.3 Sekunden nach dem 1. Versuch
3.8 Sekunden nach dem 2. Versuch

Wenn alle Wiederholungsversuche fehlschlagen, wird die Anfrage verworfen.

Timeout

Das Standard-Timeout für eine Anfrage beträgt 30 Sekunden. Dies kann auf Anfrage über den Support angepasst werden.

Der gRPC-Transporttyp verwendet bidirektionales Streaming für die Datenübertragung. Erfahren Sie mehr in der gRPC-Dokumentation.

Ein Stream wird geöffnet, wenn eine der folgenden Bedingungen erfüllt ist:

  • Mindestens 1.000 Events sind zur Auslieferung bereit
  • Eine Stunde ist seit dem letzten Öffnen eines Streams vergangen

Der Stream wird geschlossen, nachdem die Events gesendet wurden. Dies stellt sicher, dass nicht für jedes einzelne Event in kurzer Zeit ein neuer Stream geöffnet wird.

Wiederholungsmechanismus
Jedes Event enthält eine eindeutige uuid. Wenn ein Event fehlschlägt:

  1. Die Antwort muss einen status enthalten, der nicht gleich "Success" ist
  2. Die ursprüngliche uuid aus der Anfrage muss enthalten sein

Pushwoosh wird die Zustellung basierend auf dieser Antwort erneut versuchen.

Verbindungseinstellungen

Erweiterte Optionen wie TLS, Keep-Alive oder Wiederholungsrichtlinien werden manuell über den Support konfiguriert und erfordern möglicherweise die Einbeziehung der Entwicklung.

Post-Events aktivieren

Anchor link to

Dieser Schalter ist standardmäßig ausgeschaltet, sodass nur Kommunikationsstatistik-Events gestreamt werden. Um auch Events zu streamen, die Ihre App über postEvent an Pushwoosh sendet, schalten Sie den Schalter Post-Events zulassen ein.

Wählen Sie aus dem erscheinenden Feld Post-Events aus, welche Events Ihres Kontos gestreamt werden sollen. Mindestens ein Event ist erforderlich, während der Schalter eingeschaltet ist. Wenn Ihr Konto noch keine Events gesendet hat, ist diese Liste leer, bis Sie postEvent mindestens einmal aufrufen.

In-App-Impressionen und -Klicks werden ebenfalls über diesen Post-Event-Stream übertragen, als PW_InAppShow und PW_InAppClicked. Wie jedes andere Post-Event erscheint jedes von ihnen erst dann in der Liste Post-Events, nachdem es mindestens einmal für das Konto ausgelöst wurde.

Plattformen auswählen

Anchor link to

Wählen Sie im Abschnitt Plattformen mindestens eine Plattform aus, um das Event-Streaming zu aktivieren.

Wählen Sie mindestens eine Plattform aus

Unterstützte Plattformen umfassen:

  • iOS, Android, macOS, Windows, Amazon, Safari
  • Chrome, Firefox, Internet Explorer, Huawei
  • E-Mail, SMS, Line, Xiaomi, WhatsApp

Erweiterte Filter konfigurieren

Anchor link to

Verfeinern Sie im Abschnitt Erweiterte Filter die Kriterien für die Event-Zustellung mithilfe von Filtern:

  • Live-Aktivitäts-Events: Aktivieren, um Live-Aktivitäts-Events zu empfangen. Diese Events enthalten nur Metadaten, einschließlich live_activity_id.

  • Kampagnenfilter: Nach Kampagnencode filtern. Nur Events, die mit diesen Kampagnen verknüpft sind, werden zugestellt.

  • Nachrichtenfilter: Nach Nachrichtencode filtern. Nur Events, die mit diesen Nachrichten verknüpfen sind, werden zugestellt.

Erweiterte Filter festlegen

Nachdem Sie alle erforderlichen Felder ausgefüllt haben, klicken Sie auf die Schaltfläche Anwenden, um Ihre Integration zu speichern und zu aktivieren.

Anfragedetails und Beispiel

Anchor link to
Endpunkthttps://exampleclientendpoint.com/webhook_endpoint
HTTP-AnfragePOST
AuthentifizierungNein
AnfragetypQuelle
Bedeutung der AnfrageAnfragen an den Webhook-Endpunkt senden
HeaderContent-Type: application/json

Beispiel für den Anfrage-Body

{
"event_name": "Email Opened",
"message_code": "E682-E6D92B9A-53E24868",
"campaign_id": 961048,
"platform": "Email",
"payload": "Welcome to Headway! 👋",
"application_code": "XXXXX-XXXXX",
"hwid": "user@example.com",
"user_id": "USER_ID",
"timestamp": 1723799271,
"journey_title": "",
"journey_point_title": "5_Welcome_ID_new",
"attributes": null
}

Bei Kommunikationsstatistik-Events wird attributes nur für Push-Events gefüllt, mit kanalspezifischem Inhalt (Android, iOS usw.) für die Plattform, an die der Push gesendet wurde. E-Mail- und SMS-Events enthalten nur die Felder der obersten Ebene (event_name, platform, payload usw.). attributes ist für diese Events null. Innerhalb eines gefüllten attributes-Objekts werden Felder außerhalb der eigenen Plattform des Events weggelassen, anstatt als leere Werte gesendet zu werden. Die vollständige Feldliste finden Sie in webhook.proto.

Ein Post-Event trägt seine Attribut-Schlüssel/Wert-Paare stattdessen in attributes.event_attributes. message_code und payload bleiben leer, da ein Post-Event nicht mit einer Nachricht oder Kampagne verknüpft ist.

Antwort
Im Moment werden der Antwortcode und der Body ignoriert.

Abgemeldete Geräte mit Ihrem System synchronisieren

Anchor link to

Wenn Sie eine eigene Kopie der Geräteliste führen, zum Beispiel in einem CRM oder einer Kundendatenplattform, streamen Sie das Post-Event PW_DeviceUnregistered, um Geräte zu finden, die Pushwoosh nicht mehr erreichen kann. Pushwoosh sendet dieses Event, wenn ein Gerät sein Push-Abonnement verliert: Der Push-Dienst meldet den Token als ungültig, die App meldet das Gerät über das SDK ab, oder der Benutzer meldet sich von E-Mails ab.

Gehen Sie von einer bereits eingerichteten Integration aus, in der eine Endpunkt-URL eingetragen und mindestens eine Plattform ausgewählt ist. Dann:

  1. Aktivieren Sie in den Integrationseinstellungen Post-Events zulassen. Siehe Post-Events aktivieren.
  2. Wählen Sie im Feld Post-Events PW_DeviceUnregistered aus.
  3. Um auch über Geräte informiert zu werden, die einen Push-Token erhalten, wählen Sie PW_DeviceRegistered aus.
  4. Klicken Sie auf Anwenden. Die Änderung wird innerhalb von 15 Minuten wirksam.

PW_DeviceUnregistered erscheint erst in der Liste Post-Events, nachdem es mindestens einmal für das Konto ausgelöst wurde. Bis dahin können Sie es nicht auswählen.

Beachten Sie bei der Verarbeitung der Events diese Einschränkungen:

  • Ordnen Sie Geräte über hwid oder user_id zu, nicht über den Push-Token. Das Event enthält hwid, user_id und Plattform des Geräts, aber keinen Push-Token und keinen Grund für die Abmeldung. Ein abgelaufener Token und eine Abmeldung über das SDK sehen gleich aus.
  • Eine Token-Rotation sendet kein Event. PW_DeviceRegistered wird nur ausgelöst, wenn ein Gerät ohne Push-Token einen erhält. Wenn ein Gerät seinen Token durch einen neuen ersetzt, wird keines der beiden Events ausgelöst, sodass eine nach Token geführte Liste weiterhin veraltete Tokens ansammelt.
  • Eine E-Mail-Abmeldung löscht das Gerät nicht. Bei E-Mail bleibt die Adresse am Gerät, und Pushwoosh markiert sie nur als abgemeldet. Hat sich der Benutzer über einen Link in einer E-Mail abgemeldet, enthält attributes.event_attributes außerdem message_code und campaign_id dieser E-Mail.

Da ein Batch, bei dem alle HTTP-Wiederholungsversuche fehlschlagen, verworfen wird, erreichen manche Events Ihren Endpunkt möglicherweise nie. Gleichen Sie Ihre Liste regelmäßig ab: Exportieren Sie das Segment der Geräte, die Sie ansprechen, als CSV und vergleichen Sie es mit Ihren Datensätzen. Für den Export eines Segments benötigt Ihre Rolle die Berechtigung Personal data.

Woher wissen Sie, dass die Integration funktioniert?

Anchor link to

Sie werden beginnen, Anfragen von Pushwoosh an Ihrem konfigurierten Endpunkt zu erhalten.