Товары

Управление товарами CRM-каталога: создание, получение, обновление, удаление, поиск и агрегация. Товар описывает позицию каталога — название, цену, валюту, раздел и пользовательские свойства.

Битрикс24 API: crm.product.* Скоуп: crm

Методы /v1/products устарели. Для новых интеграций используйте Товары каталога — модель с остатками, ценами и вариациями.

Создать товар

POST /v1/products

Создаёт товар CRM-каталога. Поля передаются плоско в корне JSON — без обёртки fields. В ответ приходит полный объект созданного товара.

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

Поле Битрикс24 Тип Обяз. Описание
name NAME string да Название товара
price PRICE number нет Цена товара. Валюту задаёт currency
currency CURRENCY_ID string нет Валюта цены. Список: GET /v1/currencies
active ACTIVE boolean нет Активен ли товар. По умолчанию true
sectionId SECTION_ID number нет Раздел каталога. Список: GET /v1/product-sections
catalogId CATALOG_ID number нет Каталог товара. По умолчанию — каталог CRM портала. Список: GET /v1/catalogs
measure MEASURE number нет Идентификатор единицы измерения
description DESCRIPTION string нет Описание товара
descriptionType DESCRIPTION_TYPE string нет Формат описания: text или html
vatId VAT_ID number нет Идентификатор ставки НДС
vatIncluded VAT_INCLUDED boolean нет НДС включён в цену
sort SORT number нет Порядок сортировки
xmlId XML_ID string нет Внешний идентификатор
code CODE string нет Символьный код. Если не передать — формируется из name

Примеры

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

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/products" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Настольная лампа",
    "price": 100,
    "currency": "RUB"
  }'

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

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/products" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Настольная лампа",
    "price": 100,
    "currency": "RUB"
  }'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/products', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Настольная лампа',
    price: 100,
    currency: 'RUB',
  }),
})

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

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/products', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    name: 'Настольная лампа',
    price: 100,
    currency: 'RUB',
  }),
})

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

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data object Объект созданного товара: базовые поля — см. Поля товара, плюс пользовательские свойства PROPERTY_<N>

URL карточки созданного товара в магазине портала строится из catalogId и id:

https://<портал>.bitrix24.ru/shop/catalog/<catalogId>/product/<id>/

<портал> — домен портала. Доступ ограничен правами сотрудника в Битрикс24.

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

Показаны основные поля. В ответ также входят свойства каталога вида PROPERTY_<N> — см. Получить товар.

JSON
{
  "success": true,
  "data": {
    "id": 7027,
    "name": "Настольная лампа",
    "code": "nastolnaya_lampa",
    "active": true,
    "previewPicture": null,
    "detailPicture": null,
    "sort": 500,
    "xmlId": "7027",
    "updatedAt": "2026-06-16T08:48:18.000Z",
    "createdAt": "2026-06-16T08:48:18.000Z",
    "modifyBy": 1,
    "createdBy": 1,
    "catalogId": 25,
    "sectionId": null,
    "description": null,
    "descriptionType": "text",
    "price": 100,
    "currency": "RUB",
    "vatId": null,
    "vatIncluded": false,
    "measure": null
  }
}

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

422 — не передано название товара:

JSON
{
  "success": false,
  "error": {
    "code": "BITRIX_ERROR",
    "message": "Не введено название.<br><br>"
  }
}

Ошибки

HTTP Код Описание
422 BITRIX_ERROR Не передано поле name — сообщение «Не введено название.»
403 SCOPE_DENIED API-ключ не имеет скоупа crm
401 MISSING_API_KEY Не передан заголовок X-Api-Key

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

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