# Resgatar código de cupom

Resgata um código de cupom. O usuário recebe um bônus após o resgate do cupom. 


  Nota
    Esta chamada de API usa um JWT de usuário para autorização.
    Inclua o token no cabeçalho Authorization no seguinte formato: Bearer &lt;user_JWT&gt;. Para mais informações sobre o JWT de usuário, consulte o bloco Segurança para esta chamada.

Endpoint: POST /v2/project/{project_id}/coupon/redeem
Version: 2.0.0
Security: XsollaLoginUserJWT

## Path parameters:

  - `project_id` (integer, required)
    ID de projeto. Você pode encontrar esse parâmetro na sua Conta de Distribuidor, próximo ao nome do projeto e na barra de endereços do navegador ao trabalhar com um projeto. O URL tem o seguinte formato: https://publisher.xsolla.com//projects/.
    Example: 44056

## Request fields (application/json):

  - `coupon_code` (string)
    Código de cupom exclusivo. Contém letras e números.
    Example: "WINTER2021"

  - `selected_unit_items` (object)
    Chave de jogo de plataforma específica selecionada como bônus pelo usuário. Passe o bonus.item.sku [recebido](/pt/api/liveops/promotions-coupons/get-coupon-rewards-by-code#promotions-coupons/get-coupon-rewards-by-code/t=response&c=200&path=bonus/item) como uma chave, e o bonus.item.unit_items.sku escolhido com o seu valor.

## Response 200 fields (application/json):

  - `items` (array)
    Example: [{"attributes":[],"description":"Take it, take it all! All of Xsolla's riches in one Mega Booster.","groups":[{"external_id":"powerups","name":"Power Ups"}],"image_url":"https://cdn.xsolla.net/img/misc/images/e9f2f4a634bc96ea03b5d5ceadd7c55f.png","is_free":false,"name":"Xsolla Booster Mega","price":{"amount":"50.0000000000000000","amount_without_discount":"100.0000000000000000","currency":"USD"},"quantity":1,"sku":"com.xsolla.booster_mega_1","type":"virtual_good","virtual_item_type":"consumable","virtual_prices":[]}]

  - `items.sku` (string)

  - `items.groups` (array)

  - `items.groups.external_id` (string)

  - `items.groups.name` (string)

  - `items.name` (string,null)

  - `items.price` (object,null)
    Preços dos itens.

  - `items.price.amount` (string)
    Preço do item com desconto.
    Example: "2.9900"

  - `items.price.amount_without_discount` (string)
    Preço do item.
    Example: "2.9900"

  - `items.price.currency` (string)
    Moeda do preço do item. Código de três letras de acordo com [a ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).
    Example: "USD"

  - `items.type` (string)

  - `items.virtual_item_type` (string)
    Tipo de item virtual.

Possíveis valores:
- consumable — Um item que desaparece do inventário após o uso (ex.: munição)..
- non_consumable — Um item que permanece no inventário por um tempo ilimitado.
- non_renewing_subscription — Item de tempo limitado que pode representar acesso a serviços ou conteúdos por um período específico.
    Enum: "consumable", "non_consumable", "non_renewing_subscription"

  - `items.virtual_prices` (array)

  - `items.description` (string)

  - `items.image_url` (string)

  - `items.quantity` (integer)

  - `items.is_free` (boolean)

  - `items.attributes` (array)

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

## Response 422 fields (application/json):

  - `statusCode` (integer)
    Example: 422

  - `errorCode` (integer)
    Example: 1102

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

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


