openapi: 3.0.1
info:
  title: Pix Banestes Cobrança
  description: >-
    Esta API padroniza serviços oferecidos pelo Banestes no contexto do arranjo
    Pix, como criação de cobrança, verificação de Pix recebidos, devolução,
    consultas e geração de QR Code. Os serviços expostos pelo Banestes permitem
    ao Parceiro recebedor estabelecer integração de sua automação com os
    serviços Pix do Banestes.

     ### Evolução da API Pix
    A API Pix acompanhará as funcionalidades previstas pela [API de
    referência](https://bacen.github.io/pix-api/index.html "API Pix - BACEN"), e
    todos os serviços contidos nela serão disponibilizados e atualizados.


    Além disso, necessidades advindas de parceiros do Banestes, com intuito de
    otimizar os serviços e integrações também, mas não necessariamente, podem
    ser adicionados de forma a tornar mais o serviço mais competitivo e de
    melhor usabilidade ao usuário final.


    No entanto, alterações podem ocorrer a qualquer momento, desde que não
    alterem o contrato de interface e/ou detalhamentos adicionais às
    especificações. Deste modo, os parceiros deverão estar preparados para lidar
    com essas mudanças.


    As seguintes mudanças são esperadas e consideradas retrocompatíveis:

     - Adição de novos recursos na API Pix
     - Adição de novos parâmetros opcionais a cobranças
     - Adição de novos campos em respostas da API Pix
     - Alteração da ordem de campos
     - Adição de novos elementos em enumerações

    [Documentação de Referência](https://bacen.github.io/pix-api/index.html "API
    Pix - BACEN")
  version: 1.3.2-38
servers:
  - url: 'https://api-pix-sandbox.banestes.b.br/pix-qrcode-cobranca/v1'
    description: 'SANDBOX'
  - url: 'https://api-pix.banestes.b.br/pix-qrcode-cobranca/v1'
    description: 'PRODUCTION'
tags:
  - name: QR Code
    description: Leitura e geração de QR Code
  - name: Cobrança Imediata (Cob)
    description: >-
      Reúne endpoints destinados a lidar com gerenciamento de cobranças
      imediatas
  - name: PayloadLocation
    description: >-
      Reúne endpoints destinados a lidar com configuração e remoção de locations
      para uso dos payloads
  - name: Consultas Pix
    description: Reúne endpoints destinados a lidar com gerenciamento de Pix recebidos
  - name: Webhook
    description: >-
      Reúne endpoints para gerenciamento de notificações por parte do Banestes
      ao usuário recebedor
paths:
  /webhook/{chave}:
    get:
      tags:
        - Webhook
      summary: Exibir informações acerca do Webhook Pix
      description: >-
        Endpoint para recuperação de informações sobre o Webhook Pix.
        Funcionalidade disponível apenas para uso via mTLS
      operationId: findByKey
      parameters:
        - name: chave
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Dados do webhook
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponseDTO'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '404':
          description: Recurso solicitado não foi encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecursoNaoEncontradoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: >-
            Serviço não está disponível no momento. Serviço solicitado pode
            estar em manutenção ou fora da janela de funcionamento
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
    put:
      tags:
        - Webhook
      summary: Configurar o Webhook Pix
      description: >-
        Endpoint para configuração do serviço de notificações acerca de Pix
        recebidos. Somente Pix associados a um txid serão notificados.
        Funcionalidade disponível apenas para uso via mTLS.
      operationId: createOrReplaceWebhook
      parameters:
        - name: chave
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CriarWebhookRequestDTO'
        required: true
      responses:
        '200':
          description: >-
            Webhook para notificações acerca de Pix recebidos associados a um
            txid
        '400':
          description: Requisição com formato inválido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequisicaoInvalidaSchema'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '404':
          description: Recurso solicitado não foi encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecursoNaoEncontradoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: >-
            Serviço não está disponível no momento. Serviço solicitado pode
            estar em manutenção ou fora da janela de funcionamento
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
      callbacks:
        listaPix:
          '{$request.body#/webhookUrl}/pix':
            post:
              description: >-
                O callback deve ser acionado sempre que um ou mais Pix
                associados a um txid forem recebidos pelo usuário recebedor e
                desde que a chave associada ao Pix em questão esteja associada a
                um webhook cadastrado.


                O callback também deve ser acionado sempre que uma devolução
                associada a um Pix associado a um txid atinja um status final:
                `DEVOLVIDO` ou `NAO_REALIZADO`.


                O SLA específico a ser definido no contexto dos acionamento dos
                callbacks fica a cargo de cada PSP recebedor. Orienta-se, no
                entanto, que o SLA seja definido dentro de um limite razoável
                tendo em vista que a expectativa é que o callback seja um aviso
                "on-line" da ocorrência do pagamento.


                No contexto da estratégia específica de SLA de cada PSP
                recebedor, é possível agrupar Pix associados a uma mesma chave
                para economizar acionamentos múltiplos. Este serviço está
                protegido por uma camada de autenticação mTLS. Para maiores
                detalhes, verificar o [Manual de padrões para iniciação do
                Pix](https://www.bcb.gov.br/estabilidadefinanceira/pix).
              requestBody:
                description: Dados para notificação dos Pix.
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/NotificacaoWebhookPixWrapperRequest'
                required: true
              responses:
                '200':
                  description: Notificação recebida com sucesso
    delete:
      tags:
        - Webhook
      summary: Cancelar o Webhook Pix
      description: >-
        Endpoint para cancelamento do webhook. Não é a única forma pela qual um
        webhook pode ser removido.


        O Banestes está livre para remover unilateralmente um webhook que esteja
        associado a uma chave que não pertence mais a este usuário recebedor.
        Funcionalidade disponível apenas para uso via mTLS
      operationId: cancelByKey
      parameters:
        - name: chave
          in: path
          required: true
          schema:
            type: string
      responses:
        '204':
          description: Webhook para notificações Pix foi cancelado
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '404':
          description: Recurso solicitado não foi encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecursoNaoEncontradoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: >-
            Serviço não está disponível no momento. Serviço solicitado pode
            estar em manutenção ou fora da janela de funcionamento
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
  /cob/{txid}:
    get:
      tags:
        - Cobrança Imediata (Cob)
      summary: Consultar cobrança
      description: Endpoint para consultar uma cobrança através de um determinado txid
      operationId: findByTxId
      parameters:
        - name: txid
          in: path
          required: true
          schema:
            type: string
        - name: revisao
          in: query
          required: false
          schema:
            type: integer
            format: int32
      responses:
        '200':
          description: Dados da cobrança
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobrancaImediataResponseDTO'
        '400':
          description: Requisição com formato inválido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequisicaoInvalidaSchema'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '404':
          description: Recurso solicitado não foi encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecursoNaoEncontradoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: ' Serviço não está disponível no momento. Serviço solicitado pode estar em manutenção ou fora da janela de funcionamento'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
    put:
      tags:
        - Cobrança Imediata (Cob)
      summary: Criar uma cobrança
      description: Endpoint para criar uma cobrança
      operationId: createOrReplace
      parameters:
        - name: txid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CobrancaImediataCriarRequestDTO'
        required: true
      responses:
        '201':
          description: Cobrança criada
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobrancaImediataResponseDTO'
        '400':
          description: Requisição com formato inválido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequisicaoInvalidaSchema'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: ' Serviço não está disponível no momento. Serviço solicitado pode estar em manutenção ou fora da janela de funcionamento'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
    patch:
      tags:
        - Cobrança Imediata (Cob)
      summary: Revisar cobrança
      description: Endpoint para revisar cobrança
      operationId: update
      parameters:
        - name: txid
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CobrancaImediataAtualizarRequestDTO'
        required: true
      responses:
        '200':
          description: Cobrança revisada. A revisão deve ser incrementada em 1
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobrancaImediataResponseDTO'
        '400':
          description: Requisição com formato inválido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequisicaoInvalidaSchema'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '404':
          description: Recurso solicitado não foi encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecursoNaoEncontradoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: ' Serviço não está disponível no momento. Serviço solicitado pode estar em manutenção ou fora da janela de funcionamento'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
  /qr-code/ler:
    post:
      tags:
        - QR Code
      summary: Retorna dados do Pix
      description: Retorna dados para iniciação de Pix por meio de um QR Code
      operationId: readQrCode
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QrCodeLerRequestDTO'
        required: true
      responses:
        '200':
          description: Dados para pagamento da cobrança associada ao QR Code
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/QrCodeEstaticoResponseDTO'
                  - $ref: >-
                      #/components/schemas/QrcodeDinamicoCobrancaImediataResponseDTO
                  - $ref: >-
                      #/components/schemas/QrcodeDinamicoCobrancaComVencimentoResponseDTO
        '400':
          description: Requisição com formato inválido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequisicaoInvalidaSchema'
        '422':
          description: ' Erro de validação de um elemento'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntidadeNaoProcessavelSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
  /qr-code/estatico/gerar:
    post:
      tags:
        - QR Code
      summary: Gerar QR Code
      description: Retorna a representação em String de um QR Code
      operationId: getQrCode
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QrCodeEstaticoGerarRequestDTO'
        required: true
      responses:
        '200':
          description: Representação em String do QR Code
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QrCodeGeradoResponseDTO'
        '400':
          description: Requisição com formato inválido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequisicaoInvalidaSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
  /qr-code/dinamico/gerar:
    post:
      tags:
        - QR Code
      summary: Gerar QR Code por cobrança
      description: Retorna a representação em String de um QR Code a partir de uma cobrança
      operationId: getQrCodeDynamic
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/QrCodeDinamicoGerarRequestDTO'
        required: true
      responses:
        '200':
          description: Representação em String do QR Code
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/QrCodeGeradoResponseDTO'
        '400':
          description: Requisição com formato inválido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequisicaoInvalidaSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
  /loc:
    get:
      tags:
        - PayloadLocation
      summary: Consultar locations cadastradas
      description: Endpoint para consultar locations cadastradas
      operationId: findList_2
      parameters:
        - name: txidPresente
          in: query
          required: false
          schema:
            type: boolean
        - name: tipoCob
          in: query
          required: false
          schema:
            type: string
            enum:
              - cob
              - cobv
        - name: inicio
          in: query
          required: false
          schema:
            pattern: yyyy-MM-dd'T'HH:mm:ss[.SSS]['Z']
            type: string
            format: date-time
        - name: fim
          in: query
          required: false
          schema:
            pattern: yyyy-MM-dd'T'HH:mm:ss[.SSS]['Z']
            type: string
            format: date-time
        - name: paginacao.paginaAtual
          in: query
          required: false
          schema:
            minimum: 0
            type: integer
            format: int32
            default: 0
        - name: paginacao.itensPorPagina
          in: query
          required: false
          schema:
            minimum: 1
            type: integer
            format: int32
            default: 100
      responses:
        '200':
          description: Lista dos locations cadastrados de acordo com o critério de busca
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/PayloadLocationPesquisaPaginadaResultadoResponseDTO
        '400':
          description: Requisição com formato inválido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequisicaoInvalidaSchema'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: >-
            Serviço não está disponível no momento. Serviço solicitado pode
            estar em manutenção ou fora da janela de funcionamento
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
    post:
      tags:
        - PayloadLocation
      summary: Criar location do payload
      description: Criar location do payload
      operationId: create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PayloadLocationCriarRequestDTO'
        required: true
      responses:
        '201':
          description: Dados da location do Payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadLocationResponseDTO'
        '400':
          description: Requisição com formato inválido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequisicaoInvalidaSchema'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: >-
            Serviço não está disponível no momento. Serviço solicitado pode
            estar em manutenção ou fora da janela de funcionamento
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
  /cob:
    get:
      tags:
        - Cobrança Imediata (Cob)
      summary: Consultar lista de cobranças
      description: >-
        Endpoint para consultar cobranças através de parâmetros como início,
        fim, cpf, cnpj e status
      operationId: findList_3
      parameters:
        - name: cpf
          in: query
          required: false
          schema:
            type: string
        - name: cnpj
          in: query
          required: false
          schema:
            type: string
        - name: locationPresente
          in: query
          required: false
          schema:
            type: boolean
        - name: status
          in: query
          required: false
          schema:
            type: string
            enum:
              - ATIVA
              - CONCLUIDA
              - REMOVIDA_PELO_USUARIO_RECEBEDOR
              - REMOVIDA_PELO_PSP
        - name: inicio
          in: query
          required: false
          schema:
            pattern: yyyy-MM-dd'T'HH:mm:ss[.SSS]['Z']
            type: string
            format: date-time
        - name: fim
          in: query
          required: false
          schema:
            pattern: yyyy-MM-dd'T'HH:mm:ss[.SSS]['Z']
            type: string
            format: date-time
        - name: paginacao.paginaAtual
          in: query
          required: false
          schema:
            minimum: 0
            type: integer
            format: int32
            default: 0
        - name: paginacao.itensPorPagina
          in: query
          required: false
          schema:
            minimum: 1
            type: integer
            format: int32
            default: 100
      responses:
        '200':
          description: Lista de cobranças
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CobrancaImediataPesquisaPaginadaResultadoResponseDTO
        '400':
          description: Requisição com formato inválido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequisicaoInvalidaSchema'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: ' Serviço não está disponível no momento. Serviço solicitado pode estar em manutenção ou fora da janela de funcionamento'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
    post:
      tags:
        - Cobrança Imediata (Cob)
      summary: Criar uma cobrança
      description: >-
        Endpoint para criar uma cobrança, neste caso, o txid será definido pelo
        BANESTES
      operationId: create_1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CobrancaImediataCriarRequestDTO'
        required: true
      responses:
        '201':
          description: Cobrança criada
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CobrancaImediataResponseDTO'
        '400':
          description: Requisição com formato inválido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RequisicaoInvalidaSchema'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: ' Serviço não está disponível no momento. Serviço solicitado pode estar em manutenção ou fora da janela de funcionamento'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
  /webhook:
    get:
      tags:
        - Webhook
      summary: Consultar webhooks cadastrados
      description: >-
        Endpoint para consultar Webhooks cadastrados. Funcionalidade disponível
        apenas para uso via mTLS
      operationId: findList
      parameters:
        - name: inicio
          in: query
          required: false
          schema:
            pattern: yyyy-MM-dd'T'HH:mm:ss[.SSS]['Z']
            type: string
            format: date-time
        - name: fim
          in: query
          required: false
          schema:
            pattern: yyyy-MM-dd'T'HH:mm:ss[.SSS]['Z']
            type: string
            format: date-time
        - name: paginacao.paginaAtual
          in: query
          required: false
          schema:
            minimum: 0
            type: integer
            format: int32
            default: 0
        - name: paginacao.itensPorPagina
          in: query
          required: false
          schema:
            minimum: 1
            type: integer
            format: int32
            default: 100
      responses:
        '200':
          description: Lista dos locations cadastrados de acordo com o critério de busca
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/WebhookPesquisaPaginadaResultadoResponseDTO
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '404':
          description: Recurso solicitado não foi encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecursoNaoEncontradoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: >-
            Serviço não está disponível no momento. Serviço solicitado pode
            estar em manutenção ou fora da janela de funcionamento
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
  /pix/{e2eid}:
    get:
      tags:
        - Consultas Pix
      summary: Consultar Pix por Identificação
      description: Endpoint para consultar um Pix através de um e2eid
      operationId: findById
      parameters:
        - name: e2eid
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Dados do Pix recebido
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PixResponseDTO'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '404':
          description: Recurso solicitado não foi encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecursoNaoEncontradoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: >-
            Serviço não está disponível no momento. Serviço solicitado pode
            estar em manutenção ou fora da janela de funcionamento
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
  /pix:
    get:
      tags:
        - Consultas Pix
      summary: Consultar Pix recebidos
      description: Endpoint para consultar Pix recebidos
      operationId: findList_1
      parameters:
        - name: txid
          in: query
          required: false
          schema:
            type: string
        - name: txidPresente
          in: query
          required: false
          schema:
            type: boolean
        - name: devolucaoPresente
          in: query
          required: false
          schema:
            type: boolean
        - name: cpf
          in: query
          required: false
          schema:
            type: string
        - name: cnpj
          in: query
          required: false
          schema:
            type: string
        - name: inicio
          in: query
          required: false
          schema:
            pattern: yyyy-MM-dd'T'HH:mm:ss[.SSS]['Z']
            type: string
            format: date-time
        - name: fim
          in: query
          required: false
          schema:
            pattern: yyyy-MM-dd'T'HH:mm:ss[.SSS]['Z']
            type: string
            format: date-time
        - name: paginacao.paginaAtual
          in: query
          required: false
          schema:
            minimum: 0
            type: integer
            format: int32
            default: 0
        - name: paginacao.itensPorPagina
          in: query
          required: false
          schema:
            minimum: 1
            type: integer
            format: int32
            default: 100
      responses:
        '200':
          description: Lista dos Pix recebidos de acordo com o critério de busca
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PixPesquisaPaginadaResultadoResponseDTO'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: >-
            Serviço não está disponível no momento. Serviço solicitado pode
            estar em manutenção ou fora da janela de funcionamento
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
  /loc/{id}:
    get:
      tags:
        - PayloadLocation
      summary: Recupera a location do payload
      description: Recupera a location do payload
      operationId: findById_1
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Dados da location do Payload
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadLocationConsultaResponseDTO'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '404':
          description: Recurso solicitado não foi encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecursoNaoEncontradoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: >-
            Serviço não está disponível no momento. Serviço solicitado pode
            estar em manutenção ou fora da janela de funcionamento
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
  /loc/{id}/txid:
    delete:
      tags:
        - PayloadLocation
      summary: Desvincular uma cobrança de uma location
      description: >-
        Endpoint utilizado para desvincular uma cobrança de uma location.


        Se executado com sucesso, a entidade loc não apresentará mais um txid,
        se apresentava anteriormente à chamada. Adicionalmente, a entidade cob
        ou cobv associada ao txid desvinculado também passará a não mais
        apresentar um location. Esta operação não altera o status da cob ou cobv
        em questão.
      operationId: detach
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: Cobrança representada pelo txid informado desvinculada com sucesso
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PayloadLocationResponseDTO'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '404':
          description: Recurso solicitado não foi encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecursoNaoEncontradoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: >-
            Serviço não está disponível no momento. Serviço solicitado pode
            estar em manutenção ou fora da janela de funcionamento
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
  /pix/{e2eid}/devolucao/{id}:
    get:
      tags:
        - Consultas Pix
      summary: Consultar Devolucao
      description: Endpoint para consultar uma devolução através de um End To End ID do Pix e do ID da devolução
      operationId: findRefund
      parameters:
        - name: e2eid
          in: path
          required: true
          schema:
            type: string
        - name: id 
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Dados da Devolução
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevolucaoResponseDTO'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '404':
          description: Recurso solicitado não foi encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecursoNaoEncontradoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: >-
            Serviço não está disponível no momento. Serviço solicitado pode
            estar em manutenção ou fora da janela de funcionamento
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
    put:
      tags:
        - Consultas Pix
      summary: Solicitar Devolucao
      description: Endpoint para solicitar uma devolução através de um e2eid do Pix e do ID da devolução. O motivo que será atribuído à PACS.004 será "MD06" ou "SL02" de acordo com a aba RTReason da PACS.004 que consta no Catálogo de Mensagens do Pix a depender da natureza da devolução (Vide a descrição deste campo).
      operationId: createRefund
      parameters:
        - name: e2eid
          in: path
          required: true
          schema:
            type: string
        - name: id 
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DevolucaoRequestDTO'
        required: true
      responses:
        '200':
          description: Dados da Devolução
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevolucaoResponseDTO'
        '403':
          description: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AcessoNegadoSchema'
        '404':
          description: Recurso solicitado não foi encontrado
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RecursoNaoEncontradoSchema'
        '500':
          description: Erro interno
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErroInternoSchema'
        '503':
          description: >-
            Serviço não está disponível no momento. Serviço solicitado pode
            estar em manutenção ou fora da janela de funcionamento
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServicoIndisponivelSchema'
components:
  schemas:
    CriarWebhookRequestDTO:
      title: Webhook Solicitado
      required:
        - webhookUrl
      type: object
      properties:
        webhookUrl:
          maxLength: 300
          type: string
          example: https://pix.example.com/api/webhook/
    ServicoIndisponivelSchema:
      required:
        - status
        - title
        - type
      type: object
      properties:
        type:
          type: string
          description: >-
            URI de referência que identifica o tipo de problema. De acordo com a
            RFC 7807
          example: https://pix.bcb.gov.br/api/v2/error/ServicoIndisponivel
        title:
          type: string
          description: Descrição resumida do problema
          example: Serviço Indisponível
        status:
          type: integer
          description: Código HTTP do status retornado
          format: int32
          example: 503
        detail:
          type: string
          description: Descrição completa do problema
          example: >-
            Serviço não está disponível no momento. Serviço solicitado pode
            estar em manutenção ou fora da janela de funcionamento
    RecursoNaoEncontradoSchema:
      required:
        - status
        - title
        - type
      type: object
      properties:
        type:
          type: string
          description: >-
            URI de referência que identifica o tipo de problema. De acordo com a
            RFC 7807
          example: https://pix.bcb.gov.br/api/v2/error/NaoEncontrado
        title:
          type: string
          description: Descrição resumida do problema
          example: Não Encontrado
        status:
          type: integer
          description: Código HTTP do status retornado
          format: int32
          example: 404
        detail:
          type: string
          description: Descrição completa do problema
          example: Entidade não encontrada
    AcessoNegadoSchema:
      required:
        - status
        - title
        - type
      type: object
      properties:
        type:
          type: string
          description: >-
            URI de referência que identifica o tipo de problema. De acordo com a
            RFC 7807
          example: https://pix.bcb.gov.br/api/v2/error/AcessoNegado
        title:
          type: string
          description: Descrição resumida do problema
          example: Acesso Negado
        status:
          type: integer
          description: Código HTTP do status retornado
          format: int32
          example: 403
        detail:
          type: string
          description: Descrição completa do problema
          example: >-
            Requisição de participante autenticado que viola alguma regra de
            autorização
    ErroInternoSchema:
      required:
        - status
        - title
        - type
      type: object
      properties:
        type:
          type: string
          description: >-
            URI de referência que identifica o tipo de problema. De acordo com a
            RFC 7807
          example: https://pix.bcb.gov.br/api/v2/error/ErroInterno
        title:
          type: string
          description: Descrição resumida do problema
          example: Erro Interno
        status:
          type: integer
          description: Código HTTP do status retornado
          format: int32
          example: 500
        detail:
          type: string
          description: Descrição completa do problema
          example: Erro inesperado
    ErroViolationResponseDTO:
      title: Violação
      type: object
      properties:
        razao:
          type: string
          description: Descrição do erro
          example: O valor para o campo não pode ser negativo
        propriedade:
          type: string
          description: Nome da propriedade
          example: Exemplo de propriedade do objeto
        valor:
          type: string
          description: Valor da propriedade
          example: '-10'
    RequisicaoInvalidaSchema:
      required:
        - status
        - title
        - type
      type: object
      properties:
        type:
          type: string
          description: >-
            URI de referência que identifica o tipo de problema. De acordo com a
            RFC 7807
          example: https://pix.bcb.gov.br/api/v2/error/OperacaoInvalida
        title:
          type: string
          description: Descrição resumida do problema
          example: Operação Inválida
        status:
          type: integer
          description: Código HTTP do status retornado
          format: int32
          example: 400
        detail:
          type: string
          description: Descrição completa do problema
          example: >-
            A requisição que busca alterar ou criar um registro não respeita o
            schema ou está semanticamente errada
        violacoes:
          type: array
          items:
            $ref: '#/components/schemas/ErroViolationResponseDTO'
    NotificacaoWebhookDevolucaoHorarioRequest:
      required:
        - solicitacao
      type: object
      properties:
        solicitacao:
          title: Horário de solicitação
          type: string
          description: Horário no qual a devolução foi solicitada no PSP
          format: date-time
        liquidacao:
          title: Horário de liquidação
          type: string
          description: Horário no qual a devolução foi liquidada no PSP
          format: date-time
    NotificacaoWebhookDevolucaoRequest:
      title: Devoluções
      required:
        - horario
        - id
        - natureza
        - rtrId
        - status
        - valor
      type: object
      properties:
        id:
          title: Id da Devolução
          pattern: ^[a-zA-Z0-9]{1,35}$
          type: string
          description: Id gerado pelo cliente para representar unicamente uma devolução
          example: '123456'
        rtrId:
          title: RtrId
          maxLength: 32
          minLength: 32
          pattern: ^[a-zA-Z0-9]{32}$
          type: string
          description: ReturnIdentification que transita na PACS004
          example: D12345678202009091000abcde123456
        valor:
          title: Valor a devolver
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Valor a devolver
          example: '7.89'
        natureza:
          title: Natureza da Devolucao
          type: string
          description: >-
            Indica qual é a natureza da devolução. Uma devolução pode ser
            relacionada a um Pix comum (com códigos possíveis: `MD06`, `BE08` e
            `FR01` da pacs.004), ou a um Pix de Saque ou Troco (com códigos
            possíveis: `MD06` e `SL02` da pacs.004). Na ausência deste campo a
            natureza deve ser interpretada como sendo de um Pix comum
            (ORIGINAL).


            As naturezas são assim definidas:


            * `ORIGINAL`: quando a devolução é solicitada pelo usuário recebedor
            e se refere a um Pix comum ou ao valor da compra em um Pix Troco
            (`MD06`);

            * `RETIRADA`: quando a devolução é solicitada pelo usuário recebedor
            e se refere a um Pix Saque ou ao valor do troco em um Pix Troco
            (`SL02`);

            * `MED_OPERACIONAL`: quando a devolução ocorre no âmbito do MED por
            motivo de falha operacional e se refere a um Pix comum (`BE08`);

            * `MED_FRAUDE`: quando a devolução ocorre no âmbito do MED por
            fundada suspeita de fraude e se refere a um Pix comum (`FR01`).


            Os valores de devoluções são sempre limitados aos valores máximos a
            seguir:


            * Pix comum: o valor da devolução é limitado ao valor do próprio Pix
            (a natureza nesse caso pode ser: ORIGINAL, MED_OPERACIONAL ou
            MED_FRAUDE);

            * Pix Saque: o valor da devolução é limitado ao valor da retirada (a
            natureza nesse caso deve ser: RETIRADA); e

            * Pix Troco: o valor da devolução é limitado ao valor relativo à
            compra ou ao troco:


            - Quando a devolução for referente à compra, o valor limita-se ao
            valor da compra (a natureza nesse caso deve ser ORIGINAL); e

            - Quando a devolução for referente ao troco, o valor limita-se ao
            valor do troco (a natureza nesse caso deve ser RETIRADA).
          example: ORIGINAL
          enum:
            - ORIGINAL
            - RETIRADA
        descricao:
          title: Mensagem ao pagador relativa à devolução.
          maxLength: 140
          type: string
          description: >-
            O campo `descricao`, opcional, determina um texto a ser apresentado
            ao pagador contendo informações sobre a devolução. Esse texto será
            preenchido, na pacs.004, pelo PSP do recebedor, no campo
            RemittanceInformation. O tamanho do campo na pacs.004 está limitado
            a 140 caracteres.
          example: descrição devolução
        horario:
          $ref: '#/components/schemas/NotificacaoWebhookDevolucaoHorarioRequest'
        status:
          title: Status
          type: string
          description: Status da devolução
          enum:
            - EM_PROCESSAMENTO
            - DEVOLVIDO
            - NAO_REALIZADO
        motivo:
          title: Descrição do status
          maxLength: 140
          type: string
          description: >-
            ### Status da Devolução


            Campo opcional que pode ser utilizado pelo PSP recebedor para
            detalhar os motivos de a devolução ter atingido o status em questão.
            Pode ser utilizado, por exemplo, para detalhar o motivo de a
            devolução não ter sido realizada
          example: motivo devolução
    NotificacaoWebhookPixRequest:
      title: Pix
      required:
        - endToEndId
        - horario
        - valor
      type: object
      properties:
        endToEndId:
          title: Id fim a fim da transação
          maxLength: 32
          minLength: 32
          pattern: ^[a-zA-Z0-9]{32}$
          type: string
          description: EndToEndIdentification que transita na PACS002, PACS004 e PACS008
          example: E12345678202009091221kkkkkkkkkkk
        txid:
          title: Id da Transação
          pattern: ^[a-zA-Z0-9]{1,35}$
          type: string
          description: >-
            # Identificador da transação

            O campo `txid` determina o identificador da transação. O objetivo
            desse campo é ser um elemento que possibilite ao PSP do recebedor
            apresentar ao usuário recebedor a funcionalidade de conciliação de
            pagamentos.


            Na PACS.008, é referenciado como `TransactionIdentification` <txId>
            ou `idConciliacaoRecebedor`.


            Em termos de fluxo de funcionamento, o txid é lido pelo aplicativo
            do PSP do pagador e, depois de confirmado o pagamento, é enviado
            para o SPI via PACS.008. Uma PACS.008 também é enviada ao PSP do
            recebedor, contendo, além de todas as informações usuais do
            pagamento, o txid. Ao perceber um recebimento dotado de txid, o PSP
            do recebedor está apto a se comunicar com o usuário recebedor,
            informando que um pagamento específico foi liquidado.


            O txid é criado exclusivamente pelo usuário recebedor e está sob sua
            responsabilidade. O txid, no contexto de representação de uma
            cobrança, é único por CPF/CNPJ do usuário recebedor. Cabe ao PSP
            recebedor validar essa regra na API PIX
          example: c3e0e7a4e7f1469a9f782d3d4999343c
        valor:
          title: Valor do Pix
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Valor do Pix
        chave:
          title: Chave DICT do recebedor
          maxLength: 77
          type: string
          description: >-
            # Formato do campo chave

            * O campo chave determina a chave Pix registrada no DICT que será
            utilizada para a cobrança. Essa chave será lida pelo aplicativo do
            PSP do pagador para consulta ao DICT, que retornará a informação que
            identificará o recebedor da cobrança

            * Os tipos de chave podem ser: telefone, e-mail, cpf/cnpj ou EVP

            * O formato das chaves pode ser encontrado na seção "Formatação das
            chaves do DICT no BR Code" do [Manual de Padrões para iniciação do
            PIX](https://www.bcb.gov.br/estabilidadefinanceira/pix)
          example: 7d9f0335-8dcc-4054-9bf9-0dbd61d36907
        horario:
          title: Horário
          type: string
          description: Horário em que o Pix foi processado no PSP
          format: date-time
          example: '2020-09-09T20:15:00.358Z'
        infoPagador:
          title: Informação livre do pagador
          maxLength: 140
          type: string
          example: '0123456789'
        devolucoes:
          title: Devoluções
          type: array
          items:
            $ref: '#/components/schemas/NotificacaoWebhookDevolucaoRequest'
    NotificacaoWebhookPixWrapperRequest:
      title: Notificação Webhook
      type: object
      properties:
        pix:
          type: array
          items:
            $ref: '#/components/schemas/NotificacaoWebhookPixRequest'
    CalendarioRequestDTO:
      title: Calendário
      type: object
      properties:
        expiracao:
          title: Tempo de vida da cobrança, especificado em segundos
          minimum: 1
          type: integer
          description: >-
            Tempo de vida da cobrança, especificado em segundos a partir da data
            de criação (Calendario.criacao)
          format: int32
          example: 3600
          default: 86400
      description: >-
        Os campos aninhados sob o identificador calendário organizam informações
        a respeito de controle de tempo da cobrança
    CobrancaImediataCriarRequestDTO:
      title: Cobrança Imediata Solicitada
      required:
        - calendario
        - chave
        - valor
      type: object
      properties:
        calendario:
          $ref: '#/components/schemas/CalendarioRequestDTO'
        devedor:
          $ref: '#/components/schemas/PessoaRequestDTO'
        loc:
          $ref: '#/components/schemas/PayloadLocationCobrancaCriarRequestDTO'
        valor:
          $ref: '#/components/schemas/ValorCriarRequestDTO'
        chave:
          title: Chave DICT do recebedor
          maxLength: 77
          type: string
          description: >-
            # Formato do campo chave

            * O campo chave determina a chave Pix registrada no DICT que será
            utilizada para a cobrança. Essa chave será lida pelo aplicativo do
            PSP do pagador para consulta ao DICT, que retornará a informação que
            identificará o recebedor da cobrança

            * Os tipos de chave podem ser: telefone, e-mail, cpf/cnpj ou EVP

            * O formato das chaves pode ser encontrado na seção "Formatação das
            chaves do DICT no BR Code" do [Manual de Padrões para iniciação do
            Pix](https://www.bcb.gov.br/estabilidadefinanceira/pix)
          example: 7d9f0335-8dcc-4054-9bf9-0dbd61d36906
        solicitacaoPagador:
          title: Solicitação ao pagador
          maxLength: 140
          type: string
          description: >-
            O campo solicitacaoPagador, opcional, determina um texto a ser
            apresentado ao pagador para que ele possa digitar uma informação
            correlata, em formato livre, a ser enviada ao recebedor. Esse texto
            será preenchido, na pacs.008, pelo PSP do pagador, no campo
            RemittanceInformation. O tamanho do campo na pacs.008 está limitado
            a 140 caracteres
          example: Informar a cor da camisa
        infoAdicionais:
          title: Informações adicionais
          maximum: 50
          type: array
          description: >-
            Cada respectiva informação adicional contida na lista (nome e valor)
            deve ser apresentada ao pagador
          items:
            $ref: '#/components/schemas/InformacaoAdicionalRequestDTO'
      description: >-
        Dados enviados para criação ou alteração da cobrança imediata via API
        Pix
    InformacaoAdicionalRequestDTO:
      title: Informação Adicional Solicitada
      maximum: 50
      required:
        - nome
        - valor
      type: object
      properties:
        nome:
          title: Nome
          maxLength: 50
          type: string
          description: Nome do campo
          example: Informação Adicional
        valor:
          title: Valor
          maxLength: 200
          type: string
          description: Dados do campo
          example: Valor da Informação Adicional
      description: >-
        Cada respectiva informação adicional contida na lista (nome e valor)
        deve ser apresentada ao pagador
    PayloadLocationCobrancaCriarRequestDTO:
      title: Location do Payload Solicitado
      required:
        - id
      type: object
      properties:
        id:
          type: integer
          description: Identificador da localização do payload
          format: int64
          example: 1
      description: Identificador da localização do payload
      example: null
    PessoaFisicaRequestDTO:
      title: Pessoa Física
      required:
        - cpf
        - nome
      type: object
      properties:
        cpf:
          title: CPF
          pattern: ^\d{11}$
          type: string
          description: CPF do usuário
          example: '11122233344'
        nome:
          title: Nome
          maxLength: 200
          type: string
          description: Nome do usuário
          example: Joao
    PessoaJuridicaRequestDTO:
      title: Pessoa Jurídica
      required:
        - cnpj
        - nome
      type: object
      properties:
        cnpj:
          title: CNPJ
          pattern: ^\d{14}$
          type: string
          description: CNPJ do usuário
          example: '11122233344455'
        nome:
          title: Nome
          maxLength: 200
          type: string
          description: Nome do usuário
          example: Empresa de Serviço
    PessoaRequestDTO:
      title: Pessoa
      type: object
      description: >-
        Os campos aninhados sob o objeto devedor são opcionais e identificam o
        devedor, ou seja, a pessoa ou a instituição a quem a cobrança está
        endereçada. Não identifica, necessariamente, quem irá efetivamente
        realizar o pagamento. Um CPF pode ser o devedor de uma cobrança, mas
        pode acontecer de outro CPF realizar, efetivamente, o pagamento do
        documento. Não é permitido que o campo devedor.cpf e campo devedor.cnpj
        estejam preenchidos ao mesmo tempo. Se o campo devedor.cnpj está
        preenchido, então o campo devedor.cpf não pode estar preenchido, e
        vice-versa. Se o campo devedor.nome está preenchido, então deve existir
        ou um devedor.cpf ou um campo devedor.cnpj preenchido
      oneOf:
        - $ref: '#/components/schemas/PessoaFisicaRequestDTO'
        - $ref: '#/components/schemas/PessoaJuridicaRequestDTO'
    ValorCriarRequestDTO:
      title: Valor da cobrança imediata solicitado
      required:
        - original
      type: object
      properties:
        original:
          title: Valor
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Valor original da cobrança
          example: '37.55'
        modalidadeAlteracao:
          title: Modalidade de Alteração
          maximum: 1
          minimum: 0
          type: integer
          description: >-
            Trata-se de um campo que determina se o valor final do documento
            pode ser alterado pelo pagador. Na ausência desse campo, assume-se
            que não se pode alterar o valor do documento de cobrança, ou seja,
            assume-se o valor 0. Se o campo estiver presente e com valor 1,
            então está determinado que o valor final da cobrança pode ter seu
            valor alterado pelo pagador.
          format: int32
          example: 0
          default: 0
      description: Valores monetários referentes à cobrança
    CalendarioResponseDTO:
      title: Calendário
      required:
        - criacao
        - expiracao
      type: object
      properties:
        expiracao:
          title: Tempo de vida da cobrança, especificado em segundos
          type: integer
          description: >-
            Tempo de vida da cobrança, especificado em segundos a partir da data
            de criação (Calendario.criacao)
          format: int32
          example: 3600
        criacao:
          title: Data de Criação
          type: string
          description: >-
            Timestamp que indica o momento em que foi criada a cobrança.
            Respeita o formato definido na RFC 3339
          format: date-time
          example: '2020-04-01T00:00:00Z'
      description: >-
        Os campos aninhados sob o identificador calendário organizam informações
        a respeito de controle de tempo da cobrança
    CobrancaImediataResponseDTO:
      title: Cobrança Imediata
      required:
        - calendario
        - chave
        - pixCopiaECola
        - revisao
        - status
        - txid
        - valor
      type: object
      properties:
        calendario:
          $ref: '#/components/schemas/CalendarioResponseDTO'
        devedor:
          $ref: '#/components/schemas/PessoaResponseDTO'
        loc:
          $ref: '#/components/schemas/PayloadLocationResponseDTO'
        valor:
          $ref: '#/components/schemas/ValorImediataResponseDTO'
        chave:
          title: Chave DICT do recebedor
          maxLength: 77
          type: string
          description: >-
            # Formato do campo chave

            * O campo chave determina a chave Pix registrada no DICT que será
            utilizada para a cobrança. Essa chave será lida pelo aplicativo do
            PSP do pagador para consulta ao DICT, que retornará a informação que
            identificará o recebedor da cobrança

            * Os tipos de chave podem ser: telefone, e-mail, cpf/cnpj ou EVP

            * O formato das chaves pode ser encontrado na seção "Formatação das
            chaves do DICT no BR Code" do [Manual de Padrões para iniciação do
            Pix](https://www.bcb.gov.br/estabilidadefinanceira/pix)
        solicitacaoPagador:
          title: Solicitação ao pagador
          maxLength: 140
          type: string
          description: >-
            O campo solicitacaoPagador, opcional, determina um texto a ser
            apresentado ao pagador para que ele possa digitar uma informação
            correlata, em formato livre, a ser enviada ao recebedor. Esse texto
            será preenchido, na pacs.008, pelo PSP do pagador, no campo
            RemittanceInformation. O tamanho do campo na pacs.008 está limitado
            a 140 caracteres
        infoAdicionais:
          title: Informações adicionais
          maximum: 50
          type: array
          description: >-
            Cada respectiva informação adicional contida na lista (nome e valor)
            deve ser apresentada ao pagador
          items:
            $ref: '#/components/schemas/InformacaoAdicionalResponseDTO'
        txid:
          title: Id da Transação
          pattern: ^[a-zA-Z0-9]{26,35}$
          type: string
          description: >-
            # Identificador da transação

            O campo txid determina o identificador da transação. O objetivo
            desse campo é ser um elemento que possibilite ao PSP do recebedor
            apresentar ao usuário recebedor a funcionalidade de conciliação de
            pagamentos.


            Na PACS.008, é referenciado como TransactionIdentification <txId> ou
            idConciliacaoRecebedor.


            Em termos de fluxo de funcionamento, o txid é lido pelo aplicativo
            do PSP do pagador e, depois de confirmado o pagamento, é enviado
            para o SPI via PACS.008. Uma PACS.008 também é enviada ao PSP do
            recebedor, contendo, além de todas as informações usuais do
            pagamento, o txid. Ao perceber um recebimento dotado de txid, o PSP
            do recebedor está apto a se comunicar com o usuário recebedor,
            informando que um pagamento específico foi liquidado.


            O txid é criado exclusivamente pelo usuário recebedor e está sob sua
            responsabilidade. O txid, no contexto de representação de uma
            cobrança, é único por CPF/CNPJ do usuário recebedor. Cabe ao PSP
            recebedor validar essa regra na API Pix
        revisao:
          title: Revisão
          type: integer
          description: >-
            O campo revisao


            Denota a revisão da cobrança. Sempre começa em zero. Sempre varia em
            acréscimos de 1.


            O incremento em uma cobrança deve ocorrer sempre que um objeto da
            cobrança em questão for alterado. O campo loc é uma exceção a esta
            regra.


            Se em uma determinada alteração em uma cobrança, o único campo
            alterado for o campo loc, então esta operação não incrementa a
            revisão da cobrança.


            O campo loc não ocasiona uma alteração na cobrança em si. Não é
            necessário armazenar histórico das alterações do campo loc para uma
            determinada cobrança. Para os outros campos da cobrança, registra-se
            histórico.
          format: int32
          readOnly: true
        location:
          title: Localização do payload
          maxLength: 77
          type: string
          readOnly: true
        status:
          title: Status da Cobrança
          type: string
          enum:
            - ATIVA
            - CONCLUIDA
            - REMOVIDA_PELO_USUARIO_RECEBEDOR
            - REMOVIDA_PELO_PSP
        pixCopiaECola:
          title: Pix Copia e Cola correspondente à cobrança
          maxLength: 512
          type: string
          description: >-
            Este campo retorna o valor do Pix Copia e Cola correspondente à
            cobrança. Trata-se da sequência de caracteres que representa o QR
            Code
        pix:
          title: Pix recebidos
          type: array
          items:
            $ref: '#/components/schemas/PixResponseDTO'
      description: Dados criados ou alterados da cobrança imediata via API Pix
    DevolucaoResponseDTO:
      title: Devolução de PIX
      required:
        - horario
        - id
        - rtrId
        - status
        - valor
      type: object
      properties:
        id:
          title: Id da Devolução
          pattern: ^\d{11}$
          type: string
          description: Id gerado pelo cliente para representar unicamente uma devolução
          example: "id00000000000001"
        rtrId:
          title: RtrId
          maxLength: 32
          minLength: 32
          pattern: ^[a-zA-Z0-9]{32}$
          type: string
          description: ReturnIdentification que transita na PACS004
          example: D2812760320240101000000000000001
        valor:
          title: Valor a devolver
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Valor a devolver
          example: "1.95"
        natureza:
          title: Natureza da Devolução Solicitada
          type: string
          description: "Indica qual é a natureza da devolução solicitada. Uma solicitação de devolução pelo usuário recebedor pode ser relacionada a um Pix comum (com código: ```MD06``` da pacs.004), ou a um Pix de Saque ou Troco (com códigos possíveis: ```MD06``` e ```SL02``` da pacs.004). Na ausência deste campo a natureza deve ser interpretada como sendo de um Pix comum (```ORIGINAL```).\r\n\r\nAs naturezas são assim definidas:\r\n\r\n* ```ORIGINAL```: quando a devolução é solicitada pelo usuário recebedor e se refere a um Pix comum ou ao valor da compra em um Pix Troco (```MD06```);\r\n* ```RETIRADA```: quando a devolução é solicitada pelo usuário recebedor e se refere a um Pix Saque ou ao valor do troco em um Pix Troco (```SL02```).\r\n\r\nOs valores de devoluções são sempre limitados aos valores máximos a seguir:\n\n\r\n* Pix comum: o valor da devolução é limitado ao valor do próprio Pix (a natureza nesse caso deve ser: ORIGINAL);\r\n* Pix Saque: o valor da devolução é limitado ao valor da retirada (a natureza nesse caso deve ser: RETIRADA); e\r\n* Pix Troco: o valor da devolução é limitado ao valor relativo à compra ou ao troco:\r\n  + Quando a devolução for referente à compra, o valor limita-se ao valor da compra (a natureza nesse caso deve ser ORIGINAL); e\r\n  - Quando a devolução for referente ao troco, o valor limita-se ao valor do troco (a natureza nesse caso deve ser RETIRADA)"
          enum:
            - ORIGINAL
            - RETIRADA
        descricao:
          title: Mensagem ao pagador relativa à devolução.
          maxLength: 140
          type: string
          example: "Texto exemplo para descrição"
          description: >-
            O campo descricao, opcional, determina um texto a ser apresentado ao
            pagador contendo informações sobre a devolução. Esse texto será
            preenchido, na pacs.004, pelo PSP do recebedor, no campo
            RemittanceInformation. O tamanho do campo na pacs.004 está limitado
            a 140 caracteres.
        horario:
          $ref: '#/components/schemas/HorarioResponseDTO'
        status:
          title: Status
          type: string
          description: Status da devolução
          enum:
            - EM_PROCESSAMENTO
            - DEVOLVIDO
            - NAO_REALIZADO
        motivo:
          title: Descrição do status
          maxLength: 140
          type: string
          example: "Texto exemplo para motivo"
          description: >-
            ### Status da Devolução


            Campo opcional que pode ser utilizado pelo PSP recebedor para
            detalhar os motivos de a devolução ter atingido o status em questão.
            Pode ser utilizado, por exemplo, para detalhar o motivo de a
            devolução não ter sido realizada
    HorarioResponseDTO:
      title: Horário da Devolução PIX
      type: object
      properties:
        solicitacao:
          title: Horário de solicitação
          type: string
          description: Horário no qual a devolução foi solicitada no PSP
          format: date-time
        liquidacao:
          title: Horário de liquidação
          type: string
          description: Horário no qual a devolução foi liquidada no PSP
          format: date-time
    InformacaoAdicionalResponseDTO:
      title: Informação Adicional
      maximum: 50
      required:
        - nome
        - valor
      type: object
      properties:
        nome:
          title: Nome
          maxLength: 50
          type: string
          description: Nome do campo
          example: Informação Adicional
        valor:
          title: Valor
          maxLength: 200
          type: string
          description: Dados do campo
          example: Valor da Informação Adicional
      description: >-
        Cada respectiva informação adicional contida na lista (nome e valor)
        deve ser apresentada ao pagador
    PayloadLocationResponseDTO:
      title: Location do Payload
      required:
        - criacao
        - id
        - location
        - tipoCob
      type: object
      properties:
        id:
          title: Id da location
          type: integer
          description: Identificador da location a ser informada na criação da cobrança
          format: int64
          readOnly: true
        location:
          title: Localização do payload
          maxLength: 77
          type: string
          description: Localização do Payload a ser informada na criação da cobrança
          readOnly: true
          example: pix.example.com/qr/v2/2353c790eefb11eaadc10242ac120002
        tipoCob:
          title: Tipo da cobrança
          type: string
          enum:
            - cob
            - cobv
        criacao:
          title: Data de Criação
          type: string
          description: Data e hora em que a location foi criada. Respeita RFC 3339
          format: date-time
          readOnly: true
      description: Identificador da localização do payload
    PessoaFisicaResponseDTO:
      title: Pessoa Física
      required:
        - cpf
        - nome
      type: object
      properties:
        cpf:
          title: CPF
          pattern: ^\d{11}$
          type: string
          description: CPF do usuário
        nome:
          title: Nome
          maxLength: 200
          type: string
          description: Nome do usuário
    PessoaJuridicaResponseDTO:
      title: Pessoa Jurídica
      required:
        - cnpj
        - nome
      type: object
      properties:
        cnpj:
          title: CNPJ
          pattern: ^\d{14}$
          type: string
          description: CNPJ do usuário
        nome:
          title: Nome
          maxLength: 200
          type: string
          description: Nome do usuário
    PessoaResponseDTO:
      title: Pessoa
      type: object
      description: >-
        Os campos aninhados sob o objeto devedor são opcionais e identificam o
        devedor, ou seja, a pessoa ou a instituição a quem a cobrança está
        endereçada. Não identifica, necessariamente, quem irá efetivamente
        realizar o pagamento. Um CPF pode ser o devedor de uma cobrança, mas
        pode acontecer de outro CPF realizar, efetivamente, o pagamento do
        documento. Não é permitido que o campo devedor.cpf e campo devedor.cnpj
        estejam preenchidos ao mesmo tempo. Se o campo devedor.cnpj está
        preenchido, então o campo devedor.cpf não pode estar preenchido, e
        vice-versa. Se o campo devedor.nome está preenchido, então deve existir
        ou um devedor.cpf ou um campo devedor.cnpj preenchido
      oneOf:
        - $ref: '#/components/schemas/PessoaFisicaResponseDTO'
        - $ref: '#/components/schemas/PessoaJuridicaResponseDTO'
    PixResponseDTO:
      title: Pix Recebido
      required:
        - endToEndId
        - horario
        - valor
      type: object
      properties:
        endToEndId:
          title: Id fim a fim da transação
          maxLength: 32
          minLength: 32
          pattern: ^[a-zA-Z0-9]{32}$
          type: string
          description: EndToEndIdentification que transita na PACS002, PACS004 e PACS008
        txid:
          title: Id da Transação
          pattern: ^[a-zA-Z0-9]{1,35}$
          type: string
          description: >-
            # Identificador da transação

            O campo txid determina o identificador da transação. O objetivo
            desse campo é ser um elemento que possibilite ao PSP do recebedor
            apresentar ao usuário recebedor a funcionalidade de conciliação de
            pagamentos.


            Na PACS.008, é referenciado como TransactionIdentification <txId> ou
            idConciliacaoRecebedor.


            Em termos de fluxo de funcionamento, o txid é lido pelo aplicativo
            do PSP do pagador e, depois de confirmado o pagamento, é enviado
            para o SPI via PACS.008. Uma PACS.008 também é enviada ao PSP do
            recebedor, contendo, além de todas as informações usuais do
            pagamento, o txid. Ao perceber um recebimento dotado de txid, o PSP
            do recebedor está apto a se comunicar com o usuário recebedor,
            informando que um pagamento específico foi liquidado.


            O txid é criado exclusivamente pelo usuário recebedor e está sob sua
            responsabilidade. O txid, no contexto de representação de uma
            cobrança, é único por CPF/CNPJ do usuário recebedor. Cabe ao PSP
            recebedor validar essa regra na API Pix
        valor:
          title: Valor do Pix
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Valor do Pix
        chave:
          title: Chave DICT do recebedor
          maxLength: 77
          type: string
          description: >-
            # Formato do campo chave

            * O campo chave determina a chave Pix registrada no DICT que será
            utilizada para a cobrança. Essa chave será lida pelo aplicativo do
            PSP do pagador para consulta ao DICT, que retornará a informação que
            identificará o recebedor da cobrança

            * Os tipos de chave podem ser: telefone, e-mail, cpf/cnpj ou EVP

            * O formato das chaves pode ser encontrado na seção "Formatação das
            chaves do DICT no BR Code" do [Manual de Padrões para iniciação do
            Pix](https://www.bcb.gov.br/estabilidadefinanceira/pix)
        horario:
          title: Horário
          type: string
          description: Horário em que o Pix foi processado no PSP
          format: date-time
        infoPagador:
          title: Informação livre do pagador
          maxLength: 140
          type: string
        devolucoes:
          title: Devoluções
          type: array
          items:
            $ref: '#/components/schemas/DevolucaoResponseDTO'
    ValorImediataResponseDTO:
      title: Valor do QRCode Dinâmico - Cobrança Imediata
      required:
        - original
      type: object
      properties:
        original:
          title: Valor
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Valor original da cobrança
        modalidadeAlteracao:
          title: Modalidade de alteração
          maximum: 1
          minimum: 0
          type: integer
          description: >-
            Trata-se de um campo que determina se o valor final do documento
            pode ser alterado pelo pagador. Na ausência desse campo, assume-se
            que não se pode alterar o valor do documento de cobrança, ou seja,
            assume-se o valor 0. Se o campo estiver presente e com valor 1,
            então está determinado que o valor final da cobrança pode ter seu
            valor alterado pelo pagador.
          format: int32
    QrCodeLerRequestDTO:
      title: QR Code a ser traduzido
      required:
        - qrCodeText
      type: object
      properties:
        qrCodeText:
          title: Texto do QR Code
          type: string
          description: Representação em string do QR Code que deverá ser traduzido
          example: >-
            00020126940014br.gov.bcb.pix2572qr-h.sandbox.pix.bcb.gov.br/rest/api/v2/7ef845dbe32043eca92aee43146837225204000053039865802BR5903Pix6008BRASILIA62070503***63040D4C
        codMun:
          title: Código do município
          maxLength: 7
          minLength: 7
          type: string
          description: >-
            Código baseado na Tabela de Códigos de Municípios do IBGE que
            apresenta a lista dos municípios brasileiros associados a um código
            composto de 7 dígitos, sendo os dois primeiros referentes ao código
            da Unidade da Federação. Será utilizado apenas quando se tratar da
            leitura de um QR Code dinâmico com vencimento
          example: '3205309'
        dpp:
          title: Data pretendida de pagamento
          pattern: yyyy-MM-dd
          type: string
          description: >-
            Data de pagamento pretendida. Trata-se de uma data no formato
            yyyy-mm-dd, segundo ISO 8601. Será utilizado apenas quando se tratar
            da leitura de um QR Code dinâmico com vencimento
          example: '2021-04-01'
    QrCodeEstaticoResponseDTO:
      title: QRCode PIX Estático
      required:
        - chave
        - tipoQR
        - txid
      type: object
      properties:
        tipoQR:
          title: Tipo do QR code traduzido
          type: string
          enum:
            - ESTATICO
            - COB
            - COBV
        chave:
          title: Chave DICT do recebedor
          maxLength: 77
          type: string
          description: >-
            # Formato do campo chave

            * O campo chave determina a chave Pix registrada no DICT que será
            utilizada para a cobrança. Essa chave será lida pelo aplicativo do
            PSP do pagador para consulta ao DICT, que retornará a informação que
            identificará o recebedor da cobrança

            * Os tipos de chave podem ser: telefone, e-mail, cpf/cnpj ou EVP

            * O formato das chaves pode ser encontrado na seção "Formatação das
            chaves do DICT no BR Code" do [Manual de Padrões para iniciação do
            Pix](https://www.bcb.gov.br/estabilidadefinanceira/pix)
        txid:
          title: Id da Transação
          pattern: ^[a-zA-Z0-9]{26,35}$
          type: string
          description: >-
            # Identificador da transação

            O campo txid determina o identificador da transação. O objetivo
            desse campo é ser um elemento que possibilite ao PSP do recebedor
            apresentar ao usuário recebedor a funcionalidade de conciliação de
            pagamentos.


            Na PACS.008, é referenciado como TransactionIdentification <txId> ou
            idConciliacaoRecebedor.


            Em termos de fluxo de funcionamento, o txid é lido pelo aplicativo
            do PSP do pagador e, depois de confirmado o pagamento, é enviado
            para o SPI via PACS.008. Uma PACS.008 também é enviada ao PSP do
            recebedor, contendo, além de todas as informações usuais do
            pagamento, o txid. Ao perceber um recebimento dotado de txid, o PSP
            do recebedor está apto a se comunicar com o usuário recebedor,
            informando que um pagamento específico foi liquidado.


            O txid é criado exclusivamente pelo usuário recebedor e está sob sua
            responsabilidade. O txid, no contexto de representação de uma
            cobrança, é único por CPF/CNPJ do usuário recebedor. Cabe ao PSP
            recebedor validar essa regra na API Pix
        valor:
          $ref: '#/components/schemas/ValorEstaticoResponseDTO'
        infoAdicionais:
          title: Informações adicionais
          maxLength: 72
          type: string
          description: Informações adicionais enviadas pelo recebedor ao pagador
          example: Informação Adicional
    ValorEstaticoResponseDTO:
      title: Valor do QRCode Estático
      required:
        - original
      type: object
      properties:
        original:
          title: Valor
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Valor original da cobrança
    CalendarioCobrancaImediataResponseDTO:
      title: Calendário - Cobrança Imediata
      required:
        - apresentacao
        - criacao
        - expiracao
      type: object
      properties:
        criacao:
          title: Data de criação
          pattern: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
          type: string
          description: Timestamp que indica o momento em que foi criada a cobrança
          format: date-time
        apresentacao:
          title: Timestamp de apresentação do QR Code
          pattern: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
          type: string
          description: >-
            Timestamp que indica o momento em que o payload JSON que representa
            a cobrança foi recuperado. Ou seja, é o momento em que o usuário
            realizou a captura do QR Code para verificar os dados de pagamento
          format: date-time
        expiracao:
          title: Tempo de vida da cobrança, especificado em segundos
          type: integer
          description: >-
            Tempo de vida que este QR Code está apto a ser liquidado. Deve ser
            considerando, em segundos,a partir da data de criação
            (Calendario.criacao)
          format: int32
    QrcodeDinamicoCobrancaImediataResponseDTO:
      title: QRCode PIX Dinâmico - Cobrança Imediata
      required:
        - calendario
        - chave
        - jws
        - revisao
        - status
        - tipoQR
        - txid
        - valor
      type: object
      properties:
        tipoQR:
          title: Tipo do QR code traduzido
          type: string
          enum:
            - ESTATICO
            - COB
            - COBV
        chave:
          title: Chave DICT do recebedor
          maxLength: 77
          type: string
          description: >-
            # Formato do campo chave

            * O campo chave determina a chave Pix registrada no DICT que será
            utilizada para a cobrança. Essa chave será lida pelo aplicativo do
            PSP do pagador para consulta ao DICT, que retornará a informação que
            identificará o recebedor da cobrança

            * Os tipos de chave podem ser: telefone, e-mail, cpf/cnpj ou EVP

            * O formato das chaves pode ser encontrado na seção "Formatação das
            chaves do DICT no BR Code" do [Manual de Padrões para iniciação do
            Pix](https://www.bcb.gov.br/estabilidadefinanceira/pix)
        txid:
          title: Id da Transação
          pattern: ^[a-zA-Z0-9]{26,35}$
          type: string
          description: >-
            # Identificador da transação

            O campo txid determina o identificador da transação. O objetivo
            desse campo é ser um elemento que possibilite ao PSP do recebedor
            apresentar ao usuário recebedor a funcionalidade de conciliação de
            pagamentos.


            Na PACS.008, é referenciado como TransactionIdentification <txId> ou
            idConciliacaoRecebedor.


            Em termos de fluxo de funcionamento, o txid é lido pelo aplicativo
            do PSP do pagador e, depois de confirmado o pagamento, é enviado
            para o SPI via PACS.008. Uma PACS.008 também é enviada ao PSP do
            recebedor, contendo, além de todas as informações usuais do
            pagamento, o txid. Ao perceber um recebimento dotado de txid, o PSP
            do recebedor está apto a se comunicar com o usuário recebedor,
            informando que um pagamento específico foi liquidado.


            O txid é criado exclusivamente pelo usuário recebedor e está sob sua
            responsabilidade. O txid, no contexto de representação de uma
            cobrança, é único por CPF/CNPJ do usuário recebedor. Cabe ao PSP
            recebedor validar essa regra na API Pix
        infoAdicionais:
          title: Informações adicionais
          maximum: 50
          type: array
          description: >-
            Cada respectiva informação adicional contida na lista (nome e valor)
            deve ser apresentada ao pagador
          items:
            $ref: '#/components/schemas/InformacaoAdicionalResponseDTO'
        jws:
          title: Payload da cobrança
          type: string
          description: Payload completo da cobrança, extraído da URL contida no QR Code
        revisao:
          title: Revisão
          type: integer
          description: >-
            Denota a revisão da cobrança. Sempre começa em zero. Sempre varia em
            acréscimos de 1. O incremento em uma cobrança deve ocorrer sempre
            que um objeto da cobrança em questão for alterado
          format: int32
        devedor:
          $ref: '#/components/schemas/PessoaResponseDTO'
        status:
          title: Status da cobrança
          type: string
          enum:
            - ATIVA
            - CONCLUIDA
            - REMOVIDA_PELO_USUARIO_RECEBEDOR
            - REMOVIDA_PELO_PSP
        solicitacaoPagador:
          title: Solicitação ao pagador
          maxLength: 140
          type: string
          description: >-
            O campo solicitacaoPagador, opcional, determina um texto a ser
            apresentado ao pagador para que ele possa digitar uma informação
            correlata, em formato livre, a ser enviada ao recebedor. Esse texto
            será preenchido, na pacs.008, pelo PSP do pagador, no campo
            RemittanceInformation. O tamanho do campo na pacs.008 está limitado
            a 140 caracteres
        calendario:
          $ref: '#/components/schemas/CalendarioCobrancaImediataResponseDTO'
        valor:
          $ref: '#/components/schemas/ValorImediataResponseDTO'
    CalendarioCobrancaComVencimentoResponseDTO:
      title: Calendário - Cobrança com Vencimento
      required:
        - apresentacao
        - criacao
        - dataDeVencimento
      type: object
      properties:
        criacao:
          title: Data de criação
          pattern: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
          type: string
          description: Timestamp que indica o momento em que foi criada a cobrança
          format: date-time
          example: '2020-04-01T12:00:00.555Z'
        apresentacao:
          title: Timestamp de apresentação do QR Code
          pattern: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'
          type: string
          description: >-
            Timestamp que indica o momento em que o payload JSON que representa
            a cobrança foi recuperado. Ou seja, idealmente, é o momento em que o
            usuário realizou a captura do QR Code para verificar os dados de
            pagamento
          format: date-time
          example: '2020-04-01T12:00:00.555Z'
        dataDeVencimento:
          title: Data de vencimento da cobrança
          pattern: yyyy-MM-dd
          type: string
          description: >-
            Trata-se de uma data, no formato yyyy-mm-dd,segundo ISO 8601. É a
            data de vencimento da cobrança. A cobrança pode ser honrada até esse
            dia, inclusive, em qualquer horário do dia
          format: date
          example: '2020-04-01'
        validadeAposVencimento:
          title: Validade após vencimento
          type: integer
          description: >-
            Trata-se da quantidade de dias corridos após
            calendario.dataDeVencimento, em que a cobrança poderá ser paga
          format: int32
          example: 30
          default: 30
      description: >-
        Os campos aninhados sob o identificador calendário organizam informações
        a respeito de controle de tempo da cobrança
    PessoaJuridicaNomeFantasiaResponseDTO:
      title: Pessoa Jurídica
      required:
        - cnpj
        - nome
      type: object
      properties:
        cnpj:
          title: CNPJ
          pattern: ^\d{14}$
          type: string
          description: CNPJ do usuário
        nome:
          title: Nome
          maxLength: 200
          type: string
          description: Nome do usuário
        nomeFantasia:
          title: Nome fantasia
          maxLength: 200
          type: string
          description: Nome fantasia do usuário
    QrcodeDinamicoCobrancaComVencimentoResponseDTO:
      title: QRCode PIX Dinâmico - Cobrança com Vencimento
      required:
        - calendario
        - chave
        - jws
        - recebedor
        - revisao
        - status
        - tipoQR
        - txid
        - valor
      type: object
      properties:
        tipoQR:
          title: Tipo do QR code traduzido
          type: string
          enum:
            - ESTATICO
            - COB
            - COBV
        chave:
          title: Chave DICT do recebedor
          maxLength: 77
          type: string
          description: >-
            # Formato do campo chave

            * O campo chave determina a chave Pix registrada no DICT que será
            utilizada para a cobrança. Essa chave será lida pelo aplicativo do
            PSP do pagador para consulta ao DICT, que retornará a informação que
            identificará o recebedor da cobrança

            * Os tipos de chave podem ser: telefone, e-mail, cpf/cnpj ou EVP

            * O formato das chaves pode ser encontrado na seção "Formatação das
            chaves do DICT no BR Code" do [Manual de Padrões para iniciação do
            Pix](https://www.bcb.gov.br/estabilidadefinanceira/pix)
        txid:
          title: Id da Transação
          pattern: ^[a-zA-Z0-9]{26,35}$
          type: string
          description: >-
            # Identificador da transação

            O campo txid determina o identificador da transação. O objetivo
            desse campo é ser um elemento que possibilite ao PSP do recebedor
            apresentar ao usuário recebedor a funcionalidade de conciliação de
            pagamentos.


            Na PACS.008, é referenciado como TransactionIdentification <txId> ou
            idConciliacaoRecebedor.


            Em termos de fluxo de funcionamento, o txid é lido pelo aplicativo
            do PSP do pagador e, depois de confirmado o pagamento, é enviado
            para o SPI via PACS.008. Uma PACS.008 também é enviada ao PSP do
            recebedor, contendo, além de todas as informações usuais do
            pagamento, o txid. Ao perceber um recebimento dotado de txid, o PSP
            do recebedor está apto a se comunicar com o usuário recebedor,
            informando que um pagamento específico foi liquidado.


            O txid é criado exclusivamente pelo usuário recebedor e está sob sua
            responsabilidade. O txid, no contexto de representação de uma
            cobrança, é único por CPF/CNPJ do usuário recebedor. Cabe ao PSP
            recebedor validar essa regra na API Pix
        infoAdicionais:
          title: Informações adicionais
          maximum: 50
          type: array
          description: >-
            Cada respectiva informação adicional contida na lista (nome e valor)
            deve ser apresentada ao pagador
          items:
            $ref: '#/components/schemas/InformacaoAdicionalResponseDTO'
        jws:
          title: Payload da cobrança
          type: string
          description: Payload completo da cobrança, extraído da URL contida no QR Code
        revisao:
          title: Revisão
          type: integer
          description: >-
            Denota a revisão da cobrança. Sempre começa em zero. Sempre varia em
            acréscimos de 1. O incremento em uma cobrança deve ocorrer sempre
            que um objeto da cobrança em questão for alterado
          format: int32
        devedor:
          $ref: '#/components/schemas/PessoaResponseDTO'
        status:
          title: Status da cobrança
          type: string
          enum:
            - ATIVA
            - CONCLUIDA
            - REMOVIDA_PELO_USUARIO_RECEBEDOR
            - REMOVIDA_PELO_PSP
        solicitacaoPagador:
          title: Solicitação ao pagador
          maxLength: 140
          type: string
          description: >-
            O campo solicitacaoPagador, opcional, determina um texto a ser
            apresentado ao pagador para que ele possa digitar uma informação
            correlata, em formato livre, a ser enviada ao recebedor. Esse texto
            será preenchido, na pacs.008, pelo PSP do pagador, no campo
            RemittanceInformation. O tamanho do campo na pacs.008 está limitado
            a 140 caracteres
        calendario:
          $ref: '#/components/schemas/CalendarioCobrancaComVencimentoResponseDTO'
        recebedor:
          $ref: '#/components/schemas/RecebedorCobrancaComVencimentoResponseDTO'
        valor:
          $ref: '#/components/schemas/ValorCobrancaComVencimentoResponseDTO'
    RecebedorCobrancaComVencimentoResponseDTO:
      title: Recebedor do QRCode
      required:
        - cep
        - cidade
        - logradouro
        - uf
      type: object
      properties:
        logradouro:
          title: Logradouro
          maxLength: 200
          type: string
          description: Logradouro do usuário
        cidade:
          title: Cidade
          maxLength: 200
          type: string
          description: Cidade do usuário
        uf:
          title: UF
          maxLength: 2
          type: string
          description: UF do usuário
        cep:
          title: CEP
          maxLength: 8
          pattern: ^[0-9]{8}$
          type: string
          description: CEP do usuário
      description: O objeto recebedor organiza as informações sobre o credor da cobrança
      oneOf:
        - $ref: '#/components/schemas/PessoaFisicaResponseDTO'
        - $ref: '#/components/schemas/PessoaJuridicaNomeFantasiaResponseDTO'
    ValorCobrancaComVencimentoResponseDTO:
      title: Valor do QRCode Dinâmico - Cobrança com Vencimento
      required:
        - final
      type: object
      properties:
        original:
          title: Valor
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Valor original da cobrança
        multa:
          title: Multa aplicada
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Multa aplicada à cobrança
        juros:
          title: Juro aplicado
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Juro aplicado à cobrança
        abatimento:
          title: Abatimento aplicado
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Abatimento aplicado à cobrança
        desconto:
          title: Desconto Aplicado
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Descontos aplicados à cobrança
        final:
          title: Valor final
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Valor final da cobrança
      description: >-
        Todos os campos que indicam valores monetários obedecem ao formato do ID
        54 da especificação EMV/BR Code para QR Codes
    EntidadeNaoProcessavelSchema:
      required:
        - status
        - title
        - type
      type: object
      properties:
        type:
          type: string
          description: >-
            URI de referência que identifica o tipo de problema. De acordo com a
            RFC 7807
          example: https://pix.bcb.gov.br/api/v2/error/EntidadeNaoProcessavel
        title:
          type: string
          description: Descrição resumida do problema
          example: Entidade Não Processável
        status:
          type: integer
          description: Código HTTP do status retornado
          format: int32
          example: 422
        detail:
          type: string
          description: Descrição completa do problema
          example: A requisição não pôde ser processada
    QrCodeEstaticoGerarRequestDTO:
      title: QRCode Estático Solicitado
      required:
        - chave
        - merchantName
      type: object
      properties:
        chave:
          title: Chave DICT do recebedor
          maxLength: 77
          type: string
          description: >-
            # Formato do campo chave

            * O campo chave determina a chave Pix registrada no DICT que será
            utilizada para a cobrança. Essa chave será lida pelo aplicativo do
            PSP do pagador para consulta ao DICT, que retornará a informação que
            identificará o recebedor da cobrança

            * Os tipos de chave podem ser: telefone, e-mail, cpf/cnpj ou EVP

            * O formato das chaves pode ser encontrado na seção "Formatação das
            chaves do DICT no BR Code" do [Manual de Padrões para iniciação do
            Pix](https://www.bcb.gov.br/estabilidadefinanceira/pix)
          example: 7d9f0335-8dcc-4054-9bf9-0dbd61d36906
        merchantName:
          title: Nome do Recebedor
          maxLength: 25
          type: string
          description: Nome do Recebedor
          example: Loja de Roupas SA
        transactionAmount:
          title: Valor da transação
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: >-
            Campo opcional. Quando não informado, significa que o valor deverá
            ser inserido manualmentepelo pagador
          example: '55.55'
        txId:
          title: Id da transação
          maxLength: 25
          type: string
          description: >-
            Deve ser utilizado para conciliar pagamentos. Essa informação
            permitirá ao recebedor identificar e correlacionar a transferência,
            quando recebida, com a apresentação das instruções ao pagador
          example: '0123465789012346578912345'
        infoAdicional:
          title: Informações adicionais ao pagador
          maxLength: 72
          type: string
          example: Cor da camisa
    QrCodeGeradoResponseDTO:
      title: QRCode PIX
      required:
        - qrCodeText
      type: object
      properties:
        qrCodeText:
          title: Representação em String do QR Code gerado
          type: string
    QrCodeDinamicoGerarRequestDTO:
      title: QRCode Dinâmico Solicitado
      type: object
      properties:
        txid:
          title: Id da transação
          pattern: ^[a-zA-Z0-9]{26,35}$
          type: string
          description: >-
            O Id da transação deverá estar associado a uma cobrança e vinculado
            a uma location
          example: '012345678901234567890123456789123456'
        idLocation:
          title: Identificador da location
          type: integer
          description: A location deverá ter uma cobrança associada
          format: int64
          example: 789
    PayloadLocationCriarRequestDTO:
      title: Location do Payload Solicitado
      required:
        - tipoCob
      type: object
      properties:
        tipoCob:
          title: Tipo da cobrança
          type: string
          example: cob
          enum:
            - cob
            - cobv
      description: Identificador da localização do payload solicitada
    CalendarioAtualizarRequestDTO:
      title: Calendário revisado
      type: object
      properties:
        expiracao:
          title: Tempo de vida da cobrança, especificado em segundos
          minimum: 1
          type: integer
          description: >-
            Tempo de vida da cobrança, especificado em segundos a partir da data
            de criação (Calendario.criacao)
          format: int32
          example: 3600
          default: 86400
      description: >-
        Os campos aninhados sob o identificador calendário organizam informações
        a respeito de controle de tempo da cobrança
    CobrancaImediataAtualizarRequestDTO:
      title: Cobrança Imediata Revisada
      type: object
      properties:
        calendario:
          $ref: '#/components/schemas/CalendarioAtualizarRequestDTO'
        devedor:
          $ref: '#/components/schemas/PessoaAtualizarRequestDTO'
        loc:
          $ref: '#/components/schemas/PayloadLocationCobrancaAtualizarRequestDTO'
        valor:
          $ref: '#/components/schemas/ValorAtualizarRequestDTO'
        chave:
          maxLength: 77
          type: string
          description: Chave DICT do recebedor
          example: 7d9f0335-bbbb-4054-8af4-0dbd61d36906
        solicitacaoPagador:
          title: Solicitação ao Pagador
          maxLength: 140
          type: string
          description: Solicitação ao pagador
          example: Serviço realizado
        status:
          type: string
          description: Status da cobrança
          example: REMOVIDA_PELO_USUARIO_RECEBEDOR
          enum:
            - REMOVIDA_PELO_USUARIO_RECEBEDOR
        infoAdicionais:
          type: array
          description: >-
            Cada respectiva informação adicional contida na lista (nome e valor)
            deve ser apresentada ao pagador
          items:
            $ref: '#/components/schemas/InformacaoAdicionalRequestDTO'
      description: Dados enviados para revisão da cobrança imediata via API Pix
    PayloadLocationCobrancaAtualizarRequestDTO:
      title: Location do Payload Revisado
      required:
        - id
      type: object
      properties:
        id:
          type: integer
          description: Identificador da localização do payload
          format: int64
          example: 1
      description: Identificador da localização do payload
    PessoaAtualizarRequestDTO:
      title: Pessoa revisada
      type: object
      oneOf:
        - $ref: '#/components/schemas/PessoaFisicaRequestDTO'
        - $ref: '#/components/schemas/PessoaJuridicaRequestDTO'
    ValorAtualizarRequestDTO:
      title: Valor da cobrança imediata revisado
      required:
        - original
      type: object
      properties:
        original:
          title: Valor
          pattern: ^\d{1,10}\.\d{2}$
          type: string
          description: Valor original da cobrança
          example: '37.55'
        modalidadeAlteracao:
          title: Modalidade de Alteração
          maximum: 1
          minimum: 0
          type: integer
          description: >-
            Trata-se de um campo que determina se o valor final do documento
            pode ser alterado pelo pagador. Na ausência desse campo, assume-se
            que não se pode alterar o valor do documento de cobrança, ou seja,
            assume-se o valor 0. Se o campo estiver presente e com valor 1,
            então está determinado que o valor final da cobrança pode ter seu
            valor alterado pelo pagador.
          format: int32
          example: 0
          default: 0
      description: Valores monetários referentes à cobrança
    WebhookResponseDTO:
      title: Webhook
      required:
        - chave
        - criacao
        - webhookUrl
      type: object
      properties:
        webhookUrl:
          type: string
          format: uri
          example: ' https://pix.example.com/api/webhook/'
        chave:
          title: Chave DICT do recebedor
          maxLength: 77
          type: string
          description: |-
            # Formato do campo chave

                        * O campo chave determina a chave Pix registrada no DICT que será utilizada para a cobrança.Essa chave será lida pelo aplicativo do PSP do pagador para consulta ao DICT, que retornará a informação que identificará o recebedor da cobrança.
                        * Os tipos de chave podem ser: telefone, e-mail, cpf/cnpj ou EVP.
                        * O formato das chaves pode ser encontrado na seção "Formatação das chaves do DICT no BR Code" do [Manual de Padrões para iniciação do Pix] (https://www.bcb.gov.br/estabilidadefinanceira/pagamentosinstantaneos)
        criacao:
          title: Data de Criação
          type: string
          description: Data e hora em que o webhook foi cadastrado. Respeita RFC 3339
          format: date-time
          example: '2020-04-01T00:00:00Z'
    PaginacaoResponseDTO:
      title: Paginação
      required:
        - itensPorPagina
        - paginaAtual
        - quantidadeDePaginas
        - quantidadeTotalDeItens
      type: object
      properties:
        paginaAtual:
          title: Página atual
          minimum: 0
          type: integer
          description: Número da página recuperada
          format: int32
        itensPorPagina:
          title: Itens por página
          minimum: 1
          type: integer
          description: Quantidade de registros retornado na página
          format: int32
        quantidadeDePaginas:
          title: Quantidade de páginas
          minimum: 1
          type: integer
          description: Quantidade de páginas disponíveis para consulta
          format: int32
        quantidadeTotalDeItens:
          title: Quantidade total de itens
          minimum: 0
          type: integer
          description: >-
            Quantidade total de itens disponíveis de acordo com os parâmetros
            informados
          format: int64
    WebhookPesquisaPaginadaFiltrosResponseDTO:
      title: Parâmetros de Consulta de Webhooks
      required:
        - fim
        - inicio
        - paginacao
      type: object
      properties:
        inicio:
          title: Data de Início
          type: string
          description: Data inicial utilizada na consulta. Respeita RFC 3339
          format: date-time
          example: '2020-04-01T00:00:00Z'
        fim:
          title: Data de Fim
          type: string
          description: Data de fim utilizada na consulta. Respeita RFC 3339
          format: date-time
          example: '2020-04-01T17:00:00Z'
        paginacao:
          $ref: '#/components/schemas/PaginacaoResponseDTO'
      description: Parâmetros utilizados para a realização de uma consulta de Webhooks
    WebhookPesquisaPaginadaResultadoResponseDTO:
      title: Lista de Webhooks
      required:
        - parametros
        - webhooks
      type: object
      properties:
        parametros:
          $ref: '#/components/schemas/WebhookPesquisaPaginadaFiltrosResponseDTO'
        webhooks:
          title: Lista de webhooks
          type: array
          items:
            $ref: '#/components/schemas/WebhookResponseDTO'
    PixPesquisaPaginadaFiltrosResponseDTO:
      title: Parâmetros de Consulta Pix
      required:
        - fim
        - inicio
        - paginacao
      type: object
      properties:
        inicio:
          title: Data de Início
          type: string
          description: Data inicial utilizada na consulta. Respeita RFC 3339
          format: date-time
          example: '2020-04-01T00:00:00Z'
        fim:
          title: Data de Fim
          type: string
          description: Data de fim utilizada na consulta. Respeita RFC 3339
          format: date-time
          example: '2020-04-01T17:00:00Z'
        txid:
          title: Id da Transação
          pattern: ^[a-zA-Z0-9]{1,35}$
          type: string
          description: >-
            # Identificador da transação

            O campo txid determina o identificador da transação. O objetivo
            desse campo é ser um elemento que possibilite ao PSP do recebedor
            apresentar ao usuário recebedor a funcionalidade de conciliação de
            pagamentos.


            Na PACS.008, é referenciado como TransactionIdentification <txId> ou
            idConciliacaoRecebedor.


            Em termos de fluxo de funcionamento, o txid é lido pelo aplicativo
            do PSP do pagador e, depois de confirmado o pagamento, é enviado
            para o SPI via PACS.008. Uma PACS.008 também é enviada ao PSP do
            recebedor, contendo, além de todas as informações usuais do
            pagamento, o txid. Ao perceber um recebimento dotado de txid, o PSP
            do recebedor está apto a se comunicar com o usuário recebedor,
            informando que um pagamento específico foi liquidado.


            O txid é criado exclusivamente pelo usuário recebedor e está sob sua
            responsabilidade. O txid, no contexto de representação de uma
            cobrança, é único por CPF/CNPJ do usuário recebedor. Cabe ao PSP
            recebedor validar essa regra na API Pix
        txIdPresente:
          type: boolean
          description: Filtro pela existência de txid
        devolucaoPresente:
          type: boolean
          description: Filtro pela existência de devolução
        cpf:
          title: CPF
          pattern: ^\d{11}$
          type: string
          description: >-
            Filtro pelo CPF do pagador. Não pode ser utilizado ao mesmo tempo
            que o CNPJ
        cnpj:
          title: CNPJ
          pattern: ^\d{14}$
          type: string
          description: >-
            Filtro pelo CNPJ do pagador. Não pode ser utilizado ao mesmo tempo
            que o CPF
        paginacao:
          $ref: '#/components/schemas/PaginacaoResponseDTO'
      description: Parâmetros utilizados para a realização de uma consulta de Pix
    PixPesquisaPaginadaResultadoResponseDTO:
      title: Pix Recebidos
      required:
        - parametros
        - pix
      type: object
      properties:
        parametros:
          $ref: '#/components/schemas/PixPesquisaPaginadaFiltrosResponseDTO'
        pix:
          title: Lista de Pix Recebidos
          type: array
          items:
            $ref: '#/components/schemas/PixResponseDTO'
    PayloadLocationConsultaResponseDTO:
      title: Location do Payload Completa
      required:
        - criacao
        - id
        - location
        - tipoCob
      type: object
      properties:
        id:
          title: Id da location
          type: integer
          description: Identificador da location a ser informada na criação da cobrança
          format: int64
          readOnly: true
        location:
          title: Localização do payload
          maxLength: 77
          type: string
          description: Localização do Payload a ser informada na criação da cobrança
          readOnly: true
          example: pix.example.com/qr/v2/2353c790eefb11eaadc10242ac120002
        tipoCob:
          title: Tipo da cobrança
          type: string
          enum:
            - cob
            - cobv
        criacao:
          title: Data de Criação
          type: string
          description: Data e hora em que a location foi criada. Respeita RFC 3339
          format: date-time
          readOnly: true
        txid:
          title: Id da Transação
          pattern: ^[a-zA-Z0-9]{26,35}$
          type: string
          description: >-
            # Identificador da transação

            O campo txid determina o identificador da transação. O objetivo
            desse campo é ser um elemento que possibilite ao PSP do recebedor
            apresentar ao usuário recebedor a funcionalidade de conciliação de
            pagamentos.


            Na PACS.008, é referenciado como TransactionIdentification <txId> ou
            idConciliacaoRecebedor.


            Em termos de fluxo de funcionamento, o txid é lido pelo aplicativo
            do PSP do pagador e, depois de confirmado o pagamento, é enviado
            para o SPI via PACS.008. Uma PACS.008 também é enviada ao PSP do
            recebedor, contendo, além de todas as informações usuais do
            pagamento, o txid. Ao perceber um recebimento dotado de txid, o PSP
            do recebedor está apto a se comunicar com o usuário recebedor,
            informando que um pagamento específico foi liquidado.


            O txid é criado exclusivamente pelo usuário recebedor e está sob sua
            responsabilidade. O txid, no contexto de representação de uma
            cobrança, é único por CPF/CNPJ do usuário recebedor. Cabe ao PSP
            recebedor validar essa regra na API Pix
      description: Identificador da localização do payload completo
    PayloadLocationPesquisaPaginadaFiltrosResponseDTO:
      title: Parâmetros de consulta de locations
      required:
        - fim
        - inicio
        - paginacao
      type: object
      properties:
        inicio:
          title: Data de Início
          type: string
          description: Data inicial utilizada na consulta. Respeita RFC 3339
          format: date-time
          example: '2020-04-01T00:00:00Z'
        fim:
          title: Data de Fim
          type: string
          description: Data de fim utilizada na consulta. Respeita RFC 3339
          format: date-time
          example: '2020-04-01T17:00:00Z'
        txIdPresente:
          type: boolean
          description: Filtro pela existência de txid
        tipoCob:
          type: string
          enum:
            - cob
            - cobv
        paginacao:
          $ref: '#/components/schemas/PaginacaoResponseDTO'
      description: Parâmetros utilizados para a realização de uma consulta de locations
    PayloadLocationPesquisaPaginadaResultadoResponseDTO:
      title: Locations consultadas
      required:
        - loc
        - parametros
      type: object
      properties:
        parametros:
          $ref: >-
            #/components/schemas/PayloadLocationPesquisaPaginadaFiltrosResponseDTO
        loc:
          title: Lista de locations cadastradas
          type: array
          description: Lista de locations cadastradas
          items:
            $ref: '#/components/schemas/PayloadLocationConsultaResponseDTO'
    CobrancaImediataPesquisaPaginadaFiltrosResponseDTO:
      title: Parâmetros de Consulta de Cobrança
      required:
        - fim
        - inicio
        - paginacao
      type: object
      properties:
        inicio:
          title: Data de Início
          type: string
          description: Data inicial utilizada na consulta. Respeita RFC 3339
          format: date-time
          example: '2020-04-01T00:00:00Z'
        fim:
          title: Data de Fim
          type: string
          description: Data de fim utilizada na consulta. Respeita RFC 3339
          format: date-time
          example: '2020-04-01T17:00:00Z'
        cpf:
          title: CPF
          pattern: ^\d{11}$
          type: string
          description: >-
            Filtro pelo CPF do devedor. Não pode ser utilizado ao mesmo tempo
            que o CNPJ
        cnpj:
          title: CNPJ
          pattern: ^\d{14}$
          type: string
          description: >-
            Filtro pelo CNPJ do devedor. Não pode ser utilizado ao mesmo tempo
            que o CPF
        locationPresente:
          type: boolean
          description: Filtro pela existência de location vinculada
        status:
          title: Status da Cobrança
          type: string
          description: Filtro pelo status das cobranças
          enum:
            - ATIVA
            - CONCLUIDA
            - REMOVIDA_PELO_USUARIO_RECEBEDOR
            - REMOVIDA_PELO_PSP
        paginacao:
          $ref: '#/components/schemas/PaginacaoResponseDTO'
      description: Parâmetros utilizados para a realização de uma consulta de cobranças
    CobrancaImediataPesquisaPaginadaResultadoResponseDTO:
      title: Lista de Cobranças Imediatas
      required:
        - cobs
        - parametros
      type: object
      properties:
        parametros:
          $ref: >-
            #/components/schemas/CobrancaImediataPesquisaPaginadaFiltrosResponseDTO
        cobs:
          title: Lista de cobranças
          type: array
          items:
            $ref: '#/components/schemas/CobrancaImediataResponseDTO'
    DevolucaoRequestDTO:
      title: Devolução solicitada
      required:
        - valor
      type: object
      properties:
        valor:
          title: Valor a devolver
          type: string
          description: "Valor solicitado para devolução. A soma dos valores de todas as devolucões não podem ultrapassar o valor total do Pix original"
          pattern: ^\d{1,10}\.\d{2}$
          example: "1.95"
        natureza:
          title: Natureza da Devolução Solicitada
          type: string
          description: "Indica qual é a natureza da devolução solicitada. Uma solicitação de devolução pelo usuário recebedor pode ser relacionada a um Pix comum (com código: ```MD06``` da pacs.004), ou a um Pix de Saque ou Troco (com códigos possíveis: ```MD06``` e ```SL02``` da pacs.004). Na ausência deste campo a natureza deve ser interpretada como sendo de um Pix comum (```ORIGINAL```).\r\n\r\nAs naturezas são assim definidas:\r\n\r\n* ```ORIGINAL```: quando a devolução é solicitada pelo usuário recebedor e se refere a um Pix comum ou ao valor da compra em um Pix Troco (```MD06```);\r\n* ```RETIRADA```: quando a devolução é solicitada pelo usuário recebedor e se refere a um Pix Saque ou ao valor do troco em um Pix Troco (```SL02```).\r\n\r\nOs valores de devoluções são sempre limitados aos valores máximos a seguir:\n\n\r\n* Pix comum: o valor da devolução é limitado ao valor do próprio Pix (a natureza nesse caso deve ser: ORIGINAL);\r\n* Pix Saque: o valor da devolução é limitado ao valor da retirada (a natureza nesse caso deve ser: RETIRADA); e\r\n* Pix Troco: o valor da devolução é limitado ao valor relativo à compra ou ao troco:\r\n  + Quando a devolução for referente à compra, o valor limita-se ao valor da compra (a natureza nesse caso deve ser ORIGINAL); e\r\n  - Quando a devolução for referente ao troco, o valor limita-se ao valor do troco (a natureza nesse caso deve ser RETIRADA)"
          enum:
            - ORIGINAL
            - RETIRADA
        descricao:
          title: Mensagem ao pagador relativa à devolução.
          maxLength: 140
          type: string
          example: "Texto exemplo para descrição"
          description: >-
            O campo descricao, opcional, determina um texto a ser apresentado ao
            pagador contendo informações sobre a devolução. Esse texto será
            preenchido, na pacs.004, pelo PSP do recebedor, no campo
            RemittanceInformation. O tamanho do campo na pacs.004 está limitado
            a 140 caracteres.
  securitySchemes:
    oauth-hmg:
      type: oauth2
      description: Credenciais de Acesso
      name: Credenciais de Acesso
      scheme: bearer
      bearerFormat: JWT
      flows:
        clientCredentials:
          tokenUrl: >-
            https://sso-prd.apps.banestes.b.br/auth/realms/dev-portal/protocol/openid-connect/token
