# Échanger un code de coupon

Utilise un code de coupon. L'utilisateur reçoit un bonus après l'utilisation d'un coupon. 


  Note
    Cet appel API utilise un JWT utilisateur pour l'autorisation.
    Incluez le jeton dans l'en-tête Authorization au format suivant : Bearer &lt;user_JWT&gt;. Pour plus d'informations sur le JWT utilisateur, consultez le bloc Security pour cet appel.

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

## Path parameters:

  - `project_id` (integer, required)
    ID du projet. Vous trouverez ce paramètre dans le Compte éditeur, à côté du nom du projet, ainsi que dans l'URL affichée dans la barre d'adresse du navigateur lorsque vous utilisez ce projet. L'URL présente le format suivant : https://publisher.xsolla.com//projects/.
    Example: 44056

## Request fields (application/json):

  - `coupon_code` (string)
    Code unique de coupon. Comprend des lettres et des chiffres.
    Example: "WINTER2021"

  - `selected_unit_items` (object)
    Clé de jeu spécifique à une plateforme sélectionnée comme bonus par l'utilisateur. Passez le bonus.item.sku [reçu](/fr/api/liveops/promotions-coupons/get-coupon-rewards-by-code#promotions-coupons/get-coupon-rewards-by-code/t=response&c=200&path=bonus/item) comme clé, et le bonus.item.unit_items.sku choisi comme valeur associée.

## 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)
    Prix de l'objet.

  - `items.price.amount` (string)
    Prix de l'objet avec remise.
    Example: "2.9900"

  - `items.price.amount_without_discount` (string)
    Prix de l'objet.
    Example: "2.9900"

  - `items.price.currency` (string)
    Devise du prix de l'objet. Code à trois lettres selon [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).
    Example: "USD"

  - `items.type` (string)

  - `items.virtual_item_type` (string)
    Type d'objet virtuel.

Valeurs possibles :
- consumable — Objet qui disparaît de l'inventaire après utilisation (par exemple des munitions).
- non_consumable — Objet conservé dans l'inventaire sans limite de durée.
- non_renewing_subscription — Objet à durée limitée pouvant représenter un accès à des services ou du contenu pendant une période définie.
    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"


