อัปเดตค่าข้อมูลเมตาของเอกสาร
อัปเดตค่าข้อมูลเมตาของเอกสารที่ระบุ โดยระบุเอกสารด้วย ID และระบุฟิลด์ด้วยชื่อฟิลด์ การอัปเดตเป็นแบบผสานส่วนเพิ่ม: ระบบจะเปลี่ยนเฉพาะฟิลด์ที่ส่งมา ส่วนฟิลด์ที่ไม่ได้ส่งจะคงเดิม หากส่งสตริงว่าง `""` ระบบจะล้างค่าของฟิลด์ คำขอหนึ่งครั้งอัปเดตได้สูงสุด 50 เอกสาร
เมธอดคำขอ
PUT
Endpoint
https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/update
การยืนยันตัวตน
ดูรายละเอียดการยืนยันตัวตนได้ที่ ภาพรวม API
คำขอ
ตัวอย่างคำขอ
curl -X PUT 'https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/update' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"documents": [
{
"doc_id": "doc_001",
"metadata": { "category": "เทคนิค", "priority": "P1" }
},
{
"doc_id": "doc_002",
"metadata": { "category": "ผลิตภัณฑ์", "priority": "" }
}
]
}'
ส่วนหัวคำขอ
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| Authorization | Bearer ${API Key} | ยืนยันตัวตนด้วย Authorization: Bearer ${API Key} และรับ API Key ได้จากหน้าคีย์ API |
| Content-Type | application/json | ชนิดข้อมูล ตั้งค่าเป็น application/json |
พารามิเตอร์คำขอ
| ฟิลด์ | ประเภท | จำเป็น | คำอธิบาย |
|---|---|---|---|
| documents | Array<Object> | ใช่ | รายการเอกสารที่จะอัปเดตสูงสุดครั้งละ 50 รายการ |
| doc_id | String | ใช่ | ID เอกสาร |
| metadata | Object | ไม่ | "ชื่อฟิลด์ → ค่า" สตริงว่างจะล้างค่าของฟิลด์ และฟิลด์ที่ยังไม่ได้ส่งยังคงไม่เปลี่ยนแปลง ชื่อฟิลด์จะต้องเป็นฟิลด์ที่กำหนดไว้ภายในขอบเขตของเอกสาร |
หมายเหตุ: ฟิลด์ประเภท LIST รับเฉพาะค่าที่กำหนดไว้ใน
optionsเท่านั้น มิฉะนั้นรายการเอกสารจะล้มเหลวพร้อมข้อความfield 'x' contains value not in optionsภายในคำขอเดียวกัน คีย์ข้อมูลเมตาเดียวกันภายใต้doc_idเดียวกันจะอัปเดตเฉพาะค่าที่ปรากฏครั้งแรก และรายการเอกสารถัดไปที่มีคีย์ซ้ำดังกล่าวจะล้มเหลวทั้งรายการพร้อมข้อความduplicate metadata key 'x' for doc_id 'y'; only the first value is appliedโดยdoc_idต้องเป็นของ Agent ที่เชื่อมโยงกับ API Key ปัจจุบัน มิฉะนั้นระบบจะส่งคืนdoc not found
การตอบกลับ
ตัวอย่างการตอบกลับ
{
"success_count": 1,
"failure_count": 2,
"results": [
{
"doc_id": "doc_001",
"success": true
},
{
"doc_id": "doc_002",
"success": false,
"error_message": "field 'priority2' is not defined"
},
{
"doc_id": "doc_003",
"success": false,
"error_message": "doc not found"
}
]
}
การตอบกลับเมื่อสำเร็จ
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| success_count | Integer | จำนวนเอกสารที่อัปเดตสำเร็จแล้ว |
| failure_count | Integer | จำนวนเอกสารที่ไม่สามารถอัปเดตได้ |
| results | Array<Object> | ผลลัพธ์ทีละเอกสาร |
| doc_id | String | ID เอกสาร |
| success | Boolean | ระบุว่าอัปเดตสำเร็จหรือไม่ |
| error_message | String | สาเหตุของความล้มเหลว เช่น doc not found (ไม่มีเอกสารหรือเอกสารไม่ได้เป็นของ Agent ปัจจุบัน), field 'x' is not defined (ไม่ได้กำหนดชื่อฟิลด์), field 'x' contains value not in options (ค่า LIST ไม่ใช่ตัวเลือกที่อนุญาต) หรือ duplicate metadata key 'x' for doc_id 'y'; only the first value is applied (ฟิลด์ซ้ำในคำขอและใช้ค่าแรก) |
การตอบกลับเมื่อเกิดข้อผิดพลาด
| ฟิลด์ | ประเภท | คำอธิบาย |
|---|---|---|
| code | Integer | รหัสข้อผิดพลาด |
| message | String | รายละเอียดข้อผิดพลาด |
