[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"docs-entities\u002Fcatalog-products\u002Fcreate":3,"docs-tabs-entities\u002Fcatalog-products\u002Fcreate":6},{"content":4,"lastmod":5},"\n## Создать товар\n\n`POST \u002Fv1\u002Fcatalog-products`\n\nСоздаёт товар в каталоге. Поля передаются плоско в корне JSON. В ответ приходит полный объект созданного товара.\n\n## Поля запроса (body)\n\n| Поле | Тип | Обяз. | Описание |\n|------|-----|:-----:|---------|\n| `name` | string | да | Название товара |\n| `iblockId` | number | да | ID каталога. Список: `GET \u002Fv1\u002Fcatalogs` |\n| `active` | boolean | нет | Активен ли товар. По умолчанию `true` |\n| `iblockSectionId` | number | нет | ID раздела каталога. Список: `GET \u002Fv1\u002Fcatalog-sections` |\n| `measure` | number | нет | ID единицы измерения |\n| `weight` | number | нет | Вес единицы товара |\n| `vatIncluded` | boolean | нет | НДС включён в цену |\n| `canBuyZero` | boolean | нет | Разрешить покупку при нулевом остатке |\n| `quantityTrace` | boolean | нет | Включить учёт количества |\n| `subscribe` | boolean | нет | Разрешить подписку на товар |\n| `barcodeMulti` | boolean | нет | Отдельные штрихкоды для единиц товара |\n| `withoutOrder` | boolean | нет | Доступен к заказу без наличия на складе |\n| `purchasingPrice` | number | нет | Закупочная цена. Не применяется при включённом управлении складом |\n| `purchasingCurrency` | string | нет | Валюта закупочной цены. Не применяется при включённом управлении складом |\n| `quantity` | number | нет | Остаток на складе. Не применяется при включённом управлении складом |\n\n## Примеры\n\n### curl — личный ключ\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fcatalog-products\" \\\n  -H \"X-Api-Key: YOUR_API_KEY\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"name\": \"Кабель USB-C\",\n    \"iblockId\": 25,\n    \"active\": true,\n    \"measure\": 9\n  }'\n```\n\n### curl — OAuth-приложение\n\n```bash\ncurl -X POST \"https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fcatalog-products\" \\\n  -H \"X-Api-Key: YOUR_APP_KEY\" \\\n  -H \"Authorization: Bearer USER_SESSION_TOKEN\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\n    \"name\": \"Кабель USB-C\",\n    \"iblockId\": 25,\n    \"active\": true,\n    \"measure\": 9\n  }'\n```\n\n### JavaScript — личный ключ\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fcatalog-products', {\n  method: 'POST',\n  headers: {\n    'X-Api-Key': 'YOUR_API_KEY',\n    'Content-Type': 'application\u002Fjson',\n  },\n  body: JSON.stringify({\n    name: 'Кабель USB-C',\n    iblockId: 25,\n    active: true,\n    measure: 9,\n  }),\n})\n\nconst { success, data } = await res.json()\nconsole.log('Product ID:', data.id)\n```\n\n### JavaScript — OAuth-приложение\n\n```javascript\nconst res = await fetch('https:\u002F\u002Fvibecode.bitrix24.tech\u002Fv1\u002Fcatalog-products', {\n  method: 'POST',\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    name: 'Кабель USB-C',\n    iblockId: 25,\n    active: true,\n    measure: 9,\n  }),\n})\n\nconst { success, data } = await res.json()\n```\n\n## Поля ответа\n\n| Поле | Тип | Описание |\n|------|-----|---------|\n| `success` | boolean | Всегда `true` при успехе |\n| `data` | object | Полный объект созданного товара. Набор полей — как у [`GET \u002Fv1\u002Fcatalog-products\u002F:id`](.\u002Fget.md) |\n\nURL карточки созданного товара в Битрикс24 строится из `iblockId` и `id`:\n\n```\nhttps:\u002F\u002F\u003Cportal>.bitrix24.ru\u002Fshop\u002Fcatalog\u002F\u003CiblockId>\u002Fproduct\u002F\u003Cid>\u002F\n```\n\n`\u003Cportal>` — домен портала. Доступ ограничен правами сотрудника в Битрикс24.\n\n## Пример ответа\n\nПоказаны основные поля.\n\n```json\n{\n  \"success\": true,\n  \"data\": {\n    \"id\": 7027,\n    \"iblockId\": 25,\n    \"iblockSectionId\": null,\n    \"name\": \"Кабель USB-C\",\n    \"active\": true,\n    \"code\": null,\n    \"measure\": 9,\n    \"available\": true,\n    \"bundle\": false,\n    \"canBuyZero\": true,\n    \"quantityTrace\": true,\n    \"subscribe\": true,\n    \"barcodeMulti\": false,\n    \"withoutOrder\": false,\n    \"vatIncluded\": false,\n    \"purchasingPrice\": null,\n    \"purchasingCurrency\": null,\n    \"quantity\": null,\n    \"dateCreate\": \"2026-06-15T13:11:32.000Z\",\n    \"timestampX\": \"2026-06-15T13:11:32.000Z\",\n    \"xmlId\": \"7027\"\n  }\n}\n```\n\n## Пример ответа при ошибке\n\n422 — не передано обязательное поле:\n\n```json\n{\n  \"success\": false,\n  \"error\": {\n    \"code\": \"BITRIX_ERROR\",\n    \"message\": \"Required fields: name\"\n  }\n}\n```\n\n## Ошибки\n\n| HTTP | Код | Описание |\n|------|-----|----------|\n| 422 | `BITRIX_ERROR` | Не передано обязательное поле — сообщение перечисляет недостающие (`Required fields: name`, `Required fields: iblockId`) |\n| 422 | `BITRIX_ERROR` | Каталог с указанным `iblockId` не найден (`Iblock Not Found`) |\n| 400 | `READONLY_FIELD` | В теле передано поле только для чтения, например `available` или `bundle` |\n| 403 | `SCOPE_DENIED` | Ключу не хватает скоупа `catalog` |\n| 401 | `MISSING_API_KEY` | Не передан заголовок `X-Api-Key` |\n\nПолный список общих ошибок API — [Ошибки](\u002Fdocs\u002Ferrors).\n\n## Смотрите также\n\n- [Список товаров](\u002Fdocs\u002Fentities\u002Fcatalog-products\u002Flist)\n- [Получить товар](\u002Fdocs\u002Fentities\u002Fcatalog-products\u002Fget)\n- [Обновить товар](\u002Fdocs\u002Fentities\u002Fcatalog-products\u002Fupdate)\n- [Удалить товар](\u002Fdocs\u002Fentities\u002Fcatalog-products\u002Fdelete)\n- [Цены каталога](\u002Fdocs\u002Fentities\u002Fcatalog-prices)\n- [Batch](\u002Fdocs\u002Fbatch)\n- [Лимиты и оптимизация](\u002Fdocs\u002Foptimization)\n","2026-07-07",{}]