# Consigue recompensas en forma de cupones

Obtiene recompensas en forma de cupones por su código.
Puede usarse para permitir a los usuarios elegir uno de muchos artículos como bonificación.
El caso más habitual es elegir un DRM si el cupón contiene un juego como bonificación (type=unit). 


  Nota:
    Esta llamada API utiliza un JWT de usuario para la autorización.
    Incluya el token en el encabezado Authorization con el siguiente formato: Bearer &lt;user_JWT&gt;. Para obtener más información sobre el JWT de usuario, consulte el bloque Seguridad para esta llamada.

Endpoint: GET /v2/project/{project_id}/coupon/code/{coupon_code}/rewards
Version: 2.0.0
Security: XsollaLoginUserJWT

## Path parameters:

  - `project_id` (integer, required)
    ID del proyecto. Encontrará este parámetro en su Cuenta del editor junto al nombre del proyecto y en la barra de direcciones del navegador cuando se trabaja en un proyecto. La URL tiene el siguiente formato: https://publisher.xsolla.com//projects/.
    Example: 44056

  - `coupon_code` (string, required)
    Código único que distingue entre mayúsculas y minúsculas. Contiene letras y números.
    Example: "WINTER2021"

## Response 200 fields (application/json):

  - `bonus` (array)

  - `bonus.item` (object)

  - `bonus.item.sku` (string)
    ID único del artículo. El SKU solo puede contener caracteres alfanuméricos latinos en minúsculas y mayúsculas, puntos, guiones y guiones bajos.
    Example: "game_01"

  - `bonus.item.name` (object)
    Nombre del artículo.
    Example: {"en":"Game name"}

  - `bonus.item.type` (string)
    Tipo de artículo. Valores posibles:virtual_good — artículos virtualesvirtual_currency — moneda virtualbundle — loteunit — paquete de claves de juego
    Example: "unit"

  - `bonus.item.bundle_type` (string)
    Tipo de lote. Se devuelve si el tipo de artículo es un lote.
    Enum: "standard", "virtual_currency_package"

  - `bonus.item.description` (string,null)
    Descripción del artículo.
    Example: "Game description"

  - `bonus.item.image_url` (string,null)
    URL de la imagen.
    Example: "https://cdn.xsolla.net/img/misc/images/b79342cdf24f0f8557b63c87e8326e62.png"

  - `bonus.item.content` (array)

  - `bonus.item.unit_items` (array)
    Matriz de claves del juego específicas para cada plataforma. Se utiliza únicamente cuando el tipo de artículo es unit (bonus.item.type = 'unit'). Si el paquete de claves del juego incluye claves específicas para cada plataforma, el usuario puede elegir una de ellas como bonificación.

  - `bonus.item.unit_items.sku` (string)
    ID único del paquete de claves del juego específico para cada plataforma. Caracteres permitidos  : a–z, A–Z, 0–9, punto (.), guion (-), guion bajo (_). Combine los valores bonus.item.​sku y bonus.item.unit_items.drm_sku. P. ej., si bonus.item.​sku = 'cool_game' y bonus.item.unit_items.drm_sku = 'steam', el valor será cool_game_steam.
    Example: "cool_game_steam"

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

  - `bonus.item.unit_items.type` (string)
    Indica que el artículo es una clave del juego.
    Enum: "game_key"

  - `bonus.item.unit_items.name` (string)
    Título del juego.
    Example: "Awesome Game"

  - `bonus.item.unit_items.drm_name` (string)
    Nombre del DRM (gestión de derechos digitales).
    Example: "Steam"

  - `bonus.item.unit_items.drm_sku` (string)
    ID único de DRM que se usa como sufijo para indicar una clave del juego específica de una plataforma. Caracteres permitidos: a–z, A–Z, 0–9, punto (.), guion (-) y guion bajo (_).
    Example: "steam"

  - `bonus.quantity` (number)
    Cantidad del artículo.

  - `is_selectable` (boolean)
    Si es true, el usuario debe elegir la bonificación antes de canjear un cupón.

  - `discount` (object,null)
    Porcentaje de descuento.
El precio de la cesta se reducirá utilizando un valor calculado utilizando este porcentaje y luego se redondeará al segundo decimal.

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

## 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 coupon code."


