Sự kiện

Sự kiện là các thông báo mà nhân viên hỗ trợ của bạn có thể gửi và nhận. Có ba 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ợ về thông tin cập nhật ở cấp máy chủ, chẳng hạn như thời hạn tin nhắn.

Để biết các tuỳ chọn định dạng và giá trị, hãy xem ServerEvent.

Thông báo đã hết hạn; thu hồi thành công

Tin nhắn đã hết hạn và đã được thu hồi thành công. Sự kiện này sẽ là điều kiện kích hoạt tốt cho chiến lược nhắn tin 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]
}

Tin nhắn đã hết hạn; thu hồi không thành công

Thông báo này đã hết hạn nhưng chưa được 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]
}

Việc gửi tin nhắn không được đảm bảo.

  • Nếu tin nhắn đã được gửi, bạn sẽ nhận được một sự kiện DELIVERED tại webhook của mình.
  • Nếu thông báo không được gửi đi, hãy sử dụng API thu hồi để gửi yêu cầu thu hồi.

Nếu tin nhắn có giới hạn về thời gian (chẳng hạn như OTP hoặc cảnh báo lừa đảo), thì tốt nhất là bạn nên gửi tin nhắn thông qua một kênh thay thế như SMS ngay cả khi việc này dẫn đến việc người dùng nhận được tin nhắn trùng lặp.

Sự kiện do người dùng tạo

Tương tự như với thông báo cho người dùng và quy trình kiểm tra khả năng, tác nhân của bạn sẽ nhận được các sự kiện 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 tin nhắn của nhân viên hỗ trợ

Sự kiện này cho biết rằng một thư đã được gửi.

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventType": "DELIVERED",
  "eventId": "EVENT_ID",
  "messageId": "MESSAGE_ID",
  "agentId": "AGENT_ID"
}

Người dùng đọc thông báo của nhân viên hỗ trợ

Sự kiện này cho biết rằng một thư đã đượ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 soạn tin nhắn.

{
  "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 câu trả lời đề xuất, nhân viên hỗ trợ sẽ nhận được một sự kiện có dữ liệu và văn bản đăng lại của câu 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 được đề xuất

Khi người dùng nhấn vào một hành động đề xuất, nhân viên hỗ trợ 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ợ đang tương tác với tin nhắn của họ. Đối với người dùng, sự kiện 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.

Nhân viên hỗ trợ 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 thông báo xác nhận đã đọc cho một tin nhắn cụ thể. Thông báo này cho người dùng biết rằng nền tảng RBM đã gửi tin nhắn của họ và nhân viên hỗ trợ đang xử lý tin nhắn đó.

Mã sau đây sẽ gửi sự kiện READ cho một thông báo có messageId trùng khớp.

cURL

curl -X POST "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentEvents?eventId=EVENT_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('../libs/rbm_api_helper');

// Send the device an event to indicate that messageId has been read
rbmApiHelper.sendReadMessage('+12223334444', messageId);
Mã này là phần trích dẫn từ một tác nhân mẫu RBM.

Java

import com.google.rbm.samples.lib.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à phần trích dẫn từ một tác nhâ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à phần trích dẫn từ một tác nhâ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à phần trích dẫn từ một tác nhân mẫu RBM.

Nhân viên hỗ trợ gửi sự kiện IS_TYPING

Đối với người dùng, sự kiện này xuất hiện dưới dạng chỉ báo đang nhập và cho họ biết rằng nhân viên hỗ trợ 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 một tin nhắn mới từ nhân viên hỗ trợ. Nhân viên hỗ trợ 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" \
-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('../libs/rbm_api_helper');

// 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à phần trích dẫn từ một tác nhân mẫu RBM.

Java

import com.google.rbm.samples.lib.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à phần trích dẫn từ một tác nhâ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à phần trích dẫn từ một tác nhâ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à phần trích dẫn từ một tác nhân mẫu RBM.