2.4.3. Reformalização
Esta seção documenta os endpoints destinados à reformalização de operações vinculadas à aprovação de saldo INSS. Esses endpoints permitem reprocessar propostas, atualizar condições previamente aprovadas, corrigir inconsistências cadastrais ou contratuais e reenviar a operação para nova validação e formalização.
Autenticação
Para realizar requisições aos nossos endpoints, é necessário utilizar uma API Key válida. Esta chave é o identificador que garante a segurança e o controle de acesso às operações da plataforma.
| Key | Value |
|---|---|
| apikey | {{apikey}} |
Importante: Mantenha sua API Key em segurança. Ela é pessoal, intransferível e dá acesso direto às operações de crédito e dados de clientes da sua conta.
POST 2.1.2.3.1. Simular Reformalização
/v3/loans/:id/recalculation
Realiza uma simulação de recálculo para contratos que retornaram com divergência de saldo.
Utilize esta rota quando um contrato retorna do processamento de saldo com o status balance_returned_rejected e uma nota explicativa (ex: "O valor do troco calculado está abaixo do mínimo permitido").
O retorno apresentará os novos valores simulados (netValue, installmentValue, etc.) para que você possa apresentar ao cliente antes de confirmar a alteração.
Parâmetros de Rota (Path)
| Variável | Descrição |
|---|---|
:id | UUID do contrato que precisa ser reformalizado |
Parâmetros do Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
ruleId | string (UUID) | Sim | ID da tabela de produto |
hasInsurance | boolean | Sim | true para incluir seguro, false para remover |
refinance.rate | number | Sim | Nova taxa de juros mensal proposta para viabilizar a operação (ex: 1.8) |
Exemplo de Requisição e Resposta
- Body
- cURL
- 200 - Sucesso
- 400 - Erro
Visualizar Body
{
"ruleId": "0e0e25c7-ce99-4f09-97a7-194e92e51016",
"hasInsurance": false,
"refinance": {
"rate": 1.8
}
}
Visualizar cURL
curl --location --request POST 'https://integration.ajin.io/v3/loans/:id/recalculation' \
--header 'apikey: {{apikey}}' \
--header 'Content-Type: application/json' \
--data '{
"ruleId": "0e0e25c7-ce99-4f09-97a7-194e92e51016",
"hasInsurance": false,
"refinance": {
"rate": 1.8
}
}'
Visualizar Response
{
"id": "b3b0e362-8aa2-4b3c-b8cd-8a9142eafe64",
"proposal": {
"loanValue": 2629.72,
"netValue": 150.43,
"installmentValue": 59.29,
"term": 60,
"rate": 1.8,
"annualRate": 23.87,
"totalEffectiveCost": 1.92,
"totalEffectiveCostAnnual": 25.68,
"iofValue": 87.34,
"hasInsurance": false,
"insuranceValue": 0
},
"status": {
"key": "balance_returned_rejected"
},
"note": "O valor do troco calculado está abaixo do mínimo permitido"
}
Visualizar Response
{
"messages": [
{
"code": "9001002",
"text": "Parâmetros inválidos"
}
]
}
POST 2.1.2.3.2. Efetivar Reformalização
/v3/loans/:id/reformalize
Efetiva o recálculo e dispara uma nova formalização digital para contratos com divergência de saldo. O objetivo é encontrar uma nova taxa ou condição que gere um Troco (netValue) válido, permitindo salvar a operação.
Antes de efetivar, confirme que:
proposal.netValue(o troco) está acima do mínimo permitidoproposal.loanValuecobriu integralmente o saldo devedor
Parâmetros de Rota (Path)
| Variável | Descrição |
|---|---|
:id | UUID do contrato que será reformalizado |
Parâmetros do Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
ruleId | string (UUID) | Sim | ID da tabela de produto |
hasInsurance | boolean | Sim | true para incluir seguro, false para remover |
refinance.rate | number | Sim | Nova taxa proposta (ex: 1.72) |
reformalize | boolean | Sim | Deve ser true para disparar a nova formalização digital |
Exemplo de Requisição e Resposta
- Body
- cURL
- 200 - Sucesso
- 400 - Erro
Visualizar Body
{
"ruleId": "b7a95ff5-63dc-458b-9c8c-c800a1dbf65b",
"hasInsurance": false,
"refinance": {
"rate": 1.72
},
"reformalize": true
}
Visualizar cURL
curl --location --request POST 'https://integration.ajin.io/v3/loans/:id/reformalize' \
--header 'apikey: {{apikey}}' \
--header 'Content-Type: application/json' \
--data '{
"ruleId": "b7a95ff5-63dc-458b-9c8c-c800a1dbf65b",
"hasInsurance": false,
"refinance": {
"rate": 1.72
},
"reformalize": true
}'
Visualizar Response
{
"id": "b3b0e362-8aa2-4b3c-b8cd-8a9142eafe64",
"proposal": {
"loanValue": 2629.72,
"netValue": 50.79,
"installmentValue": 59.29,
"term": 60,
"rate": 1.72,
"annualRate": 22.71,
"totalEffectiveCost": 1.84,
"totalEffectiveCostAnnual": 24.53,
"iofValue": 87.34,
"hasInsurance": false,
"insuranceValue": 0
},
"status": {
"key": "reformalize_pending"
},
"reformalize": true,
"updatedAt": "2024-01-15T10:30:00Z"
}
Visualizar Response
{
"messages": [
{
"code": "9001002",
"text": "Parâmetros inválidos"
}
]
}