> ## Documentation Index
> Fetch the complete documentation index at: https://pedirgasdocs.supergasbras.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Obter campanha

> Obtém a campanha existente pelo seu identificador.



## OpenAPI

````yaml https://promotion-ms.supergasbras.app/swagger/v1/swagger.json get /v1/campaigns/{campaignId}
openapi: 3.0.4
info:
  title: Promotion
  description: >-
    A API Promotion é responsável pelo gerenciamento de campanhas promocionais, 

    incluindo funcionalidades para códigos promocionais, programas de
    fidelidade, 

    programas de indicação, entre outras atividades promocionais.
  version: v1
  x-logo:
    url: |-
      data:image/png;base64,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
    altText: Logo
servers: []
security:
  - Bearer: []
tags:
  - name: Batches
    description: Representa o lote das tarefas executadas em segundo plano.
  - name: Campaigns
    description: >-
      Representa o recurso principal usado para controlar o comportamento das
      promoções.

      Combina conjuntos de regras, códigos promocionais e limites numa única
      entidade.
  - name: Coupons
    description: Representa os códigos promocionais associados a uma campanha.
  - name: Customers
    description: Representa os dados dos clientes que participam das campanhas.
  - name: Infrastructure
    description: Responsável por lidar com operações relacionadas à infraestrutura
  - name: Loyalties
    description: Representa o programa de fidelidade associado a uma campanha.
  - name: Referrals
    description: Representa o programa de indicação associado a uma campanha.
  - name: Rulesets
    description: Representa os conjuntos de regras associados a umo conjunto de regras.
  - name: Sessions
    description: Representa a sessão do cliente durante um processo de compra
paths:
  /v1/campaigns/{campaignId}:
    get:
      tags:
        - Campaigns
      summary: Obter campanha
      description: Obtém a campanha existente pelo seu identificador.
      operationId: getCampaign
      parameters:
        - name: campaignId
          in: path
          description: Identificador da campanha
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CampaignDtoIDataResponse'
        '400':
          description: Algum parâmetro está faltando ou está incorreto.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IErrorDataResponse'
        '401':
          description: O usuário não está autenticado, o token está expirado ou é inválido.
          content:
            application/json: {}
        '403':
          description: O usuário não tem as permissões necessárias para o acesso.
          content:
            application/json: {}
        '404':
          description: A campanha com o identificador informado não existe.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IErrorDataResponse'
        '500':
          description: Ocorreu um erro inesperado ao processar a solicitação.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IErrorDataResponse'
