ตัวแทน RBM จะได้รับข้อความและเหตุการณ์ต่างๆ ผ่าน Webhook เมื่อผู้ใช้ส่งข้อความถึงตัวแทน บริการ RBM ของ Google จะส่งข้อความไปยัง Webhook ที่คุณกำหนดค่าไว้ จากนั้นตัวแทนจะถอดรหัสข้อความ ประมวลผล และส่งการตอบกลับไปยังผู้ใช้ได้

ผู้ใช้สามารถส่งข้อความ ตำแหน่ง หรือไฟล์ใดก็ได้ที่ไคลเอ็นต์ RCS อนุญาต ตัวแทนต้องจัดการข้อความ ตำแหน่ง หรือไฟล์ที่ผู้ใช้อาจส่งมา รวมถึงสถานะข้อผิดพลาดที่ข้อความเหล่านั้นอาจทริกเกอร์
ดูวิธีที่ตัวแทนจัดการใบตอบรับการส่ง ใบตอบรับการอ่าน และสัญญาณบอกสถานะกำลังพิมพ์ได้ที่ รับเหตุการณ์
จัดการข้อความขาเข้า
วิธีที่ตัวแทนจัดการและตอบกลับข้อความจากผู้ใช้ขึ้นอยู่กับตรรกะทางธุรกิจของคุณเป็นอย่างมาก อย่างไรก็ตาม โดยทั่วไปขั้นตอนในการตอบกลับข้อความของผู้ใช้จะสอดคล้องกัน
ขั้นตอนที่ 1: ระบุประเภทข้อความที่ผู้ใช้ส่ง
ผู้ใช้สามารถส่งข้อความได้ 4 ประเภท ดังนี้
- ข้อความคือการตอบกลับแบบอิสระ
- ข้อความคำแนะนำจะมีข้อมูลการส่งคืนและข้อความของ การดำเนินการที่แนะนำหรือการตอบกลับที่แนะนำซึ่งผู้ใช้แตะ
ข้อความตำแหน่งจะมีค่าละติจูดและลองจิจูด
ข้อความไฟล์จะมี URI ของไฟล์และข้อมูลที่เกี่ยวข้อง
ขั้นตอนที่ 2: ประมวลผลเนื้อหาข้อความ
เนื้อหาข้อความของผู้ใช้ควรเป็นแนวทางในการกำหนดตรรกะและการตอบกลับครั้งถัดไปของตัวแทนในการสนทนา
วิธีที่ง่ายที่สุดในการระบุความตั้งใจของผู้ใช้คือการใช้ข้อมูลระบบรายงานผล Conversion จากการตอบกลับที่แนะนำหรือการดำเนินการที่แนะนำ ไม่ว่าข้อความที่เชื่อมโยงกับคำแนะนำจะเป็นอย่างไร ข้อมูลการส่งคืนจะอ่านได้ด้วยเครื่อง
หากผู้ใช้ส่งข้อความ ตัวแทนอาจแยกวิเคราะห์การตอบกลับเพื่อหา คีย์เวิร์ดที่รองรับ หรือใช้ NLU (เช่น Dialogflow) เพื่อประมวลผลข้อความของผู้ใช้และ ระบุเส้นทางที่จะดำเนินการต่อ
ข้อความตำแหน่งและข้อความไฟล์จะไม่มีข้อความหรือข้อมูลการส่งคืน ดังนั้นตัวแทนควรพิจารณาบริบทของการสนทนาและข้อความล่าสุดก่อนที่จะตอบกลับ
หากตัวแทนไม่ทราบวิธีตอบกลับข้อความของผู้ใช้ ตัวแทนควรตอบกลับด้วยสถานะข้อผิดพลาดและพยายามสนทนาต่อโดยขอข้อมูลเพิ่มเติมจากผู้ใช้ ถามคำถามในรูปแบบอื่น หรือแสดงการตอบกลับที่แนะนำและการดำเนินการที่แนะนำซึ่งตัวแทนทราบวิธีตอบกลับ
ขั้นตอนที่ 3: ดำเนินการตามตรรกะทางธุรกิจสำหรับการโต้ตอบ
เมื่อตัวแทนระบุการตอบกลับที่ถูกต้องสำหรับข้อความของผู้ใช้แล้ว ตัวแทนจะรวบรวมข้อมูลที่จำเป็นจากโครงสร้างพื้นฐานและโต้ตอบกับระบบอื่นๆ ตามความจำเป็นเพื่อดำเนินการตามตรรกะทางธุรกิจสำหรับการโต้ตอบ
ขั้นตอนที่ 4: ตอบกลับผู้ใช้
หลังจากที่ตัวแทนดำเนินการตามตรรกะทางธุรกิจสำหรับการโต้ตอบแล้ว ตัวแทนจะส่ง ข้อความอื่นและสนทนากับผู้ใช้ต่อ
ตัวอย่าง
โค้ดต่อไปนี้แสดงวิธีที่ตัวแทนได้รับข้อความ ดูข้อมูลการจัดรูปแบบและ ค่าได้ที่ UserMessage
ตัวแทนได้รับข้อความ
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"text": "Hello, world!"
}ตัวแทนได้รับข้อความจากคำแนะนำ
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"suggestionResponse": {
"postbackData": "suggestion_1",
"text": "Suggestion #1"
}
}ตัวแทนได้รับตำแหน่ง
{
"agentId": "AGENT_ID",
"senderPhoneNumber": "PHONE_NUMBER",
"messageId": "MESSAGE_ID",
"sendTime": "2018-12-31T15:01:23.045123456Z",
"location": {
"latitude": 37.422000,
"longitude": -122.084056
}
}ตัวแทนได้รับไฟล์
{ "agentId": "AGENT_ID", "senderPhoneNumber": "PHONE_NUMBER", "messageId": "MESSAGE_ID", "sendTime": "2018-12-31T15:01:23.045123456Z", "userFile": { "thumbnail": { "mimeType": "image/jpeg", "fileSizeBytes": 1280, "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c8", "fileName": "4_animated.jpeg" }, "payload": { "mimeType": "image/gif", "fileSizeBytes": 127806, "fileUri": "https://storage.googleapis.com/copper_test/77ddb795-24ad-4607-96ae-b08b4d86406a/d2dcc67ab888d34ee272899c020b13402856f81597228322079eb007e8c9", "fileName": "4_animated.gif" } } }