การให้บริการแบบแมนนวล

การให้บริการแบบแมนนวล

เมื่อผู้พัฒนาเลือก Webhook เป็นวิธีการเชื่อมต่อบริการแบบแมนนวล จะต้องสร้างบริการ Webhook ในเซิร์ฟเวอร์ของตนเองก่อน ผู้พัฒนาต้องจัดเตรียม 3 อินเทอร์เฟซตามข้อกำหนด เพื่อรับคำขอบริการแบบแมนนวล ข้อความจากผู้ใช้ และข้อความตอบกลับจากเจ้าหน้าที่บริการลูกค้ามนุษย์ GPTBots ยังมี 2 อินเทอร์เฟซสำหรับรับข้อความตอบกลับจากเจ้าหน้าที่บริการลูกค้าและคำสั่งปิดการสนทนา

หมายเหตุสำคัญ:

  1. ผู้พัฒนาต้องตรวจสอบให้แน่ใจว่าบริการ Webhook ของตนทำงานได้ถูกต้อง เพราะส่งผลโดยตรงต่อการให้บริการช่วยเหลือโดยมนุษย์
  • หากขึ้นว่า "Busy" หลังจากเริ่มต้นการขอรับบริการโดยมนุษย์ แสดงว่าบริการ Webhook ของผู้พัฒนา ทำงานผิดปกติ
  • หากขึ้นว่า "Connecting" หลังจากเริ่มต้นการขอรับบริการโดยมนุษย์ แสดงว่าบริการ Webhook ของผู้พัฒนา ทำงานปกติ
  1. หลังจากเริ่มต้นคำขอบริการช่วยเหลือโดยมนุษย์สำเร็จ:
  • ผู้พัฒนาต้องเรียกใช้อินเทอร์เฟซ Reply to User Message (https://api.gptbots.ai/v1/human/message/receive) เพื่อส่งข้อความตอบกลับผู้ใช้อย่างน้อย 1 ข้อความ เพื่อสร้างการเชื่อมต่อสนทนา
  • หากผู้พัฒนาไม่ตอบกลับข้อความของผู้ใช้ภายในช่วง waiting timeout ที่ตั้งไว้ (ค่าเริ่มต้น 60 วินาที) การสนทนาแบบช่วยเหลือโดยมนุษย์จะสิ้นสุดโดยอัตโนมัติ

รับการแจ้งเตือนคำขอสนทนาบริการมนุษย์

เมื่อผู้ใช้ปลายทางเริ่มต้นขอรับบริการมนุษย์ GPTBots จะส่งต่อคำขอนี้ไปยังบริการ Webhook ของผู้พัฒนา หากบริการอินเทอร์เฟซของผู้พัฒนาตอบกลับด้วยรหัสสถานะ 200 หมายถึงการสร้างสนทนาบริการมนุษย์สำเร็จ

วิธีการร้องขอ

POST

Endpoint

https://your_domain/conversation/establish

ตัวอย่างการร้องขอ

curl -X POST 'https://YOUR_DOMAIN/human/service/conversation/establish' \ -H 'Content-Type: application/json' \ -d '{ "body": [ { "text": "human service", "message_type": "QUESTION" }, { "text": "", "message_type": "ANSWER" } ], "timestamp": 1742265090895, "email": "bob@gmail.com", "conversation_id": "67d8db020fa31d1ef64f53dg", "bot_id": "665d88b03ce2b13cf2d573454", "user_info": { "phone": null, "email": "bob@gmail.com", "user_id": "KDslas", "anonymous_id": "652face5184b30540a6ea7fe" } }'
                      
                      curl -X POST 'https://YOUR_DOMAIN/human/service/conversation/establish' \
-H 'Content-Type: application/json' \
-d '{
  "body": [
    {
      "text": "human service",
      "message_type": "QUESTION"
    },
    {
      "text": "",
      "message_type": "ANSWER"
    }
  ],
  "timestamp": 1742265090895,
  "email": "bob@gmail.com",
  "conversation_id": "67d8db020fa31d1ef64f53dg",
  "bot_id": "665d88b03ce2b13cf2d573454",
  "user_info": {
    "phone": null,
    "email": "bob@gmail.com",
    "user_id": "KDslas",
    "anonymous_id": "652face5184b30540a6ea7fe"
  }
}'

                    
บล็อกโค้ดนี้ในหน้าต่างลอย

