发送及接收信息和事件是代理与用户间沟通的核心环节。代理通过 HTTP POST 请求向 RBM API 发送消息、事件和请求,但通过配置的网络钩子接收用户创建的信息和事件。
下面是一个对话流程示例,它使用示例数据来说明信息、事件和请求如何形成有用且有意义的互动。
世界,你好!
在此示例中,代理将 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/jsonRBM 平台向代理发送功能检查响应,指明用户的设备可以接收 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,后者将其传递给用户的设备。代理会发送以下内容:
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"
}