Ereignisse sind Benachrichtigungen, die Ihr Kundenservicemitarbeiter senden und empfangen kann. Es gibt drei Arten von Ereignissen:
- Serverseitig generiert: Wird von der RBM-Plattform an Ihren Kundenservicemitarbeiter gesendet.
- Nutzergeneriert: Von dem Gerät des Nutzers an deinen Kundenservicemitarbeiter gesendet
- Vom Kundenservicemitarbeiter generiert: Wird vom Kundenservicemitarbeiter an den Nutzer gesendet.
Servergenerierte Ereignisse
Die RBM-Plattform sendet Ereignisse, um Ihren Kundenservicemitarbeiter über Aktualisierungen auf Serverebene zu informieren, z. B. über Ablaufzeiten von Nachrichten.
Informationen zu Formatierungs- und Wertoptionen finden Sie unter ServerEvent
.
Nachricht abgelaufen; Widerruf erfolgreich
Die Nachricht ist abgelaufen und wurde widerrufen. Dieses Ereignis wäre ein guter Auslöser für Ihre Fallback-Nachrichtenstrategie.
{ "phoneNumber": [phone number of recipient that the original message was intended for] , "messageId": [RCS message ID of the message], "agentId": [bot ID], "eventType": "TTL_EXPIRATION_REVOKED", "eventId": [unique ID generated by the RBM platform], "sendTime": [time at which the server sent this event] }
Nachricht abgelaufen; Widerruf fehlgeschlagen
Die Nachricht ist abgelaufen, aber nicht widerrufen worden.
{ "phoneNumber": [phone number of recipient that the original message was intended for] , "messageId": [RCS message ID of the message], "agentId": [bot ID], "eventType": "TTL_EXPIRATION_REVOKE_FAILED", "eventId": [unique ID generated by the RBM platform], "sendTime": [time at which the server sent this event] }
Die Zustellung von Nachrichten ist nicht garantiert.
- Wenn die Nachricht zugestellt wurde, erhalten Sie ein
DELIVERED
-Ereignis an Ihrem Webhook. - Wenn die Nachricht nicht zugestellt wurde, kannst du über die Revoke API eine Widerrufsanfrage senden.
Wenn die Nachricht zeitkritisch ist, z. B. ein OTP oder eine Betrugswarnung, sollten Sie sie über einen alternativen Kanal wie SMS senden, auch wenn dadurch doppelte Nachrichten an den Nutzer gesendet werden.
Von Nutzern generierte Ereignisse
Wie bei Nutzernachrichten und Funktionsüberprüfungen erhält der Kundenservicemitarbeiter Nutzerereignisse als JSON.
Informationen zu Formatierungs- und Wertoptionen finden Sie unter UserEvent
.
Nutzer erhält eine Nachricht vom Kundenservicemitarbeiter
Dieses Ereignis gibt an, dass eine Nachricht zugestellt wurde.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "DELIVERED", "eventId": "EVENT_ID", "messageId": "MESSAGE_ID", "agentId": "AGENT_ID" }
Nutzer liest Nachricht des Kundenservicemitarbeiters
Dieses Ereignis gibt an, dass eine Nachricht geöffnet oder bestätigt wurde.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "READ", "eventId": "EVENT_ID", "messageId": "MESSAGE_ID", "agentId": "AGENT_ID" }
Nutzer beginnt zu tippen
Dieses Ereignis gibt an, dass ein Nutzer etwas eintippt.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "IS_TYPING", "eventId": "EVENT_ID", "agentId": "AGENT_ID" }
Nutzer sendet eine SMS
{ "senderPhoneNumber": "PHONE_NUMBER", "text": "Hi", "eventId": "EVENT_ID", "agentId": "AGENT_ID" }
Nutzer sendet eine Datei
{ "senderPhoneNumber": "PHONE_NUMBER", "userFile": { "payload": { "mimeType": "image/gif", "fileSizeBytes": 127806, "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c9", "fileName": "4_animated.gif" } }, "eventId": "EVENT_ID", "agentId": "AGENT_ID" }
Der Nutzer tippt auf einen Antwortvorschlag.
Wenn ein Nutzer auf eine vorgeschlagene Antwort tippt, erhält Ihr Kundenservicemitarbeiter ein Ereignis mit den Postback-Daten und dem Text der Antwort.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventId": "EVENT_ID", "agentId": "AGENT_ID", "suggestionResponse": { "postbackData": "postback_1234", "text": "Hello there!" } }
Der Nutzer tippt auf eine vorgeschlagene Aktion.
Wenn ein Nutzer auf eine vorgeschlagene Aktion tippt, erhält Ihr Kundenservicemitarbeiter ein Ereignis mit den Postback-Daten der Aktion.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventId": "EVENT_ID", "agentId": "AGENT_ID", "suggestionResponse": { "postbackData": "postback_1234" } }
Nutzer deaktiviert die Benachrichtigungen für die Unterhaltung
Wenn ein Nutzer keine nicht wesentlichen Nachrichten von einem Unternehmen mehr erhalten möchte, z. B. Werbenachrichten, kann er die RBM-Unterhaltung in Google Messages abbestellen.
Das Ereignis UNSUBSCRIBE
gibt an, dass der Nutzer die Unterhaltung mit Ihrem Kundenservicemitarbeiter und dem Unternehmen, das er vertritt, beendet hat. Hier ein Beispiel für die JSON-Nutzlast:
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "UNSUBSCRIBE", "eventId": "EVENT_ID", "agentId": "AGENT_ID" }
Funktionsweise
- Im Chatmenü ist immer die Option Abbestellen verfügbar. Bei Kundenservicemitarbeitern, die für Werbezwecke oder für mehrere Zwecke eingesetzt werden, wird diese Option nach einer bestimmten Anzahl von ungelesenen Nachrichten auch direkt im Chat angezeigt. Die spezifischen Regeln variieren je nach Land.
- Wenn du Abmelden auswählst, sendet Google Messages eine „STOP“-Nachricht von der Nummer des Nutzers an den RBM-Kundenservicemitarbeiter. Gleichzeitig sendet die RBM-Plattform ein
UNSUBSCRIBE
-Ereignis an den Webhook des Kundenservicemitarbeiters. - Nachdem der Nutzer sein Abo gekündigt hat, bleibt die Unterhaltung in seinem Posteingang, es sei denn, sie wird als Spam gemeldet. In diesem Fall wird sie in den Ordner Als Spam markiert & blockiert verschoben.
- Um Verstöße gegen Richtlinien und Geschäftsregeln zu erkennen, überwacht Google Nachrichtenmuster, nachdem ein Nutzer sein Abo gekündigt hat.
Geschäftsregeln
- Als RBM-Partner, der diese Unterhaltung verwaltet, bist du dafür verantwortlich, dem Nutzerwunsch nach Abbestellung nachzukommen.
- Wenn Sie die Abbestellung nicht im Nachrichten-Thread vornehmen können, müssen Sie sofort eine Bestätigungsnachricht mit einem direkten Link zur Website oder App senden, auf der Nutzer ihre Aboeinstellungen verwalten können.
- Nach dem Abbestellen des Nutzers ist das Senden nicht notwendiger Nachrichten untersagt.
- Wichtige Nachrichten sind weiterhin erlaubt. Dazu gehören:
- Authentifizierungen wie Einmalpasswörter (OTPs)
- Benachrichtigungen zu einem bestimmten Dienst, den der Nutzer angefordert und zu dem er seine Einwilligung erteilt hat
- Bestätigung des Antrags des Nutzers auf Abbestellung mit Informationen zur weiteren Verwaltung seiner Kommunikationseinstellungen
Beispiel
Wenn ein Nutzer sich von einem Flugreisebüro abmeldet, dessen Anwendungsfall mehrfacher Gebrauch ist, müssen Sie das Senden von Marketingnachrichten beenden. Sie können jedoch Flugaktualisierungen senden, wenn der Nutzer ausdrücklich eingewilligt hat, Aktualisierungen für diesen bestimmten Flug zu erhalten.
Gründe für die Abbestellung
Wenn ein Nutzer das Abo Ihres Bots kündigt, kann er einen der folgenden Gründe auswählen:
- Nicht angemeldet
- Zu viele Nachrichten
- Kein Interesse mehr
- Spam
- Sonstiges
Der Nutzer abonniert die Unterhaltung noch einmal
Nutzer können eine Unterhaltung, die sie zuvor in Google Messages abgemeldet haben, wieder abonnieren.
Das Ereignis SUBSCRIBE
gibt an, dass ein Nutzer Nachrichten von Ihrem Kundenservicemitarbeiter erhalten möchte, einschließlich nicht notwendiger Inhalte wie Werbung. Hier ein Beispiel für die JSON-Nutzlast:
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "SUBSCRIBE", "eventId": "EVENT_ID", "agentId": "AGENT_ID" }
Funktionsweise
- Über die Option Abonnieren, die sowohl im Chatmenü als auch über einen Link im Chat verfügbar ist, können Nutzer eine Unterhaltung, von der sie sich abgemeldet hatten, wieder abonnieren.
- Wenn du Abonnieren auswählst, sendet Google Messages eine START-Nachricht von der Nummer des Nutzers an den RBM-Agenten. Gleichzeitig sendet die RBM-Plattform ein
SUBSCRIBE
-Ereignis an den Webhook des Agents.
Geschäftsregeln
- Als RBM-Partner, der diese Unterhaltung verwaltet, bist du dafür verantwortlich, der Aufforderung des Nutzers zur Reaktivierung nachzukommen.
- Die Reaktivierung gilt für alle Nachrichtentypen, einschließlich nicht notwendiger Inhalte wie Werbung.
- Wenn ein Nutzer Ihnen nach dem Abbestellen eine Nachricht sendet, kann dies als Anfrage zum erneuten Abonnieren betrachtet werden.
- Wenn ein Nutzer außerhalb des Messaging-Kanals (z. B. auf Ihrer Website) wieder abonniert, liegt es in Ihrer Verantwortung als RBM-Partner, seinen Status zu aktualisieren und entsprechend wieder Nachrichten zu senden.
Von Kundenservicemitarbeitern generierte Ereignisse
Ihr Agent sendet Ereignisse, um menschliche Interaktionen zu simulieren und dem Nutzer zu vermitteln, dass Ihr Agent auf seine Nachrichten reagiert. Für Nutzer werden Ereignisse als Benachrichtigungen in ihren Unterhaltungen angezeigt.
Informationen zu Formatierungs- und Wertoptionen finden Sie unter phones.agentEvents
.
Der Kundenservicemitarbeiter sendet ein READ
-Ereignis
Für Nutzer wird dieses Ereignis als Lesebestätigung für eine bestimmte Nachricht angezeigt. Der Nutzer wird darüber informiert, dass seine Nachricht über die RBM-Plattform zugestellt wurde und der Kundenservicemitarbeiter sie gerade verarbeitet.
Im folgenden Code wird ein READ
-Ereignis für eine Nachricht mit einer übereinstimmenden messageId
gesendet.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_ID&agentId=AGENT_ID" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/rcs-business-messaging" \ -H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \ -d "{ 'eventType': 'READ', 'messageId': 'MESSAGE_ID' }"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Send the device an event to indicate that messageId has been read rbmApiHelper.sendReadMessage('+12223334444', messageId);
Java
import com.google.rbm.RbmApiHelper; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Send the device an event to indicate that messageId has been read rbmApiHelper.sendReadMessage(messageId, "+12223334444");
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service # Send the device an event to indicate that message_id was read rbm_service.send_read_event('+12223334444', message_id)
C#
using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Send the device an event to indicate that messageId has been read rbmApiHelper.SendReadMessage(messageId, "+12223334444");
Kundenservicemitarbeiter sendet ein IS_TYPING
-Ereignis
Für Nutzer wird dieses Ereignis als Eingabeindikator angezeigt, der sie darüber informiert, dass Ihr Kundenservicemitarbeiter eine Nachricht verfasst. Der Eingabeindikator läuft nach kurzer Zeit (ca. 20 Sekunden) ab oder wenn das Gerät des Nutzers eine neue Nachricht von deinem Kundenservicemitarbeiter empfängt. Der Kundenservicemitarbeiter kann mehrere IS_TYPING
-Ereignisse senden, um den Ablauftimer des Eingabeindikators zurückzusetzen.
Der folgende Code sendet ein IS_TYPING
-Ereignis.
cURL
curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_ID&agentId=AGENT_ID" \ -H "Content-Type: application/json" \ -H "User-Agent: curl/rcs-business-messaging" \ -H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`" \ -d "{ 'eventType': 'IS_TYPING', }"
Node.js
// Reference to RBM API helper const rbmApiHelper = require('@google/rcsbusinessmessaging'); // Send the device an event to indicate that the agent is typing rbmApiHelper.sendIsTypingMessage('+12223334444', function() { console.log('Typing event sent!'); });
Java
import com.google.rbm.RbmApiHelper; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(); // Send the device an event to indicate that the agent is typing rbmApiHelper.sendIsTypingMessage("+12223334444");
Python
# Reference to RBM Python client helper and messaging object structure from rcs_business_messaging import rbm_service # Send the device an event to indicate that the agent is typing rbm_service.send_is_typing_event('+12223334444')
C#
using RCSBusinessMessaging; … // Create an instance of the RBM API helper RbmApiHelper rbmApiHelper = new RbmApiHelper(credentialsFileLocation, projectId); // Send the device an event to indicate that the agent is typing rbmApiHelper.SendIsTypingMessage(messageId, "+12223334444");