การส่งและรับข้อความและกิจกรรมต่างๆ เป็นด้านหลักของการสื่อสารระหว่างตัวแทนและผู้ใช้ ตัวแทนจะส่งข้อความ เหตุการณ์ และคําขอให้แก่ผู้ใช้ผ่านคําขอ HTTP POST ไปยัง RBM API แต่จะได้รับข้อความและเหตุการณ์ที่ผู้ใช้สร้างขึ้นเป็น JSON จาก Cloud Pub/Sub
ด้านล่างนี้คือตัวอย่างการสนทนาที่ใช้ข้อมูลตัวอย่างเพื่อแสดงให้เห็นว่าข้อความ เหตุการณ์ และคําขอสร้างการโต้ตอบที่มีประโยชน์และมีความหมายได้อย่างไร
สวัสดี
ในตัวอย่างนี้ ตัวแทนจะส่ง 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" }