撤消消息

您的客服人员可以撤消已发送但尚未送达的消息。最好在未送达的消息过期之前撤消这些消息。具体时间取决于您的代理的用例。例如,您可以将动态密码消息撤消 10 分钟后,但将促销消息撤消在特定到期日期。为确保邮件及时递送,请务必及时撤消邮件,以便通过短信等备用途径发送。

您可以通过以下两种方式撤消消息:

  • 发送撤消请求以触发撤消。当 RBM 平台收到撤消请求时,该平台会返回 200 OK。200 OK 响应无法确认消息是否已撤消。如果撤消成功,RBM 平台会停止尝试传送消息,并将其从用户的队列中删除。

  • 设置消息到期时间,以便在适当的时间自动撤消消息。RBM 平台会在消息过期时通知您的代理,并确认消息是否已成功撤消。如需了解详情,请参阅服务器生成的事件

在极少数情况下,撤消操作可能会失败。例如,在 RBM 平台传送消息时,您的代理可能会尝试撤消消息。如果撤消失败,请检查您的网络钩子是否收到 DELIVERED 事件。如果邮件尚未递送,您可以发送新的撤消请求,然后将邮件转送到短信等备用渠道,以确保及时递送。

示例

以下代码会发送撤消请求。如需了解格式设置和值信息,请参阅 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);
});
此代码是 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();
}
此代码是 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)
此代码是 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");
此代码是 RBM 示例代理的摘录。