Intercambio de datos: aprobación del consentimiento
En esta documentación usted tendrá acceso a las llamadas e integraciones necesarias para los pasos de autenticación y confirmación/cancelación de la operación, en el entorno de BancoEstado.
Ejemplo de URL utilizada por Fintech para redirigir al cliente al entorno de BancoEstado
https://appBech?consentid=64e533c6f7c877001112d405&interactionid=64e533c6f7c877001112d406
Al llegar al entorno de BancoEstado, el usuario deberá iniciar sesión, de acuerdo con los estándares de autenticación de la institución. Al iniciar sesión, se devuelve un token de usuario para la sección.
POST inicio de sesión de interacción
URL de generación de token
https://keycloak.bdc.fsapps.io/auth/realms/consent-management-sandbox-prd/protocol/openid-connect/token
cURL para generación de tokens
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}'
El ID de cliente y el secreto de cliente utilizados en cURL para generar el token son las indicadas por el equipo de onboarding como credenciales de acceso a la gestión de consentimiento del producto.
Base de URL para gestión de consentimiento
https://api-sandbox.opb.bech.prd.fsapps.io
cURL para llamada de inicio de sesión de interacción
### 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}'
```
Luego de confirmar el inicio de sesión del usuario, la aplicación de BancoEstado deberá consultar los datos del consentimiento para mostrarlo en pantalla y permitir al usuario confirmar o cancelar la operación.
cURL para llamada de consulta de datos
### 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}'
```
Una vez que el usuario confirme la operación solicitada, la aplicación de BancoEstado deberá realizar una llamada para aprobar la transacción.
rizo de aprobación
### 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}'
```
Si el usuario cancela la operación, la llamada realizada por BancoEstado debe ser una llamada de rechazo
rizo de rebote
### 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}' \
```
La llamada realizada por BancoEstado devuelve la URL para redirección a la Fintech que inició la operación.
cURL de redirección a la Fintech solicitante
{REDIRECT_URL_FINTECH}?ticket=${TICKET}&state=${CONSENT_ID}
En esta redirección, la Fintech deberá dar la bienvenida al usuario y presentarle la pantalla de finalización del viaje, con la información de la operación, según la documentación de desempeño del receptor de datos.