---
title: "Criar um desconto da loja"
method: POST
path: "/{alias}/discounts"
tags: ["Descontos"]
---

# Criar um desconto da loja

`POST /{alias}/discounts`

Cria um desconto na loja

## Path parameters

- `alias` string, required

## Request body

- DiscountRequest
  - `name` string, required — Nome do desconto.
  - `code` string, nullable — Código do desconto.
  - `automatic` boolean — Define se o desconto é automático.
  - `store_id` integer — ID da loja.
  - `discount_method` 'percent' | 'amount', required — Método de desconto.
  - `discount_value` number, float, required — Valor do desconto. Se percentual, o máximo é 100.
  - `discount_type` 'buy_x_get_y' | 'by_payment_method', required — Tipo do desconto.
  - `entry_condition_type` 'amount' | 'quantity', required — Tipo de condição para aplicar o desconto.
  - `entry_condition_value` union, required — Valor mínimo (quantidade de produto ou valor do carrinho) necessário para ativar o desconto.
    - integer
    - number
  - `accumulate` boolean, required — Define se o desconto pode acumular com outras promoções.
  - `start_at` string, date-time, required — Data e hora de início
  - `end_at` string, date-time — Data e hora de término
  - `restrictions` object — Restrições de aplicação do desconto.
    - `include` object, required
      - `brands_ids` integer[], required — IDs das marcas incluídas.
      - `products_ids` integer[], required — IDs dos produtos incluídos.
      - `categories_ids` integer[], required — IDs das categorias incluídas.
      - `collections_ids` integer[], required — IDs das coleções incluídas.
  - `specifications` object — Configurações específicas do tipo de desconto. Os campos obrigatórios variam conforme discount_type.
    - `payment_method_type` 'pix' | 'credit_card' | 'billet' | 'pix_in_installments' | 'deposit' | 'nupay' — Método de pagamento vinculado ao desconto. Obrigatório quando discount_type=by_payment_method.
    - `set_cart_usage_limit` boolean — Define se há limite de uso por carrinho. Obrigatório quando discount_type=buy_x_get_y.
    - `cart_usage_limit` integer — Limite de vezes que o desconto pode ser aplicado no carrinho (0 = ilimitado). Obrigatório quando discount_type=buy_x_get_y.
    - `get_products_quantity` integer — Número de produtos que o cliente receberá. Obrigatório quando discount_type=buy_x_get_y.
    - `restrictions` object — Restrições aplicadas ao tipo de promoção específica. Obrigatório quando discount_type=buy_x_get_y.
      - `include` object
        - `brands_ids` integer[]
        - `products_ids` integer[]
        - `categories_ids` integer[]
        - `collections_ids` integer[]

## Response `200`

Detalhes do desconto

- DiscountView — Representa os atributos de um Desconto
  - `id` integer
  - `store_id` integer
  - `discount_type_id` integer
  - `name` string
  - `entry_condition_type` string
  - `entry_condition_value` number
  - `discount_method` string
  - `discount_value` number
  - `discount_type` string
  - `accumulate` boolean
  - `start_at` BaseTimestamp
    - `date` string — Data e hora no formato YYYY-MM-DD H:MM:SS.
    - `timezone_type` integer — Número de representação do timezone.
    - `timezone` string — Fuso horário associado.
  - `end_at` BaseTimestamp
    - `date` string — Data e hora no formato YYYY-MM-DD H:MM:SS.
    - `timezone_type` integer — Número de representação do timezone.
    - `timezone` string — Fuso horário associado.
  - `created_at` BaseTimestamp
    - `date` string — Data e hora no formato YYYY-MM-DD H:MM:SS.
    - `timezone_type` integer — Número de representação do timezone.
    - `timezone` string — Fuso horário associado.
  - `updated_at` BaseTimestamp
    - `date` string — Data e hora no formato YYYY-MM-DD H:MM:SS.
    - `timezone_type` integer — Número de representação do timezone.
    - `timezone` string — Fuso horário associado.

## Other responses

- `409` — Conflito com desconto existente. Retorna discount_id, accumulate e discount_value do desconto conflitante.
- `422` — Verifique os campos obrigatórios: discount_method, discount_value, discount_type, entry_condition_type, entry_condition_value, accumulate, start_at, name. O campo restrictions é obrigatório apenas para discount_type=buy_x_get_y.

---

[API](https://skmtc.net/yampi/apis/yampi-api.md) · [All operations](https://skmtc.net/yampi/apis/yampi-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/yampi/yampi-api/revisions/fa16c50bef09/schema)
