Lewati ke konten

Artikel merupakan penyusun Basis Pengetahuan. Buat, tampilkan, perbarui, dan hapus konten yang digunakan Agen AI untuk menjawab pertanyaan.

Artikel merupakan penyusun Basis Pengetahuan Agen AI. Setiap artikel mewakili suatu pengetahuan: halaman bantuan, entri FAQ, deskripsi produk, atau konten lain yang perlu diketahui AI.

Ada tiga jenis artikel: Artikel (dokumen lengkap dengan judul dan isi), Paragraf (entri teks singkat yang berdiri sendiri), dan artikel URL (dibuat otomatis saat mengimpor konten web). Anda dapat membuat artikel secara manual melalui API, mengimpornya dari situs web melalui Impor Konten Eksternal, mengunggah file melalui Unggah File, atau menyinkronkannya dari Intercom.

Tidak ada langkah pelatihan ulang. Setiap artikel yang Anda buat, perbarui, atau hapus diproses otomatis di latar belakang dan berlaku segera setelah selesai, biasanya dalam hitungan detik. Pantau melalui kolom embed_state di bawah atau pending_embed_count dalam Mengambil Pengaturan Basis Pengetahuan.

  • Pratinjau permintaan Tindakan API. Tampilkan template permintaan dengan nilai contoh sintetis tanpa mengirimkannya. Jangan sertakan header kredensial.

  • Pratinjau kecocokan JSONPath. Periksa jalur root, kolom, indeks array, dan wildcard pada JSON yang diberikan. Alat ini tidak menjalankan Tindakan atau menyimpan memori percakapan.

Cakupan: write_all

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

Isi Permintaan

ParameterDeskripsi
content
string, wajib
Isi artikel
type
string
"Article" (default) atau "Paragraph"
title
string
Judul artikel
  • "Article": dokumen Basis Pengetahuan lengkap dengan judul dan isi. Gunakan untuk entri FAQ, artikel bantuan, dan deskripsi produk.
  • "Paragraph": entri teks singkat yang berdiri sendiri tanpa judul. Gunakan untuk fakta singkat, jawaban satu baris, dan data referensi ringkas.
  • "URL" (hanya baca): dibuat otomatis saat konten diimpor dari situs web. Berisi konten halaman yang diambil beserta URL sumber. Tidak dapat ditetapkan saat pembuatan.
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"
}'

Respons 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
}
KolomDeskripsi
id
integer
ID numerik artikel. Ini pengenal utama yang digunakan dalam seluruh jalur URL
article_id
string
Pengenal string lama. Dapat kosong; gunakan id sebagai gantinya
type
string
"Article", "Paragraph", atau "URL"
title
string
Judul artikel
description
string
Deskripsi artikel
content
string
Isi artikel
deploy_state
string
"draft" atau "published": hanya label (lihat catatan di bawah)
embed_state
string or null
Apakah artikel aktif: "pending", "embedding", "embedded", atau "failed" (lihat catatan di bawah)
state
string
Status pemrosesan internal (lihat catatan di bawah)
refresh_failure_reason
string
Alasan penyegaran URL terakhir gagal. Kosong jika tidak ada klasifikasi kegagalan penyegaran yang tersimpan
version
integer or null
Nomor versi saat ini
max_available_version
integer or null
Versi tertinggi yang tersedia
url
string or null
URL sumber (untuk artikel berjenis URL)
tags
array of strings
Tag terkait
created_timestamp
string
Tanggal pembuatan
last_modified_timestamp
string
Tanggal perubahan terakhir
downloaded_timestamp
string
Tanggal pengunduhan
last_updated_timestamp
string
Tanggal pembaruan terakhir
last_updated_from_external_source_timestamp
string or null
Pembaruan terakhir dari sumber eksternal

