您的客服人员可以撤消已发送但尚未递送的消息。最好在未递送的消息过期之前将其撤消。具体时间取决于代理的使用场景。例如,您可以在 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" \ -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); });此代码摘自 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(); }此代码摘自 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 示例代理。