ข้ามไปยังเนื้อหา

บทความคือองค์ประกอบของฐานความรู้ สร้าง แสดงรายการ อัปเดต และลบเนื้อหาที่ AI Agent ใช้ตอบคำถาม

บทความคือองค์ประกอบของฐานความรู้ของ AI Agent แต่ละบทความแทนความรู้หนึ่งส่วน เช่น หน้าช่วยเหลือ คำถามที่พบบ่อย คำอธิบายสินค้า หรือเนื้อหาใดก็ตามที่ AI ควรรู้

บทความมีสามประเภท: บทความ (เอกสารเต็มที่มีชื่อและเนื้อหา), ย่อหน้า (ข้อความสั้นแยกเดี่ยว) และ บทความ URL (สร้างอัตโนมัติเมื่อนำเข้าเนื้อหาเว็บ) คุณสร้างบทความผ่าน API นำเข้าจากเว็บไซต์ด้วย นำเข้าเนื้อหาภายนอก อัปโหลดไฟล์ผ่าน อัปโหลดไฟล์ หรือซิงก์จาก Intercom ได้

ไม่มีขั้นตอนฝึกใหม่ ทุกบทความที่สร้าง อัปเดต หรือลบจะประมวลผลอัตโนมัติในเบื้องหลังและมีผลทันทีเมื่อเสร็จ โดยปกติใช้เวลาไม่กี่วินาที ติดตามผ่านฟิลด์ embed_state ด้านล่าง หรือ pending_embed_count ใน ดึงการตั้งค่าฐานความรู้

  • ดูตัวอย่างคำขอ API Action แสดงคำขอจากเทมเพลตและค่าตัวอย่างสมมติโดยไม่ส่งคำขอ ไม่ต้องใส่ส่วนหัวที่มีข้อมูลรับรอง

  • ดูตัวอย่างผลที่ตรงกับ JSONPath ตรวจเส้นทางระดับราก ฟิลด์ ดัชนีอาร์เรย์ และไวลด์การ์ดกับ JSON ที่กำหนด การตรวจสอบนี้ไม่เรียกใช้การดำเนินการหรือบันทึกหน่วยความจำบทสนทนา

ขอบเขตสิทธิ์: write_all

POST https://app.quickchat.ai/v1/api/knowledge_base/articles/

เนื้อหาคำขอ

พารามิเตอร์คำอธิบาย
content
สตริง, จำเป็น
เนื้อหาบทความ
type
สตริง
"Article" (ค่าเริ่มต้น) หรือ "Paragraph"
title
สตริง
ชื่อบทความ
  • "Article": เอกสารฐานความรู้เต็มรูปแบบที่มีชื่อและเนื้อหา ใช้กับคำถามที่พบบ่อย บทความช่วยเหลือ และคำอธิบายสินค้า
  • "Paragraph": ข้อความสั้นแยกเดี่ยวที่ไม่มีชื่อ ใช้กับข้อเท็จจริงสั้น ๆ คำตอบบรรทัดเดียว หรือข้อมูลอ้างอิงแบบย่อ
  • "URL" (อ่านอย่างเดียว): สร้างโดยอัตโนมัติเมื่อนำเข้าเนื้อหาจากเว็บไซต์ มีเนื้อหาหน้าที่ดึงมาพร้อม URL ต้นทาง ไม่สามารถกำหนดตอนสร้างได้
Terminal window
curl -X POST https://app.quickchat.ai/v1/api/knowledge_base/articles/ \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"content": "Our return policy allows returns within 30 days.",
"title": "Return Policy"
}'

การตอบกลับ 201 Created

