# Генерация кодов купонов

Генерирует коды купонов.

Рекомендации по работе с кодами:

* Для одной акции нет ограничений на количество кодов. Однако вы можете создать максимум 50 000 кодов за один запрос. Запросы на большее количество кодов вернут ошибку 422 Unprocessable Entity. Если вам нужно создать больше 50 000 кодов, отправьте несколько запросов.

* Для большей стабильности мы рекомендуем создавать коды частями, до 10 000 за один запрос. Например, чтобы создать 100 000 кодов, отправьте 10 запросов с "count": 10000, а не 2 запроса с "count": 50000. Дождитесь успешного ответа на каждый запрос прежде чем отправлять следующий.

* Обратите внимание на ограничение на отправку запросов — не больше 15 в секунду. При создании большого количества кодов отправляйте запросы последовательно, чтобы не превысить ограничение в 15 секунд и избежать ошибки 429.

* Чтобы получить список кодов, используйте метод Получение кодов купонов.

| Показатель | Значение |
|---|---|
| Минимальное количество кодов в запросе. | 1 |
| Максимальное количество кодов в запросе. Используйте только если вам необходимо создать максимальное количество кодов за один запрос. | 50 000 |
| Рекомендованное количество кодов в запросе. | До 10 000. Если необходимо создать больше кодов, отправьте несколько последовательных запросов. |

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 проекта. Вы можете найти этот параметр в Личном кабинете рядом с названием проекта, а также в адресной строке браузера при работе с проектом. URL-адрес имеет следующий формат: https://publisher.xsolla.com//projects/.
    Example: 44056

  - `external_id` (integer, required)
    External ID акции. Уникальный идентификатор акции в рамках проекта.
    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"


