> ## 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 conjunto de regras

> Obtém o conjunto de regras existente pelo seu identificador.



## OpenAPI

````yaml https://promotion-ms.supergasbras.app/swagger/v1/swagger.json get /v1/campaigns/{campaignId}/rulesets/{rulesetId}
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,iVBORw0KGgoAAAANSUhEUgAAAQQAAACaBAMAAAC9PSu+AAAACX
      BIWXMAAA7DAAAOwwHHb6hkAAAAG1BMVEUAAADTMADTMQDTMgDTMQAAAAAAAAAAAAAAAABolM
      biAAAACXRSTlMAQL+A/0CAv/9sbqsWAAAFqklEQVR4nO2ZvXajOhDHhW2wyyTHD5BNeIB7Nj
      zAbswDuLHjkiaY0k0MZZoYHvtqPjQI7LvNngy30L+IQUijHzOjkRwbExQUFBQUFBQUFBQUFB
      QUNJWih2djfr7cTUfwkOcbY7I8/zEZwtoh/J5m/miI8M8EBOkQYaOPkOVDhFydYZ6PEXLtUK
      TXCK+6BHbyK4T8lypCegtB1Q2z/BZC/qiIkN1GUHTDnOfzESA0ud5msWCvZx4CxkavUGfsdE
      GAm1QzEnN2AnwSApSlmWYkeD1gcdjQB0QgVVwTGU0dcfTX/PprxWRgz+PUvzg5OSG1koHjAB
      +Agqlh3RBxu4I4C3Fm3KFTTs9ULR9n/UKgDXruJcWjCsJC6pI7pnCdmKntlmt8+7k4gd1whx
      86SyITBDmrUUmIVBFGXl/TjdqqTHGiRe6dFme52y01EdY+QqSMQO7O/DrECIM2ZQTTlwpFhP
      X/A0GqcZ8LkyHMJ1kRC39DmFNd0ESw7z8oTQspTTpfbjPZEDZ+06hmf6vWsiEMtimjuE0tJP
      D+Zr2RBwqaeadWdMND3h+lH1UQIlqVdGR8uYse3CEyy7X+zxHxoT339SoZoSI6oFAknH7LmV
      JF/C0q8hHuBofJb5f79ui54dFQYLT+5eW+ydE5njOBwNT+65ayGxzD650Z1AkFQQ2iIvQTrp
      6BYCZtKprLq5vo/p627FQ1DhyAzZ9bvlnodX/GB1kXakqpOg8JdP8DTG7INxj8+6dc3wl9SX
      h6ek694qCpeX4l9d9lsjHBBL9PjRgm+GFoxPA6yW+V82xqAqsXRzDdT6UmerEl4enHhD8YBw
      UFBQUF6Sg+nt/hoyzhbl9u4bK0H1Y7Eje9uyG7Y1nw5d5dsRkaYuRq68awRZzIDWYlndUFP+
      G26Qqz7LjNdKQv6tV1NPYNLksaXtmHaLihIXHfka64n7377Ocrja+Gh1whgJkxAnbpH6Plll
      FAHw6h28pg6hfTO/XzjZwAj68RLjcQTmKELCY0m3veCsJJBtPMS+ZP/EbSyqKXzdgLbV2j7a
      47QxLg0xravtBIez7yi6wYa0lmToBQlhV25CGIaA786is7uBx64YB5MM4Fui+M9E3Q3xX8rb
      AxuYj/P9EyDGnR4c4q9WOEhhEq6J74TrCdPyUiAwQD7zRCWMJf9uKWI3vE2xVnJSMsBQHNYD
      NO3s/nB6ItbiPAkBEC9Il9L9qbmOH6tHNO8REsPFk9DNIAtXRL5AbCyeWCj8D9HNnFoKcTZw
      YQdruG0rFgg+ilhOG69n1AQBl8Ka4RYsoFynNGOMjK4WZ420aWCZgBBJsg7bbPhYL9j1fxeD
      0YrjPX6WhfZIywP0JHzAeHAME6YBpQhds6BKprRXJsnNkTZSIVkBHDkZbxCIGmGCBQUi99L1
      ADFqeSCggj0KIsVjxdDNFa0cyVqy+ekgb6UR6xUURAK2faGxhBvOWVMx5okopLk903KmhjhK
      3hpZTwy+/J9lAVjd2i7S0jSDgp7wDBOlpWBOeFq8b8fg6owboGCFKYuk4SueKqPsxJRkgcQn
      3emiuElvz0RWa+sDZ6bgUTcR97QijE+VScxCm9moKdi5Yw0ktJlwHCkuaq0D+Y6c7yl5jpEb
      C0us2JtxWbj3FbmOHCBqBy13DhfbdXlyHCB236uChxkcCrX6Bjx7tA3RBeuTuQM+2AN1fdD2
      4Hp44XiB/P0jtBdq6VAx0g8FsiwhJ97vZC2VzB/5Vrc08pF/DWLWTsL4N79WeR/rDxXwjAe5
      LAFm6VQQgTlxQ9IEUR3UClA4P3JrP0qniJc5H6MH9ASFw2UEd3YoKaU7IZRuiXUyUFlDKkGj
      vBal/XH3RV1jWW70ROiSXJOpSa9jVYjY8ddtzzcRDPj2AG1iwEvcYHdFpMjmfjTovYsWzaDx
      MUFBQUFBQUFBQUFBQUFPT3+hdhiavi0aIAlwAAAABJRU5ErkJggg==
    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}/rulesets/{rulesetId}:
    get:
      tags:
        - Rulesets
      summary: Obter conjunto de regras
      description: Obtém o conjunto de regras existente pelo seu identificador.
      operationId: getRuleset
      parameters:
        - name: campaignId
          in: path
          description: Identificador da campanha
          required: true
          schema:
            type: string
            format: uuid
        - name: rulesetId
          in: path
          description: Identificador do conjunto de regras
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RulesetDtoIDataResponse'
        '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: O conjunto de regras 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:
    RulesetDtoIDataResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/RulesetDto'
      additionalProperties: false
    IErrorDataResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorData'
          nullable: true
          readOnly: true
      additionalProperties: false
    RulesetDto:
      required:
        - campaign
        - id
        - rules
        - state
        - tags
      type: object
      properties:
        name:
          type: string
          description: Nome do conjunto de regras de promoção
          nullable: true
          example: Regra de primeira compra
        rules:
          type: array
          items:
            $ref: '#/components/schemas/RuleDto'
          description: Regras de promoção com condições lógicas e efeitos aplicáveis
        tags:
          type: array
          items:
            type: string
          description: Lista de tags do conjunto de regras
          example:
            - primeira compra
        state:
          minLength: 1
          enum:
            - enabled
            - disabled
          type: string
          description: Estado do conjunto de regras
          example: enabled
        campaign:
          $ref: '#/components/schemas/CampaignSummaryDto'
        activatedAt:
          type: string
          description: Data e hora em que o conjunto de regras foi ativado.
          format: date-time
          nullable: true
        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: >-
        Conjunto de regras de promoção com condições lógicas e efeitos
        aplicáveis
    ErrorData:
      type: object
      properties:
        code:
          type: string
          nullable: true
        target:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
      additionalProperties: false
    RuleDto:
      required:
        - conditions
        - description
        - effects
        - name
        - operator
        - parameters
      type: object
      properties:
        name:
          minLength: 1
          type: string
          description: Nome da regra
          example: Dealer
        description:
          minLength: 1
          type: string
          description: Descrição da regra
          example: Validação da revenda
        parameters:
          type: object
          additionalProperties:
            nullable: true
          description: Conjunto de parâmetros associados à regra
          example:
            dealers:
              - 9052d465-cbeb-4527-afcd-ea944a6c74a6
        operator:
          minLength: 1
          type: string
          description: Operador lógico utilizado para avaliar as condições da regra
          example: and
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/ConditionDto'
          description: Conjunto de condições lógicas associadas à regra
        effects:
          type: array
          items:
            $ref: '#/components/schemas/EffectDto'
          description: >-
            Lista de efeitos que serão aplicados quando a condição da regra for
            satisfeita
      additionalProperties: false
      description: Regras de promoção com condições lógicas
    CampaignSummaryDto:
      required:
        - id
        - startAt
        - state
      type: object
      properties:
        id:
          type: string
          description: Identificador da campanha
          format: uuid
          example: de571341-28ea-48bb-8dcb-e32372db8606
        state:
          minLength: 1
          enum:
            - draft
            - enabled
            - disabled
            - archived
          type: string
          description: Estado da campanha
          example: enabled
        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'
      additionalProperties: false
      description: Campanha das promoções resumida
    ConditionDto:
      required:
        - type
      type: object
      properties:
        type:
          minLength: 1
          type: string
          description: Tipo da condição
          readOnly: true
        operator:
          type: string
          description: >-
            Operador lógico utilizado para definir a relação entre condições em
            uma regra
          nullable: true
      additionalProperties: false
      description: Condições lógicas da regra
    EffectDto:
      required:
        - description
        - name
        - parameters
        - type
      type: object
      properties:
        name:
          minLength: 1
          type: string
          description: Nome do efeito
          example: rejectCouponDealer
        description:
          minLength: 1
          type: string
          description: Descrição do efeito
          example: Rejeita cupons de outras revendas
        type:
          minLength: 1
          type: string
          description: Tipo do efeito
          example: rejectCoupon
        parameters:
          type: object
          additionalProperties:
            nullable: true
          description: Parâmetros específicos do efeito, definidos como chave-valor
          example:
            reason: O cupom é inválido para esta revenda
      additionalProperties: false
      description: Efeitos aplicados quando a regra é satisfeita
  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

````