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

PATCH /v1/catalog-sections/:id

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

Параметры

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

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

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

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()

Поля ответа

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

Поле Тип Описание
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": 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 — Ошибки.

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