---
title: "Obter estrutura de descontos"
method: GET
path: "/api/promotions/structure/discounts"
tags: ["Admin API · Promoções"]
---

# Obter estrutura de descontos

`GET /api/promotions/structure/discounts`

## Request

- Base URL: `https://sualoja.commerce-wake.tech`
- URL: `https://sualoja.commerce-wake.tech/api/promotions/structure/discounts`
- Auth: HTTP bearer

Retorna os grupos de desconto disponíveis na loja, seus tipos (nominal, percentual, selecionável) e os argumentos
de cada um. Consulte-a antes de montar `discounts`. Não recebe parâmetros.
            
Permissão: **Cadastro de promoções — visualização**.

## Headers

- `x-api-version` '2.0', required

## Response `200`

Estrutura de descontos em `data`.

- AsgardResponseDTOGetDiscountsQueryDTO
  - `data` GetDiscountsQueryDTO
    - `discounts` DiscountGroups
      - `discountsGroup` DiscountGroup[], nullable: Grupos de desconto.
        - `discountGroupId` integer: Valor para `discounts[].discountGroup`.
        - `discountGroupType` string, nullable: Nome do grupo de desconto.
        - `prioritySelection` boolean: Indicador de exibição usado pelo painel; não afeta a gravação.
        - `discountsSubGroup` DiscountsSubGroup[], nullable: Tipos de desconto do grupo.
          - `discountSubGroupId` integer: Valor para `discounts[].discountSubGroup`: 1 nominal, 2 percentual, 3 selecionável.
          - `discountSubGroupType` string, nullable: Nome do tipo: Nominal, Percentual ou Selecionavel.
          - `selectionRequired` boolean: Indica que o tipo tem argumentos além do valor. Não significa que todos sejam obrigatórios.
          - `arguments` ArgumentsTypes[], nullable: Argumentos do tipo de desconto.
            - `id` integer: Valor para `discounts[].arguments[].id`.
            - `name` string, nullable: Nome do argumento.
            - `dataType` string, nullable: Formato do valor (ex.: Decimal, ListLong).
            - `argumentType` string, nullable: SingleSelect recebe um valor; MultiSelect, uma lista de IDs.
            - `required` boolean: Se o argumento é obrigatório.
            - `optionalArgumentsGroup` OptionalArgumentsGroups[], nullable: Argumentos complementares que podem acompanhar este argumento.
              - …

## Other responses

- `400`: Requisição inválida, incluindo a falta do header x-api-version. O motivo vem em details.
- `401`: Token ausente, inválido ou expirado (SESSION_INVALID), ou sem a permissão exigida (UNAUTHORIZED).
- `500`: Erro inesperado. Tente de novo; se persistir, contate o suporte com o traceId.

---

[API](https://skmtc.dev/fbits/apis/admin-api.md) - [All operations](https://skmtc.dev/fbits/apis/admin-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fbits/apis/admin-api/revisions/a37bfd1b0bf3?raw)
