会話フロー

メッセージとイベントの送受信は、エージェントとユーザー間のコミュニケーションの中心的な要素です。エージェントは、RBM API への HTTP POST リクエストを介してユーザーにメッセージ、イベント、リクエストを送信しますが、ユーザー作成のメッセージとイベントは、構成された Webhook で受信します。

以下は、サンプルデータを使用して、メッセージ、イベント、リクエストがどのように有用で意味のあるインタラクションを作成できるかを示した会話フローの例です。

Hello, World!

エージェントとユーザー間の基本的な会話。

この例では、エージェントはユーザーにメッセージとして Hello, World! を送信し、ユーザーは Hello to you! で応答します。

エージェントからのメッセージとユーザーからレスポンスが一致するフロー。

  1. エージェントは機能チェック リクエストを送信して、ユーザーのデバイスが RBM 対応であることを確認します。

    エージェントは次のことを送信します。

    GET
    /v1/phones/+12223334444/capabilities?requestId=147547143069602483572&agentId=welcome-bot
    HTTP/1.1
    Host: us-rcsbusinessmessaging.googleapis.com
    Content-Type: application/json
  2. 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"
       ]
    }
  3. エージェントは Hello, World! メッセージを RBM API に送信し、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!",
      }
    }
  4. RBM プラットフォームは、メッセージをユーザーのデバイスに送信し、DELIVERED イベントをエージェントに送信します。

    エージェントは次の情報を受け取り、

    {
      "senderPhoneNumber": "+12223334444",
      "agentId": "welcome-bot@rbm.goog",
      "eventType": "DELIVERED",
      "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg",
      "messageId": "123"
    }
  5. ユーザーが自分のデバイスでメッセージを開くと、READ イベントがエージェントに送信されます。

    エージェントは次の情報を受け取り、

    {
      "senderPhoneNumber": "+12223334444",
      "agentId": "welcome-bot@rbm.goog",
      "eventType": "READ",
      "eventId": "Ms6oOiEli6QS-ge9ZFsmgTj",
      "messageId": "123"
    }
  6. ユーザーが返信を作成してエージェントに送信します。

    エージェントは次の情報を受け取り、

    {
      "senderPhoneNumber": "+12223334444",
      "agentId": "welcome-bot@rbm.goog",
      "messageId": "msg000999888777a",
      "sendTime": "2018-12-31T15:01:23.045123456Z",
      "text": "Hello to you!",
    }
  7. RBM プラットフォームは、ユーザーのメッセージを受信すると、ユーザーのデバイスに自動的に DELIVERED イベントを送信します。

  8. エージェントは、ユーザーのメッセージに応答して 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"
    }