---
title: "Obter promoção"
method: GET
path: "/api/promotions/{promotionId}"
tags: ["Admin API · Promoções"]
---

# Obter promoção

`GET /api/promotions/{promotionId}`

## Request

- Base URL: `https://sualoja.commerce-wake.tech`
- URL: `https://sualoja.commerce-wake.tech/api/promotions/{promotionId}`
- Auth: HTTP bearer

Retorna todos os dados de uma promoção, no mesmo formato aceito por Criar e Atualizar promoção, mais os campos
que só existem na resposta (IDs gerados, status calculado, cupons usados).
            
Permissão: **Cadastro de promoções — visualização**.

## Path parameters

- `promotionId` integer, required

## Headers

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

## Response `200`

A promoção em `data`.

- AsgardResponseDTOGetPromotionQueryDTO
  - `data` GetPromotionQueryDTO
    - `generalInformation` PromotionGeneralInformation
      - `name` string, nullable: Nome da promoção.
      - `isActive` boolean: Indicador de ativação.
      - `description` string, nullable: Descrição interna.
      - `startDateTime` string, date-time, nullable: Início da vigência. Mesmo valor de `startDate`.
      - `endDateTime` string, date-time, nullable: Fim da vigência. Mesmo valor de `endDate`.
      - `canAccumulate` boolean: Se acumula com outras promoções.
      - `accumulationScope` 0 | 1 | 2: Escopo de acúmulo de uma promoção que permite acumular. O lojista escolhe UM escopo por promoção — nunca mistura inclusão com exclusão.
      - `priority` integer, nullable: Prioridade. Mesmo valor de `order`.
      - `totalUsageLimit` integer, nullable: Limite total de usos (0 ou `null` = ilimitado).
      - `usageLimitPerCustomer` integer, nullable: Limite de usos por cliente (0 ou `null` = ilimitado).
      - `startDate` string, date-time, nullable: Mesmo valor de `startDateTime`, com o nome do POST/PUT.
      - `endDate` string, date-time, nullable: Mesmo valor de `endDateTime`, com o nome do POST/PUT.
      - `order` integer, nullable: Mesmo valor de `priority`, com o nome do POST/PUT.
    - `couponInformation` PromotionCouponInformation
      - `couponTotalUsageLimit` integer, nullable: Limite total de usos dos cupons.
      - `couponUsageLimitPerCustomer` integer, nullable: Limite de usos dos cupons por cliente.
      - `allowCustomerToReuseSameCoupon` boolean: Se o mesmo cliente pode reutilizar um código.
      - `couponCodes` string[], nullable: Códigos de cupom.
      - `hasMultipleCoupons` boolean: Se a promoção tem mais de um código.
      - `multipleCouponConfig` MultipleCouponConfigDTO
        - `hasMultipleCoupons` boolean: Somente leitura: deduzido da quantidade de códigos e ignorado na escrita.
        - `allowCustomerToReuseSameCoupon` boolean: Permite que o mesmo cliente reutilize um código. Só com mais de um cupom.
    - `discounts` PromotionDiscount[], nullable: Descontos.
      - `discountGroup` integer: Grupo do desconto.
      - `discountSubGroup` integer: Tipo do desconto dentro do grupo.
      - `discountPromotionId` integer: ID do desconto nesta promoção, usado em Categorias de um desconto. Muda a cada atualização.
      - `arguments` PromotionArgument[], nullable: Argumentos do desconto.
        - `id` integer: ID do argumento.
        - `name` string, nullable: Nome do argumento. Ignorado na escrita.
        - `values` string[], nullable: Valores do argumento, como strings. Na condição de clientes específicos, `values[0]` traz a quantidade de clientes vinculados, não os IDs.
        - `optional` boolean, nullable: Se o argumento é complementar. Ignorado na escrita.
    - `conditions` PromotionCondition[], nullable: Legado: condições fora de grupos. Use `conditionGroups`.
      - `conditionGroup` integer: Grupo da condição.
      - `conditionSubGroup` integer: Subgrupo da condição.
      - `conditionPromotionId` integer: ID da condição nesta promoção, usado em Clientes e Categorias de uma condição. Muda a cada atualização.
      - `logicOperator` LogicOperatorDetail
        - `id` integer: ID do operador.
        - `arguments` PromotionArgument[], nullable: Argumentos do operador.
          - `id` integer: ID do argumento.
          - `name` string, nullable: Nome do argumento. Ignorado na escrita.
          - `values` string[], nullable: Valores do argumento, como strings. Na condição de clientes específicos, `values[0]` traz a quantidade de clientes vinculados, não os IDs.
          - `optional` boolean, nullable: Se o argumento é complementar. Ignorado na escrita.
    - `conditionGroups` PromotionConditionGroup[], nullable: Grupos de condições.
      - `id` integer, nullable: ID do grupo. Pode ser reenviado no PUT, mas é ignorado; muda a cada atualização.
      - `name` string, nullable: Nome do grupo.
      - `conditions` PromotionCondition[], nullable: Condições do grupo.
        - `conditionGroup` integer: Grupo da condição.
        - `conditionSubGroup` integer: Subgrupo da condição.
        - `conditionPromotionId` integer: ID da condição nesta promoção, usado em Clientes e Categorias de uma condição. Muda a cada atualização.
        - `logicOperator` LogicOperatorDetail
          - `id` integer: ID do operador.
          - `arguments` PromotionArgument[], nullable: Argumentos do operador.
            - `id` integer: ID do argumento.
            - `name` string, nullable: Nome do argumento. Ignorado na escrita.
            - `values` string[], nullable: Valores do argumento, como strings. Na condição de clientes específicos, `values[0]` traz a quantidade de clientes vinculados, não os IDs.
            - `optional` boolean, nullable: Se o argumento é complementar. Ignorado na escrita.
    - `stamps` PromotionStamp[], nullable: Selos.
      - `stampId` integer: ID do selo.
      - `name` string, nullable: Nome do selo.
      - `active` boolean, nullable: Se o selo está ativo.
      - `order` integer, nullable: Ordem de exibição.
      - `urlImage` string, nullable: URL da imagem do selo.
    - `disclosure` PromotionDisclosure[], nullable: Textos de divulgação.
      - `type` string, nullable: Onde o texto aparece: "1" = spot, "2" = página de produto. Volta como string e pode ser reenviado assim.
      - `title` string, nullable: Título da divulgação.
      - `content` string, nullable: Texto da divulgação.
    - `partners` integer[], nullable: IDs de parceiros.
    - `entityRules` PromotionRule[], nullable: Regras adicionais.
      - `entityId` integer: Entidade da regra (de GET /api/promotions/structure/rules).
      - `validationId` integer: Tipo de validação aceito pela entidade.
      - `restrictionId` integer: Onde a regra vale: 1 = no desconto e nas condições, 2 = apenas no desconto (o item não recebe benefício), 3 = apenas nas condições (o item não conta para atingi-las). Enviar uma regra com 2 e outra igual com 3 equivale a 1.
      - `arguments` string[], nullable: Valores da regra, como strings.
    - `accumulationLinks` integer[], nullable: Ids das promoções citadas na lista de acúmulo desta promoção.
    - `accumulationLinkDetails` PromotionAccumulationLink[], nullable: Detalhes das promoções em `accumulationLinks` (nome, situação e vigência).
      - `promotionId` integer: ID da promoção vinculada.
      - `name` string, nullable: Nome da promoção vinculada.
      - `isActive` boolean: Se a promoção vinculada está ativa.
      - `startDateTime` string, date-time, nullable: Início da vigência da promoção vinculada.
      - `endDateTime` string, date-time, nullable: Fim da vigência da promoção vinculada.
      - `startDate` string, date-time, nullable: Mesmo valor de `startDateTime`, com o nome usado na escrita.
      - `endDate` string, date-time, nullable: Mesmo valor de `endDateTime`, com o nome usado na escrita.
    - `accumulationInboundLinks` PromotionAccumulationInboundLink[], nullable: Promoções que citam esta na regra de acúmulo delas. Somente leitura.
      - `promotionId` integer: Promoção de origem, dona da regra que cita esta promoção.
      - `name` string, nullable: Nome da promoção de origem.
      - `accumulationScope` 0 | 1 | 2: Escopo de acúmulo de uma promoção que permite acumular. O lojista escolhe UM escopo por promoção — nunca mistura inclusão com exclusão.
      - `isActive` boolean: Se a promoção de origem está ativa.

## 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).
- `404`: Promoção inexistente ou excluída (`NOT_FOUND`).
- `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)