{
"id": 1234,
"article_id": "abc-123",
"type": "Article",
"title": "Return Policy",
"description": "",
"content": "Our return policy allows returns within 30 days.",
"state": "draft",
"deploy_state": "draft",
"embed_state": "pending",
"refresh_failure_reason": "",
"version": null,
"max_available_version": null,
"url": null,
"tags": [],
"created_timestamp": "2026-01-15",
"last_modified_timestamp": "2026-01-15",
"downloaded_timestamp": "2026-01-15",
"last_updated_timestamp": "2026-01-15",
"last_updated_from_external_source_timestamp": null
}
ฟิลด์คำอธิบาย
id
จำนวนเต็ม
ID บทความแบบตัวเลข เป็นตัวระบุหลักที่ใช้ในเส้นทาง URL ทั้งหมด
article_id
สตริง
ตัวระบุแบบสตริงรุ่นเก่า อาจว่างได้ ให้ใช้ id แทน
type
สตริง
"Article", "Paragraph" หรือ "URL"
title
สตริง
ชื่อบทความ
description
สตริง
คำอธิบายบทความ
content
สตริง
เนื้อหาบทความ
deploy_state
สตริง
"draft" หรือ "published" เป็นเพียงป้ายกำกับ (ดูหมายเหตุด้านล่าง)
embed_state
สตริง หรือ null
สถานะว่าบทความพร้อมใช้งานหรือไม่: "pending", "embedding", "embedded" หรือ "failed" (ดูหมายเหตุด้านล่าง)
state
สตริง
สถานะการประมวลผลภายใน (ดูหมายเหตุด้านล่าง)
refresh_failure_reason
สตริง
เหตุผลที่รีเฟรช URL ล่าสุดไม่สำเร็จ ว่างหากไม่ได้เก็บประเภทความล้มเหลวไว้
version
จำนวนเต็ม หรือ null
หมายเลขเวอร์ชันปัจจุบัน
max_available_version
จำนวนเต็ม หรือ null
เวอร์ชันสูงสุดที่มี
url
สตริง หรือ null
URL ต้นทาง (สำหรับบทความชนิด URL)
tags
อาร์เรย์ของสตริง
แท็กที่เกี่ยวข้อง
created_timestamp
สตริง
วันที่สร้าง
last_modified_timestamp
สตริง
วันที่แก้ไขล่าสุด
downloaded_timestamp
สตริง
วันที่ดาวน์โหลด
last_updated_timestamp
สตริง
วันที่อัปเดตล่าสุด
last_updated_from_external_source_timestamp
สตริง หรือ null
การอัปเดตล่าสุดจากแหล่งภายนอก

บทความมีฟิลด์สถานะสามฟิลด์ มีเพียงฟิลด์เดียวที่บอกว่า AI Agent ใช้บทความนั้นอยู่หรือไม่:

  • embed_state: ฟิลด์สำคัญ "pending" และ "embedding" หมายถึงยังประมวลผลอยู่ "embedded" หมายถึงพร้อมใช้งานและ AI Agent กำลังใช้ และ "failed" หมายถึงประมวลผลไม่สำเร็จและไม่ได้ใช้บทความ นี่คือฟิลด์ที่ควรเรียกตรวจสอบหลังเขียนข้อมูล
  • deploy_state: "draft" หรือ "published" เป็นป้ายกำกับเพื่อจัดระเบียบของคุณเองเท่านั้น ไม่มี ผลต่อการที่ AI ใช้บทความหรือไม่
  • state: สถานะดึงเนื้อหาภายใน ผู้ใช้ API ส่วนใหญ่ไม่ต้องใช้ สำหรับบทความ URL ค่า "refresh_failed" หมายถึงการรีเฟรชล่าสุดไม่ได้แทนที่เนื้อหาที่บันทึกไว้
  • refresh_failure_reason: ประเภทความล้มเหลวของการรีเฟรช URL ที่มีค่าคงที่ ได้แก่ "http_error", "soft_404", "off_domain_redirect", "auth_wall", "error_page", "empty_content" หรือ "thin_content" อาจว่างได้หากดึงเนื้อหาไม่สำเร็จก่อน Quickchat จะจำแนกประเภทหน้า เนื้อหาล่าสุดที่บันทึกไว้ยังใช้งานได้ เว้นแต่ embed_state จะล้มเหลวด้วย
ขอบเขตสิทธิ์: read_all

GET https://app.quickchat.ai/v1/api/knowledge_base/articles/

พารามิเตอร์การค้นหา

พารามิเตอร์คำอธิบาย
limit
จำนวนเต็ม
จำนวนรายการต่อหน้า
offset
จำนวนเต็ม
จำนวนรายการที่จะข้าม
types
สตริง
กรองตามประเภท: Article, Paragraph, URL
tags
สตริง
กรองตามแท็ก
url
สตริง
กรองตาม URL
title
สตริง
กรองตามชื่อ
query
สตริง
ค้นหาจากเนื้อหา
Terminal window
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/?limit=10&offset=0' \
-H 'Authorization: Bearer <API_TOKEN>'

การตอบกลับ 200 OK

{
"items": [
{
"id": 1234,
"article_id": "abc-123",
"type": "Article",
"title": "Return Policy",
"description": "",
"state": "published",
"deploy_state": "published",
"embed_state": "embedded",
"refresh_failure_reason": "",
"version": 1,
"max_available_version": 1,
"url": null,
"tags": ["policies"],
"created_timestamp": "2026-01-15",
"last_modified_timestamp": "2026-01-15",
"downloaded_timestamp": "2026-01-15",
"last_updated_timestamp": "2026-01-15",
"last_updated_from_external_source_timestamp": null
}
],
"offset": 0,
"limit": 10,
"count": 1
}

การตอบกลับรายการ ไม่มี ฟิลด์ content ใช้ ดึงบทความ เพื่อดึงเนื้อหาเต็มของบทความที่ต้องการ

