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] }
Die Nachricht ist abgelaufen und konnte nicht widerrufen werden
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 der Nachricht kann nicht garantiert werden.
- 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 einen Widerrufsantrag 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 zeigt an, dass eine Nachricht zugestellt wurde.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "DELIVERED", "eventId": "EVENT_ID", "messageId": "MESSAGE_ID", "agentId": "AGENT_ID" }
Nutzer liest Agent-Nachricht
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" }
Der 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 eine vorgeschlagene Antwort.
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" } }
Von Kundenservicemitarbeitern generierte Ereignisse
Der Agent sendet Ereignisse, um menschliche Interaktionen zu simulieren und dem Nutzer zu versichern, dass der Agent mit seinen Nachrichten interagiert. Für Nutzer werden Ereignisse als Benachrichtigungen in ihren Unterhaltungen angezeigt.
Informationen zu Formatierungs- und Wertoptionen finden Sie unter phones.agentEvents
.
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 von der RBM-Plattform zugestellt wurde und der Agent sie 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);Dieser Code ist ein Auszug aus einem RBM-Beispiel-Agent.
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");Dieser Code ist ein Auszug aus einem RBM-Beispiel-Agenten.
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)Dieser Code ist ein Auszug aus einem RBM-Beispiel-Agenten.
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");Dieser Code ist ein Auszug aus einem RBM-Beispiel-Agenten.
Der 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. Die Eingabeanzeige läuft nach kurzer Zeit (ca. 20 Sekunden) ab oder wenn das Gerät des Nutzers eine neue Nachricht von Ihrem Agent erhält. 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!'); });Dieser Code ist ein Auszug aus einem RBM-Beispiel-Agent.
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");Dieser Code ist ein Auszug aus einem RBM-Beispiel-Agenten.
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')Dieser Code ist ein Auszug aus einem RBM-Beispiel-Agent.
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");Dieser Code ist ein Auszug aus einem RBM-Beispiel-Agenten.