Создать раздел

POST /v1/catalog-sections

Создаёт раздел каталога. Поля передаются плоско в корне JSON.

Поля запроса (body)

Поле Тип Обяз. По умолч. Описание
iblockId number да ID каталога, которому принадлежит раздел. Список: GET /v1/catalogs
name string да Название раздела
iblockSectionId number нет null ID родительского раздела. null — раздел верхнего уровня
code string нет null Символьный код раздела
xmlId string нет null Внешний идентификатор
sort number нет 500 Индекс сортировки
active boolean нет true Активен ли раздел
description string нет null Описание раздела

Примеры

curl — личный ключ

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/catalog-sections" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "iblockId": 25,
    "name": "Новинки",
    "sort": 100
  }'

curl — OAuth-приложение

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/catalog-sections" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "iblockId": 25,
    "name": "Новинки",
    "sort": 100
  }'

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-sections', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    iblockId: 25,
    name: 'Новинки',
    sort: 100,
  }),
})

const { success, data } = await res.json()
console.log('Section ID:', data.id)

JavaScript — OAuth-приложение

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-sections', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    iblockId: 25,
    name: 'Новинки',
    sort: 100,
  }),
})

const { success, data } = await res.json()

Поля ответа

Возвращается полный объект созданного раздела.

Поле Тип Описание
id number Идентификатор созданного раздела
iblockId number ID каталога
iblockSectionId number | null ID родительского раздела. null — раздел верхнего уровня
name string Название раздела
code string | null Символьный код раздела
xmlId string | null Внешний идентификатор
sort number Индекс сортировки
active boolean Активен ли раздел
description string | null Описание раздела
descriptionType string Формат описания: text или html

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

JSON
{
  "success": true,
  "data": {
    "active": true,
    "code": null,
    "description": null,
    "descriptionType": "text",
    "iblockId": 25,
    "iblockSectionId": null,
    "id": 215,
    "name": "Новинки",
    "sort": 100,
    "xmlId": null
  }
}

Пример ответа при ошибке

422 — не передано обязательное поле:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Required fields: name"
  }
}

Ошибки

HTTP Код Описание
422 BITRIX_ERROR Не передано обязательное поле — сообщение называет недостающее (Required fields: iblockId или Required fields: name)
400 READONLY_FIELD В теле передан id — это поле заполняется системой и не принимается при создании
403 SCOPE_DENIED Ключу не хватает скоупа catalog
401 MISSING_API_KEY Не передан X-Api-Key

Полный список общих ошибок API — Ошибки.

Смотрите также