Thu hồi thư

Nhân viên hỗ trợ có thể thu hồi tin nhắn đã gửi nhưng chưa gửi. Tốt nhất là bạn nên thu hồi các tin nhắn chưa được gửi trước khi chúng trở nên lỗi thời. Thời gian tuỳ thuộc vào trường hợp sử dụng của nhân viên hỗ trợ. Ví dụ: bạn có thể thu hồi tin nhắn OTP sau 10 phút nhưng thu hồi tin nhắn quảng cáo vào một ngày hết hạn cụ thể. Để gửi tin nhắn kịp thời, hãy nhớ thu hồi tin nhắn kịp thời để bạn gửi tin nhắn bằng một cách khác như SMS.

Có hai cách để thu hồi thông báo:

  • Gửi yêu cầu thu hồi để kích hoạt quy trình thu hồi. Khi nền tảng RBM nhận được yêu cầu thu hồi, nền tảng sẽ trả về 200 OK. Phản hồi 200 OK không xác nhận thông báo có bị thu hồi hay không. Nếu thu hồi thành công, nền tảng RBM sẽ ngừng cố gắng gửi thông báo và thông báo đó sẽ bị xoá khỏi hàng đợi của người dùng.

  • Đặt thời hạn thông báo để tự động thu hồi thông báo vào thời điểm thích hợp. Nền tảng RBM sẽ thông báo cho nhân viên hỗ trợ của bạn khi tin nhắn đã hết hạn và xác nhận xem tin nhắn đó có được thu hồi thành công hay không. Hãy xem bài viết Sự kiện do máy chủ tạo để biết thêm thông tin.

Việc thu hồi có thể không thành công trong một số trường hợp hiếm gặp. Ví dụ: nhân viên hỗ trợ của bạn có thể cố gắng thu hồi tin nhắn trong khi nền tảng RBM đang gửi tin nhắn. Nếu thu hồi không thành công, hãy kiểm tra sự kiện DELIVERED ở webhook của bạn. Nếu tin nhắn chưa được gửi, bạn có thể gửi yêu cầu thu hồi mới rồi chuyển tin nhắn đó đến một kênh thay thế như SMS để đảm bảo gửi kịp thời.

Ví dụ:

Mã sau đây sẽ gửi một yêu cầu thu hồi. Để biết thông tin về định dạng và giá trị, hãy xem phones.agentMessages.delete.

cURL

curl -X DELETE "https://REGION-rcsbusinessmessaging.googleapis.com/v1/phones/PHONE_NUMBER/agentMessages/MESSAGE_ID" \
-H "Content-Type: application/json" \
-H "User-Agent: curl/rcs-business-messaging" \
-H "`oauth2l header --json PATH_TO_SERVICE_ACCOUNT_KEY rcsbusinessmessaging`"

Node.js

// Reference to RBM API helper
const rbmApiHelper = require('../libs/rbm_api_helper');

// Stop the message associated with messageId from being delivered
rbmApiHelper.revokeMessage('+12223334444', messageId, function(err, response) {
   console.log(response);
});
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;
…

try {
   // Create an instance of the RBM API helper
   RbmApiHelper rbmApiHelper = new RbmApiHelper();

   // Stop the message associated with messageId from being delivered
   rbmApiHelper.revokeMessage(messageId, "+12223334444");
} catch(Exception e) {
   e.printStackTrace();
}
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

# Stop the message associated with message_id from being delivered
rbm_service.revoke('+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);

// Stop the message associated with messageId from being delivered
rbmApiHelper.RevokeMessage(messageId, "+12223334444");
Mã này là phần trích dẫn từ một tác nhân mẫu RBM.