Sự kiện là thông báo mà nhân viên hỗ trợ của bạn có thể gửi và nhận. Có 3 loại sự kiện:
- Do máy chủ tạo: Nền tảng RBM gửi cho nhân viên hỗ trợ của bạn
- Do người dùng tạo: Thiết bị của người dùng gửi đến tác nhân của bạn
- Do đại lý tạo: Đại lý của bạn gửi cho người dùng
Sự kiện do máy chủ tạo
Nền tảng RBM sẽ gửi các sự kiện để thông báo cho nhân viên hỗ trợ của bạn về nội dung cập nhật ở cấp máy chủ, chẳng hạn như tin nhắn hết hạn.
Để biết các tuỳ chọn định dạng và giá trị, hãy xem ServerEvent
.
Tin nhắn đã hết hạn; thu hồi thành công
Thư đã hết hạn và đã được thu hồi thành công. Sự kiện này sẽ là một điều kiện kích hoạt phù hợp cho chiến lược thông báo dự phòng của bạn.
{ "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] }
Thông báo đã hết hạn; không thu hồi được
Thông báo đã hết hạn nhưng chưa bị thu hồi.
{ "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] }
Không đảm bảo việc gửi thư.
- Nếu thư đã được gửi, bạn sẽ nhận được một sự kiện
DELIVERED
tại webhook. - Nếu thư không được phân phối, hãy sử dụng API thu hồi để gửi yêu cầu thu hồi.
Nếu thông báo có tính thời gian, chẳng hạn như mã xác thực một lần (OTP) hoặc cảnh báo gian lận, tốt nhất bạn nên gửi thông báo qua một kênh thay thế như SMS, ngay cả khi điều này dẫn đến việc gửi thông báo trùng lặp cho người dùng.
Sự kiện do người dùng tạo
Giống như tin nhắn của người dùng và các lượt kiểm tra chức năng, trợ lý của bạn sẽ nhận được sự kiện của người dùng dưới dạng JSON.
Để biết các tuỳ chọn định dạng và giá trị, hãy xem UserEvent
.
Người dùng nhận được tin nhắn của nhân viên hỗ trợ
Sự kiện này cho biết tin nhắn đã được gửi.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "DELIVERED", "eventId": "EVENT_ID", "messageId": "MESSAGE_ID", "agentId": "AGENT_ID" }
Người dùng đọc tin nhắn của nhân viên hỗ trợ
Sự kiện này cho biết một tin nhắn đã được mở hoặc xác nhận.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "READ", "eventId": "EVENT_ID", "messageId": "MESSAGE_ID", "agentId": "AGENT_ID" }
Người dùng bắt đầu nhập
Sự kiện này cho biết người dùng đang nhập.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventType": "IS_TYPING", "eventId": "EVENT_ID",, "agentId": "AGENT_ID" }
Người dùng gửi tin nhắn văn bản
{ "senderPhoneNumber": "PHONE_NUMBER", "text": "Hi", "eventId": "EVENT_ID", "agentId": "AGENT_ID" }
Người dùng gửi một tệp
{ "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" }
Người dùng nhấn vào một câu trả lời đề xuất
Khi người dùng nhấn vào một tin nhắn trả lời được đề xuất, trợ lý của bạn sẽ nhận được một sự kiện có dữ liệu và văn bản đăng lại của tin nhắn trả lời.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventId": "EVENT_ID", "agentId": "AGENT_ID", "suggestionResponse": { "postbackData": "postback_1234", "text": "Hello there!" } }
Người dùng nhấn vào một hành động đề xuất
Khi người dùng nhấn vào một hành động được đề xuất, tác nhân của bạn sẽ nhận được một sự kiện có dữ liệu đăng lại của hành động đó.
{ "senderPhoneNumber": "PHONE_NUMBER", "eventId": "EVENT_ID", "agentId": "AGENT_ID", "suggestionResponse": { "postbackData": "postback_1234" } }
Sự kiện do nhân viên hỗ trợ tạo
Nhân viên hỗ trợ của bạn sẽ gửi các sự kiện để mô phỏng hoạt động tương tác của con người và đảm bảo với người dùng rằng nhân viên hỗ trợ của bạn đang tương tác với tin nhắn của họ. Đối với người dùng, sự kiện sẽ hiển thị dưới dạng thông báo trong cuộc trò chuyện.
Để biết các tuỳ chọn định dạng và giá trị, hãy xem phones.agentEvents
.
Tác nhân gửi sự kiện READ
Đối với người dùng, sự kiện này xuất hiện dưới dạng biên nhận đã đọc cho một thư cụ thể. Nó cho người dùng biết rằng nền tảng RBM đã gửi thông báo của họ và tác nhân đang xử lý thông báo đó.
Mã sau đây sẽ gửi một sự kiện READ
cho một thông báo có messageId
phù hợp.
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);Mã này là một phần trích dẫn từ trình đại diện mẫu 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");Mã này là một phần trích dẫn từ trình đại diện mẫu 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)Mã này là một phần trích dẫn từ trình đại diện mẫu 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");Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.
Tác nhân gửi sự kiện IS_TYPING
Đối với người dùng, sự kiện này sẽ xuất hiện dưới dạng chỉ báo đang soạn tin nhắn và cho người dùng biết rằng tác nhân của bạn đang soạn tin nhắn. Chỉ báo đang nhập sẽ hết hạn sau một khoảng thời gian ngắn (khoảng 20 giây) hoặc khi thiết bị của người dùng nhận được tin nhắn mới từ nhân viên hỗ trợ của bạn. Tác nhân của bạn có thể gửi nhiều sự kiện IS_TYPING
để đặt lại bộ tính giờ hết hạn của chỉ báo đang nhập.
Mã sau đây sẽ gửi một sự kiện 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!'); });Mã này là một phần trích dẫn từ trình đại diện mẫu 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");Mã này là một phần trích dẫn từ trình đại diện mẫu 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')Mã này là một phần trích dẫn từ trình đại diện mẫu 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");Mã này là một phần trích dẫn từ trình đại diện mẫu RBM.