# Générer des codes de coupon

Génère des codes de coupon.

Lignes directrices pour la génération de code :

* Aucune limite maximale ne s'applique au nombre total de codes par promotion, mais chaque requête est limitée à 50 000 codes. Les requêtes dépassant cette limite renvoient une erreur 422 Unprocessable Entity. Si vous avez besoin de plus de 50 000 codes, envoyez plusieurs requêtes.

* Pour une meilleure fiabilité, il est recommandé de générer les codes par lots plus petits, jusqu'à 10 000 par requête. Par exemple, pour créer 100 000 codes, envoyez 10 requêtes avec "count": 10000 plutôt que 2 requêtes avec "count": 50000. Attendez une réponse réussie pour chaque requête avant d'envoyer la suivante.

* N'oubliez pas que la limite de débit est fixée à 15 requêtes par seconde. Lorsque vous générez de grands volumes, envoyez les requêtes les unes après les autres afin d'éviter de dépasser cette limite et de recevoir une erreur 429.

* Pour récupérer la liste des codes, appelez la méthode Lire des codes promo.

| Paramètre | Valeur |
|---|---|
| Nombre minimum de codes par requête. | 1 |
| Nombre maximum de codes par requête. Utilisez uniquement lorsque vous avez besoin du plus grand lot unique possible. | 50 000 |
| Nombre recommandé de codes par requête. | Jusqu'à 10 000. Si vous devez en créer davantage, envoyez plusieurs requêtes consécutives. |

Endpoint: PUT /v2/project/{project_id}/admin/coupon/{external_id}/code/generate
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

  - `external_id` (integer, required)
    External ID de la promotion. Identifiant unique de la promotion au sein du projet.
    Example: "coupon_44056_1"

## Request fields (application/json):

  - `count` (integer, required)

## Response 200 fields (application/json):

  - `count` (integer)

## Response 401 fields (application/json):

  - `statusCode` (integer)
    Example: 401

  - `errorCode` (integer)
    Example: 1020

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

## Response 404 fields (application/json):

  - `statusCode` (integer)
    Example: 404

  - `errorCode` (integer)
    Example: 4001

  - `errorMessage` (string)
    Example: "[0401-9802]: Promocode not found"

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


