application/json. Envie cada campo de dinheiro e de taxa como string decimal, nunca como número JSON.
Faça primeiro os Pré-requisitos. Envie o mesmo token bearer nas sete chamadas. O Lender pega o analista do subject do token, e apenas esse analista pode aprovar e desembolsar a proposta.
Este passo a passo registra um empréstimo brasileiro com o regime tributário
none, que não calcula IOF e mantém simples os valores do passo 7. Leia o Pacote regulatório Brasil para um produto que retém IOF. Um contrato com desconto em folha pertence ao contexto delimitado do consignado privado. Leia Consignado privado para o vocabulário e os tópicos de ciclo de vida dele.As sete chamadas
1. Crie o produto
POST /api/v1/loan-products
loanType aceita personal, commercial ou card. jurisdictionCode é BR. Qualquer outro código retorna 422.
A resposta carrega o novo id. O produto fica em draft.
2. Crie uma versão
POST /api/v1/loan-products/{productId}/versions
currencynão tem padrão. Forneça um código ISO-4217 válido em maiúsculas. A versão é a fonte da verdade da moeda daqui até o ledger.rateBandé obrigatório. É a faixa de preço que a versão autoriza, em pontos-base anuais. Uma proposta cuja taxa fica fora dela é recusada.admittedBorrowerKindsnomeia para quem a versão empresta. Uma lista vazia ou omitida não admite nenhum tomador.normPortfolioClassé a carteira. Uma versão brasileira sem carteira não pode ser ativada no passo 4.- Uma versão fixa não carrega vínculo flutuante. Com
rateMode: fixed, omitafloatingRateTableId,floatingSpreadBpserequiresFloatingRate. O Lender rejeita uma versão fixa que carregue qualquer um deles. jurisdictionCodeé obrigatório, e deve bater com o do produto. Uma versão não pode mover um produto para outra jurisdição.
versionId.
3. Prenda um perfil contábil
POST /api/v1/loan-products/{productId}/accounting-profiles
O perfil mapeia cada evento contábil em contas contábeis. A ativação recusa um produto sem perfil, então vincule o perfil agora.
disbursement, repayment, prepayment, accrual, collection_unapplied, collection_reapply e collection_refund. Os outros tipos de evento são opcionais. Menos de sete regras é rejeitado antes de o handler rodar. Um produto sob as regras brasileiras de perda de crédito também precisa de provision_constitution e provision_reversal, ou a provisão medida dele não é lançada no ledger. A ativação não verifica essas regras.
Cada perna declara exatamente um entre role e component, e nenhuma conta aparece nos dois lados da mesma regra. Quatro eventos também carregam um formato fixo de pernas:
collection_reapply aceita unapplied_cash como único débito. Cada crédito que ela carrega deve aparecer também como crédito em repayment ou prepayment, com a mesma conta e o mesmo papel. disbursement e repayment precisam, cada um, de pelo menos um débito e um crédito.
Mantenha a regra disbursement com duas pernas, como acima. O Lender preenche a perna cash com o valor líquido e cada outra perna estrutural com o valor bruto. Uma perna component recebe uma retenção calculada, e o regime tributário none não calcula nenhuma, então a regra de duas pernas é a que balanceia neste passo a passo.
Leia Defina um produto de empréstimo para a superfície mais ampla do produto.
4. Ative o produto
POST /api/v1/loan-products/{productId}/activate
5. Crie a proposta
POST /api/v1/loan-applications
Envie o header X-Idempotency. O Lender exige esse header nesta chamada e nos passos 6 e 7. Uma nova tentativa com o mesmo valor repete a primeira resposta e não grava nada novo.
borrowerIdé um UUID.borrowerKindaceitapessoaFisicaoupessoaJuridica, e a versão deve admitir esse tipo.requestedInterestRateé a taxa mensal como string decimal na escala 8. Ela deve ser maior que0e não maior que1. O Lender monta o cronograma a partir dessa taxa e a compara com a faixa de taxa da versão em pontos-base anuais:"0.01500000"ao mês são1800bps ao ano, dentro da faixa do passo 2.requestedInstallmentsfica entre 1 e 600.previewScheduleSnapshotIdé opcional. Para citar a cotação que você mostrou ao tomador, envie oscheduleOfferSnapshotIdquePOST /api/v1/loan-applications/preview-scheduleretornou.- Não existe campo
assignedOfficerId. O Lender define esse dado a partir do subject do token.
pending_approval, carregando o código de jurisdição e a versão de perfil que o Lender resolveu a partir da versão do produto.
6. Aprove
POST /api/v1/loan-applications/{id}/approve
approvedAmount vira o teto de tudo o que você desembolsa. A proposta passa para approved e carrega o registro da decisão.
7. Desembolse
POST /api/v1/loan-applications/{id}/disburse
loanAccountId é um UUID que você fornece. O Lender não gera esse UUID. Ele identifica a conta de empréstimo sob a qual este contrato é gerido, e é imutável nas tranches posteriores da mesma proposta. jurisdictionExtensions leva o que o pipeline brasileiro lê: o instante do desembolso, a versão do passo 2 e o valor de X-Idempotency desta chamada como requestId. O desembolso falha quando falta um deles.
O Lender também confere que:
netDeliveredAmountnão excedegrossRequestedAmount.grossRequestedAmounté igual aapprovedAmount, porque este é o único desembolso da proposta. Uma liberação em tranches declaratrancheNumber, e o total corrente dela não excedeapprovedAmount.decisionAtedisbursedAtnão são anteriores à criação da proposta, edisbursedAtnão é anterior à decisão de aprovação.- A jurisdição e a versão de perfil ainda batem com o par que o Lender resolveu no passo 5.
Confirme que o empréstimo existe
A resposta do desembolso carrega a proposta em
disbursed com o evento de desembolso dela. Depois, leia a conta de empréstimo:
A resposta também carrega
profileVersion, a versão do perfil de jurisdição, não uma versão de produto. Ela não carrega moeda. O empréstimo usa a currency que você definiu na versão do produto de empréstimo no passo 2.
Se você configurou o relay do ledger Midaz, o lançamento de desembolso chega ao ledger quando o dispatcher do outbox repassa a intenção. Isso acontece logo depois da chamada, não dentro dela. Caso contrário, a intenção permanece no outbox.
Próximos passos
Faça a gestão de um empréstimo
Registre pagamentos, antecipe, reprograme e corrija uma conta de empréstimo viva.
Como funciona a apropriação
O reconhecimento de juros roda no agendamento próprio. Comece uma rodada de apropriação, ou habilite o heartbeat.

