อัปเดตค่าข้อมูลเมตาของเอกสาร

อัปเดตค่าข้อมูลเมตาของเอกสาร

อัปเดตค่าข้อมูลเมตาของเอกสารที่ระบุ โดยระบุเอกสารด้วย 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": "" } } ] }'
                      
                      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": 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 รายละเอียดข้อผิดพลาด