[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Fproducts\u002Fupdate":3,"docs-tabs-entities\u002Fproducts\u002Fupdate":6},{"content":4,"lastmod":5},"\n## Обновить товар\n\n`PATCH \u002Fv1\u002Fproducts\u002F:id`\n\nОбновляет товар CRM-каталога. Передавайте только изменяемые поля плоско в корне JSON — без обёртки `fields`. В ответ приходит полный объект обновлённого товара.\n\n## Параметры\n\n| Параметр | Тип | Обяз. | Описание |\n|----------|-----|:-----:|---------|\n| `id` (path) | number | да | Идентификатор товара. Список: [`GET \u002Fv1\u002Fproducts`](.\u002Flist.md) |\n\n## Поля запроса (body)\n\n| Поле | Битрикс24 | Тип | Обяз. | Описание |\n|------|----------|-----|:-----:|---------|\n| `name` | `NAME` | string | нет | Название товара |\n| `price` | `PRICE` | number | нет | Цена товара. Валюту задаёт `currency` |\n| `currency` | `CURRENCY_ID` | string | нет | Валюта цены. Список: `GET \u002Fv1\u002Fcurrencies` |\n| `active` | `ACTIVE` | boolean | нет | Активен ли товар |\n| `sectionId` | `SECTION_ID` | number | нет | Раздел каталога. Список: `GET \u002Fv1\u002Fproduct-sections` |\n| `catalogId` | `CATALOG_ID` | number | нет | Каталог товара. Список: `GET \u002Fv1\u002Fcatalogs` |\n| `measure` | `MEASURE` | number | нет | Идентификатор единицы измерения |\n| `description` | `DESCRIPTION` | string | нет | Описание товара |\n| `descriptionType` | `DESCRIPTION_TYPE` | string | нет | Формат описания: `text` или `html` |\n| `vatId` | `VAT_ID` | number | нет | Идентификатор ставки НДС |\n| `vatIncluded` | `VAT_INCLUDED` | boolean | нет | НДС включён в цену |\n| `sort` | `SORT` | number | нет | Порядок сортировки |\n| `xmlId` | `XML_ID` | string | нет | Внешний идентификатор |\n| `code` | `CODE` | string | нет | Символьный код товара |\n| `createdBy` | `CREATED_BY` | number | RO | Идентификатор создавшего сотрудника |\n| `modifyBy` | `MODIFIED_BY` | number | RO | Идентификатор изменившего сотрудника |\n| `createdAt` | `DATE_CREATE` | datetime | RO | Дата создания |\n| `updatedAt` | `TIMESTAMP_X` | datetime | RO | Дата последнего изменения |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X PATCH \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fproducts\u002F7027\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"price\": 150\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X PATCH \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fproducts\u002F7027\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"price\": 150\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fproducts\u002F7027', {\n  method: 'PATCH',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    price: 150,\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('Новая цена:', data.price)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fproducts\u002F7027', {\n  method: 'PATCH',\n  headers: {\n    'X-Api-Key': 'YOUR_APP_KEY',\n    'Authorization': 'Bearer USER_SESSION_TOKEN',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    price: 150,\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | object | Объект обновлённого товара: базовые поля — см. [Поля товара](.\u002Ffields.md), плюс пользовательские свойства `PROPERTY_\u003CN>` |\n\n## Пример ответа\n\nПоказаны основные поля. В ответ также входят свойства каталога вида `PROPERTY_\u003CN>` — см. [Получить товар](.\u002Fget.md).\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 7027,\n    \"name\": \"Настольная лампа\",\n    \"code\": \"nastolnaya_lampa\",\n    \"active\": true,\n    \"previewPicture\": null,\n    \"detailPicture\": null,\n    \"sort\": 500,\n    \"xmlId\": \"7027\",\n    \"updatedAt\": \"2026-06-16T08:48:21.000Z\",\n    \"createdAt\": \"2026-06-16T08:48:18.000Z\",\n    \"modifyBy\": 1,\n    \"createdBy\": 1,\n    \"catalogId\": 25,\n    \"sectionId\": null,\n    \"description\": null,\n    \"descriptionType\": \"text\",\n    \"price\": 150,\n    \"currency\": \"RUB\",\n    \"vatId\": null,\n    \"vatIncluded\": false,\n    \"measure\": null\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n404 — товар не найден:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"ENTITY_NOT_FOUND\",\n    \"message\": \"Product is not found.\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|---------|\n| 404 | `ENTITY_NOT_FOUND` | Товар с таким `id` не найден |\n| 403 | `SCOPE_DENIED` | API-ключ не имеет скоупа `crm` |\n| 401 | `MISSING_API_KEY` | Не передан заголовок `X-Api-Key` |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Смотрите также\n\n- [Получить товар](\u002Fdocs\u002Fentities\u002Fproducts\u002Fget)\n- [Создать товар](\u002Fdocs\u002Fentities\u002Fproducts\u002Fcreate)\n- [Удалить товар](\u002Fdocs\u002Fentities\u002Fproducts\u002Fdelete)\n- [Поля товара](\u002Fdocs\u002Fentities\u002Fproducts\u002Ffields)\n- [Товары каталога](\u002Fdocs\u002Fentities\u002Fcatalog-products)\n- [Batch](\u002Fdocs\u002Fbatch)\n","2026-06-19",{}]