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

# Deduzir pontos do programa de fidelidade

> Deduz os pontos do programa de fidelidade da campanha.



## OpenAPI

````yaml https://promotion-ms.supergasbras.app/swagger/v1/swagger.json post /v1/campaigns/{campaignId}/loyalty/transactions/deduct
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}/loyalty/transactions/deduct:
    post:
      tags:
        - Loyalties
      summary: Deduzir pontos do programa de fidelidade
      description: Deduz os pontos do programa de fidelidade da campanha.
      operationId: deductLoyaltyPoints
      parameters:
        - name: campaignId
          in: path
          description: Identificador da campanha
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        description: Dados dos pontos
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeductLoyaltyPointsCommand'
      responses:
        '204':
          description: No Content
        '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 ou usuário com o identificador informado não existe.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IErrorDataResponse'
        '422':
          description: >-
            Os dados enviados não atendem às regras de validação. Revise as
            informações e tente novamente.
          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:
    DeductLoyaltyPointsCommand:
      type: object
      properties:
        integrationId:
          type: string
          description: Identificador de integração do cliente
          nullable: true
          example: a071f271-9039-497e-a9e3-019484dd2312
        amount:
          type: integer
          description: Quantidade de pontos da transação
          format: int32
          example: 1
        reason:
          type: string
          description: Motivo dos pontos da transação
          nullable: true
          example: Compra de gás
        attributes:
          type: object
          additionalProperties:
            nullable: true
          description: Atributos customizados de chave e valor
          nullable: true
          example:
            externalId: '123456'
      additionalProperties: false
    IErrorDataResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ErrorData'
          nullable: true
          readOnly: true
      additionalProperties: false
    ErrorData:
      type: object
      properties:
        code:
          type: string
          nullable: true
        target:
          type: string
          nullable: true
        message:
          type: string
          nullable: true
      additionalProperties: false
  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

````