สร้างฟิลด์ข้อมูลเมตา
สร้างฟิลด์ข้อมูลเมตา
สร้างฟิลด์ข้อมูลเมตาแบบเป็นชุด หากไม่ระบุ 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 | รายละเอียดข้อผิดพลาด |