components:
  schemas:
    CampaignDtoIDataResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/CampaignDto'
      additionalProperties: false
    IErrorDataResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorData'
          nullable: true
          readOnly: true
      additionalProperties: false
    CampaignDto:
      required:
        - features
        - id
        - name
        - startAt
        - state
        - status
        - tags
        - type
      type: object
      properties:
        name:
          minLength: 1
          type: string
          description: Nome da campanha
          example: Dia das mães
        description:
          type: string
          description: Descrição da campanha
          nullable: true
          example: Campanha em comemoração ao dia das mães
        type:
          minLength: 1
          enum:
            - advanced
            - cartItem
          type: string
          description: Tipo da campanha
          example: advanced
        startAt:
          type: string
          description: Data de início da vigência da campanha
          format: date-time
          example: '2024-06-05T09:00:00-03:00'
        endAt:
          type: string
          description: Data de término da vigência da campanha
          format: date-time
          nullable: true
          example: '2030-06-05T23:59:59-03:00'
        features:
          type: array
          items:
            enum:
              - coupons
              - referrals
              - loyalty
              - giveaways
            type: string
            example: coupons
          description: Lista de recursos da campanha
          example:
            - coupons
            - referrals
        tags:
          type: array
          items:
            type: string
          description: Lista de tags da campanha
          example:
            - mães
            - maio
        loyaltySettings:
          $ref: '#/components/schemas/LoyaltyProgramSettingsDto'
        referralSettings:
          $ref: '#/components/schemas/ReferralProgramSettingsDto'
        state:
          minLength: 1
          enum:
            - draft
            - enabled
            - disabled
            - archived
          type: string
          description: Estado da campanha
          example: enabled
        status:
          minLength: 1
          enum:
            - draft
            - disabled
            - archived
            - scheduled
            - running
            - expired
          type: string
          description: Situação da campanha
          example: running
        attributes:
          type: object
          additionalProperties:
            nullable: true
          description: Atributos customizados de chave e valor
          nullable: true
          example:
            externalId: '123456'
        id:
          type: string
          description: Identificador do registro
          format: uuid
        createdAt:
          type: string
          format: date-time
        modifiedAt:
          type: string
          format: date-time
          nullable: true
      additionalProperties: false
      description: Campanha das promoções
    ErrorData:
      type: object
      properties:
        code:
          type: string
          nullable: true
        target:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
      additionalProperties: false
    LoyaltyProgramSettingsDto:
      required:
        - name
        - programExitPolicy
        - programJoinPolicy
        - programRedemptionPolicy
      type: object
      properties:
        name:
          minLength: 1
          type: string
          description: Nome do programa de fidelidade
          example: Clube Pedir Gás
        description:
          type: string
          description: Descrição do programa de fidelidade
          nullable: true
          example: Programa de fidelidade do Clube Pedir Gás
        defaultValidity:
          type: string
          description: >-
            A duração padrão após a qual os novos pontos de fidelidade devem
            expirar


            O formato de tempo é um inteiro seguido por uma letra indicando a
            unidade de tempo.


            Unidades disponíveis:


            - `s`: segundos

            - `m`: minutos

            - `h`: horas

            - `D`: dias

            - `W`: semanas

            - `M`: meses

            - `Y`: anos
          nullable: true
          example: 5D
        defaultPending:
          type: string
          description: >-
            A duração padrão do tempo pendente após o qual os pontos devem ser
            válidos


            O formato de tempo é um inteiro seguido por uma letra indicando a
            unidade de tempo.


            Unidades disponíveis:


            - `s`: segundos

            - `m`: minutos

            - `h`: horas

            - `D`: dias

            - `W`: semanas

            - `M`: meses

            - `Y`: anos
          nullable: true
          example: 5D
        programJoinPolicy:
          minLength: 1
          enum:
            - none
            - manualJoin
          type: string
          description: >-
            A política que define quando o cliente se junta ao programa de
            fidelidade
          example: manualJoin
        programExitPolicy:
          minLength: 1
          enum:
            - none
            - keepPoints
            - erasePoints
          type: string
          description: A política que define quando o cliente sai do programa de fidelidade
          example: keepPoints
        programRedemptionPolicy:
          minLength: 1
          enum:
            - none
            - manual
            - automatic
          type: string
          description: A política que define como será o resgate do programa de fidelidade
          example: automatic
        autoRedemptionSettings:
          $ref: '#/components/schemas/LoyaltyRedemptionSettingsDto'
      additionalProperties: false
      description: Configurações do programa de fidelidade da campanha
    ReferralProgramSettingsDto:
      required:
        - name
        - pattern
        - validCharacters
      type: object
      properties:
        name:
          minLength: 1
          type: string
          description: Nome do programa de indicação
          example: Clube Pedir Gás
        description:
          type: string
          description: Descrição do programa de indicação
          nullable: true
          example: Programa de indicação do Clube Pedir Gás
        pattern:
          minLength: 1
          type: string
          description: >-
            Padrão usado para gerar o código de indicação.
                        
            O caractere `#` é um espaço reservado e é substituído por um
            caractere aleatório do conjunto `validCharacters`.
          example: INDIQ######
        validCharacters:
          type: array
          items:
            type: string
          description: >-
            Lista de caracteres usados para gerar as partes aleatórias de um
            código de indicação.
                        
            Por padrão, a lista de caracteres é equivalente à expressão regular
            `[A-Z0-9]`.
          example:
            - A
            - B
            - C
            - D
            - E
            - F
            - G
            - H
            - I
            - J
            - K
            - L
            - M
            - 'N'
            - O
            - P
            - Q
            - R
            - S
            - T
            - U
            - V
            - W
            - X
            - 'Y'
            - Z
            - '0'
            - '1'
            - '2'
            - '3'
            - '4'
            - '5'
            - '6'
            - '7'
            - '8'
            - '9'
        programRewardSettings:
          $ref: '#/components/schemas/ReferralRewardSettingsDto'
      additionalProperties: false
      description: Configurações do programa de indicação da campanha
    LoyaltyRedemptionSettingsDto:
      required:
        - amount
      type: object
      properties:
        amount:
          type: integer
          description: Quantidade de pontos por resgate
          format: int32
          example: 5
        couponSettings:
          $ref: '#/components/schemas/CouponUsageSettingsDto'
      additionalProperties: false
      description: Configurações de resgate automático do programa de fidelidade
    ReferralRewardSettingsDto:
      required:
        - activationPolicy
        - activationTarget
      type: object
      properties:
        activationTarget:
          type: integer
          description: A meta de indicados necessária para ativar a recompensa do indicador
          format: int32
          example: 3
        activationPolicy:
          minLength: 1
          enum:
            - none
            - firstPurchase
            - anyPurchase
            - registration
          type: string
          description: A política que define as regras para a ativação da recompensa
          example: firstPurchase
        advocateSettings:
          $ref: '#/components/schemas/ReferralCustomerRewardSettingsDto'
        friendSettings:
          $ref: '#/components/schemas/ReferralCustomerRewardSettingsDto'
      additionalProperties: false
      description: Configurações de recompensa do programa de indicação
    CouponUsageSettingsDto:
      required:
        - discount
        - discountLimit
        - pattern
      type: object
      properties:
        pattern:
          minLength: 1
          type: string
          description: >-
            Padrão usado para gerar o código promocional.
                        
            O caractere `#` é um espaço reservado e é substituído por um
            caractere aleatório do conjunto `validCharacters`.
          example: CLUBE-######
        validCharacters:
          type: array
          items:
            type: string
          description: >-
            Lista de caracteres usados para gerar as partes aleatórias de um
            código promocional.
                        
            Por padrão, a lista de caracteres é equivalente à expressão regular
            `[A-Z0-9]`.
          nullable: true
          example:
            - A
            - B
            - C
            - D
            - E
            - F
            - G
            - H
            - I
            - J
            - K
            - L
            - M
            - 'N'
            - O
            - P
            - Q
            - R
            - S
            - T
            - U
            - V
            - W
            - X
            - 'Y'
            - Z
            - '0'
            - '1'
            - '2'
            - '3'
            - '4'
            - '5'
            - '6'
            - '7'
            - '8'
            - '9'
        discount:
          $ref: '#/components/schemas/DiscountDto'
        discountLimit:
          type: integer
          description: >-
            Valor total do desconto que o código promocional pode oferecer.
                        
            Expresso em valor monetário.
                        
            O valor informado será considerado apenas se o valor do campo
            `discount.type` for `"percentage"`.
          format: int32
          example: 120
        validityDuration:
          type: string
          description: >-
            A duração após a qual os novos códigos promocionais de fidelidade
            devem expirar


            O formato de tempo é um inteiro seguido por uma letra indicando a
            unidade de tempo.


            Unidades disponíveis:


            - `s`: segundos

            - `m`: minutos

            - `h`: horas

            - `D`: dias

            - `W`: semanas

            - `M`: meses

            - `Y`: anos
          nullable: true
          example: 5D
        pendingDuration:
          type: string
          description: >-
            A duração após a qual os novos códigos promocionais de fidelidade
            devem ser válidos


            O formato de tempo é um inteiro seguido por uma letra indicando a
            unidade de tempo.


            Unidades disponíveis:


            - `s`: segundos

            - `m`: minutos

            - `h`: horas

            - `D`: dias

            - `W`: semanas

            - `M`: meses

            - `Y`: anos
          nullable: true
          example: 5D
      additionalProperties: false
      description: Configurações de uso do código promocional
    ReferralCustomerRewardSettingsDto:
      type: object
      properties:
        couponSettings:
          $ref: '#/components/schemas/CouponUsageSettingsDto'
      additionalProperties: false
      description: Configurações de recompensa do cliente do programa de indicação
    DiscountDto:
      required:
        - type
        - value
      type: object
      properties:
        type:
          minLength: 1
          enum:
            - monetary
            - percentage
          type: string
          description: Tipo do desconto do código promocional
          example: monetary
        value:
          type: integer
          description: Valor do desconto do código promocional com base no `type`
          format: int32
          example: 120
      additionalProperties: false
      description: Detalhes do desconto do código promocional
  securitySchemes:
    Bearer:
      type: http
      description: |-
        Token de acesso `accessToken` obtido do serviço de autenticação.

        *O usuário administrador deve ser do tipo **Marketing**.*
      scheme: Bearer
      bearerFormat: JWT

````