ขอบเขตสิทธิ์: read_all

GET https://app.quickchat.ai/v1/api/knowledge_base/articles/{article_id}

Terminal window
curl https://app.quickchat.ai/v1/api/knowledge_base/articles/1234 \
-H 'Authorization: Bearer <API_TOKEN>'

การตอบกลับ 200 OK ส่งกลับออบเจ็กต์บทความเต็ม (โครงสร้างเดียวกับการตอบกลับ สร้างบทความ) รวมถึงฟิลด์ content

ขอบเขตสิทธิ์: write_all

PATCH https://app.quickchat.ai/v1/api/knowledge_base/articles/{article_id}

เนื้อหาคำขอ

พารามิเตอร์คำอธิบาย
content
สตริง
เนื้อหาบทความที่อัปเดต
title
สตริง
ชื่อที่อัปเดต
tags
อาร์เรย์ของสตริง
แท็กที่อัปเดต
save_mode
สตริง
"draft" (ค่าเริ่มต้น) หรือ "publish"

ตัวเลือก save_mode: "draft" กำหนดเพียงแฟล็ก deploy_state ไม่ได้ กันเนื้อหาออกจาก AI บทความฉบับร่างจะประมวลผลและใช้งานเหมือนบทความที่เผยแพร่ อย่าใช้เป็นพื้นที่พักเนื้อหา ให้เขียนบทความเมื่อพร้อมให้ใช้งานจริงเท่านั้น

Terminal window
curl -X PATCH https://app.quickchat.ai/v1/api/knowledge_base/articles/1234 \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"title": "Updated Return Policy",
"content": "Returns accepted within 60 days.",
"save_mode": "publish"
}'

การตอบกลับ 200 OK ส่งกลับออบเจ็กต์บทความที่อัปเดตแล้ว

ลบหนึ่งบทความหรือหลายบทความด้วย ID

ขอบเขตสิทธิ์: write_all

DELETE https://app.quickchat.ai/v1/api/knowledge_base/articles/

เนื้อหาคำขอ: อาร์เรย์ JSON ของ ID บทความ

Terminal window
curl -X DELETE https://app.quickchat.ai/v1/api/knowledge_base/articles/ \
-H 'Authorization: Bearer <API_TOKEN>' \
-H 'Content-Type: application/json' \
-d '[1234, 5678]'

การตอบกลับ 200 OK

ค้นหาเนื้อหาบทความด้วยการจับคู่ข้อความ

ขอบเขตสิทธิ์: read_all

GET https://app.quickchat.ai/v1/api/knowledge_base/articles/search

พารามิเตอร์การค้นหา

พารามิเตอร์คำอธิบาย
query
สตริง, จำเป็น
ข้อความค้นหา
is_case_insensitive
บูลีน
ค้นหาโดยไม่สนใจตัวพิมพ์ใหญ่เล็ก (ค่าเริ่มต้น: true)
with_title_url_and_tags
บูลีน
รวมชื่อ/URL/แท็กในการค้นหา (ค่าเริ่มต้น: true)
strict_search
บูลีน
ต้องตรงกันทุกประการ (ค่าเริ่มต้น: false)
num_of_display_articles
จำนวนเต็ม
จำนวนบทความที่แสดง (ค่าเริ่มต้น: 5)
num_of_data_articles
จำนวนเต็ม
จำนวนบทความที่ใช้ค้นหา (ค่าเริ่มต้น: 15)
Terminal window
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/search?query=return%20policy' \
-H 'Authorization: Bearer <API_TOKEN>'

การตอบกลับ 200 OK

{
"article_snippets": [
{
"article_id": 1234,
"expository_sentence": "Our return policy allows returns within 30 days.",
"query_words_ids": [
{"start_char": 4, "end_char": 10, "text": "return"}
]
}
],
"article_snapshots": {
"items": [],
"offset": 0,
"count": 1
}
}

แสดงบทความประเภท Paragraph ทั้งหมด ย่อหน้าเป็นข้อความสั้นแยกเดี่ยวที่ไม่มีชื่อ ต่างจากบทความเต็มที่มีทั้งชื่อและเนื้อหา

ขอบเขตสิทธิ์: read_all

GET https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs

พารามิเตอร์การค้นหา

พารามิเตอร์คำอธิบาย
limit
จำนวนเต็ม
จำนวนรายการต่อหน้า
offset
จำนวนเต็ม
จำนวนรายการที่จะข้าม
query
สตริง
กรองตามเนื้อหา
Terminal window
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs?limit=10' \
-H 'Authorization: Bearer <API_TOKEN>'

การตอบกลับ 200 OK

{
"items": [
{
"id": 1,
"content": "Our return policy allows returns within 30 days."
}
],
"offset": 0,
"count": 1
}