זרימות שיחה

שליחה וקבלה של הודעות ואירועים הם ההיבטים העיקריים של התקשורת בין סוכן למשתמש. סוכנים שולחים למשתמשים הודעות, אירועים ובקשות דרך בקשות HTTP POST ל-RBM API, אבל הם מקבלים מ-Cloud Pub/Sub הודעות ואירועים שנוצרו על ידי משתמשים כ-JSON.

לפניכם דוגמה לתהליך שיחה שבו המערכת משתמשת בנתונים לדוגמה כדי להמחיש איך הודעות, אירועים ובקשות יכולים ליצור אינטראקציות שימושיות ומשמעותיות.

שלום עולם!

שיחה בסיסית בין סוכן למשתמש.

בדוגמה הזו, הנציג שולח את 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"
    }