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

Обновить товар CRM

PATCH /v1/products/:id

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

Цену здесь можно менять — с одной оговоркой про валюту. Поля price, currency и дополнительное имя currencyId пишутся штатно: Битрикс24 сохраняет присланное значение (проверено 2026-09-07 на живом портале). Но если запрос МЕНЯЕТ валюту цены — присланная не совпадает с текущей — Битрикс24 молча не применяет весь запрос целиком, вместе с присланной ценой: оба поля остаются прежними, а ответ всё равно 200. Чтобы сменить валюту, найдите запись цены товара через GET /v1/catalog-prices?filter[productId]=<id> и обновите её PATCH /v1/catalog-prices/{id} — см. Цены каталога.

Параметры

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

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

Поле Тип Обяз. Описание
name string нет Название товара
price number нет Цена товара. Валюту задаёт currency или дополнительное имя currencyId
currencyId string нет Дополнительное имя currency для записи. В ответах значение приходит в поле currency
currency string нет Каноническое имя валюты цены. Если переданы оба имени, используется currency. Список: GET /v1/currencies
active boolean нет Активен ли товар
sectionId number нет Раздел каталога. Список: GET /v1/product-sections
catalogId number нет Каталог товара. Список: GET /v1/catalogs
measure number нет Идентификатор единицы измерения
description string нет Описание товара
descriptionType string нет Формат описания: text или html
vatId number нет Идентификатор ставки НДС
vatIncluded boolean нет НДС включён в цену
sort number нет Порядок сортировки
xmlId string нет Внешний идентификатор
code string нет Символьный код товара
createdBy number RO Идентификатор создавшего сотрудника
modifyBy number RO Идентификатор изменившего сотрудника
createdAt datetime RO Дата создания
updatedAt datetime RO Дата последнего изменения

Примеры

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/products/7027" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "price": 150
  }'

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/products/7027" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "price": 150
  }'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/products/7027', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    price: 150,
  }),
})

const { success, data } = await res.json()
console.log('Новая цена:', data.price)

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/products/7027', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    price: 150,
  }),
})

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

Поля ответа

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

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

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

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:21.000Z",
    "createdAt": "2026-06-16T08:48:18.000Z",
    "modifyBy": 1,
    "createdBy": 1,
    "catalogId": 25,
    "sectionId": null,
    "description": null,
    "descriptionType": "text",
    "price": 150,
    "currency": "RUB",
    "vatId": null,
    "vatIncluded": false,
    "measure": null
  }
}

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

404 — товар не найден:

JSON
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "Product is not found."
  }
}

Ошибки

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

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

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