> ## Documentation Index
> Fetch the complete documentation index at: https://bmpdocs.moneyp.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# 6 - Simulação Detalhada

Através desse endpoint o parceiro pode simular os valores da proposta, o sistema traz o cálculo do prazo requerido e detalhes de valores de todas as parcelas, considerando o cálculo de acordo com as taxas aplicadas nessa modalidade e conforme a parametrização já cadastrada no sistema.

## Mensagens de erro

A tabela abaixo representa as mensagens de erro que podem ser retornadas ao tentar realizar uma requisição.

<Expandable title="Mensagens de requisições com erro">
  O retorno de uma requisição com status HTTP 400 (Bad Request) pode incluir as seguintes mensagens de erro:

  <Note>No exemplo de retorno ao lado, o campo `code` representa a coluna **Código** desta tabela; o campo `context` representa a coluna **Código Detalhado**; e o campo `message` representa a coluna **Mensagem**.</Note>

  | Categoria | Operação                             | Ação                                  | Código | Código Detalhado | Mensagem                                                                                 |
  | --------- | ------------------------------------ | ------------------------------------- | ------ | ---------------- | ---------------------------------------------------------------------------------------- |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0016  | V0001            | Produto não configurado para esta integração                                             |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0016  | V0002            | Tipo Pessoa deve ser 1-PF ou 2-PJ                                                        |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0016  | V0003            | Prazo não configurado para o produto                                                     |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0127  | V0001            | Fluxo Irregular: Campo \[NroDiasIntervaloPrazo] deve receber um valor                    |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0127  | V0002            | Preencher o campo \[NroDiasIntervaloPrazo] apenas quando Fluxo Irregular                 |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0196  | V0001            | O valor solicitado não é válido                                                          |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0196  | V0002            | Formato de cálculo inválido                                                              |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0196  | V0003            | É necessário o produto                                                                   |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0196  | V0004            | Prazo inválido ou não localizado para este Produto x Rede                                |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0196  | V0005            | Não é possível aprovar a proposta. Produto x Rede x Parcela não possui juros configurado |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0196  | V0006            | Configuração deve ser enviada para proposta HotMoney                                     |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0196  | V0007            | Produto Rotativo e HotMoney aceitam apenas formato de cálculo com juros                  |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0196  | V0008            | Formato de Cálculo não informado                                                         |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0017  | V0001            | Produto não configurado para esta integração                                             |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0017  | V0002            | Tipo Pessoa deve ser 1-PF ou 2-PJ                                                        |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0017  | V0003            | Prazo não configurado para o produto                                                     |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0197  | V0001            | O valor solicitado não é válido                                                          |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0197  | V0002            | Formato de cálculo não é permitido                                                       |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0197  | V0003            | Produto não utiliza método SAC                                                           |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0197  | V0004            | É necessário o produto                                                                   |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0197  | V0005            | Prazo inválido ou não localizado para este Produto x Rede                                |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0197  | V0006            | Não é possível aprovar a proposta. Produto x Rede x Parcela não possui juros configurado |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0197  | V0007            | Taxa deve ser de `{percJuros}`                                                           |
  | Proposta  | CalculaGridParcelasSimplificadoPrice | CalcularGridParcelasSimplificadoPrice | C0197  | V0008            | TAC deve ser de `{VlrTAC}`                                                               |
</Expandable>


## OpenAPI

````yaml post /Proposta/CalcularGridParcelasSimplificadoPrice
openapi: 3.0.1
info:
  title: BMPDigitalCore.ApiExterna.Proposta.API
  version: '1.0'
servers:
  - url: https://api.bmpdigital.moneyp.dev.br
security:
  - Bearer: []
