发送及接收信息和事件是代理与用户间沟通的核心环节。代理向用户发送消息、事件和请求 但通过 HTTP POST 请求发送到 RBM API 在配置 webhook。
下面是一个对话流程示例,它使用示例数据来说明信息、事件和请求如何形成有用且有意义的互动。
世界,你好!
在此示例中,代理会以如下形式发送 Hello, World!
:
系统会向用户发送一条消息,然后由用户回复 Hello to you!
。
代理发送功能检查请求以验证用户的设备 是否支持 RBM。
代理会发送以下内容:
GET /v1/phones/+12223334444/capabilities?requestId=147547143069602483572&agentId=welcome-bot HTTP/1.1 Host: us-rcsbusinessmessaging.googleapis.com Content-Type: application/json
RBM 平台向代理发送功能检查响应,表明 用户的设备可以接收 RBM 消息。
代理会收到:
{ "rbmEnabled": true, "features": [ "REVOCATION", "RICHCARD_STANDALONE", "RICHCARD_CAROUSEL", "ACTION_CREATE_CALENDAR_EVENT", "ACTION_DIAL", "ACTION_OPEN_URL", "ACTION_SHARE_LOCATION", "ACTION_VIEW_LOCATION" ] }
代理将
Hello, World!
消息发送到 RBM API,该 API 会传递 发送到用户的设备代理会发送以下内容:
POST /v1/phones/+12223334444/agentMessages?messageId=123&agentId=welcome-bot HTTP/1.1 Host: us-rcsbusinessmessaging.googleapis.com Content-Type: application/json { "contentMessage": { "text": "Hello, World!", } }
RBM 平台将消息发送到用户的设备,并发送 将
DELIVERED
事件发送给代理。代理会收到:
{ "senderPhoneNumber": "+12223334444", "agentId": "welcome-bot@rbm.goog", "eventType": "DELIVERED", "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg", "messageId": "123" }
用户在其设备上打开消息,这会将
READ
事件发送到 代理。代理会收到:
{ "senderPhoneNumber": "+12223334444", "agentId": "welcome-bot@rbm.goog", "eventType": "READ", "eventId": "Ms6oOiEli6QS-ge9ZFsmgTj", "messageId": "123" }
用户撰写回复并向代理发送回复。
代理会收到:
{ "senderPhoneNumber": "+12223334444", "agentId": "welcome-bot@rbm.goog", "messageId": "msg000999888777a", "sendTime": "2018-12-31T15:01:23.045123456Z", "text": "Hello to you!", }
RBM 平台会自动向用户的设备发送
DELIVERED
事件 。代理会发送
READ
事件来响应用户的消息,让用户 知道它已被接收和确认代理会发送以下内容:
POST /v1/phones/+12223334444/agentEvents?eventId=1234&agentId=welcome-bot HTTP/1.1 Host: us-rcsbusinessmessaging.googleapis.com Content-Type: application/json { "eventType": "READ", "messageId": "msg000999888777a" }