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

# Obter estrutura de regras adicionais

`GET /api/promotions/structure/rules`

## Request

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

Retorna as entidades que podem ser usadas em `entityRules` e, para cada uma, os tipos de validação e de
restrição aceitos. Na maioria das entidades a restrição 1 ("ação e condição") não aparece: para aplicar a regra
em toda a promoção, envie uma regra com restrição 2 e outra igual com restrição 3.
            
Permissão: **Cadastro de promoções — visualização**.

## Headers

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

## Response `200`

Entidades e opções em `data`.

- AsgardResponseDTOGetStructureRulesQueryDTO
  - `data` GetStructureRulesQueryDTO
    - `rules` RuleQueryDTO[], nullable: Entidades disponíveis para regras adicionais.
      - `entityId` integer: Valor para `entityRules[].entityId`.
      - `name` string, nullable: Nome da entidade (ex.: Marca).
      - `description` string, nullable: Descrição da entidade.
      - `validationTypes` ValidationType[], nullable: Tipos de validação aceitos pela entidade.
        - `validationId` integer: Valor para `entityRules[].validationId`.
        - `name` string, nullable: Nome da validação (ex.: Apenas inclusos).
      - `restrictionTypes` RestrictionType[], nullable: Tipos de restrição aceitos pela entidade.
        - `restrictionId` integer: Valor para `entityRules[].restrictionId`.
        - `name` string, nullable: Nome da restrição (ex.: Apenas ação).
      - `arguments` PromotionRuleArgument[], nullable: Formato dos argumentos da regra.
        - `entityType` string, nullable: Entidade a que os valores se referem.
        - `argumentType` string, nullable: Formato dos valores (ex.: ListInt).
        - `multiselect` boolean: Se aceita mais de um valor.

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