對話流程

傳送及接收訊息和事件是服務專員與使用者之間溝通的核心。代理程式會透過 HTTP POST 要求傳送訊息、事件和要求給使用者,但會透過已設定的 webhook 接收使用者建立的訊息和事件。

以下是對話流程的範例,使用範例資料說明訊息、事件和要求如何建立實用且有意義的互動。

向全世界問好!

服務專員和使用者之間的基本對話。

在這個範例中,代理程式會將 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,再由 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"
    }