Nesta documentação você terá acesso as chamadas e integrações necessárias para as etapas de autenticação e confirmação/cancelamento da operação, no ambiente do BancoEstado.
Exemplo de URL utilizada pela Fintech para redirecionamento do cliente para o ambiente BancoEstado
https://appBech?consentid=64e533c6f7c877001112d405&interactionid=64e533c6f7c877001112d406
Ao chegar ao ambiente BancoEstado, o usuário deve realizar o seu login, conforme os padrões de autenticação da instituição. Mediante o login, é retornado um token de usuário para a seção.
POST interaction login
URL de geração do token
https://keycloak.bdc.fsapps.io/auth/realms/consent-management-sandbox-prd/protocol/openid-connect/token
cURL para geração do token
curl --location '${TOKEN_URL}' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --data-urlencode 'grant_type=client_credentials' \ --data-urlencode 'scope=openid' \ --data-urlencode 'client_id=${CLIENT_ID} \ --data-urlencode 'client_secret=${CLIENT_SECRET}'
O clientID e o client secret utilizados no cURL para geração do token são os indicados pela equipe de onboarding como credenciais de acesso ao consent management do produto.
URL base do consent management
https://api-sandbox.opb.bech.prd.fsapps.io
cURL para chamada do interaction login
### 3. POST interactions/:id/status - **INTERACTION_ID**: Interaction Id - **CONSENT_ID**: Consent Id ```bash curl --location '${CM_BASE_URL}/consent-management/api/v1/interactions/${INTERACTION_ID}/status' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Bearer ${BANK_TOKEN}' \ --data-urlencode 'consentId=${CONSENT_ID}' \ --data-urlencode 'nextStatus=CONSENT' \ --data-urlencode 'token=${USER_TOKEN}' ```
Após a confirmação de login do usuário, é necessário que a aplicação BancoEstado consulte os dados do consentimento para mostrar em tela e permitir que o usuário confirme ou cancele a operação.
cURL para chamada de consulta dos dados
### 5. GET consents/:id - **CONSENT_ID**: Consent Id ```bash curl --location --request GET '${CM_BASE_URL}/consent-management/api/v1/consents/${CONSENT_ID}' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer ${BANK_TOKEN}' ```
Mediante a confirmação do usuário para operação solicitada, a aplicação BancoEstado deve realizar uma chamada para aprovar a transação.
cURL de aprovação
### 6. POST consents/:id/approve - **CONSENT_ID**: Consent Id - **INTERACTION_ID**: Interaction Id ```bash curl --location '${CM_BASE_URL}/consent-management/api/v1/consents/${CONSENT_ID}/approve' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Bearer ${BANK_TOKEN}' \ --data-urlencode 'interactionId=${INTERACTION_ID}' \ --data-urlencode 'token=${USER_TOKEN}' ```
Caso o usuário cancele a operação, a chamada realizada pelo BancoEstado deve ser a de rejeição
cURL de rejeição
### 6. POST consents/:id/reject - **CONSENT_ID**: Consent Id - **INTERACTION_ID**: Interaction Id ```bash curl --location '${CM_BASE_URL}/consent-management/api/v1/consents/${CONSENT_ID}/reject' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Authorization: Bearer ${BANK_TOKEN}' \ ```
A chamada realizada pelo BancoEstado retorna a URL para o redirecionamento para a Fintech que iniciou a operação.
cURL de redirecionamento para a Fintech solicitante
{REDIRECT_URL_FINTECH}?ticket=${TICKET}&state=${CONSENT_ID}
Neste redirecionamento, a Fintech deve recepcionar o usuário e apresentar a tela de efetivação da jornada, com as informações da operação, conforme a documentação de atuação da receptora dos dados.