Fluxo de Acesso a Informações de Conta
Quando o desenvolvedor deseja testar as APIs destinadas a Informações de Conta, é necessário criar um aplicativo em seu painel do tipo de produto BRAZIL AISP
- O cliente consente com seu parceiro que gostaria de compartilhar suas informações bancárias e escolhe o PSP
-
O desenvolvedor contata o PSP e envia uma solicitação de consentimento de conta
- O PSP verifica se o Id do aplicativo do desenvolvedor (client_id) tem as autorizações necessárias
- PSP usa as informações e cria recursos de consentimento e inicializa o processo, alterando o status para
AwaitingAuthorisation
- O PSP responde ao desenvolvedor com uma resposta de consentimento, que também instrui o desenvolvedor sobre como proceder com a autenticação e autorização
- O desenvolvedor redireciona o cliente do PSP para o site do PSP para autenticação e confirmação de consentimento
- Após as verificações necessárias, o PSP envia o token de acesso ao desenvolvedor, que por sua parte, o utiliza para recuperar as informações da conta do Usuário
Teste através do Portal do Desenvolvedor
Os seguintes passos devem ser realizados para o Acesso a Informações de Conta
1. Selecionar APP
Clique Test
para o APP selecionado, sendo redirecionado ao Swagger UI
2. Autenticação do Desenvolvedor
Primeiro passo no fluxo é a autenticação do App-Id do desenvolvedor. Clique no botão Autorizar e preencha o APP secret para obter o token de acesso específico para o Desenvolvedor
3. Chamada de Solicitação de Consentimento para Informações de Conta
O bearer token obtido pelo passo anterior deve ser preenchido no Endpoint de Consentimento para Informações de Conta - /v1/consents/
Como exemplo, use a chave privada abaixo para assinar a solicitação (corresponde aos JWKs fornecidos em App creation), cole no campo application signing private key
acima do botão Autorizar
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCDSUWD3VyDcGfB
hCP7sKCv15w2k/fptUxilGZsELw7hBlUk4iYib03iadEKNzPIlF+tGEX55Yu4IoJ
NldkLhDHHPTj6WhAxXPewMUeisG9QIPwd48mcG3pdIz5iKmaitA/dGIWpYH47I33
KOjOs9DFVl35FGjHts8fPye/qpovoAE/80Y8iXB1cU78BUhjFqpJ7iXNbR96iSgF
Dd1KuTW0eFbNAM14FFjhT7V3KBIAYwg3RpqYe9K0h48UN/oaxd7aHUQaCLJf4rbW
oYpcUHLr8VL2wpozXCxFLHyFWLninW2Wwi0xap/62U7R4RHnXPYLtATo5KWPS9AB
O4vrjNXnAgMBAAECggEAKVnQvWHhm7yx0W/vbX0Kf5gnqcEdWs0xy/L195+lyhEn
cU4uvezUXkPLHVrJgaxLgt8Jnd/hm845bAFjsTgZLL3gHFEN9yi6ADUzYRVPRG6n
n/voaLEMzXVaWdZDpVuHkBT2OC/VKjRH2stV2JUmcqFrY+Kbxhu8TRk1SddQTSNg
lQiMGOo1lVe0lo/su8A3yBVs+Ic/kdC4Na0xkTbgn7zYUcbNaYTd6p9eTAzAezF5
+Z0xsQNMPm8drt3bjTQzZH4+zb8ImzWH2lvJZryEs4QOQJkyLEuL7FR66XjrSYHZ
Y9fd5QEolWjwhlKCn81eVdhJk13Vq/7PiAXLz4Px8QKBgQDhDheQkra938nPSR8k
DwK5IGZJPoXGo0igM4qh96w5jqGiGniTWEMVzDqDqSzme5gxH7/cxaDNcaZOqSpO
RjJYv7XLyCkw8TuXJiNO5N62Flga38ycWZBR2SMABGmoOLa+m+w57y9vfJiduKXi
IDrJ308trQSnVe7ChB+xvESSkwKBgQCVVodv5Z8GbU6tYlR0AJOWkzRok4O1fp/g
Q4sHjcfVfvDGIHLbMjfoO3zpof2xgm+/BMjzkiesatjEbJjQuarOpUj+rp3SHbEI
OfXQezcodSbmuaGMxszRXsMT6BhO7Hw26JCHFBueimM+ifn3OKkaf4DzXZ2OPK5j
5RHiGwuf3QKBgQCcyy+Zts2ALZixRNVgTuDrz2nT365d/MaNbjtIqoAfvYJYqK6W
oShj2Fxv+/5fOX6HwwHtsvZcC7D9Hpht3jQXZsEmj3Y7NeX5YUW6InQTUi/h0UgB
KdkFXQ0oZuqhm5md5I3Isx5OQvUk9U8E4sVyfZTxUphqaNEmTdyy/GKd5wKBgAz0
TZlaTNos3zdRIUxSxHq6WEB+E13KFypIEaZdGSme8lntdKkpCQp/Jo3JvI0KaJEk
ZB4k3oYpWpZnaTYp9PQqCFP3Z79TTgkNphIorhc3WmGHVsk0cY3z724povotr3S/
5dGh3+d3z7YcF+/nHVwsFU6HH2S4RNRriYqYmACNAoGBALtl7uReDG1CrRwP6UzU
SRfPiHu6kj1OOMzXD5gkIphkxFd6pD7bKS22W6zEU+y3yQDyenO/TgYB1wqJaXMH
f2pv/4mSmTT64sPqwp/ersa8Lfv/iO1cabiytuKxrrYgOc/QdzAx0obJlOpz+ntS
B5+JIYmrBX0iKq4JCATMDbFk
-----END PRIVATE KEY-----
Utilize o payload abaixo para enviar requisições de informações de conta. A lista de contas está vazia neste momento, mas após a autorização do Usuário, a lista será populada com a conta que foi selecionada
{
"data": {
"loggedUser": {
"document": {
"identification": "11111111111",
"rel": "CPF"
}
},
"businessEntity": {
"document": {
"identification": "11111111111111",
"rel": "CNPJ"
}
},
"permissions": [
"ACCOUNTS_BALANCES_READ",
"ACCOUNTS_READ",
"ACCOUNTS_OVERDRAFT_LIMITS_READ",
"RESOURCES_READ",
"ACCOUNTS_TRANSACTIONS_READ",
"CREDIT_CARDS_ACCOUNTS_READ",
"CREDIT_CARDS_ACCOUNTS_BILLS_READ",
"CREDIT_CARDS_ACCOUNTS_BILLS_TRANSACTIONS_READ",
"CREDIT_CARDS_ACCOUNTS_LIMITS_READ",
"CREDIT_CARDS_ACCOUNTS_TRANSACTIONS_READ",
"CUSTOMERS_BUSINESS_IDENTIFICATIONS_READ",
"CUSTOMERS_BUSINESS_ADITTIONALINFO_READ",
"FINANCINGS_READ",
"FINANCINGS_SCHEDULED_INSTALMENTS_READ",
"FINANCINGS_PAYMENTS_READ",
"FINANCINGS_WARRANTIES_READ",
"INVOICE_FINANCINGS_READ",
"INVOICE_FINANCINGS_SCHEDULED_INSTALMENTS_READ",
"INVOICE_FINANCINGS_PAYMENTS_READ",
"INVOICE_FINANCINGS_WARRANTIES_READ",
"LOANS_READ",
"LOANS_SCHEDULED_INSTALMENTS_READ",
"LOANS_PAYMENTS_READ",
"LOANS_WARRANTIES_READ",
"UNARRANGED_ACCOUNTS_OVERDRAFT_PAYMENTS_READ",
"UNARRANGED_ACCOUNTS_OVERDRAFT_READ",
"UNARRANGED_ACCOUNTS_OVERDRAFT_SCHEDULED_INSTALMENTS_READ",
"UNARRANGED_ACCOUNTS_OVERDRAFT_WARRANTIES_READ"
],
"expirationDateTime": "2025-03-01T00:00:00Z",
"transactionFromDateTime": "2022-01-01T00:00:00Z",
"transactionToDateTime": "2022-02-01T23:59:59Z"
}
}
Se a solicitação for bem sucedida, o desenvolvedor receberá a seguinte resposta:
{
"data": {
"consentId": "urn:bancoex:C1DD33123",
"creationDateTime": "2022-02-01T08:30:00Z",
"status": "AWAITING_AUTHORISATION",
"statusUpdateDateTime": "2021-05-21T08:30:00Z",
"permissions": [
"ACCOUNTS_READ",
"ACCOUNTS_OVERDRAFT_LIMITS_READ",
"RESOURCES_READ"
],
"expirationDateTime": "2022-03-01T00:00:00Z",
"transactionFromDateTime": "2022-01-01T00:00:00Z",
"transactionToDateTime": "2022-02-01T23:59:59Z"
},
"links": {
"self": "https://api.banco.com.br/open-banking/api/v1/resource",
"first": "https://api.banco.com.br/open-banking/api/v1/resource",
"prev": "https://api.banco.com.br/open-banking/api/v1/resource",
"next": "https://api.banco.com.br/open-banking/api/v1/resource",
"last": "https://api.banco.com.br/open-banking/api/v1/resource"
},
"meta": {
"totalRecords": 1,
"totalPages": 1,
"requestDateTime": "2022-02-01T08:30:00Z"
}
}
A resposta contém a identificação do consentimento, seu status, e o endpoint scaOAuth. Desenvolvedor deve utilizar a URI do endpoint do banco para redirecionar o Usuário para a autenticação.
4. Autenticação de Usuário
Clique em Autorizar
no topo para iniciar a autenticação do Usuário.
O botão Authorizar
é utilizado para autenticar o Usuário. Após login e captura de consentimento, o token do Usuário já estará disponível para acesso a informações de conta.
5. Chamada API para Informações de Conta
O cabeçalho para autorização de informações de conta é automaticamente preenchido. Teste na API obie-aisp/v1/aisp/accounts
. Um exemplo de resposta será:
{
"data": [
{
"brandName": "Organização A",
"companyCnpj": "21128159000166",
"type": "CONTA_DEPOSITO_A_VISTA",
"compeCode": "001",
"branchCode": "6272",
"number": "94088392",
"checkDigit": "4",
"accountId": "92792126019929279212650822221989319252576"
}
],
"links": {
"self": "https://api.banco.com.br/open-banking/api/v1/resource",
"first": "https://api.banco.com.br/open-banking/api/v1/resource",
"prev": "https://api.banco.com.br/open-banking/api/v1/resource",
"next": "https://api.banco.com.br/open-banking/api/v1/resource",
"last": "https://api.banco.com.br/open-banking/api/v1/resource"
},
"meta": {
"totalRecords": 1,
"totalPages": 1,
"requestDateTime": "2022-02-01T08:30:00Z"
}
}