knowledgebase.section.list

Scope: knowledgebase

Кто может вызывать: авторизованный пользователь; дерево разделов из Post::getSectionsInfo() с in-memory фильтрацией. Подробнее: Права доступа

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

HTTP: GET

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

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

Параметр Тип Обяз. Описание
limit int нет Размер страницы, по умолчанию 50, максимум 500
offset int нет Смещение, по умолчанию 0
fetchAll bool нет Вернуть все записи одним ответом
filter object нет Mongo-фильтр по полям раздела (см. ниже)

Поля filter (Mongo, in-memory)

Поддерживаемые поля: id, name, depth, parentId, left, right, count.

Операторы: $eq, $ne, $gt, $gte, $lt, $lte, $in, $nin.

Фильтрация выполняется в памяти после загрузки полного дерева разделов.

Пагинация

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

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

Ответ в конверте модуля: result.result — массив разделов; result.next; result.error; верхнеуровневый Bitrix total.

Поля раздела: id, name, parentId, left, right, depth, count.

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

Справочник кодов: 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.section.list.json" \
          -H "Accept: application/json" \
          --data-urlencode "limit=50" \
          --data-urlencode "offset=0" \
          --data-urlencode "filter[depth][$eq]=1"
        

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

{
          "result": {
            "result": [
              {
                "id": 96,
                "name": "Регламенты и инструкции",
                "parentId": 0,
                "left": 1,
                "right": 12,
                "depth": 1,
                "count": 5
              },
              {
                "id": 101,
                "name": "Инструкции",
                "parentId": 96,
                "left": 2,
                "right": 3,
                "depth": 2,
                "count": 0
              }
            ],
            "error": null
          },
          "next": 3,
          "total": 7
        }
        

См. также

Предыдущая