# Обновление виртуального предмета

Обновляет виртуальный предмет.

Endpoint: PUT /v2/project/{project_id}/admin/items/virtual_items/sku/{item_sku}
Version: 2.0.0
Security: basicAuth

## Path parameters:

  - `project_id` (integer, required)
    ID проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта, а также в адресной строке браузера при работе с проектом. URL-адрес имеет следующий формат: https://publisher.xsolla.com//projects/.
    Example: 44056

  - `item_sku` (string, required)
    Артикул товара.
    Example: "booster_mega_1"

## Request fields (application/json):

  - `sku` (string)
    Уникальный ID товара. Артикул может содержать только строчные и заглавные латинские буквы, цифры, точки, тире и подчеркивания.

  - `name` (object,null)
    Объект с локализованными названиями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код языка из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется двухбуквенный код языка. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в [документации](/ru/doc/shop-builder/references/supported-languages/).

  - `description` (object,null)
    Объект с локализованными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в [документации](/ru/doc/shop-builder/references/supported-languages/).

  - `long_description` (object,null)
    Объект с локализованными длинными описаниями товара. Принимает значения в одном из двух форматов: двухбуквенный код языка в нижнем регистре (например, en) или код локали из пяти символов (например, en-US). Оба формата допустимы при отправке запроса, но в ответе всегда используется код из двух символов. Если для одного языка указаны оба варианта (например, en и en-US), будет сохранено последнее переданное значение. Полный список поддерживаемых языков приведен в [документации](/ru/doc/shop-builder/references/supported-languages/).

  - `image_url` (string)
    URL-адрес изображения. Для корректного отображения и быстрой загрузки изображения в платежном интерфейсе проверьте требования к файлу и ссылке:Поддерживаемые форматы: WebP (рекомендуется), PNG, JPG.Размер файла: ≤ 50 КБ (для WebP) или ≤ 150 КБ (для PNG и JPG).Размер изображения: 280 x 280 px.Цветовое пространство: sRGB.Протокол передачи данных: HTTPS с долгосрочным кэшированием версионированных URL-адресов.

  - `media_list` (array)
    Дополнительные ассеты предмета, такие как скриншоты, видео игрового процесса и так далее.

  - `media_list.type` (string)
    Тип медиа: image/video.
    Enum: "image", "video"

  - `media_list.url` (string)
    Ссылка на файл.
    Example: "https://cdn3.xsolla.com/img/misc/images/71ab1e12126f2103e1868076f0acb21a.jpg"

  - `groups` (array)
    Список [внешних ID групп](/ru/api/catalog/item-groups-admin/admin-get-item-group-list/#!path=groups/external_id&t=response), к которым относится товар.

Пример: ["horror", "action"]

  - `attributes` (array)
    Список атрибутов.

Внимание. Для товара невозможно указать более 20 атрибутов. Любые попытки превысить данное ограничение вызовут ошибку.

  - `attributes.external_id` (string, required)
    Уникальный ID атрибута. external_id может содержать только строчные и заглавные латинские буквы, цифры, тире и подчеркивания.

  - `attributes.name` (object)
    Объект с локализациями для названия атрибута. Ключи для обозначения стран указаны в стандарте ISO 3166-1.

  - `attributes.values` (array, required)
    Внимание. Невозможно создать более 6 значений для каждого атрибута. Любые попытки превысить данное ограничение вызовут ошибку.
    Example: [{"external_id":"strategy","value":{"en":"Strategy","de":"Strategie"}},{"external_id":"action","value":{"en":"Action","de":"Aktion"}}]

  - `attributes.values.external_id` (string, required)
    Уникальный ID значения атрибута. external_id может содержать только строчные латинские буквы, цифры, тире и подчеркивания.
    Example: "value_external_id"

  - `attributes.values.value` (object, required)
    Объект с локализациями для названия значения. Ключи для обозначения стран указаны в стандарте ISO 3166-1.

  - `prices` (array)
    Example: [{"currency":"USD","amount":10.5,"is_default":true,"is_enabled":true}]

  - `prices.amount` (number, required)
    Сумма.
    Example: 10.5

  - `prices.currency` (string, required)
    Валюта, в которой указана цена товара. Трехбуквенный код в соответствии с [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217). Подробную информацию о [валютах, поддерживаемых Xsolla, смотрите в документации](https://developers.xsolla.com/ru/doc/pay-station/references/supported-currencies/).
    Example: "USD"

  - `prices.country_iso` (string)
    Двухбуквенное обозначение страны в верхнем регистре согласно стандарту [ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2). Список стран, поддерживаемых Xsolla, [приведен в документации](https://developers.xsolla.com/ru/doc/shop-builder/references/supported-countries/). Пример: country=US
    Example: "US"

  - `prices.is_default` (boolean)
    Example: true

  - `prices.is_enabled` (boolean)
    Example: true

  - `vc_prices` (array,null)
    Массив цен в виртуальной валюте.
    Example: [{"sku":"com.xsolla.gold_1","amount":10,"is_default":true,"is_enabled":true}]

  - `vc_prices.sku` (string, required)
    Уникальный ID товара. Артикул может содержать только строчные и заглавные латинские буквы, цифры, точки, тире и подчеркивания.
    Example: "com.xsolla.gold_1"

  - `vc_prices.amount` (integer, required)
    Цена товара в виртуальной валюте.
    Example: 10

  - `vc_prices.is_default` (boolean, required)
    Является ли ценой в виртуальной валюте по умолчанию.
    Example: true

  - `vc_prices.is_enabled` (boolean, required)
    Используется ли эта цена для отображения в каталоге и покупки товара. Если false, цена не используется.
    Example: true

  - `is_enabled` (boolean)
    Доступен ли товар. Если false, товар нельзя купить в магазине или получить в составе бандла или в рамках маркетинговой акции. Подробная информация о доступности товара приведена в [документации](https://developers.xsolla.com/ru/items-catalog/catalog-features/items-availability/).

  - `is_show_in_store` (boolean)
    Отображается ли товар в каталоге. Если false и is_enabled: true, товар не отображается в каталоге, но может быть получен в составе бандла или в рамках маркетинговой акции. Подробная информация о доступности товара приведена в [документации](https://developers.xsolla.com/ru/items-catalog/catalog-features/items-availability/).

  - `is_free` (boolean)
    Является ли товар бесплатным.

  - `is_paid_randomized_reward` (boolean)
    Является ли товар случайной платной наградой, например лутбоксом.

  - `order` (integer)
    Порядок для отображения товара в каталоге. Чем больше значение, тем ниже товар отображается в списке. При одинаковом значении товары сортируются по дате создания – более новые товары отображаются выше.

  - `regions` (array)
    Список регионов, в которых доступен товар. Если массив пустой или не передан, товар доступен во всех регионах.

  - `regions.id` (integer)
    ID региона в рамках проекта.

Подробная информация приведена в [документации по региональным ограничениям продаж](https://developers.xsolla.com/ru/items-catalog/catalog-features/regional-restrictions/) и [методам API управления регионами](https://developers.xsolla.com/ru/api/catalog/common-regions).
    Example: 1

  - `limits` (object)
    Ограничения на продажу товара.

  - `limits.per_user` (any)
    Ограничение количества товара для отдельного пользователя.

  - `limits.per_item` (integer,null)
    Глобальное ограничение товара.

  - `limits.recurrent_schedule` (object,null)
    Период обновления установленный ограничений.

  - `limits.recurrent_schedule.per_user` (any)
    Сброс лимитов на покупку товара, выполняемый через временной интервал, заданный в часах.

  - `periods` (array,null)
    Период продажи товара.

  - `periods.date_from` (string)
    Дата, когда указанный товар будет доступен для продажи.
    Example: "2020-08-11T10:00:00+03:00"

  - `periods.date_until` (string,null)
    Дата, когда указанный товар станет недоступен для продажи. Может быть null.
    Example: "2020-08-11T20:00:00+03:00"

  - `custom_attributes` (object)
    JSON-объект, содержащий атрибуты товара и их значения. Атрибуты позволяют добавить дополнительную информацию к товарам. Например, указать уровень игрока, на котором ему станет доступен этот товар. Атрибуты дополняют внутреннюю логику игры и могут быть получены через GET-методы и вебхуки.

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1020

  - `errorMessage` (string)
    Example: "[0401-1020]: Error in Authentication method occurred"

## Response 422 fields (application/json):

  - `statusCode` (integer)
    Example: 422

  - `errorCode` (integer)
    Example: 1102

  - `errorMessage` (string)
    Example: "[0401-1102]: Unprocessable Entity. The property `property_name` is required"

  - `transactionId` (string)
    Example: "x-x-x-x-transactionId-mock-x-x-x"

  - `errorMessageExtended` (array)


## Response 204 fields
