สนทนากับ 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 นั้นไว้แล้วส่งกลับในคำขอครั้งต่อไปเพื่อรักษาบริบทตลอดการโต้ตอบหลายครั้ง
# Start a new conversation by omitting conv_idcurl -X POST https://app.quickchat.ai/chat \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "scenario_id": "<SCENARIO_ID>", "text": "Hello!"}'import requests
response = requests.post( url="https://app.quickchat.ai/chat", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "scenario_id": "<SCENARIO_ID>", "text": "Hello!", },)data = response.json()การตอบกลับ 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 ที่ได้รับกลับไป:
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?"}'import requests
response = requests.post( url="https://app.quickchat.ai/chat", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "scenario_id": "<SCENARIO_ID>", "conv_id": "conv-uuid-1234", "text": "What is your return policy?", },)data = response.json()เมทาดาทาของไคลเอนต์
หัวข้อที่มีชื่อว่า “เมทาดาทาของไคลเอนต์”เอนด์พอยต์แชตรับพารามิเตอร์เสริม client_metadata: แอตทริบิวต์ที่กำหนดเองซึ่งแนบกับทุกข้อความใหม่และแสดงเป็นคอลัมน์ข้อมูลในการส่งออกบทสนทนาจากกล่องข้อความ คุณแนบแอตทริบิวต์เดียวกันผ่านวิดเจ็ตได้ แนะนำให้ส่งไม่เกิน 5 คีย์ต่อครั้ง เช่น {"userId": 12, "website": "mywebsite.com"} นี่เป็นคำแนะนำ ไม่ใช่ข้อจำกัดที่ API บังคับ
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"}}'import requests
response = requests.post( url="https://app.quickchat.ai/chat", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "scenario_id": "<SCENARIO_ID>", "conv_id": "conv-uuid-1234", "text": "Hello!", "client_metadata": {"userId": 12, "website": "mywebsite.com"}, },)data = response.json()กรองฐานความรู้ตามแท็ก
หัวข้อที่มีชื่อว่า “กรองฐานความรู้ตามแท็ก”คุณเพิ่ม แท็ก ให้บทความในฐานความรู้ แล้วใช้จำกัดบทความที่ 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> ที่ถูกต้อง |
400 | conv_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 | ไม่พร้อมให้บริการ | เซิร์ฟเวอร์มีภาระสูงชั่วคราวหรืออยู่ระหว่างบำรุงรักษา หากปัญหายังอยู่ โปรด ติดต่อ ทีมช่วยเหลือ |