หมายเหตุ: conversation_id ใน request body นี้ใช้เพื่อระบุรหัสเฉพาะของสถานการณ์สนทนาบริการมนุษย์ ซึ่งแตกต่างจากรหัสเฉพาะที่สร้างโดย Create Conversation ID สำหรับสถานการณ์สนทนา Agent

พารามิเตอร์ของคำขอ

พารามิเตอร์ ประเภท คำอธิบาย
conversation_id string รหัสสนทนาสำหรับสถานการณ์บริการลูกค้ามนุษย์ (แตกต่างจากรหัสสนทนา Agent) ต้องส่งต่อไปยัง GPTBots ในอินเทอร์เฟซตอบกลับบริการลูกค้า
timestamp long เวลาประทับ
email string อีเมลผู้ใช้ บางระบบบริการแมนนวลต้องใช้อีเมลเพื่อให้บริการได้ถูกต้อง
bot_id string Agent (ชื่อเดิม bot) ID
body list<Object> เนื้อหาข้อความ
body.message_type string ประเภทข้อความ QUESTION/ANSWER
body.text string คำถามที่ลูกค้าเริ่มต้นเพื่อขอรับบริการลูกค้าแมนนวลและบริบท
user_info object ข้อมูลผู้ใช้
user_info.phone string เบอร์โทรศัพท์ผู้ใช้ ปัจจุบันมีเฉพาะเมื่อเปลี่ยนไปใช้บริการลูกค้าแมนนวลผ่าน WhatsApp
user_info.email string อีเมลผู้ใช้ กรณีผู้ใช้กรอกอีเมล
user_info.user_id string User ID. ตัวระบุผู้ใช้ที่ไม่ซ้ำกันซึ่งกำหนดโดยนักพัฒนาองค์กร นักพัฒนาตั้งค่าสำหรับ anonymous ID เฉพาะ
user_info.anonymous_id string Anonymous ID. เมื่อผู้ใช้เริ่มต้นสนทนากับ Agent บนแพลตฟอร์มที่ไม่ใช่ API ระบบจะสร้าง anonymous ID ที่มีข้อมูลแพลตฟอร์มช่องทางนั้น ๆ ตามช่องทางของผู้ใช้

หมายเหตุเกี่ยวกับฟิลด์ email:

  • เมื่อเริ่มต้นบริการแมนนวลผ่าน iframe/Share/Bubble Widget ผู้ใช้ต้องกรอกอีเมล นักพัฒนาสามารถกำหนดอีเมลผู้ใช้เองเพื่อเลี่ยงการบังคับกรอกอีเมลได้
  • เมื่อขอบริการแมนนวลผ่านแพลตฟอร์ดภายนอก เช่น WhatsApp/Telegram/livechat อีเมลเริ่มต้นคือ support@gptbots.ai สำหรับ livechat นักพัฒนาสามารถกำหนดอีเมลผู้ใช้เองได้
  • เมื่อขอบริการแมนนวลผ่าน API ฟิลด์ email สามารถเว้นว่างได้ หากว่างจะใช้อีเมลเริ่มต้น support@gptbots.ai

การตอบกลับ

พารามิเตอร์ ประเภท คำอธิบาย
code int รหัสการตอบกลับ
message string รายละเอียด

อินเทอร์เฟซสนทนา

โดยใช้ conversation_id ที่สร้างขึ้น ส่งข้อความของผู้ใช้ไปยังเจ้าหน้าที่บริการลูกค้าแมนนวล

วิธีการร้องขอ

POST

Endpoint

https://your_domain/chat

พารามิเตอร์ของคำขอ

พารามิเตอร์ ประเภท คำอธิบาย
conversation_id string รหัสสนทนา ต้องส่งต่อไปยัง GPTBots ในอินเทอร์เฟซตอบกลับบริการลูกค้า
timestamp long เวลาประทับ
body string ข้อความของผู้ใช้

