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
| Recurso | Descrição |
|---|---|
| Risk Bands | Faixas de risco por score |
| Pricing Rules | Regras de pricing |
| Calculate | Calculo de pricing |
Permissões
| Permissão | Descrição |
|---|---|
PRICING_RISK_BANDS_CREATE | Criar risk bands |
PRICING_RISK_BANDS_READ | Listar e visualizar risk bands |
PRICING_RISK_BANDS_UPDATE | Atualizar risk bands |
PRICING_RISK_BANDS_DELETE | Excluir risk bands |
PRICING_RULES_CREATE | Criar pricing rules |
PRICING_RULES_READ | Listar e visualizar pricing rules |
PRICING_RULES_UPDATE | Atualizar pricing rules |
PRICING_RULES_DELETE | Excluir pricing rules |
PRICING_CALCULATE | Executar 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:
| Campo | Descrição |
|---|---|
minScore | Score mínimo da faixa (0-1000) |
maxScore | Score máximo da faixa (0-1000) |
baseRate | Taxa base mensal (ex: 0.0199 = 1.99%) |
rateSpread | Spread adicional sobre a taxa base |
Pricing Rules
Pricing Rules definem regras de negocio para calcular pricing:
| Tipo | Descrição |
|---|---|
DB_RULE | Regra baseada em dados no banco |
DECISION | Regra delegada ao Decision Engine |
Tipos de Taxa (FeeType)
| Tipo | Descrição |
|---|---|
REGISTRATION | Taxa de cadastro |
ADMINISTRATION | Taxa de administracao |
ANALYSIS | Taxa de analise |
DOCUMENTATION | Taxa de documentacao |
OTHER | Outras taxas |
Metodos de Calculo (FeeCalculationMethod)
| Método | Descrição |
|---|---|
FIXED | Valor fixo |
PERCENTAGE_OF_PRINCIPAL | Porcentagem do principal |
PERCENTAGE_OF_TOTAL | Porcentagem do total |