本文档阐明了 RCS 商务平台如何处理消息发送和其他 API 互动,并区分了同步操作和异步操作。
RBM API 互动通常遵循 HTTP 级别的同步请求-响应模式。不过,许多 API 调用(尤其是消息传递)的结果是通过 Webhook 异步处理的。如需了解详情,请参阅以下部分。
消息发送:同步请求,异步传送
从 API 的角度来看,phones.agentMessages.create
API 请求是同步处理的。当您向 RCS 商务平台发出 HTTP 请求时,服务器会几乎立即返回标准 HTTP 状态代码(例如 200 OK
或错误),以指示请求是否已收到且有效。
不过,向最终用户实际传送消息的过程是异步处理的。以下因素可能会影响此流程:
- 接收者状态:用户可能处于离线状态、电池电量不足或未启用 RCS。
- 网络状况:运营商网络问题可能会导致消息延迟或无法送达。
RCS Business Messaging 平台通过 Webhook 异步提供消息递送状态更新(例如递送回执和已读回执)。
因此,虽然初始 API 请求是同步的,但您应依靠异步 webhook 事件来跟踪消息传递情况。请勿期待通过 phones.agentMessages.create
回复立即确认递送状态。
其他 RBM API 互动
大多数其他基于 HTTP 的 RBM API 也采用同步请求-响应模型。这些 API 会提供即时 HTTP 响应,以指示请求的状态(成功或错误)。不过,虽然请求是同步的,但请求产生的操作可能涉及异步流程。例如,成功响应了用于更新客服人员信息的 API 调用,并不意味着更新会立即反映在所有位置;可能存在短暂的传播延迟。
Webhook 端点:异步事件
- 用户发来的消息:RCS for Business 平台会将用户发来的消息推送到您的网络钩子端点。请务必验证入站邮件。
- 送达回执和已读回执:通过 webhook 发送消息送达和已读状态通知。
- 对话事件:某些与对话相关的事件(例如输入指示器)通过 Webhook 发送。
- 消息过期和撤消事件:RCS 商家平台会发送事件,以确认过期的消息是否已成功撤消。