# Получение виртуального предмета по артикулу

Получает виртуальный предмет по артикулу для построения каталога.


Внимание
Без авторизации метод возвращает общие данные по каталогу товаров. Используйте авторизацию, чтобы получить персонализированные данные пользователя, такие как лимиты и акции, связанные с этим товаром. Для этого необходимо передать JWT пользователя в заголовке Authorization. Подробная информация о JWT пользователя приведена в блоке Безопасность для этого метода.

Endpoint: GET /v2/project/{project_id}/items/virtual_items/sku/{item_sku}
Version: 2.0.0
Security: XsollaLoginUserJWT

## Path parameters:

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

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

## Query parameters:

  - `locale` (string)
    Язык ответа. Двухбуквенный код языка в нижнем регистре по стандарту ISO 639-1 (например, en). Коды локали из пяти символов (например, en-US) поддерживаются в полях локализации (например, name, description), но в ответах приводятся к двухбуквенному формату. Полный список поддерживаемых языков приведен в документации.

  - `country` (string)
    Двухбуквенное обозначение страны в верхнем регистре согласно стандарту ISO 3166-1 alpha-2. Ознакомьтесь со списком стран, поддерживаемых Xsolla, а также с процессом определения страны.
    Example: "US"

  - `show_inactive_time_limited_items` (integer)
    Отображает предметы с ограниченным сроком действия, которые недоступны пользователю. Срок действия таких предметов еще не начался или уже истек.
    Example: 1

  - `additional_fields[]` (array)
    Дополнительные поля, которые будут включены в ответ. По умолчанию не возвращаются. Передайте нужные значения, чтобы получить их в ответе.
    Enum: "media_list", "order", "long_description", "custom_attributes", "item_order_in_group"

