# Criar promoção de desconto para item

Cria uma promoção de desconto para um item.

As promoções oferecem um desconto (%) nos itens.
O desconto será aplicado a todos os preços dos itens especificados.

Endpoint: POST /v3/project/{project_id}/admin/promotion/item
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):

  - `name` (object, required)
    Nome da promoção. Deve conter pares chave/valor,
onde chave é a localidade com o formato "^[a-z]{2}-[A-Z]{2}$", e o valor é uma cadeia de caracteres.
    Example: {"en-US":"Promotion","ru-RU":"Акция"}

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

  - `discount` (object, required)

  - `discount.percent` (string, required)
    Percentual de desconto.
O preço do item será diminuído usando um valor calculado usando essa porcentagem e, em seguida, arredondado para 2 casas decimais.
    Example: 10

  - `items` (array, required)

  - `items.sku` (string, required)
    SKU do item.

  - `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.

  - `price_conditions` (array,null)
    Matriz de objetos com condições que definem a faixa de preço para aplicar a promoção. A promoção se aplica apenas a itens cujo preço atenda a todas as condições da matriz. Se você passar essa matriz, defina o valor do objeto [items](/pt/api/shop-builder/operation/create-item-promotion/#!path=items&t=request) como null.

  - `price_conditions.operator` (string, required)
    Operador de comparação para definir a faixa de preço para aplicar a promoção.

Possíveis valores:
- ge — Maior ou igual
- gt — Maior do que
- le — Menor ou igual
- lt — Menor do que
- eq — Equivalente
- ne — Não equivalente
    Enum: "ge", "gt", "le", "lt", "eq", "ne"

  - `price_conditions.value` (string, required)
    Valor para determinar a faixa de preço para aplicar a promoção.

  - `limits` (object)
    Limites da promoção.

  - `limits.per_user` (integer,null)
    Limitação de promoção para um usuário separado.

  - `limits.recurrent_schedule` (object,null)
    Limite o período de atualização.

  - `limits.recurrent_schedule.per_user` (any)
    Período de atualização do limite do usuário.

  - `excluded_promotions` (array)
    Lista de IDs de promoção a serem excluídos ao aplicar esta promoção. Example: [12, 789]

  - `is_enabled` (boolean)
    Se a promoção está habilitada ou não.

## Response 201 fields (application/json):

  - `promotion_id` (integer)
    ID de promoção. Identificador exclusivo da promoção dentro do projeto.

## 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 `items` is required"

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