paths:
  /Proposta/CalcularGridParcelasSimplificadoPrice:
    post:
      tags:
        - Proposta
      parameters:
        - name: IdempotencyKey
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CalculaGridParcelasSimplificadoPriceCommand'
          text/json:
            schema:
              $ref: '#/components/schemas/CalculaGridParcelasSimplificadoPriceCommand'
          application/*+json:
            schema:
              $ref: '#/components/schemas/CalculaGridParcelasSimplificadoPriceCommand'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: >-
                  #/components/schemas/CalculaGridParcelasSimplificadoPriceResponse
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/CalculaGridParcelasSimplificadoPriceResponse
            text/json:
              schema:
                $ref: >-
                  #/components/schemas/CalculaGridParcelasSimplificadoPriceResponse
        '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:
    CalculaGridParcelasSimplificadoPriceCommand:
      type: object
      properties:
        dto:
          $ref: '#/components/schemas/CalculaGridValoresPropostaPriceDTO'
        parametros:
          type: array
          items:
            $ref: '#/components/schemas/ParametroDTO'
          nullable: true
      additionalProperties: false
    CalculaGridParcelasSimplificadoPriceResponse:
      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
        proposta:
          $ref: '#/components/schemas/CalculaGridParcelasSimplificadoPriceDTO'
      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
    CalculaGridValoresPropostaPriceDTO:
      required:
        - tipoPessoa
      type: object
      properties:
        vlrSolicitado:
          type: number
          description: Valor solicitado para financiamento
          format: double
        prazo:
          type: integer
          description: Prazo da parcela
          format: int32
        nroDiasAcrescimo:
          type: integer
          description: >-
            Dias de acréscimo para o primeiro pagamento além dos primeiros 30
            dias. O valor padrão é zero
          format: int32
          nullable: true
        percJurosNegociado:
          type: number
          description: >-
            Percentual de juros da proposta. Se não for informado os juros,
            então o sistema utilizará a taxa parametrizada no sistema, para o
            prazo informado
          format: double
          nullable: true
        tipoPessoa:
          type: integer
          description: >-
            Indica o tipo de pessoa se Física ou Jurídica para cálculo do
            Imposto sobre Operações Financeiras (IOF). 1-PF (Pessoa Física) e
            2-PJ Pessoa Jurídica)
          format: int32
        fluxoIrregular:
          type: boolean
          description: >-
            Indica se o fluxo de vencimento das parcelas é irregular ou regular
            (30 dias)
          nullable: true
        vlrOutrasDespesas:
          type: number
          description: Valor de outras despesas da operação
          format: double
          nullable: true
        vlrOutrosServicos:
          type: number
          description: Valor de outros serviços da operação
          format: double
          nullable: true
        vlrSeguro:
          type: number
          description: Valor do Seguro
          format: double
          nullable: true
        vlrProdutoBem:
          type: number
          description: Valor do produto que está sendo adquirido
          format: double
          nullable: true
        vlrEntrada:
          type: number
          description: Valor de entrada
          format: double
          nullable: true
        vlrEntradaTradeIn:
          type: number
          description: Valor de entrada trade in
          format: double
          nullable: true
        vlrEntradaParcelada:
          type: number
          description: Valor de entrada parcelada
          format: double
          nullable: true
        vlrDespesasAF:
          type: number
          description: Valor de despesas AF
          format: double
          nullable: true
        vlrIOF:
          type: number
          description: 'Valor do do Imposto sobre Operações Financeiras '
          format: double
          nullable: true
        vlrTAC:
          type: number
          description: Valor da Taxa abertura de crédito
          format: double
          nullable: true
        vlrAvaliacao:
          type: number
          description: Valor da Taxa de avaliação da operação
          format: double
          nullable: true
        vlrTxAdmMensal:
          type: number
          description: Valor da taxa de administração mensal
          format: double
          nullable: true
        vlrSeguroMensal1:
          type: number
          description: Valor do seguro mensal
          format: double
          nullable: true
        vlrSeguroMensal2:
          type: number
          description: Valor do seguro mensal
          format: double
          nullable: true
        vlrBlindagem:
          type: number
          description: Valor de blindagem
          format: double
          nullable: true
        vlrAcessorios:
          type: number
          description: Valor de acessórios
          format: double
          nullable: true
        vlrDespachante:
          maximum: 10000000000000000
          minimum: 0
          type: number
          description: Valor do despachante
          format: double
          nullable: true
        vlrRegistro:
          maximum: 10000000000000000
          minimum: 0
          type: number
          description: Valor do registro
          format: double
          nullable: true
        nroDiasIntervaloPrazo:
          type: integer
          description: >-
            Indica o intervalo (em dias) entre o vencimento das parcelas da
            proposta
          format: int32
          nullable: true
        vlrVistoria:
          type: number
          description: Valor de vistoria
          format: double
          nullable: true
        vlrCertiDocs:
          type: number
          description: >-
            Valor referente ao custo do serviço de certificação digital, que é
            somado no Valor Financiado (solicitado) da proposta. Tal valor fica
            retido para posteriormente ser repassado para a empresa responsável
            pela certificação digital (CertiDocs), ou para o parceiro,
            dependendo da regra de operação
          format: double
          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
    CalculaGridParcelasSimplificadoPriceDTO:
      type: object
      properties:
        valorSolicitado:
          type: number
          format: double
        prazo:
          type: integer
          format: int32
        vlrParcela:
          type: number
          format: double
        vlrTAC:
          type: number
          format: double
        vlrBoleto:
          type: number
          format: double
        vlrSeguro:
          type: number
          format: double
        vlrIOF:
          type: number
          format: double
        percIOF:
          type: number
          format: double
        vlrTotalCredito:
          type: number
          format: double
        vlrTotalDivida:
          type: number
          format: double
        percCETMensal:
          type: number
          format: double
        percCETAnual:
          type: number
          format: double
        percJurosMensal:
          type: number
          format: double
        percJurosAnual:
          type: number
          format: double
        parcelas:
          type: array
          items:
            $ref: '#/components/schemas/ParcelaPriceDTO'
          nullable: true
      additionalProperties: false
    ErrorType:
      enum:
        - 1
        - 2
        - 3
      type: integer
      format: int32
    ParcelaPriceDTO:
      type: object
      properties:
        parcela:
          type: integer
          format: int32
        dias:
          type: integer
          format: int32
        dtVencimento:
          type: string
          format: date-time
        vlrSaldoDevedor:
          type: number
          format: double
        vlrAmortizacao:
          type: number
          format: double
        vlrJuros:
          type: number
          format: double
        vlrPrestacaoTotal:
          type: number
          format: double
        vlrJurosAcumulado:
          type: number
          format: double
        vlrJurosMensal:
          type: number
          format: double
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: apiKey
      description: Informe o token
      name: Authorization
      in: header

````