/v{version}/Amortization/BatchGera simulações em lote de operações de crédito e obtém plano de pagamento, CET
Cria um novo registro de Amortization.
Visão geral
Gera simulações em lote de operações de crédito e obtém plano de pagamento, CET, custo de emissão, IOF, etc.
Autenticação e pré-requisitos
Requer autenticação. Envie o token no header Authorization: Bearer {{token}} (JWT do AWS Cognito). Integrações servidor-a-servidor podem usar X-Api-Key. Todo tráfego é HTTPS e a credencial nunca vai na URL nem em query string.
Request
Parâmetros
| Nome | Em | Tipo | Obrigatório | Descrição | Exemplo |
|---|---|---|---|---|---|
version | path | string | obrigatório | — | 1 |
fgtsCredentialsName | query | string | opcional | — | valor |
Corpo da requisição
Envie no formato application/json. Corpo opcional. Envie uma lista (array) de objetos.
Campos
| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
productId | string (uuid) | obrigatório | Identificador do Produto relacionado a operação | — | "3fa85f64-5717-4562-b3fc-2c963f66afa6" |
legalPerson | boolean | obrigatório | — | — | true |
personId | string (uuid) | opcional | — | — | "3fa85f64-5717-4562-b3fc-2c963f66afa6" |
registrationNumber | string | opcional | — | — | "12345678909" |
amortization | objeto | obrigatório | Dados da operação. Utilize um dos valores definidos em "AmortizationType" | varia conforme o tipo — ver exemplo | { … } |
Exemplo de corpo
[
{
"productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"legalPerson": true,
"personId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"registrationNumber": "12345678909",
"amortization": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"amortizationType": "texto",
"startDate": "2025-08-11T13:45:00Z",
"apr": 1.99,
"includePaymentFixedCosts": true,
"validationErrors": [
{
"memberNames": [],
"errorMessage": "texto"
}
],
"agentCommissions": [
{
"name": "Fulano de Tal",
"amount": 1000,
"type": {},
"baseValue": {},
"chargeCommissionFrom": {},
"financeCost": true
}
],
"agentCommission": {
"name": "Fulano de Tal",
"amount": 1000,
"type": "Absolute",
"baseValue": "InitialValue",
"chargeCommissionFrom": "All",
"financeCost": true,
"totalValue": 0
}
}
}
]Response
Resposta 200 — retorna uma lista (array) de objetos.
Campos
| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
id | string (uuid) | opcional | Identificador da simulação | — | "3fa85f64-5717-4562-b3fc-2c963f66afa6" |
productId | string (uuid) | opcional | Identificador do produto da simulação | — | "3fa85f64-5717-4562-b3fc-2c963f66afa6" |
productName | string | opcional | — | — | "Fulano de Tal" |
calculateByValueType | string | opcional | Tipo de tabela de amortização | — | "texto" |
requestedAmount | integer (int64) | opcional | Valor solicitado pelo tomador. Quando calculado pelo valor líquido, o valor solicitado é o liquido da operação. | — | 0 |
initialValue | integer (int64) | opcional | Valor inicial da dívida contraída | — | 0 |
liquidValue | integer (int64) | opcional | Valor líquido da operação | — | 1 |
monthlyInterest | number (double) | opcional | Taxa de juros nominal mensal da operação | — | 1000 |
yearlyInterest | number (double) | opcional | Taxa de juros nominal anual da operação | — | 1000 |
startDate | string (date-time) | opcional | Data de início da operação | — | "2025-08-11T13:45:00Z" |
dueDate | string (date-time) | opcional | Data de encerramento da operação (vencimento da última parcela) | — | "2025-08-11T13:45:00Z" |
comm | integer | opcional | Valor total de custo de Emissão da operação (soma das comissão do agente e custos de emissão UY3), em centavos | — | 0 |
efectiveCommissions | array de objeto | opcional | Custos de Emissão detalhados da operação, inclui tanto as comissões do produto quanto às solicitadas pelo originador, observados os limites estabelecidos | objeto — ver detalhe abaixo | [ … ] |
commTc | integer | opcional | Valor total de custos de emissão devidos por razão de novo cliente, em centavos | — | 0 |
commNonTc | integer | opcional | Total de custos de emissão devidos por razão de cliente recorrente ou cobrança geral, em centavos | — | 0 |
agentCommissions | array de objeto | opcional | Custos de Emissão solicitados pelo originador, sem observância dos limites estabelecidos no produto. Para verificar os custos efetivamente considerados, veja efectiveCommissions | objeto — ver detalhe abaixo | [ … ] |
finTax | integer | opcional | Valor de IOF da operação | — | 0 |
effectiveMonthlyCost | number (double) | opcional | Custo Efetivo Total (CET) Mensal da operação | — | 1000 |
effectiveYearlyCost | number (double) | opcional | Custo Efetivo Total (CET) Anual da operação | — | 1000 |
registrationNumber | string | opcional | CPF para consulta FGTS | — | "12345678909" |
termInMonths | integer | opcional | Quantidade de parcelas [Obsoleto. Utilizar campo 'numberOfPayments'] | — | 0 |
numberOfPayments | integer | opcional | Quantidade de parcelas que serão pagas pelo tomador | — | 0 |
paymentFixedCosts | integer (int64) | opcional | — | — | 0 |
firstPaymentDate | string (date-time) | opcional | Data do primeiro pagamento | — | "2025-08-11T13:45:00Z" |
paymentScheduleItems | array de objeto | opcional | Plano de pagamento da operação | objeto — ver detalhe abaixo | [ … ] |
amortizationType | string | opcional | Tipo de amortização (Price, SAC, CleanPrice, etc) | — | "texto" |
apr | number (double) | opcional | Taxa de juros (APR) | — | 1.99 |
includePaymentFixedCosts | boolean | opcional | Incluir valor da parcela fixa na simulação | — | true |
financeTaxExempted | boolean | opcional | Isenção de IOF | — | true |
fiduciaryGuarantee | number (double) | opcional | Percentual de Garantia fiduciária | — | 1000 |
indexer | string | opcional | Indexador Pós-Fixado que deve ser aplicado à cada parcela | — | "texto" |
indexerValue | number (double) | opcional | Percentual Indexador Pós-fixado que deve ser aplicado à cada parcela | — | 1000 |
numberOfInterestPayments | integer | opcional | Parcelas de pagamento de juros | — | 0 |
calculationType | string | opcional | Base de cálculo (V360Meses, etc) | — | "texto" |
dueDateOnBusinessDays | boolean | opcional | Datas de vencimento são ajustadas para o próximo dia útil | — | true |
paymentPeriodicity | objeto | opcional | — | objeto — ver detalhe abaixo | { … } |
Detalhe de efectiveCommissions
| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
commissionName | string | opcional | — | — | "Fulano de Tal" |
commissionValueInCents | integer (int64) | opcional | — | — | 0 |
commissionValueInCentsDisplay | string | opcional | — | — | "texto" |
financed | boolean | opcional | — | — | true |
Detalhe de agentCommissions
| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
name | string | opcional | — | — | "Fulano de Tal" |
amount | number (double) | opcional | — | — | 1000 |
amountDisplay | string | opcional | — | — | "texto" |
type | string | opcional | — | — | "texto" |
baseValue | string | opcional | — | — | "texto" |
chargeCommissionFrom | string | opcional | — | — | "texto" |
financeCost | boolean | opcional | — | — | true |
Detalhe de paymentScheduleItems
| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
dueDate | string (date-time) | opcional | — | — | "2025-08-11T13:45:00Z" |
principalAmountInCents | integer (int64) | opcional | — | — | 0 |
amortization | integer (int64) | opcional | — | — | 0 |
interest | integer (int64) | opcional | — | — | 0 |
financeTax | integer (int64) | opcional | — | — | 0 |
payment | integer (int64) | opcional | — | — | 0 |
addedFixedCosts | integer (int64) | opcional | — | — | 0 |
Detalhe de paymentPeriodicity
| Campo | Tipo | Obrigatório | Descrição | Valores | Exemplo |
|---|---|---|---|---|---|
every | integer | opcional | A cada quantos per�odos | — | 0 |
periodicity | string | opcional | Tipo de periodicidade (Monthly, Quarterly, etc) | — | "texto" |
Exemplo de resposta
[
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"productName": "Fulano de Tal",
"calculateByValueType": "texto",
"requestedAmount": 0,
"initialValue": 0,
"liquidValue": 1,
"monthlyInterest": 1000,
"yearlyInterest": 1000,
"startDate": "2025-08-11T13:45:00Z",
"dueDate": "2025-08-11T13:45:00Z",
"comm": 0,
"efectiveCommissions": [
{
"commissionName": "Fulano de Tal",
"commissionValueInCents": 0,
"commissionValueInCentsDisplay": "texto",
"financed": true
}
],
"commTc": 0,
"commNonTc": 0,
"agentCommissions": [
{
"name": "Fulano de Tal",
"amount": 1000,
"amountDisplay": "texto",
"type": "texto",
"baseValue": "texto",
"chargeCommissionFrom": "texto",
"financeCost": true
}
],
"finTax": 0,
"effectiveMonthlyCost": 1000,
"effectiveYearlyCost": 1000,
"registrationNumber": "12345678909",
"termInMonths": 0,
"numberOfPayments": 0,
"paymentFixedCosts": 0,
"firstPaymentDate": "2025-08-11T13:45:00Z",
"paymentScheduleItems": [
{
"dueDate": "2025-08-11T13:45:00Z",
"principalAmountInCents": 0,
"amortization": 0,
"interest": 0,
"financeTax": 0,
"payment": 0,
"addedFixedCosts": 0
}
],
"amortizationType": "texto",
"apr": 1.99,
"includePaymentFixedCosts": true,
"financeTaxExempted": true,
"fiduciaryGuarantee": 1000,
"indexer": "texto",
"indexerValue": 1000,
"numberOfInterestPayments": 0,
"calculationType": "texto",
"dueDateOnBusinessDays": true,
"paymentPeriodicity": {
"every": 0,
"periodicity": "texto"
}
}
]Códigos de retorno
| Código | Significado | Detalhe do contrato |
|---|---|---|
200 | Requisição bem-sucedida. | Success |
400 | Requisição inválida (validação de campos ou regra de negócio). | Bad Request |
Exemplos
curl -X POST "{{baseUrl}}/v1/Amortization/Batch" \
-H "Authorization: Bearer {{token}}" \
-H "Content-Type: application/json" \
-d '[
{
"productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"legalPerson": true,
"personId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"registrationNumber": "12345678909",
"amortization": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"amortizationType": "texto",
"startDate": "2025-08-11T13:45:00Z",
"apr": 1.99,
"includePaymentFixedCosts": true,
"validationErrors": [
{
"memberNames": [],
"errorMessage": "texto"
}
],
"agentCommissions": [
{
"name": "Fulano de Tal",
"amount": 1000,
"type": {},
"baseValue": {},
"chargeCommissionFrom": {},
"financeCost": true
}
],
"agentCommission": {
"name": "Fulano de Tal",
"amount": 1000,
"type": "Absolute",
"baseValue": "InitialValue",
"chargeCommissionFrom": "All",
"financeCost": true,
"totalValue": 0
}
}
}
]'var baseUrl = "{{baseUrl}}";
var token = "{{token}}";
using var http = new HttpClient { BaseAddress = new Uri(baseUrl) };
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", token);
var rota = "/v1/Amortization/Batch";
var corpo = new StringContent(
"""
[
{
"productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"legalPerson": true,
"personId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"registrationNumber": "12345678909",
"amortization": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"amortizationType": "texto",
"startDate": "2025-08-11T13:45:00Z",
"apr": 1.99,
"includePaymentFixedCosts": true,
"validationErrors": [
{
"memberNames": [],
"errorMessage": "texto"
}
],
"agentCommissions": [
{
"name": "Fulano de Tal",
"amount": 1000,
"type": {},
"baseValue": {},
"chargeCommissionFrom": {},
"financeCost": true
}
],
"agentCommission": {
"name": "Fulano de Tal",
"amount": 1000,
"type": "Absolute",
"baseValue": "InitialValue",
"chargeCommissionFrom": "All",
"financeCost": true,
"totalValue": 0
}
}
}
]
""",
Encoding.UTF8, "application/json");
var resp = await http.PostAsync(rota, corpo);
resp.EnsureSuccessStatusCode();
var json = await resp.Content.ReadAsStringAsync();const baseUrl = '{{baseUrl}}';
const token = '{{token}}';
const payload = [
{
"productId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"legalPerson": true,
"personId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"registrationNumber": "12345678909",
"amortization": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"amortizationType": "texto",
"startDate": "2025-08-11T13:45:00Z",
"apr": 1.99,
"includePaymentFixedCosts": true,
"validationErrors": [
{
"memberNames": [],
"errorMessage": "texto"
}
],
"agentCommissions": [
{
"name": "Fulano de Tal",
"amount": 1000,
"type": {},
"baseValue": {},
"chargeCommissionFrom": {},
"financeCost": true
}
],
"agentCommission": {
"name": "Fulano de Tal",
"amount": 1000,
"type": "Absolute",
"baseValue": "InitialValue",
"chargeCommissionFrom": "All",
"financeCost": true,
"totalValue": 0
}
}
}
];
const resp = await fetch(`${baseUrl}/v1/Amortization/Batch`, {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify(payload),
});
if (!resp.ok) throw new Error(`HTTP ${resp.status}`);
const data = await resp.json();Troque apenas {{baseUrl}} e {{token}}. No Postman, defina-os como variáveis de environment; o cURL importa em Import > Raw text.
Downloads
Este endpoint já vem configurado nas collections abaixo, na pasta da etapa correspondente.
Guia de importação: Como importar no Postman · Todos os downloads: Downloads