อัปเดต Skill ส่วนตัวของ Agent
อัปเดต Skill ส่วนตัวของ Agent
คุณสามารถใช้อินเทอร์เฟซนี้เพื่ออัปเดต Skill ส่วนตัวของ Agent ที่ LoopAgent API Key ปัจจุบันสังกัดอยู่ โดยส่ง Skill ID ผ่านฟิลด์ skill_id ในฟอร์ม multipart ไม่ปรากฏใน URL path
- รองรับเฉพาะ LoopAgent เท่านั้น และอัปเดตได้เฉพาะ Skill ส่วนตัวที่อยู่ภายใต้ Agent ที่ Agent API Key ปัจจุบันสังกัดอยู่
- การค้นหาเป้าหมายจำกัดด้วย
skill_id + projectId + botIdหาก Skill ไม่ได้เป็นของ Agent ปัจจุบันจะถูกปฏิเสธ - รูปแบบไฟล์เหมือนกับอินเทอร์เฟซการสร้าง คือรองรับเฉพาะ
.skill,.zipและขนาดแพ็กเกจสูงสุด 20 MiB - การอัปเดตจะบันทึกเฉพาะเวอร์ชันเนื้อหาของ Skill เท่านั้น แต่จะไม่ผูก Skill โดยอัตโนมัติ ไม่บันทึกเวอร์ชันร่างของ Agent และไม่เผยแพร่เวอร์ชันการใช้งานจริงของ Agent
วิธีการร้องขอ
POST
URL สำหรับร้องขอ
https://api.${endpoint}/v1/agent/skill/update
การยืนยันตัวตนในการร้องขอ
ใช้ Agent Key ของ LoopAgent เป้าหมาย และ Key นั้นต้องเปิดสิทธิ์การจัดการเวอร์ชันไว้ ดูรายละเอียดได้ที่คำอธิบายวิธีการยืนยันตัวตนใน API Overview
การร้องขอ
ตัวอย่างการร้องขอ
curl -X POST 'https://api.${endpoint}/v1/agent/skill/update' \
-H 'Authorization: Bearer ${API Key}' \
-F 'skill_id=skill-xxxx' \
-F 'file=@/path/to/refund-policy-v2.skill'
curl -X POST 'https://api.${endpoint}/v1/agent/skill/update' \
-H 'Authorization: Bearer ${API Key}' \
-F 'skill_id=skill-xxxx' \
-F 'file=@/path/to/refund-policy-v2.skill'
บล็อกโค้ดนี้ในหน้าต่างลอย
Header สำหรับร้องขอ
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| Authorization | Bearer ${API Key} | ใช้ API Key ของ LoopAgent เป้าหมายในการยืนยันตัวตน และ Key นั้นต้องเปิดสิทธิ์การจัดการเวอร์ชันไว้ |
| Content-Type | multipart/form-data | อัปโหลดไฟล์แพ็กเกจ Skill ในรูปแบบฟอร์ม |
พารามิเตอร์การร้องขอ (Form Data)
| พารามิเตอร์ | ประเภท | บังคับ | คำอธิบาย |
|---|---|---|---|
skill_id |
String | ใช่ | ID ของ Skill ส่วนตัวของ Agent ที่ต้องการอัปเดต |
file |
File | ใช่ | แพ็กเกจ Skill แบบ .skill หรือ .zip |
category_id |
String | ไม่ | ID หมวดหมู่หลังการอัปเดต สามารถละเว้นได้ เมื่อละเว้นจะคงหมวดหมู่เดิมไว้ |
ฝั่งเซิร์ฟเวอร์จะเปรียบเทียบไฟล์และเมทาดาทาปัจจุบันของ Skill เป้าหมาย หากเหมือนกันทุกประการจะคืนเวอร์ชันปัจจุบันโดยตรง โดยไม่เขียนลง object storage หรือ MongoDB และผู้เรียกใช้ก็ไม่จำเป็นต้องส่ง Header คำขอแบบ idempotent
การตอบกลับ
ตัวอย่างการตอบกลับ
{
"code": 0,
"message": "OK",
"data": {
"skill_id": "skill-xxxx",
"name": "refund_policy",
"version": "1.0.2"
}
}
{
"code": 0,
"message": "OK",
"data": {
"skill_id": "skill-xxxx",
"name": "refund_policy",
"version": "1.0.2"
}
}
บล็อกโค้ดนี้ในหน้าต่างลอย
การตอบกลับเมื่อสำเร็จ
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| skill_id | String | ID ของ Skill ที่อัปเดต ซึ่งจะคงเดิมไม่เปลี่ยนแปลง |
| name | String | ชื่อ Skill |
| version | String | หมายเลขเวอร์ชันของ Skill หลังการอัปเดต |
การตอบกลับเมื่อผิดพลาด
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| code | Integer | รหัสข้อผิดพลาด |
| message | String | รายละเอียดข้อผิดพลาด |
รหัสสถานะ
| รหัสสถานะ | คำอธิบาย |
|---|---|
| 200 | สำเร็จ |
| 400 | พารามิเตอร์ไม่ถูกต้อง |
| 401 | ไม่ได้รับอนุญาต |
| 403 | สิทธิ์ไม่เพียงพอ |
| 429 | คำขอถี่เกินไป |
| 500 | ข้อผิดพลาดของเซิร์ฟเวอร์ |
