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.
Pemeriksaan contoh opsional
Section titled “Pemeriksaan contoh opsional”-
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.
Membuat Artikel
Section titled “Membuat Artikel”POST https://app.quickchat.ai/v1/api/knowledge_base/articles/
Isi Permintaan
| Parameter | Deskripsi |
|---|---|
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.
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"}'import requests
response = requests.post( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "content": "Our return policy allows returns within 30 days.", "title": "Return Policy", },)data = response.json()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}| Kolom | Deskripsi |
|---|---|
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 kecualiembed_statejuga gagal.
Menampilkan Artikel
Section titled “Menampilkan Artikel”GET https://app.quickchat.ai/v1/api/knowledge_base/articles/
Parameter Kueri
| Parameter | Deskripsi |
|---|---|
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 |
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/?limit=10&offset=0' \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/", headers={"Authorization": "Bearer <API_TOKEN>"}, params={"limit": 10, "offset": 0},)data = response.json()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.
Mengambil Artikel
Section titled “Mengambil Artikel”GET https://app.quickchat.ai/v1/api/knowledge_base/articles/{article_id}
curl https://app.quickchat.ai/v1/api/knowledge_base/articles/1234 \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/1234", headers={"Authorization": "Bearer <API_TOKEN>"},)data = response.json()Respons 200 OK: mengembalikan objek artikel lengkap (skema sama seperti respons Membuat Artikel), termasuk kolom content.
Memperbarui Artikel
Section titled “Memperbarui Artikel”PATCH https://app.quickchat.ai/v1/api/knowledge_base/articles/{article_id}
Isi Permintaan
| Parameter | Deskripsi |
|---|---|
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.
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"}'import requests
response = requests.patch( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/1234", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "title": "Updated Return Policy", "content": "Returns accepted within 60 days.", "save_mode": "publish", },)data = response.json()Respons 200 OK: mengembalikan objek artikel yang diperbarui.
Menghapus Artikel
Section titled “Menghapus Artikel”Hapus satu atau beberapa artikel berdasarkan ID.
Cakupan: write_allDELETE https://app.quickchat.ai/v1/api/knowledge_base/articles/
Isi Permintaan: array JSON berisi ID artikel.
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]'import requests
response = requests.delete( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/", headers={"Authorization": "Bearer <API_TOKEN>"}, json=[1234, 5678],)Respons 200 OK
Mencari Artikel
Section titled “Mencari Artikel”Cari dalam isi artikel dengan pencocokan teks.
Cakupan: read_allGET https://app.quickchat.ai/v1/api/knowledge_base/articles/search
Parameter Kueri
| Parameter | Deskripsi |
|---|---|
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) |
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/search?query=return%20policy' \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/search", headers={"Authorization": "Bearer <API_TOKEN>"}, params={"query": "return policy"},)data = response.json()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 }}Menampilkan Paragraf
Section titled “Menampilkan Paragraf”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_allGET https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs
Parameter Kueri
| Parameter | Deskripsi |
|---|---|
limit integer | Item per halaman |
offset integer | Item yang dilewati |
query string | Filter berdasarkan isi |
curl 'https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs?limit=10' \ -H 'Authorization: Bearer <API_TOKEN>'import requests
response = requests.get( url="https://app.quickchat.ai/v1/api/knowledge_base/articles/paragraphs", headers={"Authorization": "Bearer <API_TOKEN>"}, params={"limit": 10},)data = response.json()Respons 200 OK
{ "items": [ { "id": 1, "content": "Our return policy allows returns within 30 days." } ], "offset": 0, "count": 1}