Thu hồi thư

Nhân viên hỗ trợ của bạn có thể thu hồi một thư đã gửi nhưng chưa được phân phối. Tốt nhất là bạn nên thu hồi các thư chưa gửi trước khi chúng trở nên lỗi thời. Thời gian phụ 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 thông báo OTP sau 10 phút nhưng thu hồi thông báo khuyến mãi 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 có thể gửi tin nhắn qua một tuyến thay thế như SMS.

Có hai cách để thu hồi thư:

  • Gửi yêu cầu thu hồi để kích hoạt việc thu hồi. Khi nhận được yêu cầu thu hồi, nền tảng RBM sẽ trả về mã 200 OK. Phản hồi 200 OK không xác nhận việc tin nhắn có bị thu hồi hay không. Nếu việc thu hồi thành công, thì nền tảng RBM sẽ ngừng cố gắng phân phố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 gian hết hạn cho tin nhắn để tự động thu hồi tin nhắn vào thời điểm thích hợp. Nền tảng RBM sẽ thông báo cho đại lý của bạn khi thông báo hết hạn và xác nhận xem thông báo đó có được thu hồi thành công hay không. Hãy xem phần Sự kiện do máy chủ tạo để biết thêm thông tin.

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

Ví dụ:

Mã sau đây sẽ gửi 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?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`"

Node.js

// Reference to RBM API helper
const rbmApiHelper = require('@google/rcsbusinessmessaging');

// Stop the message associated with messageId from being delivered
rbmApiHelper.revokeMessage('+12223334444', messageId, function(err, response) {
   console.log(response);
});
Mã này là trích đoạn từ trình đại diện mẫu RBM.

Java

import com.google.rbm.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à trích đoạ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

# Stop the message associated with message_id from being delivered
rbm_service.revoke('+12223334444', message_id)
Mã này là trích đoạ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);

// Stop the message associated with messageId from being delivered
rbmApiHelper.RevokeMessage(messageId, "+12223334444");
Mã này là trích đoạn từ trình đại diện mẫu RBM.