Menu Docs
Página inicial do Docs
/

Armazenar dados do Open Finance

O MongoDB impulsiona o open finance com a integração de dados flexíveis, segurança integrada e serviços financeiros dimensionáveis.

  • Casos de uso: Análises orientadas por aplicativos

  • Setores: Serviços financeiros

  • Produtos e ferramentas: Pipeline de agregação, MongoDB Atlas

As operações de crédito aberto estão transformando o setor financeiro, permitindo o compartilhamento contínuo de dados entre bancos, empresas de tecnologia chave e provedores terceirizados. No entanto, a integração de diversos dados financeiros, garantindo a segurança, a conformidade e a escalabilidade continua sendo um grande desafio. O MongoDB fornece uma base para o crédito aberto por meio de:

  • Modelo de documento flexível

  • Suporte a JSON nativo

  • Framework de agregação poderosa

Esses recursos permitem que as organizações unifiquem dados de várias fontes e garantam um gerenciamento de dados seguro e compatível sem a complexidade dos bancos de dados relacionais tradicionais.

Demonstração do Open Finance em formato gif

Figura 1. Aplicativo de open finance com o MongoDB

Esta solução demonstra um aplicação bancário que permite aos usuários conectar com segurança contas bancárias externas.

  1. O usuário inicia solicitações para conectar suas contas bancárias externas. Esta operação requer o consenso explícito do usuário, garantindo a segurança e a conformidade com regulamentações como a DPS2. Para autenticar, o aplicação emula OAuth 2.0 e gera tokens para permitir uma comunicação segura entre organizações.

  2. Quando autorizado, o aplicação usa APIs para se comunicar com bancos externos. Esses bancos expõem dados financeiros, como contas, transações e saldos por meio de seus microsserviços. As respostas estão no formato JSON, o que garante compatibilidade e troca de dados contínua.

  3. O aplicação então envia os dados financeiros para o MongoDB Atlas. Com o modelo de documento , o MongoDB permite lidar com diversas estruturas de dados de diferentes bancos. Em seguida, o aplicação pode usar agregação pipelines para analisar e enriquecimento dos dados, proporcionando aos usuários uma visão financeira global, permitindo ao banco oferecer insights financeiros personalizados.

Diagrama de arquitetura do Open Finance

Figura 2. Diagrama de arquitetura Open Finance

Nesta solução, o modelo de dados emula a integração de dados financeiros do mundo real. Essa abordagem aproveita a flexibilidade do modelo de documento para lidar com diversas estruturas de dados de diferentes entidades financeiros.

collection
Descrição

tokens

Armazena tokens de portador, que o aplicação usa para autenticar e autorizar solicitações de API com bancos externos.

{
"_id": { "$oid": "unique_id" },
"UserName": "string",
"BearerToken": "string",
"TokenDates": {
"CreationDate": { "$date": "ISODate" },
"LastUseDate": { "$date": "ISODate" }
},
}

external_accounts

Armazena informações sobre contas bancárias externas vinculadas por usuários.

{
"_id": { "$oid": "unique_id" },
"AccountId": "string",
"AccountBank": "string",
"AccountStatus": "string",
"AccountType": "string",
"AccountBalance": "number",
"AccountCurrency": "string",
"AccountDate": {
"OpeningDate": { "$date": "ISODate" }
},
"AccountUser": {
"UserName": "string",
"UserId": { "$oid": "unique_id" }
},
"GreenAccountNarrative": "string"
}

external_products

Armazena informações sobre produtos financeiros (como operações de crédito e crédito à distância) associados aos usuários.

{
"_id": { "$oid": "unique_id" },
"ProductId": "string",
"ProductBank": "string",
"ProductStatus": "string",
"ProductType": "string",
"ProductAmount": "number",
"ProductCurrency": "string",
"ProductInterestRate": "number",
"ProductDate": {
"OpeningDate": { "$date": "ISODate" }
},
"ProductCustomer": {
"UserName": "string",
"UserId": { "$oid": "unique_id" }
},
"GreenProductNarrative": "string",
"RepaymentPeriod": "number",
"LoanCollateral": "string"
}

Em aplicativos do mundo real, essas coleções envolveriam mecanismos de segurança mais complexos e informações detalhadas. Cada entidade financeira tem suas próprias definições de modelo de dados.

Mapeamento e relações de dados
O aplicação precisa de um mapeamento e relacionamento de dados robustos posteriormente para traduzir diversos modelos de dados de diferentes entidades financeiros para um formato unificado.
Segurança e conformidade
O aplicação deve garantir a segurança de dados e a conformidade com as normas, como GDPR, LDAP2 e outras regras do sistema financeiro local. Isso inclui criptografia, controles de acesso e faixas de auditar .
Escalabilidade e desempenho
O aplicação requer um modelo de dados que possa lidar com grandes volumes de dados de forma eficiente, considerando considerações de indexação, fragmentação e otimização de desempenho.
Integração e interoperabilidade
O aplicação implementa APIs e microsserviços que podem ser integrados a vários sistemas externos, garantindo interoperabilidade e troca de dados em tempo real.

Com a flexibilidade do modelo de documento , essa solução demonstra como as bancos e bancos podem unificar e gerenciar diversas fontes de dados. Uma implementação de nível de produção precisa abordar as complexidades e nuances da integração de dados financeiros do mundo real.

Essa solução está disponível em dois repositórios do GitHub:

Para obter detalhes sobre a solução de backend, consulte o repositório Backend GitHub. Este repositório fornece o serviço de demonstração de financiamento aberto. Ele mostra como se integrar com bancos de terceiros e trocar dados com segurança. O MongoDB serve como o armazenamento de dados central.

Para criar a solução, conclua as seguintes etapas:

1

Crie um novo banco de dados no MongoDB Atlas chamado open_finance. Em seguida, adicione três coleções:

  • tokens

  • external_accounts

  • external_products

2

Importe os dados de amostra do diretório /backend/data/sample para as respectivas coleções.

3

Crie um novo usuário com acesso de readWrite ao banco de dados open_finance para gerenciar os dados com segurança.

4

Adicione as credenciais do banco de dados e as origens da API a um arquivo .env.

5
  1. Configurar um ambiente virtual usando o poético

  2. Instalar dependências

  3. Iniciar o backend com Uvicorn

  4. Garanta que o serviço seja executado na porta correta para comunicação da API

A interface do usuário desta solução está disponível no repositório frontend no GitHub. Os componentes são projetados como microsserviços. O repositório da UI atua como o hub principal e fornece uma visão geral de todos os serviços integrados.

  • Implemente um armazenamento central de dados: Use o MongoDB como um armazenamento central de dados para dar suporte a ecossistemas de crédito aberto.

  • Gerenciamento seguro de dados: o MongoDB oferece gerenciamento seguro de dados com criptografia integrada, controles de acesso granulares e alta disponibilidade. Isso ajuda as organizações a proteger informações confidenciais e cumprir os requisitos normativos.

  • Ofereça insights personalizados: use o agregação pipeline do MongoDB para analisar dados dos cliente e fornecer insights financeiros personalizados aos seus usuários.

  • Luis Pazmino Diaz, MongoDB

  • Ainhoa Mugica, MongoDB

  • Julian Boronat, MongoDB

  • Andrea Alaman Calderon, MongoDB

  • Acelerador da solução para fraudes de cartão em tempo real

  • Solução para acelerar a modernização de pagamentos

  • MongoDB e Hasura para Serviços Modernos de Fintech

Voltar

Serviços modernos de Fintech

Nesta página