knowledgebase.article.list

Scope: knowledgebase

Кто может вызывать: авторизованный пользователь; список строится с учётом прав инфоблока на чтение элементов. Подробнее: Права доступа

Список статей базы знаний с Mongo-фильтром и полнотекстовым поиском

HTTP: GET

Побочные эффекты: none

Параметры метода

Параметр Тип Обяз. Описание
limit int нет Размер страницы, по умолчанию 50, максимум 500
offset int нет Смещение, по умолчанию 0
fetchAll bool нет Вернуть все записи одним ответом
filter object нет Mongo-фильтр. Поля: id, name, sectionId, active, createdBy, modifiedBy, search
search string нет Поиск по названию и тексту (top-level; используется, если filter.search не задан)

Поля filter (Mongo)

Поддерживаемые поля: id, name, sectionId, active, createdBy, modifiedBy, search.

Операторы: $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin. Для active в query-string передавайте Y/N или true/false.

По умолчанию возвращаются только активные статьи (ACTIVE = Y), если active не указан в фильтре.

Поиск: filter[search] или top-level search — ищет по полям NAME и DETAIL_TEXT.

Пагинация

limit (default 50, max 500), offset, fetchAll (защитный лимит записей 5000, иначе FETCH_ALL_LIMIT_EXCEEDED).

Возвращаемые данные

Ответ в конверте модуля: result.result — массив элементов списка; result.next — смещение следующей страницы или null; result.error; верхнеуровневый Bitrix total — общее число записей.

Поля элемента списка: id, name, active, sectionId, createdBy, modifiedBy, dateCreate, timestampX, commentsCount.

Обработка ошибок

Справочник кодов: error-codes.md.

Код Описание
UNAUTHORIZED Пользователь не авторизован
INVALID_LIMIT limit вне диапазона 1..500
INVALID_OFFSET offset < 0
INVALID_FILTER Некорректный filter или неизвестное поле
INVALID_FILTER_OPERATOR Неизвестный оператор фильтра
FETCH_ALL_LIMIT_EXCEEDED При fetchAll=true подходящих записей больше защитного лимита (5000)
INTERNAL_ERROR Внутренняя ошибка сервера

Пример запроса (GET)

curl -G "https://{портал}/rest/{user_id}/{webhook_code}/knowledgebase.article.list.json" \
          -H "Accept: application/json" \
          --data-urlencode "limit=20" \
          --data-urlencode "offset=0" \
          --data-urlencode "search=инструкция" \
          --data-urlencode "filter[sectionId][$eq]=12"
        

Пример ответа

{
          "result": {
            "result": [
              {
                "id": 1073,
                "name": "Without text",
                "active": true,
                "sectionId": 0,
                "createdBy": 1,
                "modifiedBy": 1,
                "dateCreate": "31.08.2026 15:22:29",
                "timestampX": "31.08.2026 15:22:29",
                "commentsCount": 0
              },
              {
                "id": 1072,
                "name": "Without section",
                "active": true,
                "sectionId": 0,
                "createdBy": 1,
                "modifiedBy": 1,
                "dateCreate": "31.08.2026 15:22:29",
                "timestampX": "31.08.2026 15:22:29",
                "commentsCount": 0
              }
            ],
            "error": null
          },
          "next": 2,
          "total": 10
        }
        

Пример ошибки

{
          "result": {
            "result": null,
            "error": {
              "code": "INVALID_LIMIT",
              "message": "Параметр limit должен быть больше нуля.",
              "details": null
            }
          }
        }
        

См. также