gamification.shop.product.update

Scope: gamification

Кто может вызывать: Только admin или manager. Подробнее: Права доступа

Обновить товар в магазине бонусов.

HTTP: POST

Побочные эффекты: изменяет элемент инфоблока товаров.

Параметры метода

Параметр Тип Обяз. Описание
id int да ID товара
fields object нет Поля для обновления (аналогично product.create)

Допустимы те же прямые псевдонимы полей, что и в product.create.

Возвращаемые данные

result.result — объект обновлённого товара (поля — как у gamification.shop.product.get) и массив warnings.

Товар с вариантами. Цена и остаток товара с вариантами задаются у его вариантов. Если товар уже имеет тип «товар с вариантами», поля PRICE, QUANTITY, AVAILABLE_QUANTITY, IS_QUANTITY, ENABLE_SELLING игнорируются, остальные поля сохраняются, а в ответе возвращается warnings: ["PRICE_IGNORED_FOR_SKU"]. Для простого товара warnings — пустой массив.

Обработка ошибок

Справочник кодов ошибок.

Код Описание
UNAUTHORIZED Пользователь не авторизован
ACCESS_DENIED Вызывающий не является admin/manager
VALIDATION_ERROR Не передан id или fields не является объектом; previewPicture / fields.PREVIEW_PICTURE — не файл REST ["имя.png", "<base64>"] с изображением jpg/png/gif/webp (файловый массив, путь на сервере, не изображение; details.field = previewPicture)
NOT_FOUND Товар не найден

Пример запроса (POST)

curl -X POST "https://{портал}/rest/{user_id}/{webhook_code}/gamification.shop.product.update.json" \
          -H "Content-Type: application/json" \
          -d '{"id": 5, "fields": {"PRICE": 150}}'