---
title: "Atualizar um desconto da loja"
method: PUT
path: "/{alias}/discounts/{id}"
tags: ["Descontos"]
---

# Atualizar um desconto da loja

`PUT /{alias}/discounts/{id}`

Atualiza 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

- object — Exibe detalhes das regras do desconto
  - `data` DiscountView[]
    - `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.
  - `restrictions` object — Restrições gerais para aplicação do desconto.
    - `include` object
      - `products_ids` integer[]
      - `brands_ids` integer[]
      - `collections_ids` integer[]
      - `categories_ids` integer[]
    - `include_ids` integer[] — IDs incluídos na regra de aplicação do desconto.
  - `specifications` object — Configurações para aplicação do desconto.
    - `data` object
      - `cart_usage_limit` integer — Limite de uso do carrinho.
      - `get_products_quantity` integer — Quantidade de produtos a serem obtidos.
      - `set_cart_usage_limit` boolean — Define se há limite de uso por carrinho.
    - `restrictions` object
      - `include` object
        - `products_ids` integer[]
        - `brands_ids` integer[]
        - `collections_ids` integer[]
        - `categories_ids` integer[]
      - `include_ids` integer[] — IDs incluídos na regra de aplicação do desconto.

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