สร้างฟิลด์ข้อมูลเมตา

สร้างฟิลด์ข้อมูลเมตา

สร้างฟิลด์ข้อมูลเมตาแบบเป็นชุด หากไม่ระบุ knowledge_base_id ระบบจะสร้างฟิลด์ส่วนกลางที่ใช้กับเอกสารทั้งหมดภายใต้ Agent หากระบุ ระบบจะสร้างฟิลด์สำหรับฐานความรู้นั้นเท่านั้น ทั้ง name และ display_label ต้องไม่ซ้ำกัน

กฎแบทช์:
สามารถสร้างได้สูงสุด 50 รายการในคราวเดียว และทั้งชุดจะไม่ได้รับการประมวลผลหากเกิน 50 รายการ
หากมี name ซ้ำกันในคำขอ ระบบจะประมวลผลเฉพาะรายการแรก ส่วนรายการที่ซ้ำถัดไปจะล้มเหลว
หากขัดแย้งกับฟิลด์ที่มีอยู่ เฉพาะรายการที่ขัดแย้งจะล้มเหลว ส่วนรายการอื่นจะถูกสร้างตามปกติ

เมธอดคำขอ

POST

Endpoint

https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/field/create

การยืนยันตัวตน

ดูรายละเอียดการยืนยันตัวตนได้ที่ ภาพรวม API

คำขอ

ตัวอย่างคำขอ

curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/field/create' \ -H 'Authorization: Bearer ${API Key}' \ -H 'Content-Type: application/json' \ -d '{ "knowledge_base_id": "kb_001", "fields": [ { "name": "category", "display_label": "หมวดหมู่", "type": "LIST", "options": ["เทคนิค", "ผลิตภัณฑ์"], "description": "หมวดหมู่เอกสาร", "ai_search_filter": true } ] }'
                      
                      curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/bot/doc/metadata/field/create' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
    "knowledge_base_id": "kb_001",
    "fields": [
        {
            "name": "category",
            "display_label": "หมวดหมู่",
            "type": "LIST",
            "options": ["เทคนิค", "ผลิตภัณฑ์"],
            "description": "หมวดหมู่เอกสาร",
            "ai_search_filter": true
        }
    ]
}'

                    
บล็อกโค้ดนี้ในหน้าต่างลอย

ส่วนหัวคำขอ

ฟิลด์ ประเภท คำอธิบาย
Authorization Bearer ${API Key} ยืนยันตัวตนด้วย Authorization: Bearer ${API Key} และรับ API Key ได้จากหน้าคีย์ API
Content-Type application/json ชนิดข้อมูล ตั้งค่าเป็น application/json

พารามิเตอร์คำขอ

ฟิลด์ ประเภท จำเป็น คำอธิบาย
knowledge_base_id String ไม่ หากไม่ระบุ ฟิลด์จะเป็นฟิลด์ส่วนกลางที่ใช้กับเอกสารทั้งหมดภายใต้ Agent หากระบุ ฟิลด์จะใช้กับฐานความรู้นี้เท่านั้น ฐานความรู้ต้องเป็นของ Agent ที่เชื่อมโยงกับ API Key ปัจจุบัน มิฉะนั้นคำขอจะล้มเหลวพร้อมข้อความ knowledge_base_id not found
fields Array<Object> ใช่ รายการฟิลด์ที่จะสร้าง สูงสุด 50 ฟิลด์ต่อคำขอ
name String ใช่ ตัวระบุภายในของฟิลด์ รูปแบบ ^[a-z][a-z0-9_]{0,31}$ (ขึ้นต้นด้วยอักษรตัวพิมพ์เล็ก ความยาว 1-32 อักขระ) และต้องไม่ซ้ำกัน
display_label String ใช่ ชื่อที่แสดงฟิลด์ สูงสุด 64 อักขระ ไม่ซ้ำกัน
type String ใช่ ประเภทฟิลด์: STRING / NUMBER / DATETIME / LIST (คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
options Array<String> ไม่ ตัวเลือกค่าของฟิลด์ จำเป็นเมื่อ type เป็น LIST และต้องไม่เป็นอาร์เรย์ว่าง
description String ไม่ คำอธิบายฟิลด์ สูงสุด 50 อักขระ
ai_search_filter Boolean ไม่ ระบุว่าใช้ฟิลด์นี้เป็นตัวกรอง AI Search หรือไม่

การตอบกลับ

ตัวอย่างการตอบกลับ

{ "success_count": 1, "failure_count": 2, "results": [ { "name": "category", "success": true, "id": "665f1c8a9b2e4d001a3f0001" }, { "name": "priority", "success": false, "error_message": "name or display_label already exists" }, { "name": "category", "success": false, "error_message": "duplicate name in request" } ] }
                      
                      {
    "success_count": 1,
    "failure_count": 2,
    "results": [
        {
            "name": "category",
            "success": true,
            "id": "665f1c8a9b2e4d001a3f0001"
        },
        {
            "name": "priority",
            "success": false,
            "error_message": "name or display_label already exists"
        },
        {
            "name": "category",
            "success": false,
            "error_message": "duplicate name in request"
        }
    ]
}

                    
บล็อกโค้ดนี้ในหน้าต่างลอย

การตอบกลับเมื่อสำเร็จ

ฟิลด์ ประเภท คำอธิบาย
success_count Integer จำนวนฟิลด์ที่สร้างสำเร็จ
failure_count Integer จำนวนฟิลด์ที่ไม่สามารถสร้างได้
results Array<Object> ผลลัพธ์แบบฟิลด์ต่อฟิลด์ ส่งคืนตามลำดับคำขอ
name String ชื่อฟิลด์
success Boolean ระบุว่าสร้างสำเร็จหรือไม่
id String ID ฟิลด์ที่ระบบสร้าง ส่งคืนเมื่อสร้างสำเร็จและใช้สำหรับแก้ไขหรือลบ
error_message String สาเหตุของความล้มเหลว: name or display_label already exists (name หรือ display_label ขัดแย้งกับฟิลด์ที่มีอยู่) / duplicate name in request (ซ้ำกันภายในคำขอ) / field limit exceeded (เกินขีดจำกัดด้านบนของจำนวนฟิลด์ทั้งหมด)

การตอบกลับเมื่อเกิดข้อผิดพลาด

ฟิลด์ ประเภท คำอธิบาย
code Integer รหัสข้อผิดพลาด
message String รายละเอียดข้อผิดพลาด