ข้ามไปยังเนื้อหา

สนทนากับ AI Agent ด้วยโปรแกรมผ่านเอนด์พอยต์แชตแบบเรียลไทม์ เหมาะสำหรับสร้างส่วนติดต่อแชตของคุณเอง

  • ดูตัวอย่างคำขอ API Action แสดงคำขอจากเทมเพลตและค่าตัวอย่างสมมติโดยไม่ส่งคำขอ ไม่ต้องใส่ส่วนหัวที่มีข้อมูลรับรอง

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

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

ต่างจากเอนด์พอยต์อื่นสองอย่าง: อยู่ที่ app.quickchat.ai/chat นอกเส้นทางหลัก /v1/api/ และ /v1/api_core/ และอ่าน scenario_id จากเนื้อหาคำขอแทนโทเคน โดยใช้การยืนยันตัวตนด้วยโทเคน Bearer เดียวกับ API ส่วนอื่น

ส่งทุกคำขอไปที่ https://app.quickchat.ai/chat ค่า scenario_id ในเนื้อหาต้องตรงกับ AI Agent ที่โทเคน Bearer ผูกไว้

POST https://app.quickchat.ai/chat

เนื้อหาคำขอ

พารามิเตอร์คำอธิบาย
scenario_id
สตริง, จำเป็น
ID ของ AI Agent ต้องตรงกับ scenario_id ที่ผูกกับโทเคน Bearer
text
สตริง, จำเป็น
ข้อความที่ผู้ใช้ป้อน
conv_id
สตริง
ID บทสนทนา ไม่ระบุในคำขอแรกเพื่อเริ่มบทสนทนาใหม่ แล้วส่ง conv_id ที่ได้รับกลับมาในคำขอถัดไปเพื่อสนทนาต่อ
client_metadata
ออบเจ็กต์
คู่คีย์และค่าที่กำหนดเอง (แนะนำไม่เกิน 5 คีย์) ซึ่งแนบกับทุกข้อความ แสดงเป็นคอลัมน์ข้อมูลในการส่งออกบทสนทนาจากกล่องข้อความ

คำขอที่ไม่มี conv_id จะเริ่มบทสนทนาใหม่ และการตอบกลับจะมี conv_id ที่สร้างขึ้น เก็บ conv_id นั้นไว้แล้วส่งกลับในคำขอครั้งต่อไปเพื่อรักษาบริบทตลอดการโต้ตอบหลายครั้ง

Terminal window
# Start a new conversation by omitting conv_id
curl -X POST https://app.quickchat.ai/chat \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"scenario_id": "<SCENARIO_ID>",
"text": "Hello!"
}'

การตอบกลับ 200 OK

{
"conv_id": "conv-uuid-1234",
"reply": "Hi there! How can I help you today?",
"ord_number": 3,
"src": 0
}
ฟิลด์คำอธิบาย
conv_id
สตริง
ตัวระบุบทสนทนา ส่งกลับเสมอ ส่งกลับในฟิลด์ conv_id ของเนื้อหาคำขอเพื่อสนทนาต่อ
reply
สตริง
คำตอบของ AI Agent อาจมี HTML เช่น การขึ้นบรรทัดใหม่ด้วย <br>
ord_number
จำนวนเต็ม
เลขลำดับข้อความภายในบทสนทนา
src
จำนวนเต็ม
ตัวระบุแหล่งที่มาภายใน ไคลเอนต์ API ไม่ต้องใช้ฟิลด์นี้

หากต้องการสนทนาต่อจากบทสนทนาเดิม ให้ส่ง conv_id ที่ได้รับกลับไป:

Terminal window
curl -X POST https://app.quickchat.ai/chat \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"scenario_id": "<SCENARIO_ID>",
"conv_id": "conv-uuid-1234",
"text": "What is your return policy?"
}'

เอนด์พอยต์แชตรับพารามิเตอร์เสริม client_metadata: แอตทริบิวต์ที่กำหนดเองซึ่งแนบกับทุกข้อความใหม่และแสดงเป็นคอลัมน์ข้อมูลในการส่งออกบทสนทนาจากกล่องข้อความ คุณแนบแอตทริบิวต์เดียวกันผ่านวิดเจ็ตได้ แนะนำให้ส่งไม่เกิน 5 คีย์ต่อครั้ง เช่น {"userId": 12, "website": "mywebsite.com"} นี่เป็นคำแนะนำ ไม่ใช่ข้อจำกัดที่ API บังคับ

Terminal window
curl -X POST https://app.quickchat.ai/chat \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"scenario_id": "<SCENARIO_ID>",
"conv_id": "conv-uuid-1234",
"text": "Hello!",
"client_metadata": {"userId": 12, "website": "mywebsite.com"}
}'

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

หากต้องการกรองตามแท็ก ให้เพิ่มคีย์ kb_topic ใน client_metadata ต้องมีคีย์ kb_topic ในทุกคำขอของบทสนทนา รวมถึงคำขอเริ่มต้น ค่าเปลี่ยนได้ระหว่างคำขอ แต่ต้องมีคีย์ตลอดบทสนทนาจึงจะใช้ตัวกรองได้

ในตัวอย่างด้านล่าง บทความที่มีแท็ก your-topic หรือไม่มีแท็กเลย จะรวมอยู่ในกลุ่มความรู้ที่อาจใช้สร้างคำตอบ

json={
"scenario_id": "<SCENARIO_ID>",
"conv_id": "conv-uuid-1234",
"text": "Hello!",
"client_metadata": {"kb_topic": "your-topic"},
}

เอนด์พอยต์แชตส่งข้อความข้อผิดพลาดเป็นข้อความธรรมดาพร้อมรหัสสถานะ HTTP ที่เหมาะสม

สถานะคำอธิบายสิ่งที่ต้องทำ
400ไม่มี scenario_id หรือไม่ได้ระบุข้อมูลรับรองใส่ scenario_id ในเนื้อหาคำขอและส่วนหัว Authorization: Bearer <API_TOKEN> ที่ถูกต้อง
400conv_id ไม่ถูกต้อง (Conversation conv_id <id> is not valid.)ไม่ระบุ conv_id เพื่อเริ่มบทสนทนาใหม่ หรือใช้ conv_id จากการตอบกลับก่อนหน้า
401ข้อมูลรับรองไม่ถูกต้อง (Unauthorized.)ตรวจว่าโทเคน Bearer หรือคีย์ API ใช้ได้กับ scenario_id นี้
404ไม่รู้จัก scenario_id (No implementation found for scenario_id <id>)ตรวจ scenario_id และยืนยันว่าโทเคน Bearer ผูกกับค่านี้
500ข้อผิดพลาดภายในเซิร์ฟเวอร์เป็นปัญหาฝั่งเรา โปรด ติดต่อ ทีมช่วยเหลือ
503ไม่พร้อมให้บริการเซิร์ฟเวอร์มีภาระสูงชั่วคราวหรืออยู่ระหว่างบำรุงรักษา หากปัญหายังอยู่ โปรด ติดต่อ ทีมช่วยเหลือ