entity.section.add
Добавить раздел хранилища
Описание
Метод entity.section.add добавляет раздел в хранилище данных приложения.
Метод работает только в контексте приложения.
Параметры
ENTITY
string
необязательный
Идентификатор хранилища данных приложения. Используйте значение, которое указали при создании хранилища.
Получить идентификатор можно методом entity.get
NAME
string
необязательный
Название раздела
SECTION
integer
необязательный
Идентификатор родительского раздела.
ACTIVE
string
необязательный
Флаг активности раздела:
- Y — раздел активен
- N — раздел неактивен
SORT
integer
необязательный
Индекс сортировки раздела
CODE
string
необязательный
Символьный код раздела
DESCRIPTION
string
необязательный
Описание раздела
PICTURE
file
необязательный
Картинка раздела. Формат файла — в статье Как загрузить файлы
DETAIL_PICTURE
file
необязательный
Детальная картинка раздела. Формат файла — в статье Как загрузить файлы
UF_
any
необязательный
Пользовательские поля раздела UF_*.
Передаются отдельными параметрами в формате "UF_КОД": значение, например: "UF_COLOR": "#ff6600"
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"ENTITY":"dish","NAME":"Тестовый раздел","SECTION":671,"ACTIVE":"Y","SORT":500,"CODE":"testovyy-razdel","DESCRIPTION":"Описание тестового раздела","PICTURE":["section.jpg","**base64_section_image**"],"DETAIL_PICTURE":["section-detail.jpg","**base64_section_detail_image**"],"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/entity.section.add
// 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 } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
try {
const response = await $b24.actions.v2.call.make<number>({
method: 'entity.section.add',
params: {
ENTITY: 'dish',
NAME: 'Test section',
SECTION: 671,
ACTIVE: 'Y',
SORT: 500,
CODE: 'testovyy-razdel',
DESCRIPTION: 'Test section description',
PICTURE: ['section.jpg', '**base64_section_image**'],
DETAIL_PICTURE: ['section-detail.jpg', '**base64_section_detail_image**'],
},
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('Created section ID:', 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 addEntitySection() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'entity.section.add',
params: {
ENTITY: 'dish',
NAME: 'Test section',
SECTION: 671,
ACTIVE: 'Y',
SORT: 500,
CODE: 'testovyy-razdel',
DESCRIPTION: 'Test section description',
PICTURE: ['section.jpg', '**base64_section_image**'],
DETAIL_PICTURE: ['section-detail.jpg', '**base64_section_detail_image**'],
},
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('Created section ID:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', addEntitySection)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.entity.section.add(
entity="dish",
name="Test section",
section=671,
active=True,
sort=500,
code="testovyy-razdel",
description="Test section description",
picture=(
"section.jpg",
"**base64_section_image**",
),
detail_picture=(
"section-detail.jpg",
"**base64_section_detail_image**",
),
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
try {
$response = $b24Service
->core
->call(
'entity.section.add',
[
'ENTITY' => 'dish',
'NAME' => 'Тестовый раздел',
'SECTION' => 671,
'ACTIVE' => 'Y',
'SORT' => 500,
'CODE' => 'testovyy-razdel',
'DESCRIPTION' => 'Описание тестового раздела',
'PICTURE' => ['section.jpg', '**base64_section_image**'],
'DETAIL_PICTURE' => ['section-detail.jpg', '**base64_section_detail_image**'],
]
);
$result = $response
->getResponseData()
->getResult();
echo '<pre>';
print_r($result);
echo '</pre>';
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error adding entity section: ' . $e->getMessage();
}
BX24.callMethod(
'entity.section.add',
{
ENTITY: 'dish',
NAME: 'Тестовый раздел',
SECTION: 671,
ACTIVE: 'Y',
SORT: 500,
CODE: 'testovyy-razdel',
DESCRIPTION: 'Описание тестового раздела',
PICTURE: ['section.jpg', '**base64_section_image**'],
DETAIL_PICTURE: ['section-detail.jpg', '**base64_section_detail_image**'],
},
(result) => {
result.error()
? console.error(result.error())
: console.info(result.data())
;
},
);
require_once('crest.php');
$result = CRest::call(
'entity.section.add',
[
'ENTITY' => 'dish',
'NAME' => 'Тестовый раздел',
'SECTION' => 671,
'ACTIVE' => 'Y',
'SORT' => 500,
'CODE' => 'testovyy-razdel',
'DESCRIPTION' => 'Описание тестового раздела',
'PICTURE' => ['section.jpg', '**base64_section_image**'],
'DETAIL_PICTURE' => ['section-detail.jpg', '**base64_section_detail_image**'],
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "entity.section.add", b24.Params{
"ENTITY": "dish",
"NAME": "Тестовый раздел",
"SECTION": 671,
"ACTIVE": "Y",
"SORT": 500,
"CODE": "testovyy-razdel",
"DESCRIPTION": "Описание тестового раздела",
"PICTURE": []string{"section.jpg", "**base64_section_image**"},
"DETAIL_PICTURE": []string{"section-detail.jpg", "**base64_section_detail_image**"},
})
if err != nil {
return fmt.Errorf("entity.section.add: %w", err)
}
var newID b24.ID
if err := json.Unmarshal(res.Result, &newID); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("идентификатор:", newID)
Ответ
HTTP-статус: 200
{
"result": 673,
"time": {
"start": 1774275397,
"finish": 1774275397.576672,
"duration": 0.5766720771789551,
"processing": 0,
"date_start": "2026-03-23T17:16:37+03:00",
"date_finish": "2026-03-23T17:16:37+03:00",
"operating_reset_at": 1774275997,
"operating": 0
}
}
Возвращаемые данные
result
integer
Идентификатор созданного раздела
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "ERROR_ENTITY_NOT_FOUND",
"error_description": "Entity not found"
}
| Код | Описание | Значение |
|---|---|---|
ERROR_ARGUMENT |
Argument 'ENTITY' is null or empty | Параметр ENTITY не передан или пустой после очистки |
ERROR_ARGUMENT |
Entity code is too long. Max length is N characters. | Слишком длинное значение ENTITY |
ERROR_ENTITY_NOT_FOUND |
Entity not found | Хранилище с переданным ENTITY не найдено |
ACCESS_DENIED |
Access denied! | Недостаточно прав для создания раздела |
ERROR_CORE |
Internal error adding entity section. Try adding again. | Внутренняя ошибка при создании раздела |
ERROR_CORE |
Неверный раздел-родитель! | Передан невалидный SECTION |
ERROR_CORE |
Код блока раздела не совпадает с кодом блока раздела-родителя! | Родительский раздел принадлежит другому хранилищу |
ERROR_CORE |
Неверный тип файла | Передан файл неподдерживаемого типа в PICTURE или DETAIL_PICTURE |

