Calcular IOF
Segurança
Para acessar a API, é necessário obter um token de acesso através do fluxo de autenticação OAuth2. Veja mais detalhes em Como obter acesso?
info
Ao gerar o token JWT, não esqueça de utilizar o escopo correto. Caso contrário, a requisição será rejeitada com o código de erro 401 Unauthorized.
Descrição dos campos
Campo | Tipo | Descrição |
---|---|---|
additional_iof_rate | number | Valor do IOF. No formato "0.0000" |
daily_iof_rate | number | Valor do IOF diário. No formato "0.000000" |
contract_date | string | Data do contrato. No formato "YYYY-MM-DD" |
amortization_schedule[].payment_number | number | Número do pagamento |
amortization_schedule[].payment_date | string | Data do pagamento. No formato "YYYY-MM-DD" |
amortization_schedule[].beginning_balance | number | Valor inicial |
amortization_schedule[].payment | number | Valor do pagamento |
amortization_schedule[].principal_payment | number | Valor principal |
amortization_schedule[].interest_payment | number | Valor do juros |
amortization_schedule[].remaining_balance | number | Valor restante |
Requisição
POST https://api-sandbox.catalisa.com.br/calc-engine/api/loan-iof-calculator/calculationsParâmetros
Sem parâmetros
Cabeçalhos
Nome | Valor |
---|---|
Authorization | Bearer <token> |
Content-Type | application/json |
Exemplo de Requisição
Corpo da Requisição
{
"data": {
"type": "calculations",
"attributes": {
"additional_iof_rate": 0.0038,
"daily_iof_rate": 0.000082,
"contract_date": "2023-09-18",
"amortization_schedule": [
{
"payment_number": 1,
"payment_date": "2023-10-18",
"beginning_balance": 10000,
"payment": 1948.17748,
"principal_payment": 1483.17748,
"interest_payment": 465,
"remaining_balance": 8516.8225
},
{
"payment_number": 2,
"payment_date": "2023-11-18",
"beginning_balance": 8516.82252,
"payment": 1948.17748,
"principal_payment": 1552.14523,
"interest_payment": 396.03225,
"remaining_balance": 6964.6773
},
{
"payment_number": 3,
"payment_date": "2023-12-18",
"beginning_balance": 6964.67729,
"payment": 1948.17748,
"principal_payment": 1624.31999,
"interest_payment": 323.85749,
"remaining_balance": 5340.3573
},
{
"payment_number": 4,
"payment_date": "2024-01-18",
"beginning_balance": 5340.3573,
"payment": 1948.17748,
"principal_payment": 1699.85087,
"interest_payment": 248.32661,
"remaining_balance": 3640.5064
},
{
"payment_number": 5,
"payment_date": "2024-02-18",
"beginning_balance": 3640.50643,
"payment": 1948.17748,
"principal_payment": 1778.89393,
"interest_payment": 169.28355,
"remaining_balance": 1861.6125
},
{
"payment_number": 6,
"payment_date": "2024-03-18",
"beginning_balance": 1861.6125,
"payment": 1948.17748,
"principal_payment": 1861.6125,
"interest_payment": 86.56498,
"remaining_balance": 0
}
]
}
}
}
Respostas
Código | Descrição |
---|---|
201 | Criado com sucesso. Retorna os dados calculados. |
401 | Não autorizado |
Exemplo de uso
- Javascript
- CURL
const headers = new Headers();
headers.append("Authorization", "Bearer <token>");
headers.append("Content-Type", "application/json");
const body = JSON.stringify({
data: {
type: "calculations",
attributes: {
additional_iof_rate: 0.0038,
daily_iof_rate: 0.000082,
contract_date: "2023-09-18",
amortization_schedule: [
{
payment_number: 1,
payment_date: "2023-10-18",
beginning_balance: 10000,
payment: 1948.17748,
principal_payment: 1483.17748,
interest_payment: 465,
remaining_balance: 8516.8225
},
{
payment_number: 2,
payment_date: "2023-11-18",
beginning_balance: 8516.82252,
payment: 1948.17748,
principal_payment: 1552.14523,
interest_payment: 396.03225,
remaining_balance: 6964.6773
},
{
payment_number: 3,
payment_date: "2023-12-18",
beginning_balance: 6964.67729,
payment: 1948.17748,
principal_payment: 1624.31999,
interest_payment: 323.85749,
remaining_balance: 5340.3573
},
{
payment_number: 4,
payment_date: "2024-01-18",
beginning_balance: 5340.3573,
payment: 1948.17748,
principal_payment: 1699.85087,
interest_payment: 248.32661,
remaining_balance: 3640.5064
},
{
payment_number: 5,
payment_date: "2024-02-18",
beginning_balance: 3640.50643,
payment: 1948.17748,
principal_payment: 1778.89393,
interest_payment: 169.28355,
remaining_balance: 1861.6125
},
{
payment_number: 6,
payment_date: "2024-03-18",
beginning_balance: 1861.6125,
payment: 1948.17748,
principal_payment: 1861.6125,
interest_payment: 86.56498,
remaining_balance: 0
}
]
}
}
});
const requestOptions = {
method: "POST",
headers: headers,
body: body,
};
const response = await fetch(
"https://api-sandbox.catalisa.com.br/calc-engine/api/loan-iof-calculator/calculations",
requestOptions
);
const data = await response.json();
console.log(data);
curl --location 'https://api-sandbox.catalisa.com.br/calc-engine/api/loan-iof-calculator/calculations' \
--header 'Authorization: Bearer <token>' \
--data '{
"data": {
"type": "calculations",
"attributes": {
"additional_iof_rate": 0.0038,
"daily_iof_rate": 0.000082,
"contract_date": "2023-09-18",
"amortization_schedule": [
{
"payment_number": 1,
"payment_date": "2023-10-18",
"beginning_balance": 10000,
"payment": 1948.17748,
"principal_payment": 1483.17748,
"interest_payment": 465,
"remaining_balance": 8516.8225
},
{
"payment_number": 2,
"payment_date": "2023-11-18",
"beginning_balance": 8516.82252,
"payment": 1948.17748,
"principal_payment": 1552.14523,
"interest_payment": 396.03225,
"remaining_balance": 6964.6773
},
{
"payment_number": 3,
"payment_date": "2023-12-18",
"beginning_balance": 6964.67729,
"payment": 1948.17748,
"principal_payment": 1624.31999,
"interest_payment": 323.85749,
"remaining_balance": 5340.3573
},
{
"payment_number": 4,
"payment_date": "2024-01-18",
"beginning_balance": 5340.3573,
"payment": 1948.17748,
"principal_payment": 1699.85087,
"interest_payment": 248.32661,
"remaining_balance": 3640.5064
},
{
"payment_number": 5,
"payment_date": "2024-02-18",
"beginning_balance": 3640.50643,
"payment": 1948.17748,
"principal_payment": 1778.89393,
"interest_payment": 169.28355,
"remaining_balance": 1861.6125
},
{
"payment_number": 6,
"payment_date": "2024-03-18",
"beginning_balance": 1861.6125,
"payment": 1948.17748,
"principal_payment": 1861.6125,
"interest_payment": 86.56498,
"remaining_balance": 0
}
]
}
}
}'
Exemplo de Sucesso
{
"data": {
"id": "82871ea2-de06-44bf-895a-c074c038645c",
"type": "calculations",
"attributes": {
"iof_total": 128.6391391059,
"iof_additional_total": 38,
"iof_financed_total": 130.3155065635484
}
}
}