メッセージとイベントの送受信は、エージェントとユーザー間の通信の中核です。エージェントは、HTTP POST リクエストを介して RBM API にメッセージ、イベント、リクエストをユーザーに送信しますが、ユーザーが作成したメッセージとイベントは Cloud Pub/Sub から JSON として受信します。
以下のサンプル フローを使用して会話メッセージ、イベント、リクエストを使用すると、有意義で有意義なインタラクションを実現できます。
Hello, World!
この例では、エージェントがユーザーへのメッセージとして Hello, World!
を送信し、ユーザーが Hello to you!
で応答します。
エージェントが機能チェック リクエストを送信して、ユーザーのデバイスが RBM 対応であることを確認します。
エージェントから送信される情報:
GET /v1/phones/+12223334444/capabilities?requestId=147547143069602483572 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" ] }
エージェントが RBM API に
Hello, World!
メッセージを送信し、ユーザーのデバイスに渡します。エージェントから送信される情報:
POST /v1/phones/+12223334444/agentMessages?messageId=123 HTTP/1.1 Host: us-rcsbusinessmessaging.googleapis.com Content-Type: application/json { "contentMessage": { "text": "Hello, World!", } }
RBM プラットフォームがユーザーのデバイスにメッセージを送信し、エージェントに
DELIVERED
イベントを送信します。エージェントに伝える内容:
{ "senderPhoneNumber": "+12223334444", "eventType": "DELIVERED", "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg", "messageId": "123" }
ユーザーがデバイスでメッセージを開くと、エージェントに
READ
イベントが送信されます。エージェントに伝える内容:
{ "senderPhoneNumber": "+12223334444", "eventType": "READ", "eventId": "Ms6oOiEli6QS-ge9ZFsmgTj", "messageId": "123" }
ユーザーがエージェントに返信し、エージェントに返信します。
エージェントに伝える内容:
{ "senderPhoneNumber": "+12223334444", "messageId": "msg000999888777a", "sendTime": "2018-12-31T15:01:23.045123456Z", "text": "Hello to you!", }
RBM プラットフォームは、ユーザーのメッセージを受信すると、ユーザーのデバイスに
DELIVERED
イベントを自動的に送信します。エージェントは、ユーザーのメッセージに応答して
READ
イベントを送信し、メッセージが受信および確認されたことを知らせます。エージェントから送信される情報:
{ "eventType": "READ", "messageId": "msg000999888777a" }