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

Получить товар

GET /v1/catalog-products/:id

Возвращает один товар каталога по идентификатору. Ответ содержит больше полей, чем список: кроме полей из справочника приходят символьный код, размеры, тип и пользовательские свойства каталога.

Штатные изображения товара читаются отдельным запросом GET /v1/catalog-products/:productId/images. Он возвращает детальную картинку, картинку анонса и галерею MORE_PHOTO, но не файлы из других пользовательских свойств propertyNNN типа «Файл».

Параметры

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

Примеры

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

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

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

Terminal
curl "https://vibecode.bitrix24.tech/v1/catalog-products/541" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

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

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

const { success, data } = await res.json()
console.log('Товар:', data.name)

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

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

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

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data object Объект товара. Базовый набор полей — см. Поля товара

Дополнительно к полям справочника одна запись содержит:

  • code — символьный код
  • sort — порядок сортировки
  • type — тип товара
  • vatId — ID ставки НДС
  • quantityReserved — зарезервированный остаток
  • weight, width, height, length — габариты товара
  • xmlId — внешний код
  • пользовательские свойства каталога вида propertyNNN — см. раздел «Значения списочных свойств» ниже

Поля с пустым значением приходят как null.

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

Показаны основные поля.

JSON
{
  "success": true,
  "data": {
    "id": 541,
    "iblockId": 25,
    "iblockSectionId": null,
    "name": "Кабель USB-C",
    "active": true,
    "code": null,
    "measure": 9,
    "weight": null,
    "vatId": 1,
    "vatIncluded": false,
    "available": true,
    "bundle": false,
    "canBuyZero": true,
    "quantityTrace": false,
    "subscribe": true,
    "barcodeMulti": false,
    "withoutOrder": false,
    "purchasingPrice": 110,
    "purchasingCurrency": "RUB",
    "quantity": null,
    "quantityReserved": null,
    "sort": 500,
    "type": 1,
    "dateCreate": "2021-08-06T12:59:15.000Z",
    "timestampX": "2025-10-31T10:24:18.000Z",
    "xmlId": "541"
  }
}

Значения списочных свойств (`propertyNNN`)

Пользовательские свойства каталога приходят в полях вида propertyNNN, где NNNid свойства из GET /v1/catalog-product-properties. У свойства-списка значение приходит объектом, и читаемый текст уже лежит в ответе — отдельный запрос за расшифровкой не нужен:

JSON
{
  "id": 160,
  "iblockId": 26,
  "name": "Футболка (L)",
  "property166": {
    "value": "116",
    "valueEnum": "L",
    "valueId": "674"
  }
}
Ключ Что это
value ID элемента перечисления, строкой. Это id записи в Значениях списочных свойств
valueEnum Читаемый текст выбранного варианта. Здесь L — это размер, а не код listType
valueId ID строки значения у товара. Служебный, для сопоставления со справочником не нужен

Форма зависит от listType свойства. Прочитайте её в GET /v1/catalog-product-properties/:id:

listType свойства Что приходит в propertyNNN
L (выпадающий список) объект { value, valueEnum, valueId }, как выше
C (флажок) голый скаляр "Y" или "N" — состояние галочки, а не id варианта

При multiple: true та же форма приходит массивом — разворачивать нужно каждый элемент.

За всеми возможными вариантами свойства (выпадашка, фильтр, экспорт) — GET /v1/catalog-product-property-enums?filter[propertyId]=166&limit=1000. Сопоставление с товаром идёт по String(элемент.id) === товар.propertyNNN.value.

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

422 — товара с таким id нет:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "product does not exist."
  }
}

Ошибки

HTTP Код Описание
422 BITRIX_ERROR Товара с указанным id не существует (product does not exist.)
403 SCOPE_DENIED API-ключ не имеет скоупа catalog
401 MISSING_API_KEY Не передан заголовок X-Api-Key

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

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