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

# Simular repasse

> Calcula os valores da venda para o estabelecimento e para o cliente. O parceiro e a rede de lojas são identificados automaticamente pelo token de acesso.

Calcula os valores da venda para o estabelecimento e para o cliente.

A API identifica automaticamente o parceiro e a rede de lojas por meio do token de acesso. Você não precisa informar o identificador da rede.

## Quem paga os juros

Use o parâmetro `modeloJuros` para definir quem será responsável pelos juros.

| Valor | Significado                                                                                               |
| ----- | --------------------------------------------------------------------------------------------------------- |
| `1`   | **Cliente paga os juros.** Os juros são acrescentados ao valor financiado pelo cliente.                   |
| `2`   | **Estabelecimento assume os juros.** O cliente não paga juros, e o custo é assumido pelo estabelecimento. |

## Como o valor será calculado

Use o parâmetro `tipoValorCalculo` para definir o valor de referência da simulação.

| Valor | Significado                                                                                                                                             |
| ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `1`   | **A partir do valor da venda.** O campo `valor` representa o valor bruto da venda.                                                                      |
| `2`   | **A partir do valor líquido.** O campo `valor` representa o valor líquido que o estabelecimento deseja receber. A API calcula o valor bruto necessário. |

<Note>
  Envie os valores numéricos dos enums nos query parameters. Por exemplo: `modeloJuros=1&tipoValorCalculo=1`.
</Note>


## OpenAPI

````yaml GET /v1/order/simulate-values
openapi: 3.0.1
info:
  title: WebIntegration
  description: Este documento descreve os endpoints disponíveis da API.
  version: '1.0'
servers:
  - url: https://api.staging.parcelemais.com.br/integration
    description: Servidor para o ambiente de staging
security:
  - bearerAuth: []
paths:
  /v1/order/simulate-values:
    get:
      tags:
        - Pedido
      summary: Simular repasse.
      description: >-
        Calcula os valores da venda para o estabelecimento e para o cliente. O
        parceiro e a rede de lojas são identificados automaticamente pelo token
        de acesso.
      operationId: getSimulationValues
      parameters:
        - name: valor
          in: query
          description: >-
            Valor de referência da simulação. O significado depende de
            `tipoValorCalculo`.
          required: true
          schema:
            type: number
            format: double
          example: 1500
        - name: prazo
          in: query
          description: Quantidade de parcelas da simulação.
          required: true
          schema:
            type: integer
            format: int32
            minimum: 1
          example: 12
        - name: modeloJuros
          in: query
          description: >
            Define quem paga os juros:

            - `1` — Cliente paga os juros. Os juros são acrescentados ao valor
            financiado pelo cliente.

            - `2` — Estabelecimento assume os juros. O cliente não paga juros, e
            o custo é assumido pelo estabelecimento.
          required: true
          schema:
            type: integer
            format: int32
            enum:
              - 1
              - 2
          example: 1
        - name: tipoValorCalculo
          in: query
          description: >
            Define o valor de referência do cálculo:

            - `1` — A partir do valor da venda. `valor` representa o valor bruto
            da venda.

            - `2` — A partir do valor líquido. `valor` representa o valor
            líquido que o estabelecimento deseja receber.
          required: true
          schema:
            type: integer
            format: int32
            enum:
              - 1
              - 2
          example: 1
      responses:
        '200':
          description: Valores calculados com sucesso.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/Integration.Shared.Responses.Order.SimulationValuesIntegrationResponse
              example:
                valoresEstabelecimento:
                  valorVenda: 7054.673721340388
                  valorDesembolso: 5959.26
                valoresCliente:
                  valorParcela: 718.46
        '400':
          description: Parâmetros inválidos.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Microsoft.AspNetCore.Mvc.ProblemDetails'
        '404':
          description: Parceiro, estabelecimento ou rede de lojas não encontrado.
        '500':
          description: Internal Server Error
components:
  schemas:
    Integration.Shared.Responses.Order.SimulationValuesIntegrationResponse:
      type: object
      properties:
        valoresEstabelecimento:
          $ref: >-
            #/components/schemas/Integration.Shared.Responses.Order.EstablishmentSimulationValuesIntegrationResponse
        valoresCliente:
          $ref: >-
            #/components/schemas/Integration.Shared.Responses.Order.CustomerSimulationValuesIntegrationResponse
      additionalProperties: false
    Microsoft.AspNetCore.Mvc.ProblemDetails:
      type: object
      properties:
        tipo:
          type: string
          nullable: true
        titulo:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detalhe:
          type: string
          nullable: true
        instancia:
          type: string
          nullable: true
      example:
        tipo: https://tools.ietf.org/html/rfc7231#section-6.5.1
        titulo: Requisição inválida.
        status: 400
        detalhe: O campo 'cpf' é obrigatório.
        instancia: /v1/order
    Integration.Shared.Responses.Order.EstablishmentSimulationValuesIntegrationResponse:
      type: object
      properties:
        valorVenda:
          type: number
          format: double
          description: Valor bruto da venda calculado na simulação.
        valorDesembolso:
          type: number
          format: double
          description: Valor líquido que será desembolsado ao estabelecimento.
      additionalProperties: false
    Integration.Shared.Responses.Order.CustomerSimulationValuesIntegrationResponse:
      type: object
      properties:
        valorParcela:
          type: number
          format: double
          description: Valor de cada parcela que será paga pelo cliente.
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Cabeçalho de autenticação Bearer no formato `Bearer <token>` onde
        `<token>` é seu TOKEN de autenticação

````