, настроенные на портале. Для каждого поля указаны тип и признак «только для чтения»."> , настроенные на портале. Для каждого поля указаны тип и признак «только для чтения»."> , настроенные на портале. Для каждого поля указаны тип и признак «только для чтения».">

Поля товара

GET /v1/products/fields

Возвращает схему полей товара: 21 стандартное поле и пользовательские свойства каталога вида PROPERTY_<N>, настроенные на портале. Для каждого поля указаны тип и признак «только для чтения».

Примеры

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

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

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/products/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/products/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/products/fields', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

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

Стандартные поля

Каждое поле описано объектом { type, readonly } и возвращается в camelCase в ответах list, get, search, create, update.

Поле Битрикс24 Тип RO Описание
id ID number да Идентификатор товара
name NAME string Название товара
active ACTIVE boolean Активен ли товар
price PRICE number Цена товара
currency CURRENCY_ID string Валюта цены. Список: GET /v1/currencies
sectionId SECTION_ID number Раздел каталога. Список: GET /v1/product-sections
catalogId CATALOG_ID number Идентификатор каталога. Список: GET /v1/catalogs
measure MEASURE number Идентификатор единицы измерения
description DESCRIPTION string Описание товара
descriptionType DESCRIPTION_TYPE string Формат описания — text или html
sort SORT number Порядок сортировки. Меньшее значение — выше
code CODE string Символьный код товара
xmlId XML_ID string Внешний идентификатор для синхронизации
vatId VAT_ID number Идентификатор ставки НДС
vatIncluded VAT_INCLUDED boolean Включён ли НДС в цену
previewPicture PREVIEW_PICTURE object да Изображение для списка
detailPicture DETAIL_PICTURE object да Изображение для карточки
createdBy CREATED_BY number да Идентификатор создателя. Список: GET /v1/users
modifyBy MODIFIED_BY number да Идентификатор последнего редактора. Список: GET /v1/users
createdAt DATE_CREATE datetime да Дата создания
updatedAt TIMESTAMP_X datetime да Дата последнего изменения

Пользовательские свойства

Свойства каталога приходят дополнительными ключами вида PROPERTY_<N> с типом product_property. Каждое описано объектом { type, readonly, label }, где label — название свойства на языке портала. Набор свойств зависит от настроек каталога: один портал может вернуть «Артикул», «Производитель», «Цвет», другой — собственный список. Значения этих свойств возвращаются в ответе `GET /v1/products/:id`.

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data.fields object Карта полей. Ключ — имя поля, значение — { type, readonly }, для свойств дополнительно label

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

Показана часть полей. Реальное количество свойств PROPERTY_<N> зависит от настроек каталога на портале.

JSON
{
  "success": true,
  "data": {
    "fields": {
      "id": { "type": "number", "readonly": true },
      "name": { "type": "string", "readonly": false },
      "active": { "type": "boolean", "readonly": false },
      "price": { "type": "number", "readonly": false },
      "currency": { "type": "string", "readonly": false },
      "sectionId": { "type": "number", "readonly": false },
      "catalogId": { "type": "number", "readonly": false },
      "vatIncluded": { "type": "boolean", "readonly": false },
      "createdAt": { "type": "datetime", "readonly": true },

      "PROPERTY_301": { "type": "product_property", "readonly": false, "label": "Артикул" },
      "PROPERTY_303": { "type": "product_property", "readonly": false, "label": "Производитель" },
      "PROPERTY_307": { "type": "product_property", "readonly": false, "label": "Цвет" }
    }
  }
}

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

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 — Ошибки.

Известные особенности

Тот же товар в каталоге имеет больше полей. Товар с тем же id доступен через `GET /v1/catalog-products`, где у него шире набор полей — остатки, склад и вариации.

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