Получить список разделов хранилища entity.section.get
Выберите инструмент для разработки с AI-агентом:
- используйте Битрикс24 Вайбкод, чтобы создать приложение для Битрикс24 по описанию задачи без знания языков программирования. Агент напишет код и разместит приложение на сервере без ручной настройки хостинга
- используйте MCP-сервер, чтобы разрабатывать интеграцию через REST API в своем проекте. Агент будет обращаться к официальной REST-документации
Scope:
entityКто может выполнять метод: любой пользователь при авторизации приложения
Метод entity.section.get получает список разделов хранилища данных приложения.
Метод работает только в контексте приложения.
Параметры метода
Обязательные параметры отмечены *
|
Название |
Описание |
|
ENTITY* |
Идентификатор хранилища данных приложения. Используйте значение, которое указали при создании хранилища. Получить идентификатор можно методом entity.get |
|
SORT |
Объект формата:
где:
Список доступных полей для сортировки смотрите в разделе Тип section. По умолчанию используется Пример: |
|
FILTER |
Объект формата:
где:
Список доступных полей для фильтрации смотрите в разделе Тип section. К ключам
|
|
start |
Параметр постраничной навигации. Размер страницы фиксирован: Формула для получения N-й страницы: Подробнее в статье Особенности списочных методов |
Примеры кода
Как использовать примеры в документации
Пример получения разделов хранилища, где:
ENTITY— идентификатор хранилищаdishSORT— сортировка по названиюFILTER— только активные разделы
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"ENTITY":"dish","SORT":{"NAME":"ASC"},"FILTER":{"ACTIVE":"Y"},"start":0,"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/entity.section.get
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame, ISODate } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
// Shape of each SectionItem returned in result[]
type SectionItem = {
ID: string
CODE: string | null
TIMESTAMP_X: ISODate
DATE_CREATE: ISODate
CREATED_BY: string
MODIFIED_BY: string
ACTIVE: 'Y' | 'N'
SORT: string
NAME: string
PICTURE: string | null
DETAIL_PICTURE: string | null
DESCRIPTION: string | null
LEFT_MARGIN: string
RIGHT_MARGIN: string
DEPTH_LEVEL: string
ENTITY: string
SECTION: string | null
}
try {
// entity.section.get returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make<SectionItem[]>({
method: 'entity.section.get',
params: {
ENTITY: 'dish',
SORT: { NAME: 'ASC' },
FILTER: { ACTIVE: 'Y' },
start: 0,
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('sections:', result.length, result)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function fetchSections() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
// entity.section.get returns a single page (max 50 records). For the whole result set
// use a list helper: $b24.actions.v2.callList.make() returns every record as one
// array, $b24.actions.v2.fetchList.make() yields them in chunks (async generator).
// NOTE: the list helpers do not accept `order` (it is excluded from their params, so
// passing it is a TS error) — keep this call.make + `start` variant when sort matters.
const response = await $b24.actions.v2.call.make({
method: 'entity.section.get',
params: {
ENTITY: 'dish',
SORT: { NAME: 'ASC' },
FILTER: { ACTIVE: 'Y' },
start: 0,
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('sections:', result.length, result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', fetchSections)
</script>
try {
$response = $b24Service
->core
->call(
'entity.section.get',
[
'ENTITY' => 'dish',
'SORT' => ['NAME' => 'ASC'],
'FILTER' => ['ACTIVE' => 'Y'],
'start' => 0,
]
);
$result = $response
->getResponseData()
->getResult();
echo '<pre>';
print_r($result);
echo '</pre>';
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error getting entity sections: ' . $e->getMessage();
}
BX24.callMethod(
'entity.section.get',
{
ENTITY: 'dish',
SORT: { NAME: 'ASC' },
FILTER: { ACTIVE: 'Y' },
},
(result) => {
if (result.error()) {
console.error(result.error());
return;
}
console.info(result.data());
if (result.more()) {
result.next();
}
},
);
require_once('crest.php');
$result = CRest::call(
'entity.section.get',
[
'ENTITY' => 'dish',
'SORT' => ['NAME' => 'ASC'],
'FILTER' => ['ACTIVE' => 'Y'],
'start' => 0,
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
Обработка ответа
HTTP-статус: 200
{
"result": [
{
"ID": "671",
"CODE": null,
"TIMESTAMP_X": "2026-03-23T17:15:51+03:00",
"DATE_CREATE": "2026-03-23T17:15:51+03:00",
"CREATED_BY": "577",
"MODIFIED_BY": "577",
"ACTIVE": "Y",
"SORT": "500",
"NAME": "Родительский раздел",
"PICTURE": null,
"DETAIL_PICTURE": null,
"DESCRIPTION": null,
"LEFT_MARGIN": "1",
"RIGHT_MARGIN": "6",
"DEPTH_LEVEL": "1",
"ENTITY": "dish",
"SECTION": null
},
{
"ID": "669",
"CODE": null,
"TIMESTAMP_X": "2026-03-23T17:14:22+03:00",
"DATE_CREATE": "2026-03-23T17:14:22+03:00",
"CREATED_BY": "577",
"MODIFIED_BY": "577",
"ACTIVE": "Y",
"SORT": "500",
"NAME": "Тестовый раздел",
"PICTURE": null,
"DETAIL_PICTURE": null,
"DESCRIPTION": null,
"LEFT_MARGIN": "7",
"RIGHT_MARGIN": "8",
"DEPTH_LEVEL": "1",
"ENTITY": "dish",
"SECTION": null
},
{
"ID": "673",
"CODE": null,
"TIMESTAMP_X": "2026-03-23T17:16:37+03:00",
"DATE_CREATE": "2026-03-23T17:16:37+03:00",
"CREATED_BY": "577",
"MODIFIED_BY": "577",
"ACTIVE": "Y",
"SORT": "500",
"NAME": "Тестовый раздел",
"PICTURE": null,
"DETAIL_PICTURE": null,
"DESCRIPTION": null,
"LEFT_MARGIN": "4",
"RIGHT_MARGIN": "5",
"DEPTH_LEVEL": "2",
"ENTITY": "dish",
"SECTION": "671"
},
{
"ID": "675",
"CODE": "testovyy-razdel",
"TIMESTAMP_X": "2026-03-23T17:42:32+03:00",
"DATE_CREATE": "2026-03-23T17:42:32+03:00",
"CREATED_BY": "577",
"MODIFIED_BY": "577",
"ACTIVE": "Y",
"SORT": "500",
"NAME": "Тестовый раздел",
"PICTURE": null,
"DETAIL_PICTURE": null,
"DESCRIPTION": "Описание тестового раздела",
"LEFT_MARGIN": "2",
"RIGHT_MARGIN": "3",
"DEPTH_LEVEL": "2",
"ENTITY": "dish",
"SECTION": "671"
}
],
"total": 4,
"time": {
"start": 1774338416,
"finish": 1774338416.415466,
"duration": 0.4154660701751709,
"processing": 0,
"date_start": "2026-03-24T10:46:56+03:00",
"date_finish": "2026-03-24T10:46:56+03:00",
"operating_reset_at": 1774339016,
"operating": 0
}
}
Возвращаемые данные
|
Название |
Описание |
|
result |
Список разделов хранилища |
|
total |
Общее количество разделов в выборке |
|
next |
Смещение для получения следующей страницы (если есть) |
|
time |
Информация о времени выполнения запроса |
Тип section
|
Название |
Описание |
|
ID |
Идентификатор раздела |
|
CODE |
Символьный код раздела |
|
TIMESTAMP_X |
Дата и время последнего изменения |
|
DATE_CREATE |
Дата и время создания |
|
CREATED_BY |
Идентификатор пользователя, создавшего раздел |
|
MODIFIED_BY |
Идентификатор пользователя, изменившего раздел |
|
ACTIVE |
Флаг активности ( |
|
SORT |
Индекс сортировки |
|
NAME |
Название раздела |
|
PICTURE |
URL картинки раздела или |
|
DETAIL_PICTURE |
URL детальной картинки раздела или |
|
DESCRIPTION |
Описание раздела |
|
LEFT_MARGIN |
Левая граница раздела в дереве |
|
RIGHT_MARGIN |
Правая граница раздела в дереве |
|
DEPTH_LEVEL |
Уровень вложенности раздела |
|
ENTITY |
Идентификатор хранилища |
|
SECTION |
Идентификатор родительского раздела или |
Обработка ошибок
HTTP-статус: 400
{
"error": "ERROR_ARGUMENT",
"error_description": "Argument 'ENTITY' is null or empty",
"argument": "ENTITY"
}
{
"error": "ERROR_ENTITY_NOT_FOUND",
"error_description": "Entity not found"
}
|
Название |
Описание |
|
error |
Строковый код ошибки. Может состоять из цифр, латинских букв и знака подчеркивания |
|
error_description |
Текстовое описание ошибки. Описание не предназначено для показа конечному пользователю в необработанном виде |
Возможные коды ошибок
|
Код |
Описание |
Значение |
|
|
Argument 'ENTITY' is null or empty |
Параметр |
|
|
Entity code is too long. Max length is N characters. |
Слишком длинное значение |
|
|
Entity not found |
Хранилище с переданным |
Статусы и коды системных ошибок
HTTP-статус: 20x, 40x, 50x
Описанные ниже ошибки могут возникнуть при вызове любого метода
|
Статус |
Код |
Описание |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Возникла внутренняя ошибка сервера, обратитесь к администратору сервера или в техническую поддержку Битрикс24 |
|
|
|
Превышен лимит на интенсивность запросов |
|
|
|
Метод заблокирован из-за превышения лимита на ресурсоемкость запросов. Блокировка снимается автоматически через 10 минут |
|
|
|
Текущий метод не разрешен для вызова с помощью batch |
|
|
|
Превышена максимальная длина параметров, переданных в метод batch |
|
|
|
Неверный access-токен или код вебхука |
|
|
|
Для вызовов методов требуется использовать протокол HTTPS |
|
|
|
REST API заблокирован из-за перегрузки. Это ручная индивидуальная блокировка, для снятия необходимо обращаться в техническую поддержку Битрикс24 |
|
|
|
REST API доступен только на коммерческих планах |
|
|
|
У пользователя, с чьим access-токеном или вебхуком был вызван метод, не хватает прав |
|
|
|
Манифест недоступен |
|
|
|
Запрос требует более высоких привилегий, чем предоставляет токен вебхука |
|
|
|
Предоставленный access-токен доступа истек |
|
|
|
Пользователь не имеет доступа к приложению. Это означает, что приложение установлено, но администратор портала разрешил доступ к этому приложению только конкретным пользователям |
|
|
|
Публичная часть сайта закрыта. Чтобы открыть публичную часть сайта на коробочной установке отключите опцию «Временное закрытие публичной части сайта». Путь к настройке: Рабочий стол > Настройки > Настройки продукта > Настройки модулей > Главный модуль > Временное закрытие публичной части сайта |