Перейти к содержимому

Статьи составляют Базу знаний. Создавайте, просматривайте, обновляйте и удаляйте содержимое, которое AI-агент использует для ответов.

Статьи являются основными элементами Базы знаний AI-агента. Каждая статья содержит отдельный фрагмент знаний: справочную страницу, ответ на частый вопрос, описание продукта или любое содержимое, которое AI должен знать.

Есть три типа статей: Статьи (полные документы с заголовком и текстом), Абзацы (короткие самостоятельные текстовые записи) и URL-статьи (создаются автоматически при импорте веб-содержимого). Можно создавать статьи вручную через API, импортировать с сайтов через Импорт внешнего содержимого, загружать через Загрузку файлов или синхронизировать из Intercom.

Повторное обучение не требуется. Каждая созданная, изменённая или удалённая статья автоматически обрабатывается в фоне, а изменения начинают действовать сразу после завершения, обычно за несколько секунд. Отслеживайте это по полю embed_state ниже или pending_embed_count в Получении настроек Базы знаний.

  • Предпросмотр запроса API-действия. Подставьте синтетические примеры значений в заданный шаблон без отправки. Не включайте заголовки с учётными данными.

  • Предпросмотр совпадений JSONPath. Проверьте пути к корню, полям, индексам массивов и подстановочные пути на заданном JSON. Это не запускает действие и не сохраняет память разговора.

Права: write_all

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

Тело запроса

ПараметрОписание
content
строка, обязательный
Содержимое статьи
type
строка
"Article" (по умолчанию) или "Paragraph"
title
строка
Заголовок статьи
  • "Article": полный документ Базы знаний с заголовком и содержимым. Для FAQ, справочных статей и описаний продуктов.
  • "Paragraph": короткая самостоятельная запись без заголовка. Для кратких фактов, однострочных ответов и справочных данных.
  • "URL" (только чтение): создаётся автоматически при импорте содержимого сайта. Содержит извлечённый текст страницы с исходным URL. Нельзя задать при создании.
Окно терминала
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-агент статью:

  • embed_state: главное поле. "pending" и "embedding" означают, что статья ещё обрабатывается; "embedded" означает, что она доступна и используется агентом; "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". Может быть пустой, если извлечение завершилось ошибкой до классификации страницы. Последнее сохранённое содержимое остаётся доступным, если 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
строка
Поиск по содержимому
Окно терминала
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}

Окно терминала
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. Черновик обрабатывается и используется точно так же, как опубликованная статья. Не используйте его для подготовки непубличного содержимого: записывайте статью, только когда она готова к использованию.

Окно терминала
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 статей.

Окно терминала
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)
Окно терминала
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
строка
Фильтр по содержимому
Окно терминала
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
}