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

# Gerar proposta de renegociação

Este serviço permite **gerar proposta de renegociação** para empréstimo com a situação de encerrado por término de vínculo, garantindo que todas as regras de negócio sejam atendidas. Este serviço gera um **novo contrato** para um empréstimo encerrado por término de vínculo, considerando as condições financeiras e cadastrais do cliente e do empregador. Ele assegura que apenas contratos elegíveis sejam renegociados, respeitando a margem consignável e evitando inconsistências na averbação.

A funcionalidade inclui:

* Validação da existência e propriedade do contrato original.
* Verificação da situação do contrato (Deve estar como encerrado por término de vínculo).
* Checagem do vínculo empregatício informado.
* Garantia de que há parcelas abertas para renegociação.
* Controle de cobranças pendentes antes da operação.
* Cálculo e validação da nova parcela frente à margem consignável disponível.

***

## Endpoint

POST `/contrato/renegociacao/gerar-contrato`

Este endpoint processa a solicitação de forma assíncrona.

* A resposta imediata apenas confirma o recebimento da requisição
* O resultado final será enviado via webhook
* Utilize o campo `CodigoRequisicao` para correlacionar request e callback

### **Regras**

* O empréstimo deve estar na situação de encerrado por término de vínculo para que possa ser feita a simulação;
* A taxa de juros da renegociação deve atender a todas as condições:
  * Ser maior que 0.01
  * Ser menor ou igual a 4.98
  * Ser menor ou igual à taxa de juros do contrato original
* O valor de parcela da simulação deve estar dentro da margem disponível do novo vínculo;

<AccordionGroup>
  <Accordion title="Descrição dos campos da Requisição">
    <ParamField path="numeroContratoEncerrado" type="string" required>
      Número do contrato encerrado por término de vínculo a ser renegociado.
    </ParamField>

    <ParamField path="cpfTrabalhador" type="string" required>
      CPF do trabalhador do empréstimo renegociado.
    </ParamField>

    <ParamField path="matricula" type="string" required>
      Matrícula do trabalhador do empréstimo renegociado.
    </ParamField>

    <ParamField path="codigoInscricaoEmpregador" type="number" required>
      Código do tipo de inscrição do empregador (1 - CNPJ, 2 - CPF).
    </ParamField>

    <ParamField path="numeroInscricaoEmpregador" type="string" required>
      Número de inscrição do empregador.
    </ParamField>

    <ParamField path="cpfAgenteCredito" type="string" required>
      CPF do agente de crédito.
    </ParamField>

    <ParamField path="tipoContrato" type="string" required>
      Tipo do contrato.
    </ParamField>

    <ParamField path="numeroParcelas" type="number" required>
      Quantidade de parcelas para o novo empréstimo de renegociação.
    </ParamField>

    <ParamField path="valorTaxaMensal" type="number" required>
      Taxa de juros mensal aplicada na renegociação. A taxa de juros mensal deve:

      * Ser maior que 0.01
      * Ser menor ou igual a 4.98
      * Ser menor ou igual à taxa do contrato original
    </ParamField>
  </Accordion>
</AccordionGroup>

## Webhook de geração de contrato

Este webhook é enviado após as validações e cálculos de saldo devedor e valor da nova proposta. Ele informa os detalhes do novo empréstimo com os mesmos campos do webhook da operação que gerou o contrato original.

<Accordion title="Exemplo de callback">
  ```json theme={null}
  {
    "CodigoRequisicao": "3517db44-5c9c-4bfc-8a40-ea6b902a6790",
    "Endpoint": "/contrato/renegociacao/gerar-contrato",
    "Payload": {
      "NumeroCCB": "5300122",
      "ValorCETAnual": 27.3223,
      "ValorCETMensal": 2.03333,
      "ValorEmprestimo": 101.76,
      "ValorIOF": 0,
      "ValorParcela": 11.73,
      "ValorTaxaAnual": 26.82418,
      "ValorTaxaMensal": 2,
      "ValorSeguro": 0,
      "ContratoProposta": "ce1a2bee-3424-4339-97ce-f62a66564ca7"
    }
  }
  ```
</Accordion>

<RequestExample>
  ```shellscript Exemplo de requisição theme={null}
  curl --location --request POST 'https://econsignadotrabalhador.moneyp.dev.br/contrato/renegociacao/gerar-contrato' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <token>' \
  --data '{
  	"numeroContratoEncerrado": "numeroContratoEncerrado",
  	"cpfTrabalhador": "cpf",
  	"matricula": "matricula",
  	"codigoInscricaoEmpregador": 1,
  	"numeroInscricaoEmpregador": "numeroInscricaoEmpregador",
  	"cpfAgenteCredito": "cpfAgenteCredito",
  	"tipoContrato": "tipoContrato", 
  	"numeroParcelas": 12,
  	"valorTaxaMensal": 2.5
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
  "CodigoRequisicao": "615585a8-f91a-4b55-a00d-657cd8050165",
  "Origem": "/contrato/renegociacao/gerar-contrato",
  "Conteudo": {
      "Mensagem": "Solicitação de renegociaçao processada com sucesso."
  },
  "Erros": []
  }
  ```
</ResponseExample>
