# Получение списка товаров по указанной группе

Получает список товаров из указанной группы для построения каталога.
<div class="notice">
<strong>Внимание</strong><br><br>
Все проекты имеют ограничение на количество товаров, которые вы можете получить в ответе. Значение по умолчанию и максимальное значение — <strong>50 товаров на ответ</strong>. Чтобы получить больше данных постранично, используйте поля <b>limit</b> и <b>offset</b>.
</div>
<br>
<div class="note">
<strong>Примечание</strong><br><br>
Без авторизации метод возвращает общие данные по каталогу товаров. Используйте авторизацию, чтобы получить <a href="https://developers.xsolla.com/ru/doc/shop-builder/features/personalization/" target="_blank">персонализированные</a> данные пользователя, такие как лимиты и акции, связанные с этим товаром. Для этого необходимо передать JWT пользователя в заголовке <code>Authorization</code>. Подробная информация о JWT пользователя приведена в блоке <b>Безопасность</b> для этого метода.</div>

Endpoint: GET /v2/project/{project_id}/items/virtual_items/group/{external_id}
Version: 2.0.0
Security: XsollaLoginUserJWT

## Path parameters:

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

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

## Query parameters:

  - `limit` (integer)
    Лимит количества элементов на странице.

  - `offset` (integer)
    Номер элемента, с которого выполняется вывод на странице (нумерация ведется с 0).

  - `locale` (string)
    Язык ответа. Двухбуквенный код языка в нижнем регистре по стандарту ISO 639-1 (например, `en`). Коды локали из пяти символов (например, `en-US`) поддерживаются в полях локализации (например, `name`, `description`), но в ответах приводятся к двухбуквенному формату. Полный список поддерживаемых языков приведен в [документации](https://developers.xsolla.com/ru/doc/shop-builder/references/supported-languages/).

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

  - `country` (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/), а также с процессом [определения страны](https://developers.xsolla.com/ru/doc/shop-builder/features/pricing-policy/#pricing_policy_country_determination).

  - `promo_code` (string)
    Уникальный код, чувствительный к регистру. Содержит буквы и цифры.

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

## Response 200 fields (application/json):

  - `has_more` (boolean)
    Используется как индикатор того, что остались еще страницы.
    Example: true

  - `items` (array)
    Example: [{"sku":"com.xsolla.big_rocket_1","name":"Big Rocket","groups":[{"external_id":"weapons","name":"weapons"}],"attributes":[{"external_id":"stack_size","name":"Stack size","values":[{"value":"5"}]}],"ty…

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

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

  - `items.groups` (array)
    Группы, к которым принадлежит товар.
    Example: [{"external_id":"exclusive","name":"Exclusive"}]

  - `items.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

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

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

  - `items.attributes` (array)
    Список атрибутов и их значений, соответствующих товару. Может использоваться для фильтрации каталога.
    Example: {"value":{"external_id":"genre","name":"Жанр","values":[{"external_id":"genre_e3364991f92e751689a68b96598a5a5a84010b85","value":"Casual"},{"external_id":"genre_eba07bfd0f982940773cba3744d97264dd58acd7…

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

  - `items.attributes.values` (array)

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

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

  - `items.type` (string)
    Тип предмета: `consumable`/`expiration`/`permanent`/`lootboxes`/`physical`.
    Example: virtual_good

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

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

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

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

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

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

  - `items.price.currency` (string)
    Валюта, в которой указана цена товара. Трехбуквенный код в соответствии со стандартом [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).
    Example: USD

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

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

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

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

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

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

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

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

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

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

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

  - `items.promotions` (array)
    Примененные акции для отдельных товаров в корзине. Массив возвращается, если:
* Скидочная акция настроена для отдельного товара.
* Используется промокод с настройкой **Скидка на выбранные товары**.

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

  - `items.promotions.name` (string)

  - `items.promotions.date_start` (string | null)

  - `items.promotions.date_end` (string | null)

  - `items.promotions.discount` (object | null)

  - `items.promotions.discount.percent` (string | null)

  - `items.promotions.discount.value` (string | null)

  - `items.promotions.bonus` (array)

  - `items.promotions.bonus.sku` (string)

  - `items.promotions.bonus.quantity` (integer)

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

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

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

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

  - `items.promotions.limits` (object)

  - `items.promotions.limits.per_user` (object)

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

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

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

  - `items.limits.per_user` (object | null)
    Ограничения на продажу товара для пользователя.

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

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

  - `items.limits.per_user.recurrent_schedule` (any)
    Период обновления ограничений на продажу товара для пользователя.

  - `items.limits.per_user.recurrent_schedule.interval_type` (string)
    Период обновления ограничения на продажу товара.
    Enum: "daily"

  - `items.limits.per_user.recurrent_schedule.reset_next_date` (integer)
    Дата и время, когда ограничения должны быть сброшены (Unix Timestamp).
    Example: 1677553200

  - `items.limits.per_user.limit_exceeded_visibility` (string)
    Определяет видимость товара в каталоге после достижения лимита покупок до момента следующего обновления лимитов.
Применяется к товарам, для которых задано регулярное обновление лимитов в массиве `recurrent_schedule`.
Если обновление лимитов не задано, товар не отображается в каталоге после достижения лимита независимо от значения `limit_exceeded_visibility`.
Возможные значения:
- `show` — Товар возвращается в методах получения каталога товаров после достижения лимита покупок. В клиентских методах получения каталога после достижения лимита товар возвращается с флагом `can_be_bought: false`. Дата следующего сброса возвращается в `reset_next_date`.
- `hide` — Товар не возвращается в методах получения каталога товаров после достижения лимита покупок до момента сброса лимитов.
    Enum: "show", "hide"

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

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

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

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

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

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

  - `items.custom_attributes` (object)
    JSON-объект, содержащий атрибуты товара и их значения.

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

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

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

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

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

  - `items.vp_rewards.image_url` (string)
    URL-адрес изображения.
    Example: https://image.example.com

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

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

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

  - `items.loyalty_rewards.sku` (string)
    Артикул балла лояльности. Используйте это значение в параметре `loyalty_point_sku` в других запросах API, например при создании заказа, оплачиваемого баллами лояльности.
    Example: 123e4567-e89b-12d3-a456-426614174000

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

  - `items.loyalty_rewards.image_url` (string | null)
    URL-адрес изображения.
    Example: https://image.example.com

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

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

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

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

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

## Response 404 fields (application/json):

  - `statusCode` (integer)
    Код HTTP-статуса ответа.
    Example: 404

  - `errorCode` (integer)
    Код ошибки Xsolla
    Example: 4403

  - `errorMessage` (string)
    Краткое описание ошибки.
    Example: [0401-4403]: Item group not found

