Contexto
A cada evento processado na api de crédito é realizado uma atualização dos dados da projeção* deste evento no banco de leitura e, em seguida, é realizado o envio dela via Stream para o tópico de notificações contendo na mensagem o Label PublishDataStream.
Projeção( ou Projection ): É um padrão de projeto utilizado na api de Crédito que, em resumo, simboliza o estado de uma entidade naquele determinado instante.
Contrato genérico
{
"Stream": {
"Content":[
{
"SchemaName": "MyTable",
"SchemaVersion": 1,
"DatasetName": "MyDataset",
"Data": [
{ "id": 1 },
{ "id": 2 }
]
}
]
}
}
Campo | Descrição |
---|---|
Stream | Lista do conteúdo do fluxo de dados. Permite vários schemas ou conjuntos de dados em uma única mensagem. |
Stream.Content | Define o conjunto de dados e o esquema para o qual transmitir dados. |
Stream.Content.DatasetName | String representando o nome do conjunto de dados que receberá os dados |
Stream.Content.SchemaName | String representando o nome do esquema / tabela no datalake |
Stream.Content.SchemaVersion | Inteiro representando a versão do esquema que está sendo transmitida |
Stream.Content.Data | Lista de objetos para transmitir serializados no formato Json |
Exemplo de stream com várias projections
{
"Content": [
{
"Data": [
{
"Name": "NITEROI RUGBY FOOTBALL CLUBE 72505662816752",
"FantasyName": "NITEROI RUGBY 72505662816752",
"AddressId": "jq292kuy4hesgqv4ukfbv7vmk",
"AffiliationKey": "7e04moldh5qtzwdy9vwbikchdgj8xtoz",
"CreationDate": "2020-07-14T16:14:37.5864828",
"AffiliationCode": "016207571",
"Status": "Active",
"Id": "jq292kux5yyt36mh3fw7x8dmh",
"Document": "72505662816752",
"LastUpdateDate": "2020-07-14T16:16:43.2911011Z",
"Email": "[email protected]",
"PhoneNumber": "21981340010",
"Version": 10,
"DocumentType": "CNPJ",
"StreamDate": "2020-07-14T16:16:45.875776Z"
}
],
"SchemaName": "borrower",
"SchemaVersion": 1
},
{
"Data": [
{
"Id": "jq2923umgcgd9jv1vfjm12gdx",
"BankNumber": "13213",
"BankName": "Banco do Brasil S.A",
"BranchNumber": "346",
"BranchDigit": "0",
"AccountNumber": "666555",
"AccountDigit": "1",
"CreationDate": "0001-01-01T00:00:00",
"LastUpdateDate": null,
"Version": 0,
"LegalEntityName": "José da Sila Pereira",
"LegalEntityDocumentType": "CNPJ",
"LegalEntityDocumentNumber": "72505662816752",
"AccountType": 1,
"StreamDate": "2020-07-14T16:16:45.8757785Z"
}
],
"SchemaName": "bank-account",
"SchemaVersion": 1
},
{
"Data": [
{
"CreationDate": "2020-07-14T16:15:12.0222159",
"BorrowerId": "jq292kux5yyt36mh3fw7x8dmh",
"LastUpdateDate": "2020-07-14T16:16:43.2911011Z",
"CancellationUserId": null,
"TotalPaidAmount": 0.00,
"MaximumDisbursementDate": "2020-07-15T00:00:00",
"ContractNumber": 1234,
"CreditAmount": 20000.00,
"ContractUri": "https://partnerservices8426-8080-default.mock.blazemeter.com/reportscustom/stone/imprimirccb2?code=21482a6b-13fc-4394-a708-6fbcc64f90de",
"DisbursementDate": "2020-07-14T16:15:26.3278172",
"CurrentDebtAmount": 20276.00,
"SignerId": "jq2935bxf56m1b515rcf3vt26",
"DueDate": "2021-04-14T00:00:00",
"LastCurrentDebtProcessingDate": "2020-07-14T16:15:26.7477103",
"Id": "jq2935bxf58cduszxwru8jq35",
"CancellationDate": null,
"LenderId": "FIDC",
"LenderName": "FIDC Stone",
"LenderDocument": "31847367000179",
"ProposalId": "jq292m1pnx7r8crf1xmwhkrut",
"TotalEffectiveCostRate": 4.540000,
"Status": "Active",
"RetentionRate": 6.000000,
"AnnualTotalEffectiveCostRate": 70.290000,
"CreditLineId": "jq29354prxhu34c9b6k16943x",
"TaxAmount": 300.68,
"OperationFeeAmount": 200.00,
"CancellationReason": null,
"BankAccountId": "jq29354prx8g34qxd3sn1z21z",
"FinancialInstitutionId": "BrasilMoneyPlusStaging",
"InterestRate": 3.990000,
"RepaymentStrategy": "BalanceRetention",
"RetentionCorrelationId": "d50346ae-dad1-47bb-86b5-c9f25550118a",
"Version": 10,
"LastRepaymentDate": null,
"SettlementDate": null,
"StreamDate": "2020-07-14T16:16:45.8757812Z"
}
],
"SchemaName": "loan",
"SchemaVersion": 1
},
{
"Data": [
{
"Status": "Inactive",
"Id": "jq29354prxhu34c9b6k16943x",
"BorrowerId": "jq292kux5yyt36mh3fw7x8dmh",
"Tpv": 50000.00,
"AvailableCreditLimit": 30000.00,
"CreationDate": "2020-07-14T16:14:47.710834",
"FinancialInstitutionId": "BrasilMoneyPlusStaging",
"InterestRate": 3.990000,
"LastUpdateDate": "2020-07-14T16:16:43.2911011Z",
"CreditAnalisysId": null,
"TotalCreditLimit": 50000.00,
"Version": 10,
"MinMonthsToExpireContract": 9,
"MaxMonthsToExpireContract": 9,
"StreamDate": "2020-07-14T16:16:45.8757834Z"
}
],
"SchemaName": "creditline",
"SchemaVersion": 1
}
]
}
Esquemas das projeções das entidades de negócio
Projeção do Cliente
Veja a seção Projeção do Cliente em: Visão Geral do Cliente
Projeção do Endereço do Cliente
Veja a seção Projeção do Endereço do Cliente em: Visão Geral do Endereço do Cliente
Projeção da Conta Bancária
Veja a seção Projeção da Conta Bancária em: Visão Geral da Conta Bancária
Projeção da Linha de Crédito
Veja a seção Projeção da Linha de Crédito em: Visão Geral da Linha de Crédito
Projeção da Proposta
Veja a seção Projeção da Proposta em: Visão Geral da Proposta
Projeção do Empréstimo
Veja a seção Projeção da Empréstimo em: Visão Geral do Empréstimo
Projeção da Suspensão do Empréstimo
Projeção do Reembolso
Veja a seção Projeção do Reembolso em: Visão Geral da Suspensão
Projeção da Ordem de Pagamento
Veja a seção Projeção da Ordem de Pagamento em: Visão Geral da Ordem de Pagamento
Projeção da Ordem de Pagamento - Boleto
Veja a seção Projeção do Boleto em: Visão Geral do Boleto
Projeção da Isenção de Juros
Veja a seção Projeção da Isenção de Juros em: Visão Geral da Isenção de juros