การตอบกลับ

พารามิเตอร์ ประเภท คำอธิบาย
code int รหัสการตอบกลับ
message string รายละเอียด

อินเทอร์เฟซปิดการสนทนา

เมื่อการสนทนาของผู้ใช้หมดเวลา หรือ Agent หรือผู้ใช้ปิดการสนทนาเอง จะเรียกใช้อินเทอร์เฟซนี้เพื่อปิดการสนทนา

วิธีการร้องขอ

POST

Endpoint

https://your_domain/conversation/close

Request Header

ฟิลด์ ประเภท คำอธิบาย
Authorization Bearer ${token} ใช้ Authorization: Bearer ${token} สำหรับการยืนยันตัวตน รับ token ได้จากหน้า API key
Content-Type application/json ประเภทข้อมูล ตั้งค่าเป็น application/json

พารามิเตอร์ของคำขอ

พารามิเตอร์ ประเภท คำอธิบาย
conversation_id string รหัสสนทนา ต้องส่งต่อไปยัง GPTBots ในอินเทอร์เฟซตอบกลับบริการลูกค้า
timestamp long เวลาประทับ
type string ประเภทการปิด TIMEOUT (หมดเวลา) / USER_CLOSED (ผู้ใช้ปิดเอง)

การตอบกลับ

พารามิเตอร์ ประเภท คำอธิบาย
code int รหัสการตอบกลับ
message string รายละเอียด

ตอบกลับข้อความผู้ใช้

เมื่อผู้พัฒนาเลือก webhook เป็นวิธีเชื่อมต่อบริการมนุษย์ GPTBots จะมีอินเทอร์เฟซสำหรับตอบกลับข้อความผู้ใช้ อินเทอร์เฟซนี้ช่วยให้เจ้าหน้าที่บริการลูกค้ามนุษย์ส่งข้อความกลับไปยังผู้ใช้ได้

วิธีการร้องขอ

POST

Endpoint

https://api-${endpoint}.gptbots.ai/v1/human/message/receive

Request Header

ฟิลด์ ประเภท คำอธิบาย
Authorization Bearer ${token} ใช้ Authorization: Bearer ${token} สำหรับการยืนยันตัวตน รับ token ได้จากหน้า API key
Content-Type application/json ประเภทข้อมูล ตั้งค่าเป็น application/json

พารามิเตอร์ของคำขอ

พารามิเตอร์ ประเภท คำอธิบาย จำเป็น
conversation_id string รหัสสนทนา ส่งต่อจากอินเทอร์เฟซสร้างสนทนาและอินเทอร์เฟซสนทนา true
timestamp long เวลาประทับ true
body string เนื้อหาตอบกลับจากเจ้าหน้าที่บริการลูกค้าแมนนวล true

การตอบกลับ

พารามิเตอร์ ประเภท คำอธิบาย
code int รหัสการตอบกลับ
message string รายละเอียด

เจ้าหน้าที่บริการลูกค้าแมนนวลปิดการสนทนา

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

วิธีการร้องขอ

POST

Endpoint

https://api-${endpoint}.gptbots.ai/v1/human/close

Request Header

ฟิลด์ ประเภท คำอธิบาย
Authorization Bearer ${API Key} ใช้ Authorization: Bearer ${API Key} สำหรับการยืนยันตัวตน รับ API key ได้จากหน้า API Key
Content-Type application/json ประเภทข้อมูล ตั้งค่าเป็น application/json

พารามิเตอร์ของคำขอ

พารามิเตอร์ ประเภท คำอธิบาย
conversation_id string รหัสสนทนา ต้องส่งต่อไปยัง GPTBots ในอินเทอร์เฟซตอบกลับบริการลูกค้า
timestamp long เวลาประทับ

การตอบกลับ

พารามิเตอร์ ประเภท คำอธิบาย จำเป็น
conversation_id string รหัสสนทนา ส่งต่อจากอินเทอร์เฟซสร้างสนทนาและอินเทอร์เฟซสนทนา true
timestamp long เวลาประทับ true