รับข้อความ

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

ผู้ใช้ส่งข้อความถึงตัวแทน

ผู้ใช้จะส่งข้อความ ตำแหน่ง หรือไฟล์ใดก็ได้ที่ไคลเอ็นต์ RCS อนุญาต ตัวแทนจะต้องจัดการกับข้อความ ตำแหน่ง หรือไฟล์ที่ผู้ใช้อาจส่ง รวมถึงข้อผิดพลาดที่ระบุว่าข้อความเหล่านั้นอาจทริกเกอร์

จัดการข้อความขาเข้า

วิธีที่ตัวแทนจัดการและตอบกลับข้อความจากผู้ใช้จะขึ้นอยู่กับตรรกะทางธุรกิจของคุณ อย่างไรก็ตาม ขั้นตอนในการตอบข้อความของผู้ใช้ มักจะเหมือนกัน

ขั้นตอนที่ 1: ระบุประเภทของข้อความที่ผู้ใช้ส่ง

ผู้ใช้จะส่งข้อความได้ 4 ประเภทดังนี้

  • ข้อความ Text เป็นการตอบกลับรูปแบบอิสระ
  • ข้อความคำแนะนำจะมีข้อมูลระบบรายงานผล Conversion และข้อความของการดำเนินการที่แนะนำหรือการตอบกลับที่แนะนำที่ผู้ใช้แตะ
  • ข้อความตำแหน่งจะรวมค่าละติจูดและลองจิจูด

  • ข้อความไฟล์จะมี URI สำหรับไฟล์และข้อมูลที่เกี่ยวข้อง

ขั้นตอนที่ 2: ประมวลผลเนื้อหาของข้อความ

เนื้อหาของข้อความสำหรับผู้ใช้ควรเป็นแนวทางให้กับตรรกะของ Agent และคำตอบถัดไปในการสนทนา

วิธีที่ง่ายที่สุดในการระบุเจตนาของผู้ใช้คือการใช้ข้อมูลระบบรายงานผล Conversion จากการตอบกลับที่แนะนำหรือการดำเนินการที่แนะนำ ไม่ว่าข้อความที่เชื่อมโยงกับคำแนะนำจะเป็นข้อความใด ข้อมูลระบบรายงานผล Conversion จะอ่านได้

หากผู้ใช้ส่ง SMS ตัวแทนอาจแยกวิเคราะห์การตอบกลับสำหรับคีย์เวิร์ดที่รองรับ หรือใช้ NLU (เช่น Dialogflow) เพื่อประมวลผลข้อความของผู้ใช้และระบุเส้นทางข้างหน้า

ตำแหน่งและข้อความในไฟล์จะไม่มี SMS หรือข้อมูลระบบรายงานผล Conversion ดังนั้นตัวแทนจึงควรพิจารณาบริบทของการสนทนาและข้อความล่าสุดก่อนตอบกลับ

หากตัวแทนไม่ทราบวิธีตอบกลับข้อความของผู้ใช้ ตัวแทนควรตอบกลับด้วยสถานะข้อผิดพลาดและพยายามสนทนาต่อโดยแจ้งให้ผู้ใช้ขอข้อมูลเพิ่มเติม โดยการขอข้อมูลด้วยวิธีอื่น หรือแสดงการตอบกลับที่แนะนำและการดำเนินการที่แนะนำซึ่งตัวแทนทราบวิธีตอบกลับ

ขั้นตอนที่ 3: ทำตามตรรกะทางธุรกิจสำหรับการโต้ตอบ

เมื่อ Agent ระบุคำตอบที่ถูกต้องสำหรับข้อความของผู้ใช้แล้ว ตัวแทนจะรวบรวมข้อมูลที่จำเป็นจากโครงสร้างพื้นฐานและทำงานร่วมกับระบบอื่นๆ ตามความจำเป็นเพื่อดำเนินการตามตรรกะทางธุรกิจสำหรับการโต้ตอบ

ขั้นตอนที่ 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": {
    "category": "IMAGE",
    "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"
    }
  }
}

จัดการเหตุการณ์ที่เข้ามาใหม่

ตัวแทนจะได้รับการแจ้งเตือนเมื่อมีการนำส่งและอ่านข้อความที่ตัวแทนส่งถึงผู้ใช้

รหัสต่อไปนี้จะแสดงวิธีที่ตัวแทนรับข้อความ สำหรับการจัดรูปแบบและข้อมูลค่า โปรดดู UserEvent

ข้อความที่ส่งถึงผู้ใช้

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "eventId": "EVENT_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "eventType": "DELIVERED"
}

ข้อความถูกอ่านโดยผู้ใช้

{
  "agentId": "AGENT_ID",
  "senderPhoneNumber": "PHONE_NUMBER",
  "messageId": "MESSAGE_ID",
  "eventId": "EVENT_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "eventType": "READ"
}

ผู้ใช้กำลังพิมพ์

{
  "senderPhoneNumber": "PHONE_NUMBER",
  "eventType": "IS_TYPING",
  "eventId": "EVENT_ID",
  "sendTime": "2018-12-31T15:01:23.045123456Z",
  "agentId": "AGENT_ID"
}