Zdarzenia to powiadomienia, które może wysyłać i odbierać pracownik obsługi klienta. Istnieją 3 rodzaje zdarzeń:
- Generowane na serwerze: wysłane do Twojego agenta przez platformę RBM.
- Utworzone przez użytkownika: przesłane do Twojego pracownika obsługi klienta przez urządzenie użytkownika.
- Wygenerowane przez pracownika obsługi klienta: wysłane przez pracownika obsługi klienta do użytkownika.
Zdarzenia generowane przez serwer
Platforma RBM wysyła zdarzenia, aby powiadomić Twojego agenta o aktualizacjach na poziomie serwera, takich jak wygaśnięcie wiadomości.
Opcje formatowania i wartości znajdziesz w artykule ServerEvent
.
Wiadomość wygasła; odwołanie zostało zaakceptowane
Wygasła i została cofnięta. To zdarzenie dobrze nadaje się do przygotowywania zastępczej strategii przesyłania wiadomości.
{ "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] }
Wygasła wiadomość; anulowanie nie powiodło się
wiadomość wygasła, ale nie została cofnięta;
{ "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] }
Dostarczenie wiadomości nie jest gwarantowane.
- Jeśli wiadomość została dostarczona, na webhooku otrzymasz zdarzenie
DELIVERED
. - Jeśli wiadomość nie została dostarczona, użyj interfejsu revoke API, aby przesłać prośbę o odstąpienie od umowy.
Jeśli wiadomość jest pilna, np. kod OTP lub alert o oszustwie, najlepiej wysłać ją przez inny kanał, np. SMS-a, nawet jeśli spowoduje to wysłanie duplikatu wiadomości do użytkownika.
Zdarzenia wygenerowane przez użytkownika
Podobnie jak w przypadku wiadomości od użytkowników i sprawdzeń możliwości, Twój bot otrzymuje zdarzenia użytkownika w formacie JSON.
Opcje formatowania i wartości znajdziesz w artykule UserEvent
.
Użytkownik otrzymuje wiadomość od pracownika obsługi klienta
To zdarzenie wskazuje, że wiadomość została dostarczona.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "DELIVERED", "eventId": "EVENT_ID", "messageId": "MESSAGE_ID", "agentId": "AGENT_ID" }
Użytkownik odczytuje wiadomość agenta
To zdarzenie wskazuje, że wiadomość została otwarta lub potwierdzony.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "READ", "eventId": "EVENT_ID", "messageId": "MESSAGE_ID", "agentId": "AGENT_ID" }
Użytkownik zaczyna pisać
To zdarzenie wskazuje, że użytkownik pisze.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "IS_TYPING", "eventId": "EVENT_ID",, "agentId": "AGENT_ID" }
Użytkownik wysyła SMS-a
{ "senderPhoneNumber": "PHONE_NUMBER", "text": "Hi", "eventId": "EVENT_ID", "agentId": "AGENT_ID" }
Użytkownik wysyła plik
{ "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" }
Użytkownik klika sugerowaną odpowiedź
Gdy użytkownik kliknie sugerowaną odpowiedź, Twój agent otrzyma zdarzenie z danymi i tekstem odpowiedzi.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventId": "EVENT_ID", "agentId": "AGENT_ID", "suggestionResponse": { "postbackData": "postback_1234", "text": "Hello there!" } }
Użytkownik klika sugerowane działanie
Gdy użytkownik kliknie sugerowane działanie, Twój pracownik otrzyma zdarzenie z danymi zwrotnymi tego działania.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventId": "EVENT_ID", "agentId": "AGENT_ID", "suggestionResponse": { "postbackData": "postback_1234" } }
Zdarzenia wygenerowane przez agenta
Twój agent wysyła zdarzenia, aby symulować interakcje z ludźmi i pokazać użytkownikowi, że Twój agent reaguje na jego wiadomości. W przypadku użytkowników wydarzenia są wyświetlane jako powiadomienia w rozmowach.
Informacje o formatowaniu i opcjach wartości znajdziesz tutaj: phones.agentEvents
.
Pracownik obsługi klienta wysyła zdarzenie READ
Dla użytkowników to zdarzenie jest widoczne jako potwierdzenie odczytania konkretnej wiadomości. Informuje on użytkownika, że platforma RBM dostarczyła wiadomość i że agent ją przetwarza.
Ten kod wysyła zdarzenie READ
dla wiadomości z pasującym messageId
.
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);Ten kod jest fragmentem przykładowego agenta RBM.
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");Ten kod pochodzi z przykładowego agenta RBM.
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)Ten kod pochodzi z przykładowego agenta RBM.
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");Ten kod pochodzi z przykładowego agenta RBM.
Pracownik obsługi klienta wysyła zdarzenie IS_TYPING
Użytkownicy widzą to zdarzenie jako wskaźnik pisania i wiedzą, że Twój agent tworzy wiadomość. Wskaźnik pisania wygasa po krótkim czasie (około 20 sekund) lub gdy urządzenie użytkownika otrzyma nową wiadomość od Twojego agenta. Twój agent może wysyłać wiele zdarzeń IS_TYPING
, aby zresetować minutnik wygaśnięcia wskaźnika pisania.
Ten kod wysyła zdarzenie IS_TYPING
.
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!'); });Ten kod jest fragmentem przykładowego agenta RBM.
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");Ten kod jest fragmentem przykładowego agenta RBM.
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')Ten kod jest fragmentem przykładowego agenta RBM.
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");Ten kod jest fragmentem przykładowego agenta RBM.