## Response 200 fields (application/json):

  - `item_id` (number)
    ID предмета (артикул).

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

  - `name` (object)
    Название товара.
    Example: "Big Rocket"

  - `groups` (array)
    Группы, к которым принадлежит товар.

  - `groups.external_id` (string)
    [Внешний ID группы товаров](/ru/api/catalog/item-groups-admin/admin-create-item-group#item-groups-admin/admin-create-item-group/t=request&path=external_id), который был указан при создании.
    Example: "exclusive"

  - `groups.name` (string)
    Название группы.
    Example: "Exclusive"

  - `groups.item_order_in_group` (integer)
    Позиция предмета внутри группы, определяющая порядок отображения.
Возвращается в ответ только при указании в запросе query-параметра additional_fields[].
    Example: 1

  - `attributes` (array)
    Список атрибутов и их значений, соответствующих товару. Может использоваться для фильтрации каталога.

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

  - `attributes.name` (object)
    Название атрибута.
    Example: "Genre"

  - `attributes.values` (array)

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

  - `attributes.values.value` (string)
    Значение атрибута.
    Example: "Strategy"

  - `type` (string)
    Тип товара: virtual_good/virtual_currency/bundle.
    Example: "virtual_good"

  - `description` (object)
    Описание товара.
    Example: "Big Rocket - description"

  - `image_url` (string)
    URL-адрес изображения.
    Example: "https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png"

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

  - `price` (object,null)
    Цены на товар.

  - `price.amount` (string)
    Цена товара со скидкой.
    Example: "100.99"

  - `price.amount_without_discount` (string)
    Цена товара.
    Example: "100.99"

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

  - `virtual_prices` (array)
    Виртуальные цены.

  - `virtual_prices.amount` (integer)
    Цена товара в виртуальной валюте.
    Example: 100

  - `virtual_prices.amount_without_discount` (integer)
    Цена товара в виртуальной валюте без скидки. Всегда равна значению amount, так как скидки не применяются к ценам в виртуальной валюте.
    Example: 200

  - `virtual_prices.sku` (string)
    Артикул виртуальной валюты.
    Example: "vc_gold"

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

  - `virtual_prices.image_url` (string,null)
    URL-адрес изображения виртуальной валюты.
    Example: "http://image.png"

  - `virtual_prices.name` (string)
    Название виртуальной валюты.
    Example: "Gold"

  - `virtual_prices.type` (string)
    Тип товара. Для виртуальной валюты всегда имеет значение virtual_currency.
    Example: "virtual_currency"

  - `virtual_prices.description` (string,null)
    Описание виртуальной валюты.
    Example: "In-game currency used to purchase weapons and upgrades"

  - `can_be_bought` (boolean)
    Если true, пользователь может купить товар.

  - `virtual_item_type` (string)
    Тип виртуального предмета.

Возможные значения:
- consumable — предмет, исчезающий из инвентаря после использования (например, патроны).
- non_consumable — предмет, остающийся в инвентаре в течение неограниченного времени.
- non_renewing_subscription — предмет с ограниченным сроком действия, который может служить представлением доступа к сервисам или контенту в течение ограниченного периода времени.
    Enum: "consumable", "non_consumable", "non_renewing_subscription"

  - `promotions` (array)
    Примененные акции для отдельных товаров в корзине. Массив возвращается, если:

* Скидочная акция настроена для отдельного товара.

* Используется промокод с настройкой Скидка на выбранные товары.

Если акции на уровне отдельных товаров не применялись, возвращается пустой массив.

  - `promotions.name` (string)

  - `promotions.date_start` (string,null)

  - `promotions.date_end` (string,null)

  - `promotions.discount` (object,null)

  - `promotions.discount.percent` (string,null)

  - `promotions.discount.value` (string,null)

  - `promotions.bonus` (array)

  - `promotions.bonus.sku` (string)

  - `promotions.bonus.quantity` (integer)

  - `promotions.bonus.type` (string)
    Тип бонусного товара.
    Enum: "virtual_good", "virtual_currency", "bundle", "physical_good", "game_key", "nft"

  - `promotions.bonus.name` (string)
    Название бонусного товара. Недоступно для типа бонусного товара physical_good.

  - `promotions.bonus.image_url` (string)
    URL-адрес изображения бонусного бандла. Недоступно для типа бонусного товара physical_good.

  - `promotions.bonus.bundle_type` (string)
    Тип товара бонусного бандла. Доступно только для бонусного товара типа bundle.
    Enum: "standard", "virtual_currency_package"

  - `promotions.limits` (object)

  - `promotions.limits.per_user` (object)

  - `promotions.limits.per_user.available` (integer)

  - `promotions.limits.per_user.total` (integer)

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

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

  - `limits.per_user.total` (integer)
    Максимальное количество товара, которое может приобрести один пользователь.

  - `limits.per_user.available` (integer)
    Оставшееся количество товара, которое может приобрести текущий пользователь.

  - `limits.per_user.recurrent_schedule` (any)

  - `limits.per_user.limit_exceeded_visibility` (string)
    Определяет видимость товара в каталоге после достижения лимита покупок до момента следующего обновления лимитов.

Применяется к товарам, для которых задано регулярное обновление лимитов в массиве recurrent_schedule.

Если обновление лимитов не задано, товар не отображается в каталоге после достижения лимита независимо от значения limit_exceeded_visibility.

Возможные значения:
- show — Товар возвращается в методах получения каталога товаров после достижения лимита покупок. В клиентских методах получения каталога после достижения лимита товар возвращается с флагом can_be_bought: false. Дата следующего сброса возвращается в reset_next_date.
- hide — Товар не возвращается в методах получения каталога товаров после достижения лимита покупок до момента сброса лимитов.
    Enum: "show", "hide"

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

  - `limits.per_item.total` (integer)
    Максимальное количество товара, которое могут приобрести все пользователи.

  - `limits.per_item.available` (integer)
    Оставшееся количество товара, которое могут приобрести все пользователи.

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

  - `periods.date_from` (string,null)
    Дата, когда указанный товар будет доступен для продажи.
    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-объект, содержащий атрибуты товара и их значения.

  - `vp_rewards` (array)
    Список призовых баллов для товара.

  - `vp_rewards.item_id` (integer)
    Внутренний уникальный ID виртуального предмета или валюты.

  - `vp_rewards.sku` (string)
    Уникальный ID призовых баллов.

  - `vp_rewards.amount` (integer)
    Количество призовых баллов.

  - `vp_rewards.name` (string)
    Название призовых баллов.

  - `vp_rewards.image_url` (string)
    URL-адрес изображения.

  - `vp_rewards.is_clan` (boolean)
    Может ли призовой балл использоваться в цепочках наград для клана.

  - `loyalty_rewards` (array)
    Баллы лояльности, которые пользователь получает в награду за покупку товара.

  - `loyalty_rewards.name` (string)
    Название баллов лояльности.

  - `loyalty_rewards.sku` (string)
    Артикул балла лояльности. Используйте это значение в параметре loyalty_point_sku в других запросах API, например при создании заказа, оплачиваемого баллами лояльности.

  - `loyalty_rewards.description` (string)
    Описание баллов лояльности.

  - `loyalty_rewards.image_url` (string,null)
    URL-адрес изображения.

  - `loyalty_rewards.amount` (integer)
    Количество баллов лояльности, которое пользователь получает за покупку товара.

  - `loyalty_prices` (array)
    Баллы лояльности, за которые можно купить товар.

  - `loyalty_prices.name` (string)
    Название баллов лояльности.

  - `loyalty_prices.sku` (string)
    Артикул балла лояльности. Используйте это значение в параметре loyalty_point_sku в других запросах API, например при создании заказа, оплачиваемого баллами лояльности.

  - `loyalty_prices.description` (string)
    Описание баллов лояльности.

  - `loyalty_prices.image_url` (string,null)
    URL-адрес изображения.

  - `loyalty_prices.amount` (integer)
    Цена товара в указанных баллах лояльности.

## Response 404 fields (application/json):

  - `statusCode` (integer)
    Example: 404

  - `errorCode` (integer)
    Example: 4001

  - `errorMessage` (string)
    Example: "[0401-4001]: Item with Project Id = 44056 and Sku = booster_mega_12222 not found"


