Sự kiện

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:

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.