Pular para o conteúdo principal

Pricing Engine

O Building Block Pricing Engine fornece funcionalidades para calculo de precos, taxas de juros e gestao de regras de pricing na Catalisa Platform.

Visão Geral

O Pricing Engine é um módulo tenant-scoped, ou seja, requer um token com organizationId. Ele é responsável por:

  • Gerenciamento de Risk Bands (faixas de risco baseadas em score)
  • Gerenciamento de Pricing Rules (regras de pricing com taxas, comissoes e seguros)
  • Calculo de pricing baseado em score de credito e parametros do emprestimo
  • Integração com o Decision Engine para regras complexas

Base URL

https://api.catalisa.io/pricing

Recursos

RecursoDescrição
Risk BandsFaixas de risco por score
Pricing RulesRegras de pricing
CalculateCalculo de pricing

Permissões

PermissãoDescrição
PRICING_RISK_BANDS_CREATECriar risk bands
PRICING_RISK_BANDS_READListar e visualizar risk bands
PRICING_RISK_BANDS_UPDATEAtualizar risk bands
PRICING_RISK_BANDS_DELETEExcluir risk bands
PRICING_RULES_CREATECriar pricing rules
PRICING_RULES_READListar e visualizar pricing rules
PRICING_RULES_UPDATEAtualizar pricing rules
PRICING_RULES_DELETEExcluir pricing rules
PRICING_CALCULATEExecutar calculos de pricing

Exemplo Rápido

Fluxo básico para configurar pricing e calcular taxa para um cliente:

// 1. Criar Risk Band para score 700-850
const riskBandResponse = await fetch('https://api.catalisa.io/pricing/api/v1/risk-bands', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
data: {
type: 'risk-bands',
attributes: {
productId: 'product-uuid',
name: 'LOW_RISK',
minScore: 700,
maxScore: 850,
baseRate: 0.0199, // 1.99% a.m.
isActive: true,
},
},
}),
});

// 2. Criar Pricing Rule com taxas
const ruleResponse = await fetch('https://api.catalisa.io/pricing/api/v1/pricing-rules', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
data: {
type: 'pricing-rules',
attributes: {
productId: 'product-uuid',
name: 'Standard Personal Loan',
ruleType: 'DB_RULE',
status: 'ACTIVE',
fees: [{
feeType: 'REGISTRATION',
name: 'Taxa de Cadastro',
calculationMethod: 'FIXED',
value: 150.00,
}],
},
},
}),
});

// 3. Calcular pricing para um cliente
const calcResponse = await fetch('https://api.catalisa.io/pricing/api/v1/calculate', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
data: {
type: 'pricing-calculations',
attributes: {
productId: 'product-uuid',
creditScore: 750,
requestedAmount: 10000,
numberOfInstallments: 12,
},
},
}),
});

const { data } = await calcResponse.json();
console.log(`Taxa aprovada: ${data.attributes.interestRate * 100}%`);
console.log(`Aprovado: ${data.attributes.approved}`);

Arquitetura

┌─────────────────────────────────────────────────────────────────┐
│ Pricing Engine │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Risk Bands │ │Pricing Rules │ │ Calculate │ │
│ │ │ │ │ │ │ │
│ │ - Score │ │ - Fees │ │ - Score │ │
│ │ - Base Rate │ │ - Comissoes │ │ - Amount │ │
│ │ - Spread │ │ - Seguros │ │ - Term │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │ │ │ │
│ └───────────────────┼───────────────────┘ │
│ │ │
│ ┌────────▼────────┐ │
│ │ Decision Engine │ (opcional) │
│ │ Integration │ │
│ └─────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘

Conceitos Importantes

Risk Bands

Risk Bands definem faixas de score de credito e suas taxas base associadas:

CampoDescrição
minScoreScore mínimo da faixa (0-1000)
maxScoreScore máximo da faixa (0-1000)
baseRateTaxa base mensal (ex: 0.0199 = 1.99%)
rateSpreadSpread adicional sobre a taxa base

Pricing Rules

Pricing Rules definem regras de negocio para calcular pricing:

TipoDescrição
DB_RULERegra baseada em dados no banco
DECISIONRegra delegada ao Decision Engine

Tipos de Taxa (FeeType)

TipoDescrição
REGISTRATIONTaxa de cadastro
ADMINISTRATIONTaxa de administracao
ANALYSISTaxa de analise
DOCUMENTATIONTaxa de documentacao
OTHEROutras taxas

Metodos de Calculo (FeeCalculationMethod)

MétodoDescrição
FIXEDValor fixo
PERCENTAGE_OF_PRINCIPALPorcentagem do principal
PERCENTAGE_OF_TOTALPorcentagem do total