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

# 2 - Buscar Simulação MultiPeríodo

Por meio deste endpoint o parceiro realiza a busca e simulação de dados referente aos valores de FGTS disponíveis para o trabalhador.
Após o retorno dos valores, pode realizar empréstimos com garantia do Saque Aniversário, onde serão posteriormente inclusos em uma proposta.
Esta ação antecede a inclusão e efetivação da proposta no sistema.
Regras:

* Caso seja informado o campo “Saldo”, não utilizamos o saldo verdadeiro do cliente na Caixa Econômica Federal e o cálculo será com base nos valores da nossa calculadora.
* Caso o mês de aniversário esteja incorreto, o sistema retorna um erro no momento da simulação.
* Em caso de preenchimento do campo CPF, a consulta é realizada na Caixa Econômica Federal

<Warning>
  Quando o valor do campo `ConsultaCache` for `false`, a requisição consultará o saldo do FGTS atualizado diretamente na **Caixa Econômica Federal (CEF)**; quando for `true`, o saldo será obtido do cache da BMP. Este campo não é obrigatório, caso não seja informado, o sistema assume o valor `true` como padrão.
</Warning>

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

  | Código | Retorno da Caixa                                                                                                                                                                                                        | Retorno ao Parceiro                                                                                                                        | Tipo de Retorno |
  | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ | --------------- |
  | 400    | 2. Quantidade de Períodos deve ser maior que zero.                                                                                                                                                                      | Quantidade de períodos deve ser maior que zero                                                                                             | Cancela         |
  | 400    | 4. Número de CPF inválido.                                                                                                                                                                                              | CPF informado inválido                                                                                                                     | Cancela         |
  | 400    | 5. Existe uma Operação Fiduciária em andamento. Tente mais tarde                                                                                                                                                        | Existe uma Operação Fiduciária em andamento. Tente mais tarde                                                                              | Reprocessa      |
  | 400    | 9. Trabalhador não possui adesão ao saque aniversário vigente na data corrente.                                                                                                                                         | Trabalhador não possui adesão ao saque aniversário vigente na data corrente.                                                               | Cancela         |
  | 400    | 10. Operação não permitida antes de determinada data.                                                                                                                                                                   | Operação não permitida antes de determinada data                                                                                           | Cancela         |
  | 400    | 11. Não é possível realizar a operação para o CPF informado.                                                                                                                                                            | Não é possível realizar a operação para o CPF informado                                                                                    | Cancela         |
  | 400    | 12. Trabalhador não possui saldo disponível para Operação Fiduciária.                                                                                                                                                   | Trabalhador não possui saldo disponível para Operação Fiduciária.                                                                          | Cancela         |
  | 400    | 13. Operação não permitida por pendência no processo de pagamento de saque-aniversário.                                                                                                                                 | Operação não permitida por pendência no processo de pagamento de saque-aniversário.                                                        | Cancela         |
  | 400    | 14. Existe uma solicitação de garantia com o mesmo número identificador.                                                                                                                                                | Existe uma solicitação de garantia com o mesmo número identificador.                                                                       | Cancela         |
  | 400    | 15. Trabalhador não possui adesão ao saque aniversário para o período informado.                                                                                                                                        | Trabalhador não possui adesão ao saque aniversário para o período informado.                                                               | Cancela         |
  | 400    | 16. Uma ou mais datas de previsão do saque informadas não conferem com as previstas no sistema.                                                                                                                         | Uma ou mais datas de previsão do saque informadas não conferem com as previstas no sistema.                                                | Cancela         |
  | 400    | 17. Valor da alienação/cessão superior ao valor disponível para o trabalhador.                                                                                                                                          | Valor da alienação/cessão superior ao valor disponível para o trabalhador.                                                                 | Cancela         |
  | 400    | 18. Trabalhador com solicitação de retorno para saque rescisão, que deve ser cancelada pelo mesmo para possibilitar a solicitação de garantia.                                                                          | Trabalhador com solicitação de retorno para saque rescisão, que deve ser cancelada pelo mesmo para possibilitar a solicitação de garantia. | Cancela         |
  | 400    | 34. Valor da reserva deve ser maior que zero.                                                                                                                                                                           | Valor da reserva deve ser maior que zero.                                                                                                  | Cancela         |
  | 400    | 35. Mudanças cadastrais ou lançamentos a débito foram realizadas na conta do FGTS, impedindo a contratação. Entre em contato com o setor de FGTS da CAIXA para regularização ou acompanhe a data do débito no APP FGTS. | Foi identificado falta de dados cadastrais na conta do FGTS que impedem a contratação. Entre em contato com o setor de FGTS da Caixa.      | Cancela         |
  | 400    | 37. Trabalhador não possui saldo suficiente para a garantia necessária.                                                                                                                                                 | Trabalhador não possui saldo suficiente para a garantia necessária.                                                                        | Cancela         |
  | 400    | 38. Identificador da Solicitação inválido.                                                                                                                                                                              | Identificador da Solicitação inválido.                                                                                                     | Cancela         |
  | 400    | 40. Foi identificado falta de dados cadastrais na conta do FGTS que impedem a contratação. Entre em contato com o setor de FGTS da Caixa.                                                                               | Foi identificado falta de dados cadastrais na conta do FGTS que impedem a contratação. Entre em contato com o setor de FGTS da Caixa.      | Cancela         |
