Поля раздела

GET /v1/product-sections/fields

Возвращает справочник полей раздела товаров с типами и признаком «только для чтения», а также список операций, доступных в пакетном запросе.

Примеры

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/product-sections/fields" \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/product-sections/fields" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/product-sections/fields', {
  headers: { 'X-Api-Key': 'YOUR_API_KEY' },
})

const { success, data } = await res.json()
console.log('Всего полей:', Object.keys(data.fields).length)

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/product-sections/fields', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

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

Поля ответа

data.fields — объект, ключ которого совпадает с именем поля, а значение содержит type (тип поля) и readonly (можно ли передать поле при создании и обновлении). data.batch — список операций, которые принимает пакетный запрос.

Поле Битрикс24 Тип RO Описание
id ID number да Идентификатор раздела
name NAME string Название раздела
catalogId CATALOG_ID number Идентификатор каталога. Список: GET /v1/catalogs
sectionId SECTION_ID number Идентификатор родительского раздела для вложенности. У корневого раздела — null
xmlId XML_ID string Внешний идентификатор для синхронизации
sort SORT number Порядок сортировки. Меньше — выше
code CODE string Символьный код раздела
Поле Тип Описание
success boolean Всегда true при успехе
data.fields.<имя>.type string Тип поля: number, string
data.fields.<имя>.readonly boolean true — поле заполняется системой и не принимается при создании и обновлении
data.batch string[] Операции раздела, доступные в пакетном запросе: create, update, delete

Поле sort принимается при создании и обновлении, но в ответах list, get и search не возвращается и по нему нельзя фильтровать — в сортировке (order/sort) оно работает. Остальные поля — id, name, catalogId, sectionId, xmlId, code — фильтруются точным равенством (и $in); операторы дают 400 UNSUPPORTED_FILTER. Поля sectionId, xmlId и code приходят со значением null, если не заданы. Если code не передать при создании, он формируется из name.

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

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": { "type": "number", "readonly": true },
      "name": { "type": "string", "readonly": false },
      "catalogId": { "type": "number", "readonly": false },
      "sectionId": { "type": "number", "readonly": false },
      "xmlId": { "type": "string", "readonly": false },
      "sort": { "type": "number", "readonly": false },
      "code": { "type": "string", "readonly": false }
    },
    "batch": ["create", "update", "delete"]
  }
}

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

403 — нет скоупа:

JSON
{
  "success": false,
  "error": {
    "code": "SCOPE_DENIED",
    "message": "This endpoint requires 'crm' scope"
  }
}

Ошибки

HTTP Код Описание
403 SCOPE_DENIED API-ключ не имеет скоупа crm
401 MISSING_API_KEY Не передан заголовок X-Api-Key

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

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