Для AI-агентов: markdown этой страницы — /docs-content/entities/catalog-sections/update.md индекс документации — /llms.txt

Обновить раздел

PATCH /v1/catalog-sections/:id

Изменяет существующий раздел каталога. Поля передаются плоско в корне JSON. Передавайте только изменяемые поля — остальные сохраняют текущие значения.

Параметры

Параметр Тип Обяз. Описание
id (path) number да Идентификатор раздела

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

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

id передаётся в пути (/v1/catalog-sections/:id), в теле его передавать нельзя — он только для чтения. Поля iblockId и name нужны Битрикс24 на каждое изменение, поэтому при их отсутствии в теле они берутся из текущей записи — достаточно передать одно изменяемое поле.

Примеры

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/catalog-sections/215" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sort": 200
  }'

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/catalog-sections/215" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "sort": 200
  }'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-sections/215', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    sort: 200,
  }),
})

const { success, data } = await res.json()
console.log('Новый порядок:', data.sort)

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-sections/215', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    sort: 200,
  }),
})

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

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data object Полный обновлённый объект раздела
data.id number Идентификатор раздела
data.iblockId number ID каталога. Список: GET /v1/catalogs
data.iblockSectionId number | null ID родительского раздела. null — раздел верхнего уровня. Список: GET /v1/catalog-sections
data.name string Название раздела
data.code string | null Символьный код раздела
data.xmlId string | null Внешний идентификатор
data.sort number Индекс сортировки
data.active boolean Активен ли раздел
data.description string | null Описание раздела
data.descriptionType string Формат описания: text или html

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

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

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

422 — раздела с указанным id не существует:

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

Ошибки

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

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

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