Agent ทดสอบ API (อัปเดต / เผยแพร่)
รองรับให้นักพัฒนานำเข้าการตั้งค่าไฟล์ .bot ที่สร้างจาก Skills ในเครื่องมือ AI เช่น CodeX, Claude (ที่ติดตั้ง GPTBots Agent Skill แล้ว) เข้าสู่ Agent เป้าหมายบนแพลตฟอร์ม GPTBots และเผยแพร่ขึ้นใช้งานจริง
⚠️ เรียกใช้ได้เฉพาะ Agent ใน «โหมดทดสอบ» เท่านั้น การเรียกใช้ในโหมดทางการจะคืนค่า
403200โหมดทดสอบจะถูกเลือกตอนสร้าง Agent และไม่สามารถแก้ไขได้หลังจากสร้างแล้ว
Agent อัปเดต API (นำเข้า .bot เพื่อแทนที่เวอร์ชันปัจจุบัน)
นำเข้าไฟล์ .bot เข้าสู่ Agent เป้าหมาย (โหมดทดสอบ) แล้วบันทึกการตั้งค่าปัจจุบันที่ถูกแทนที่เป็นเวอร์ชันร่างใหม่ (และกลายเป็น «เวอร์ชันปัจจุบัน» ในเวลาเดียวกัน) โดยมีกฎดังต่อไปนี้:
- ฐานความรู้ (กลุ่มข้อมูล) / ตารางฐานข้อมูล / เอกสารความรู้: พิจารณาตามมิติ AgentID หากยังเป็นของ Agent เป้าหมายจะถูกเก็บไว้ มิฉะนั้นจะถูกทิ้ง
- workflow / เครื่องมือ (ปลั๊กอิน) ที่เชื่อมโยง: พิจารณาตามมิติ องค์กร หากยังใช้งานได้จะถูกเก็บไว้ มิฉะนั้นจะถูกทิ้ง
- การผูกฐานความรู้ระดับบนสุดจะไม่ถูกส่งออกไปพร้อมกับ
.botเมื่อนำเข้าจะคงฐานความรู้ที่ Agent เป้าหมายผูกไว้อยู่แล้ว - ข้อมูลรับรองจากบุคคลที่สาม: เมื่อนำเข้าสู่ Agent ที่มีอยู่ จะเติมข้อมูลรับรองที่เป้าหมายตั้งค่าไว้กลับตาม «ID ของคอมโพเนนต์/โหนด/ปลั๊กอินที่เหมือนกัน» โดยไม่ล้างคอมโพเนนต์ที่ผ่านการยืนยันตัวตนแล้ว เพื่อให้มั่นใจว่าใช้งานได้
วิธีการร้องขอ
POST
URL สำหรับร้องขอ
https://api-${endpoint}.gptbots.ai/v1/agent/version/import
การร้องขอ
ตัวอย่างการร้องขอ
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/agent/version/import' \
-H 'Authorization: Bearer {AGENT_API_KEY}' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@my-agent.bot' \
-F 'versionDesc=Imported by AI tool'
Request Headers
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| Authorization | Bearer {API Key} | ใช้ Authorization: Bearer {API Key} เพื่อยืนยันตัวตนในการเรียกใช้ โปรดรับคีย์จากช่องทาง «Integration / API» ของ Agent เป้าหมายเพื่อใช้เป็น API Key |
| Content-Type | multipart/form-data | ประเภทข้อมูล ต้องเป็น multipart/form-data |
พารามิเตอร์การร้องขอ
| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| file | file | ใช่ | ไฟล์ .bot แบบไบนารี |
| versionDesc | text | ไม่ | คำอธิบายเวอร์ชัน |
หมายเลขเวอร์ชันถูกสร้างโดยอัตโนมัติที่ฝั่งเซิร์ฟเวอร์ (นำส่วนท้ายของเวอร์ชันล่าสุด +1 หากไม่มีเวอร์ชันในประวัติจะเป็น
1.0.0)
การตอบกลับ
ตัวอย่างการตอบกลับ
{
"code": 0,
"msg": "OK",
"data": {
"botId": "xxx",
"botType": "QuestionAnswer",
"version": "1.0.3"
}
}
การตอบกลับเมื่อสำเร็จ
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| botId | string | ID ของ Agent เป้าหมาย |
| botType | string | ประเภทของ Agent (QuestionAnswer / Flow / LoopAgent) |
| version | string | หมายเลขเวอร์ชันที่บันทึกครั้งนี้ (คือเวอร์ชันปัจจุบัน) |
การตอบกลับเมื่อผิดพลาด
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| code | int | รหัสข้อผิดพลาด |
| msg | string | รายละเอียดข้อผิดพลาด |
Agent เผยแพร่ API (เผยแพร่ตามหมายเลขเวอร์ชันเป็นเวอร์ชันออนไลน์)
เผยแพร่หมายเลขเวอร์ชันที่ระบุของ Agent เป้าหมาย (โหมดทดสอบ) เป็นเวอร์ชันการผลิตออนไลน์ (เวอร์ชันนั้นจะกลายเป็น «ออนไลน์» ส่วนเวอร์ชันอื่น ๆ จะกลับสู่สถานะร่าง)
วิธีการร้องขอ
POST
URL สำหรับร้องขอ
https://api-${endpoint}.gptbots.ai/v1/agent/version/release
การร้องขอ
ตัวอย่างการร้องขอ
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/agent/version/release' \
-H 'Authorization: Bearer {AGENT_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"version": "1.0.3"
}'
Request Headers
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| Authorization | Bearer {API Key} | ใช้ Authorization: Bearer {API Key} เพื่อยืนยันตัวตนในการเรียกใช้ โปรดรับคีย์จากช่องทาง «Integration / API» ของ Agent เป้าหมายเพื่อใช้เป็น API Key |
| Content-Type | application/json | ประเภทข้อมูล ต้องเป็น application/json |
พารามิเตอร์การร้องขอ
| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| version | string | ใช่ | หมายเลขเวอร์ชันที่ต้องการเผยแพร่เป็นออนไลน์ (เช่น 1.0.3) โดยปกติจะนำค่า version ที่คืนจากอินเทอร์เฟซ «อัปเดต» มาใช้ |
การตอบกลับ
ตัวอย่างการตอบกลับ
{
"code": 0,
"msg": "OK"
}
การตอบกลับเมื่อสำเร็จ
ไม่มีเนื้อหาข้อมูล หาก code เป็น 0 แสดงว่าเผยแพร่สำเร็จ
การตอบกลับเมื่อผิดพลาด
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| code | int | รหัสข้อผิดพลาด |
| msg | string | รายละเอียดข้อผิดพลาด |
รหัสข้อผิดพลาด
อินเทอร์เฟซอัปเดตและเผยแพร่ใช้ชุดรหัสข้อผิดพลาดเดียวกัน:
| Code | Message |
|---|---|
| 0 | สำเร็จ |
| 20055 | ช่องทาง API ของ Agent นี้ยังไม่เปิดใช้งาน กรุณาเปิดสวิตช์ API ที่ «การเชื่อมต่อ / API» ก่อน |
| 40000 | พารามิเตอร์ไม่ถูกต้อง เรียกอินเทอร์เฟซเผยแพร่โดยไม่ส่ง version หรือค่า Loop Control ของ LoopAgent ที่นำเข้าไม่ถูกต้อง (maxTurns ต้องอยู่ระหว่าง 1–100, maxErrors ต้องอยู่ระหว่าง 0–50, maxBudgetInputTokens ต้อง ≥ 0 และทั้งหมดต้องเป็นจำนวนเต็ม) |
| 40001 | ส่งคำขอบ่อยเกินไป: อินเทอร์เฟซนี้จำกัดที่ 30 ครั้ง/นาที ต่อ Agent |
| 40008 | ส่งคำขอบ่อยเกินไป: เกินขีดจำกัด RPM ของ «API อื่น ๆ» ตามแพ็กเกจ (จะไม่เกิดขึ้นหากแพ็กเกจไม่ได้กำหนดค่านี้) |
| 40101 | ส่วนหัว Authorization ว่างเปล่า |
| 40127 | การยืนยันตัวตนของนักพัฒนาล้มเหลว: API Key ไม่ถูกต้อง |
| 40348 | ไม่พบ Agent จะคืนค่านี้เฉพาะกรณีที่ Agent ถูกลบพร้อมกันหลังผ่านการยืนยันตัวตนแล้ว หาก API Key ไม่ถูกต้องจะคืน 40127 และหาก Agent ถูกลบแล้วจะคืน 40378 |
| 40353 | ฟีเจอร์นี้ใช้ได้หลังอัปเกรดแพ็กเกจเท่านั้น อินเทอร์เฟซเผยแพร่: จำนวนที่เผยแพร่ถึงขีดจำกัดของแพ็กเกจแล้ว (ข้อความตอบกลับเป็นข้อความทั่วไปนี้ ไม่ระบุจำนวนขีดจำกัด) |
| 40355 | Flow ไม่เป็นไปตามกฎ อินเทอร์เฟซเผยแพร่: เป้าหมายเป็น Flow-Agent และผังกระบวนการไม่ถูกต้อง |
| 40378 | Agent ถูกลบแล้ว |
| 200268 | หมายเลขเวอร์ชัน Agent/Workflow มีอยู่แล้ว: หมายเลขเวอร์ชันที่เซิร์ฟเวอร์สร้างอัตโนมัติชนกับเวอร์ชันที่มีอยู่ (รหัสนี้มีสถานะ HTTP เป็น 200) |
| 403200 | ไม่ใช่โหมดทดสอบ: มีเพียง Agent ในโหมดทดสอบเท่านั้นที่สามารถอัปเดตหรือเผยแพร่ด้วย API นี้ได้ |
| 403201 | ประเภทไฟล์ที่นำเข้าไม่ตรงกับประเภทของ Agent เป้าหมาย |
| 403202 | แยกวิเคราะห์ไฟล์ .bot ที่นำเข้าไม่สำเร็จ |
| 403203 | ไม่พบหมายเลขเวอร์ชันที่ระบุ |
| 403204 | ประเภท API Key ไม่ตรงกับอินเทอร์เฟซ: อินเทอร์เฟซนี้รับเฉพาะ Agent Key เท่านั้น |
