Потоки разговора

Отправка и получение сообщений и событий являются основными аспектами общения между агентом и пользователем. Агенты отправляют сообщения, события и запросы пользователям через запросы HTTP POST к API RBM, но получают созданные пользователем сообщения и события через настроенный веб-перехватчик .

Ниже приведен пример потока беседы, в котором используются примеры данных, чтобы проиллюстрировать, как сообщения, события и запросы могут создавать полезные и значимые взаимодействия.

Привет, мир!

Базовый разговор между агентом и пользователем.

В этом примере агент отправляет 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, который передает его на устройство пользователя.

    Агент отправляет:

    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"
    }