# Criar promoção de cupom

Cria uma promoção de cupom.

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

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

  - `external_id` (string, required)
    ID de promoção exclusivo. O external_id só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.

  - `promotion_periods` (array)
    Períodos de validade da promoção. Se múltiplos períodos forem especificados, tanto date_from quanto date_until são necessários.

  - `promotion_periods.date_from` (string, required)
    Data de início da promoção especificada.
    Example: "2020-08-11T10:00:00+03:00"

  - `promotion_periods.date_until` (string,null)
    Data de término da promoção especificada. Se definido como null, a promoção é indefinida. Pode ser null apenas se um único período de validade for especificado.
    Example: "2020-08-11T20:00:00+03:00"

  - `name` (object, required)
    Nome da promoção. Deve conter pares chave/valor
onde a chave é uma localidade com formato "^[a-z]{2}-[A-Z]{2}$", e valor sendo uma cadeia de caracteres.

  - `bonus` (array,null)

  - `bonus.sku` (string)
    SKU do item.

  - `bonus.quantity` (number)
    Quantidade do item.

  - `redeem_total_limit` (integer,null)
    Limita o número total de cupons.

  - `redeem_user_limit` (integer,null)
    Limita o número total de cupons resgatados por um único usuário.

  - `redeem_code_limit` (integer,null)
    Número de resgates por código.

  - `attribute_conditions` (array)
    Condições para validar atributos do usuário.
Determina a disponibilidade da promoção com base em se os atributos de usuário correspondem a todas as condições especificadas.

## Response 201 fields (application/json):

  - `external_id` (string)
    ID de promoção exclusivo. O external_id só pode conter caracteres alfanuméricos latinos minúsculos e maiúsculos, pontos, traços e sublinhados.

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


