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

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

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

سلام دنیا!

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

در این مثال، عامل ارسال Hello, World! به عنوان یک پیام برای کاربر، و کاربر با Hello to you! .

نمودار توالی پیام از یک نماینده و پاسخ از یک کاربر.

  1. نماینده یک درخواست بررسی قابلیت ارسال می کند تا تأیید کند که دستگاه کاربر دارای قابلیت RBM است.

    نماینده می فرستد:

    GET
    /v1/phones/+12223334444/capabilities?requestId=147547143069602483572
    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
    HTTP/1.1
    Host: us-rcsbusinessmessaging.googleapis.com
    Content-Type: application/json
    {
      "contentMessage": {
        "text": "Hello, World!",
      }
    }
  4. پلت فرم RBM پیام را به دستگاه کاربر می فرستد و یک رویداد DELIVERED را برای نماینده ارسال می کند.

    نماینده دریافت می کند:

    {
      "senderPhoneNumber": "+12223334444",
      "eventType": "DELIVERED",
      "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg",
      "messageId": "123"
    }
  5. کاربر پیام را در دستگاه خود باز می کند، که یک رویداد READ را برای نماینده ارسال می کند.

    نماینده دریافت می کند:

    {
      "senderPhoneNumber": "+12223334444",
      "eventType": "READ",
      "eventId": "Ms6oOiEli6QS-ge9ZFsmgTj",
      "messageId": "123"
    }
  6. کاربر می نویسد و پاسخی را برای نماینده ارسال می کند.

    نماینده دریافت می کند:

    {
      "senderPhoneNumber": "+12223334444",
      "messageId": "msg000999888777a",
      "sendTime": "2018-12-31T15:01:23.045123456Z",
      "text": "Hello to you!",
    }
  7. پلت فرم RBM هنگامی که پیام کاربر را دریافت می کند، به طور خودکار یک رویداد DELIVERED را برای دستگاه کاربر ارسال می کند.

  8. عامل یک رویداد READ را در پاسخ به پیام کاربر ارسال می کند تا به او اطلاع دهد که دریافت و تایید شده است.

    نماینده می فرستد:

    {
      "eventType": "READ",
      "messageId": "msg000999888777a"
    }