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

Поля раздела

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 (true — поле нельзя передать при создании и обновлении), label (название поля для отображения, на русском языке) и — у поля, значение которого Битрикс24 не возвращает никогда — notReturned: true вместе с описанием description. Заголовками запроса язык не переключается. 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 да Порядок сортировки, меньше — выше. Значение не сохраняется на запись и не приходит на чтение (notReturned: true) — годится только для упорядочивания
code CODE string Символьный код раздела
Поле Тип Описание
success boolean Всегда true при успехе
data.fields.<имя>.type string Тип поля: number, string
data.fields.<имя>.readonly boolean true — поле заполняется системой и не принимается при создании и обновлении
data.fields.<имя>.label string Название поля для отображения, на русском языке
data.fields.<имя>.description string Расширенное описание поля, если оно есть
data.fields.<имя>.notReturned boolean true — значения этого поля Битрикс24 не возвращает ни в одном ответе. Ключ приходит только у таких полей
data.batch string[] Операции раздела, доступные в пакетном запросе: create, update, delete

Поле sort не принимается на запись и не возвращается на чтение. Проверено на живом портале: значение, переданное при создании или обновлении, Битрикс24 не сохраняет (на обновление он при этом отвечает «успех»), и ни один ответ — list, get, search, отклик создания — его не содержит. Явный select=sort отклоняется с 400 SELECT_FIELD_NOT_RETURNED. Поэтому попытка передать sort в POST или PATCH теперь отклоняется с 400 READONLY_FIELD вместо молчаливого «успеха», а в справочнике полей у него стоит notReturned: true. Упорядочивание по нему работает?sort=sort&order=asc и order=desc дают разный порядок. Фильтровать по нему нельзя. Менять порядок разделов можно в интерфейсе Битрикс24. Остальные поля — 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": true,
        "notReturned": true,
        "label": "Порядок сортировки",
        "description": "Порядок сортировки раздела среди соседних. Битрикс24 не сохраняет значение, переданное при создании или изменении, и не возвращает его при чтении, поэтому на запись поле отклоняется с 400 READONLY_FIELD, а значение не приходит никогда — поле объявлено, чтобы вызывающий мог его найти и прочитать причину. Упорядочивание по нему при этом работает: передайте ?sort=sort&order=asc|desc, и Битрикс24 отсортирует по хранимому столбцу. Изменить порядок можно в интерфейсе Битрикс24."
      },
      "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 — Ошибки.

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