อัปเดต 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 ข้อผิดพลาดของเซิร์ฟเวอร์