Por que mockar Open Finance em vez de usar o sandbox oficial
Open Finance Brasil é o padrão regulado pelo Banco Central pra compartilhamento de dados financeiros entre instituições, mediante consentimento explícito do usuário. Integrar de verdade exige credenciamento no diretório de participantes, certificados mTLS e um fluxo OAuth 2.0 completo — processo que leva semanas e não é o que você quer esperar só pra desenvolver a tela de consentimento do seu app.
Este guia mostra o padrão geral de endpoints do Open Finance Brasil (públicos, documentados em openfinancebrasil.org.br) — não a API específica de nenhuma instituição, já que cada participante implementa o padrão com suas próprias URLs e credenciamento.
1. Fluxo de consentimento
Toda jornada de Open Finance começa com um consentimento — o usuário autoriza explicitamente quais dados serão compartilhados e por quanto tempo:
// Mock Rule: POST /open-banking/consents/v2/consents → 201
{
"data": {
"consentId": "urn:bancoexemplo:C1DD33123",
"status": "AWAITING_AUTHORISATION",
"statusUpdateDateTime": "{{now}}",
"permissions": ["ACCOUNTS_READ", "ACCOUNTS_BALANCES_READ", "ACCOUNTS_TRANSACTIONS_READ"]
}
}
2. Contas e saldos
Depois do consentimento aprovado, a API expõe as contas autorizadas e seus saldos:
// Mock Rule: GET /open-banking/accounts/v2/accounts → 200
{
"data": [
{ "accountId": "{{uuid}}", "brandName": "Banco Exemplo", "type": "CONTA_DEPOSITO_A_VISTA", "accountSubType": "INDIVIDUAL" }
]
}
// Mock Rule: GET /open-banking/accounts/v2/accounts/:accountId/balances → 200
{
"data": { "availableAmount": { "amount": "{{faker.price}}", "currency": "BRL" } }
}
3. Transações
// Mock Rule: GET /open-banking/accounts/v2/accounts/:accountId/transactions → 200
{
"data": [
{ "transactionId": "{{uuid}}", "amount": "{{faker.price}}", "transactionName": "{{faker.company}}", "type": "DEBITO" }
]
}
Combine com Faker BR pra gerar CPF/CNPJ, nomes e valores plausíveis nos dados de conta, sem usar dado real de ninguém — importante pra não criar um problema de LGPD só de testar (veja também mock LGPD-compliant).