# Получение вознаграждения по промокоду

Получает награды промокодов по их коду.
Может использоваться для того, чтобы позволить пользователям выбрать один из множества предметов в качестве бонуса.
Стандартный случай — выбор DRM, если промокод содержит игру в качестве бонуса (type=unit). .


  Примечание
    Этот метод использует JWT пользователя для авторизации.
    Передайте токен в заголовке Authorization в формате: Bearer &lt;user_JWT&gt;. Подробная информация о JWT пользователя приведена в блоке Безопасность для этого метода.

Endpoint: GET /v2/project/{project_id}/promocode/code/{promocode_code}/rewards
Version: 2.0.0
Security: XsollaLoginUserJWT

## Path parameters:

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

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

## Response 200 fields (application/json):

  - `bonus` (array)

  - `bonus.item` (object)

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

  - `bonus.item.name` (string)
    Название товара.
    Example: "Game name"

  - `bonus.item.type` (string)
    Тип товара. Возможные значения:virtual_good — виртуальные товары;virtual_currency — виртуальная валюта;bundle — бандл;unit — пакет игровых ключей.
    Example: "unit"

  - `bonus.item.description` (string)
    Описание товара.
    Example: "Game description"

  - `bonus.item.image_url` (string)
    URL-адрес изображения.
    Example: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"

  - `bonus.item.unit_items` (array)
    Массив с игровыми ключами для конкретных платформ. Используется только если тип товара — unit (bonus.item.type = 'unit'). Если пакет содержит ключи для нескольких платформ, пользователь может выбрать один из них в качестве бонуса.

  - `bonus.item.unit_items.sku` (string)
    Артикул пакета игровых ключей для конкретной платформы. Допустимые символы: a–z, A–Z, 0–9, точка (.), дефис (-), подчеркивание (_). Состоит из значений bonus.item.​sku и bonus.item.unit_items.drm_sku. Например, если bonus.item.​sku = 'cool_game' и bonus.item.unit_items.drm_sku = 'steam', значение будет cool_game_steam.
    Example: "cool_game_steam"

  - `bonus.item.unit_items.is_free` (boolean)

  - `bonus.item.unit_items.type` (string)
    Параметр для обозначения игровых ключей.
    Enum: "game_key"

  - `bonus.item.unit_items.name` (string)
    Название игры.
    Example: "Awesome Game"

  - `bonus.item.unit_items.drm_name` (string)
    Название платформы распространения игры.
    Example: "Steam"

  - `bonus.item.unit_items.drm_sku` (string)
    Уникальный ID платформы распространения игры. Используется как суффикс для обозначения ключей для конкретных платформ. Допустимые символы: a–z, A–Z, 0–9, точка (.), дефис (-), подчеркивание (_).
    Example: "steam"

  - `bonus.quantity` (number)
    Количество товаров.

  - `discount` (object,null)
    Процент скидки.
Цена корзины будет уменьшена с использованием значения, рассчитанного с использованием этого процента, а затем округлена до 2 знаков после запятой.

  - `discount.percent` (string)
    Example: "10.00"

  - `discounted_items` (array,null)
    Список товаров, на которые действует скидка по промокоду.

  - `discounted_items.sku` (string, required)
    Артикул товара.

  - `discounted_items.discount` (object, required)

  - `discounted_items.discount.percent` (string, required)
    Процент скидки.

Цена товара в корзине будет уменьшена с использованием значения,
рассчитанного с использованием этого процента, а затем округлена
до 2 знаков после запятой.

  - `is_selectable` (boolean)
    Если true, пользователь должен выбрать бонус перед погашением промокода.

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1501

  - `errorMessage` (string)
    Example: "[0401-1501]: Authorization failed: Provide authorization"

## Response 403 fields (application/json):

  - `statusCode` (integer)
    Example: 403

  - `errorCode` (integer)

  - `errorMessage` (string)
    Example: "Authorization header not sent."

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

## Response 404 fields (application/json):

  - `statusCode` (integer)
    Example: 404

  - `errorCode` (integer)
    Example: 4001

  - `errorMessage` (string)
    Example: "[0401-9807]: Enter valid promo code."