Artikel memiliki tiga kolom status. Hanya satu yang menunjukkan apakah Agen AI menggunakan artikel tersebut:

  • embed_state: kolom yang penting. "pending" dan "embedding" berarti artikel masih diproses; "embedded" berarti sudah aktif dan digunakan Agen AI; "failed" berarti pemrosesan tidak selesai dan artikel tidak digunakan. Lakukan polling pada kolom ini setelah penulisan.
  • deploy_state: "draft" atau "published". Hanya label untuk pengaturan Anda sendiri, tidak memengaruhi apakah AI menggunakan artikel.
  • state: status internal pengambilan konten. Sebagian besar pengguna API dapat mengabaikannya. Pada artikel URL, "refresh_failed" berarti penyegaran terakhir tidak mengganti konten yang tersimpan.
  • refresh_failure_reason: kategori tetap untuk kegagalan penyegaran URL yang telah diklasifikasikan: "http_error", "soft_404", "off_domain_redirect", "auth_wall", "error_page", "empty_content", atau "thin_content". Nilainya dapat kosong jika pengambilan gagal sebelum Quickchat dapat mengklasifikasikan halaman. Konten tersimpan terakhir tetap aktif kecuali embed_state juga gagal.
Cakupan: read_all

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

Parameter Kueri

ParameterDeskripsi
limit
integer
Item per halaman
offset
integer
Item yang dilewati
types
string
Filter menurut jenis: Article, Paragraph, URL
tags
string
Filter menurut tag
url
string
Filter menurut URL
title
string
Filter menurut judul
query
string
Cari berdasarkan isi
Terminal window
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/?limit=10&offset=0' \
-H 'Authorization: Bearer <API_TOKEN>'

Respons 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
}

Respons daftar tidak menyertakan kolom content. Gunakan Mengambil Artikel untuk mengambil isi lengkap artikel tertentu.

Cakupan: 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>'

Respons 200 OK: mengembalikan objek artikel lengkap (skema sama seperti respons Membuat Artikel), termasuk kolom content.

Cakupan: write_all

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

Isi Permintaan

ParameterDeskripsi
content
string
Isi artikel yang diperbarui
title
string
Judul yang diperbarui
tags
array of strings
Tag yang diperbarui
save_mode
string
"draft" (default) atau "publish"

Pilihan save_mode: "draft" hanya menetapkan flag deploy_state, tidak menahan konten dari AI. Artikel draf diproses dan digunakan sama seperti artikel terbit. Jangan mengandalkannya untuk menyiapkan konten sebelum rilis; tulis artikel hanya ketika siap digunakan langsung.

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"
}'

Respons 200 OK: mengembalikan objek artikel yang diperbarui.

Hapus satu atau beberapa artikel berdasarkan ID.

Cakupan: write_all

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

Isi Permintaan: array JSON berisi ID artikel.

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]'

Respons 200 OK

Cari dalam isi artikel dengan pencocokan teks.

Cakupan: read_all

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

Parameter Kueri

ParameterDeskripsi
query
string, wajib
Kueri pencarian
is_case_insensitive
boolean
Pencarian tanpa membedakan huruf besar dan kecil (default: true)
with_title_url_and_tags
boolean
Sertakan judul/URL/tag dalam pencarian (default: true)
strict_search
boolean
Wajibkan kecocokan persis (default: false)
num_of_display_articles
integer
Jumlah artikel yang ditampilkan (default: 5)
num_of_data_articles
integer
Jumlah artikel yang ditelusuri (default: 15)
Terminal window
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/search?query=return%20policy' \
-H 'Authorization: Bearer <API_TOKEN>'

Respons 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
}
}

Tampilkan seluruh artikel berjenis Paragraf. Paragraf adalah entri teks singkat yang berdiri sendiri tanpa judul, berbeda dari Artikel lengkap yang memiliki judul dan isi.

Cakupan: read_all

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

Parameter Kueri

ParameterDeskripsi
limit
integer
Item per halaman
offset
integer
Item yang dilewati
query
string
Filter berdasarkan isi
Terminal window
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs?limit=10' \
-H 'Authorization: Bearer <API_TOKEN>'

Respons 200 OK

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