گفتگو جریان دارد

ارسال و دریافت پیام ها و رویدادها جنبه های اصلی ارتباط بین یک نماینده و یک کاربر است. نمایندگی‌ها پیام‌ها، رویدادها و درخواست‌ها را از طریق درخواست‌های HTTP POST به RBM API ارسال می‌کنند اما پیام‌ها و رویدادهای ایجاد شده توسط کاربر را در وب‌هوک پیکربندی‌شده دریافت می‌کنند.

در زیر نمونه‌ای از جریان مکالمه است که از داده‌های نمونه استفاده می‌کند تا نشان دهد چگونه پیام‌ها، رویدادها و درخواست‌ها می‌توانند تعاملات مفید و معنی‌داری ایجاد کنند.

سلام، جهان!

یک مکالمه اساسی بین یک نماینده و یک کاربر.

در این مثال، عامل ارسال 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"
    }