> ## Documentation Index
> Fetch the complete documentation index at: https://bmpmoneyplus-sandbox.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 25 - Include

Through this endpoint, the partner includes a proposal, considering the use of a calculation model through the attribute `ProposalModel`.


## OpenAPI

````yaml post /Proposta/Incluir
openapi: 3.0.1
info:
  title: BMPDigitalCore.ApiExterna.Proposta.API
  version: '1.0'
servers:
  - url: https://api.bmpdigital.moneyp.dev.br/
    description: Localhost
security:
  - Bearer: []
paths:
  /Proposta/Incluir:
    post:
      tags:
        - Proposta
      parameters:
        - name: IdempotencyKey
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IncluirPropostaCommand'
          text/json:
            schema:
              $ref: '#/components/schemas/IncluirPropostaCommand'
          application/*+json:
            schema:
              $ref: '#/components/schemas/IncluirPropostaCommand'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/IncluirPropostaResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/IncluirPropostaResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/IncluirPropostaResponse'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/ResponseBase'
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseBase'
            text/json:
              schema:
                $ref: '#/components/schemas/ResponseBase'
components:
  schemas:
    IncluirPropostaCommand:
      type: object
      properties:
        dto:
          $ref: '#/components/schemas/InclusaoPropostaDTO'
        parametros:
          type: array
          items:
            $ref: '#/components/schemas/ParametroDTO'
          nullable: true
      additionalProperties: false
    IncluirPropostaResponse:
      type: object
      properties:
        msg:
          type: string
          nullable: true
        result:
          type: boolean
          writeOnly: true
        hasError:
          type: boolean
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Message'
          nullable: true
        codigo:
          type: string
          format: uuid
        numero:
          type: integer
          format: int64
      additionalProperties: false
    ResponseBase:
      type: object
      properties:
        msg:
          type: string
          nullable: true
        result:
          type: boolean
          writeOnly: true
        hasError:
          type: boolean
        messages:
          type: array
          items:
            $ref: '#/components/schemas/Message'
          nullable: true
      additionalProperties: false
    InclusaoPropostaDTO:
      required:
        - codigoOperacao
        - codigoVersaoCCB
        - documentoCliente
        - documentoParceiroCorrespondente
        - documentoPromotor
        - numeroCCB
        - tipoContrato
      type: object
      properties:
        codigoOperacao:
          maxLength: 50
          minLength: 0
          type: string
          description: Codigo da operação
          nullable: true
        documentoCliente:
          maxLength: 20
          minLength: 0
          type: string
          description: Documento do cliente
          nullable: true
        documentoParceiroCorrespondente:
          maxLength: 20
          minLength: 0
          type: string
          description: Documento do parceiro correspondente
          nullable: true
        documentoPromotor:
          maxLength: 20
          minLength: 0
          type: string
          description: Documento promotor
          nullable: true
        tipoContrato:
          maxLength: 5
          minLength: 0
          type: string
          description: Sigla do tipo de contrato a ser criado
          nullable: true
        codigoVersaoCCB:
          type: integer
          description: Codigo da versão CCB
          format: int64
          nullable: true
        numeroCCB:
          type: integer
          description: Número Reservado para vincular proposta
          format: int64
          nullable: true
        codigoLojaParceiro:
          maxLength: 25
          minLength: 0
          type: string
          description: Código Loja Parceiro
          nullable: true
        calculoProposta:
          $ref: '#/components/schemas/CalculoPropostaDTO'
        propostaContaPagamentoDTO:
          $ref: '#/components/schemas/PropostaContaPagamentoDTO'
        propostaLancamentos:
          type: array
          items:
            $ref: '#/components/schemas/PropostaLancamentoDTO'
          nullable: true
      additionalProperties: false
    ParametroDTO:
      type: object
      properties:
        nome:
          type: string
          description: Refere-se ao nome do parâmetro.
          nullable: true
        valor:
          type: string
          description: Refere-se ao valor do parâmetro.
          nullable: true
      additionalProperties: false
    Message:
      type: object
      properties:
        messageType:
          $ref: '#/components/schemas/ErrorType'
        code:
          type: string
          nullable: true
        context:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        field:
          type: string
          nullable: true
      additionalProperties: false
    CalculoPropostaDTO:
      required:
        - dadosCalculo
        - propostaModelo
      type: object
      properties:
        propostaModelo:
          type: integer
          description: Modelo de proposta
          format: int32
          nullable: true
        dadosCalculo:
          description: Dados do cálculo
          nullable: true
      additionalProperties: false
    PropostaContaPagamentoDTO:
      required:
        - agencia
        - conta
        - tipoConta
      type: object
      properties:
        codigoBanco:
          type: integer
          description: Código do banco
          format: int32
          nullable: true
        tipoConta:
          type: integer
          description: Tipo de conta
          format: int32
          nullable: true
        agencia:
          maxLength: 4
          minLength: 0
          type: string
          description: Agência
          nullable: true
        agenciaDig:
          maxLength: 1
          minLength: 0
          type: string
          description: Dígito da agência
          nullable: true
        conta:
          maxLength: 20
          minLength: 0
          type: string
          description: Conta bancária
          nullable: true
        contaDig:
          maxLength: 1
          minLength: 0
          type: string
          description: Dígito da conta
          nullable: true
        numeroBanco:
          type: string
          description: Número do banco
          nullable: true
        documentoFederalPagamento:
          maxLength: 20
          minLength: 0
          type: string
          description: >-
            Numero do Cadastro de Pessoa Física (CPF) ou  do Cadastro Nacional
            de Pessoa Física (CNPJ) indicado para pagamento (quando difere do
            Titular)
          nullable: true
        nomePagamento:
          maxLength: 60
          minLength: 0
          type: string
          description: Nome da pessoa para pagamento (quando difere do Titular)
          nullable: true
      additionalProperties: false
    PropostaLancamentoDTO:
      required:
        - documentoFederal
        - dtPagamento
        - linhaDigitavel
        - vlrTransacao
      type: object
      properties:
        campoID:
          type: string
          description: Identifica o tipo de lançamento.
          nullable: true
        vlrTransacao:
          type: number
          description: Valor de transação.
          format: double
          nullable: true
        dtPagamento:
          type: string
          description: Data da liquidação, se não informado será considerada a data do dia.
          format: date-time
          nullable: true
        linhaDigitavel:
          maxLength: 60
          minLength: 0
          type: string
          description: >-
            String contendo informações do boleto, como dados do banco,
            destinatário etc.
          nullable: true
        codigoBanco:
          type: integer
          description: Código do banco
          format: int32
          nullable: true
        numeroBanco:
          type: string
          description: Número do banco
          nullable: true
        tipoConta:
          type: integer
          description: Tipo de conta.
          format: int32
          nullable: true
        agencia:
          maxLength: 4
          minLength: 0
          type: string
          description: Agencia bancária
          nullable: true
        agenciaDig:
          maxLength: 1
          minLength: 0
          type: string
          description: Dígito da Agência
          nullable: true
        conta:
          maxLength: 20
          minLength: 0
          type: string
          description: Conta bancária
          nullable: true
        contaDig:
          maxLength: 1
          minLength: 0
          type: string
          description: Dígito da conta
          nullable: true
        documentoFederal:
          maxLength: 20
          minLength: 0
          type: string
          description: Documento federal do cliente
          nullable: true
        nomePagamento:
          maxLength: 60
          minLength: 0
          type: string
          description: Nome da pessoa para pagamento (quando difere do Titular)
          nullable: true
        documentoFederalCedente:
          maxLength: 20
          minLength: 0
          type: string
          description: Documento federal do cedente
          nullable: true
        nomeCedente:
          maxLength: 60
          minLength: 0
          type: string
          description: Nome do cedente
          nullable: true
      additionalProperties: false
    ErrorType:
      enum:
        - 1
        - 2
        - 3
      type: integer
      format: int32
  securitySchemes:
    Bearer:
      type: apiKey
      description: Informe o token
      name: Authorization
      in: header

````