# Créer une offre promotionnelle unique dans le catalogue

Crée une offre promotionnelle unique dans le catalogue.

Endpoint: POST /v3/project/{project_id}/admin/unique_catalog_offer
Version: 2.0.0
Security: basicAuth

## 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):

  - `external_id` (string, required)
    ID unique de la promotion. Le external_id ne peut comprendre que des caractères alphanumériques latins minuscules et majuscules, des points, des tirets et des traits bas.

  - `date_start` (string,null)
    Date de début de la promotion.

  - `date_end` (string,null)
    Date de fin de la promotion. Peut prendre la valeur null. Si date_end est défini sur null, la promotion sera illimitée dans le temps.

  - `name` (object, required)
    Nom de la promotion. Doit comprendre des paires clé/valeur
où la clé est une région au format "^[a-z]{2}-[A-Z]{2}$", la valeur est une chaîne.

  - `items` (array)
    Liste d'UGS des objets qui sont disponibles après avoir utilisé une offre unique du catalogue.
    Example: ["booster_mega_1"]

  - `redeem_user_limit` (integer,null)
    Limite le nombre total de coupons pouvant être échangés par un seul utilisateur.

  - `redeem_code_limit` (integer,null)
    Nombre d'échanges par code.

  - `redeem_total_limit` (integer,null)
    Limite le nombre total de coupons.

## Response 201 fields (application/json):

  - `external_id` (string)
    ID unique de la promotion. Le external_id ne peut comprendre que des caractères alphanumériques latins minuscules et majuscules, des points, des tirets et des traits bas.

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1020

  - `errorMessage` (string)
    Example: "[0401-1020]: Error in Authentication method occurred"

## Response 422 fields (application/json):

  - `statusCode` (integer)
    Example: 422

  - `errorCode` (integer)
    Example: 1102

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


