שליחה וקבלה של הודעות ואירועים הם ההיבטים העיקריים של התקשורת בין סוכן למשתמש. סוכנים שולחים למשתמשים הודעות, אירועים ובקשות דרך בקשות HTTP POST ל-RBM API, אבל הם מקבלים מ-Cloud Pub/Sub הודעות ואירועים שנוצרו על ידי משתמשים כ-JSON.
לפניכם דוגמה לתהליך שיחה שבו המערכת משתמשת בנתונים לדוגמה כדי להמחיש איך הודעות, אירועים ובקשות יכולים ליצור אינטראקציות שימושיות ומשמעותיות.
שלום עולם!
בדוגמה הזו, הנציג שולח את Hello, World!
כהודעה למשתמש והמשתמש מגיב באמצעות Hello to you!
.
הנציג שולח בקשה לבדיקת יכולות כדי לוודא שהמכשיר של המשתמש תומך ב-RBM.
הנציג שולח:
GET /v1/phones/+12223334444/capabilities?requestId=147547143069602483572 HTTP/1.1 Host: us-rcsbusinessmessaging.googleapis.com Content-Type: application/json
פלטפורמת 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" ] }
הנציג שולח את ההודעה של
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!", } }
פלטפורמת RBM שולחת את ההודעה למכשיר של המשתמש, ושולחת אירוע
DELIVERED
לנציג.הנציג יקבל:
{ "senderPhoneNumber": "+12223334444", "eventType": "DELIVERED", "eventId": "Ms6oOiEli6QS-fe8QFrmhfIg", "messageId": "123" }
המשתמש פותח את ההודעה במכשיר שלו, ושולח אירוע של
READ
לנציג.הנציג יקבל:
{ "senderPhoneNumber": "+12223334444", "eventType": "READ", "eventId": "Ms6oOiEli6QS-ge9ZFsmgTj", "messageId": "123" }
המשתמש כותב ושולח תשובה לסוכן.
הנציג יקבל:
{ "senderPhoneNumber": "+12223334444", "messageId": "msg000999888777a", "sendTime": "2018-12-31T15:01:23.045123456Z", "text": "Hello to you!", }
פלטפורמת ה-RBM שולחת אוטומטית למכשיר של המשתמש אירוע
DELIVERED
כשהוא מקבל את ההודעה שלו.הנציג שולח אירוע
READ
בתגובה להודעה של המשתמש כדי להודיע לו שהוא התקבל ואושר.הנציג שולח:
{ "eventType": "READ", "messageId": "msg000999888777a" }