</Expandable>


## OpenAPI

````yaml post /FGTS/BuscarSimulacaoMultiPeriodo
openapi: 3.0.1
info:
  title: BMPDigitalCore.ApiExterna.FGTS.API
  version: '1.0'
servers:
  - url: https://api.bmpdigital.moneyp.dev.br
security:
  - Bearer: []
paths:
  /FGTS/BuscarSimulacaoMultiPeriodo:
    post:
      tags:
        - FGTS
      parameters:
        - name: IdempotencyKey
          in: header
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FGTSSaqAnivSimulacaoMultiPeriodoCommand'
          text/json:
            schema:
              $ref: '#/components/schemas/FGTSSaqAnivSimulacaoMultiPeriodoCommand'
          application/*+json:
            schema:
              $ref: '#/components/schemas/FGTSSaqAnivSimulacaoMultiPeriodoCommand'
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/FGTSSaqAnivSimulacaoMultiPeriodoResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/FGTSSaqAnivSimulacaoMultiPeriodoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/FGTSSaqAnivSimulacaoMultiPeriodoResponse'
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/FGTSSaqAnivSimulacaoMultiPeriodoResponse'
            application/json:
              schema:
                $ref: '#/components/schemas/FGTSSaqAnivSimulacaoMultiPeriodoResponse'
            text/json:
              schema:
                $ref: '#/components/schemas/FGTSSaqAnivSimulacaoMultiPeriodoResponse'
components:
  schemas:
    FGTSSaqAnivSimulacaoMultiPeriodoCommand:
      type: object
      properties:
        dto:
          $ref: '#/components/schemas/FGTSSaqAnivSimulacaoMultiPeriodoDTO'
      additionalProperties: false
    FGTSSaqAnivSimulacaoMultiPeriodoResponse:
      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
        VlrDispSaque:
          type: number
          format: double
        PeriodoMin:
          type: integer
          format: int32
        PeriodoMax:
          type: integer
          format: int32
        CodigoBatch:
          type: string
          format: uuid
          nullable: true
        Simulacoes:
          type: array
          items:
            $ref: '#/components/schemas/FGTSSaqAnivSimulacaoMultiPeriodo'
          nullable: true
        SimulacoesErro:
          type: array
          items:
            $ref: '#/components/schemas/SimulacaoErro'
          nullable: true
        Consulta:
          $ref: '#/components/schemas/FGTSConsultaSaldoResponse'
        Credencial:
          type: string
          nullable: true
      additionalProperties: false
    FGTSSaqAnivSimulacaoMultiPeriodoDTO:
      type: object
      properties:
        Saldo:
          type: number
          description: Saldo na CEF do solicitante
          format: double
          nullable: true
        VlrEmprestimo:
          type: number
          description: Valor solicitado de emprestimo
          format: double
          nullable: true
        TaxaMensal:
          type: number
          description: Taxa mensal a ser utilizada, quando não informada utiliza a padrão
          format: double
          nullable: true
        VlrTAC:
          type: number
          description: Valor TAC
          format: double
          nullable: true
        PercTAC:
          type: number
          description: Percentual TAC
          format: double
          nullable: true
        DtAniversario:
          type: string
          description: Data de aniversário do solicitante
          format: date-time
          nullable: true
        CpfTrabalhador:
          type: string
          description: Número do documento de CPF do solicitante
          nullable: true
        ConsultaCache:
          type: boolean
          description: Utiliza o cache caso esteja ativo na credencial do parceiro
        Credencial:
          type: integer
          description: Credencial na qual o parceiro quer realizar a simulação
          format: int32
          nullable: true
        Periodos:
          type: array
          items:
            $ref: '#/components/schemas/FGTSSaqAnivSimulacaoPeriodosDTO'
          description: Lista de Períodos de repasses
          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
    FGTSSaqAnivSimulacaoMultiPeriodo:
      type: object
      properties:
        Saldo:
          type: number
          format: double
        Periodo:
          type: integer
          format: int32
        DtInicio:
          type: string
          format: date-time
        DtFim:
          type: string
          format: date-time
        TaxaMensal:
          type: number
          format: double
        TaxaCETMensal:
          type: number
          format: double
        TaxaCETAnual:
          type: number
          format: double
        TaxaJurosAnual:
          type: number
          format: double
        VlrEmprestimoCliente:
          type: number
          format: double
        VlrJuros:
          type: number
          format: double
        VlrIOF:
          type: number
          format: double
        VlrIOFAdicional:
          type: number
          format: double
        VlrLiberado:
          type: number
          format: double
        VlrOperacao:
          type: number
          format: double
        VlrTAC:
          type: number
          format: double
        VlrReserva:
          type: number
          format: double
        VlrAmortizacao:
          type: number
          format: double
        VlrTransferencia:
          type: number
          format: double
        VlrOutrasDespesas:
          type: number
          format: double
        SimulacaoParcelas:
          type: array
          items:
            $ref: '#/components/schemas/FGTSSaqAnivSimulacaoParcela'
          nullable: true
      additionalProperties: false
    SimulacaoErro:
      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
        Periodo:
          type: integer
          format: int32
      additionalProperties: false
    FGTSConsultaSaldoResponse:
      type: object
      properties:
        cpfTrabalhador:
          type: string
          nullable: true
        dataSaldo:
          type: string
          nullable: true
        existeSaldoDesconsiderado:
          type: boolean
        qtdPedidos:
          type: integer
          format: int32
        periodos:
          type: array
          items:
            $ref: '#/components/schemas/FGTSPeriodo'
          nullable: true
        Cache:
          type: boolean
      additionalProperties: false
    FGTSSaqAnivSimulacaoPeriodosDTO:
      type: object
      properties:
        DataRepasse:
          type: string
          description: Data do repasse
          format: date-time
          nullable: true
        VlrRepasse:
          type: number
          description: Valor do repasse
          format: double
          nullable: true
      additionalProperties: false
    ErrorType:
      enum:
        - 1
        - 2
        - 3
      type: integer
      format: int32
    FGTSSaqAnivSimulacaoParcela:
      type: object
      properties:
        VlrRepasse:
          type: number
          format: double
        DtRepasse:
          type: string
          format: date-time
        VlrPrincipal:
          type: number
          format: double
        VlrIOF:
          type: number
          format: double
        VlrIOFAdicional:
          type: number
          format: double
        VlrLiberado:
          type: number
          format: double
        VlrJuros:
          type: number
          format: double
      additionalProperties: false
    FGTSPeriodo:
      type: object
      properties:
        dataRepasse:
          type: string
          nullable: true
        valor:
          type: number
          format: double
      additionalProperties: false
  securitySchemes:
    Bearer:
      type: apiKey
      description: Informe o token
      name: Authorization
      in: header

````