Certificado autofirmado CSR
Acceder API Market y registro
Acceder en: https://open-plus-frontend.bech.prd.fsapps.io/
Registro: https://open-plus-frontend.bech.prd.fsapps.io/onboarding/company
Realizado el registro de la Fintech…
Tendrás acceso al API Market: https://open-plus-frontend.bech.prd.fsapps.io/applications
En donde podrás:
Gestionar miembros colaboradores de la Fintech.
Revisar documentación sobre la integración con la plataforma.
Crear una nueva aplicación para consumir nuestras APIs
Comencemos por crear una nueva app...
Al crear una nueva aplicación deberás registrar:
Nombre y descripción.
URL para callback.
Imagen (opcional).
La URL para callback es importante porque:
Identifica la aplicación Fintech (frontend) donde el cliente inicia el flujo de consentimiento.
Esta URL es requerida en la solicitud HTTP que crea el consentimiento.
La autorización ocurre en una aplicación web BancoEstado, y al finalizar, ejecuta una redirección del cliente hacia la URL de callback registrada.
A continuación, podrás escoger el paquete de APIs que requieras.
Para lograr la integración con una experiencia equivalente al ambiente productivo, se sugiere escoger el paquete que utiliza Mutual TLS.
Antes de confirmar y continuar, se muestra un cuadro resumen de la aplicación y las APIs vinculadas.
Confirmada la creación de la nueva aplicación, se da opción de ir al gestor de aplicaciones o al panel de la aplicación que se acaba de crear.
Vamos al panel de la aplicación...
Para continuar, clic sobre el producto vinculado a la aplicación...
El flujo Open Finance es lo primero en desplegarse y simula el proceso de consentimiento. Inicia en la aplicación Fintech, luego muestra la autorización en BancoEstado, y finaliza con el retorno hacia la Fintech.
Para comenzar, vamos a generar un consentimiento con el Flujo Open Finance (necesario para la integración en sandbox)...
Seleccionamos Open Finance...
Nuevo compartir...
Aceptar términos y condiciones y continuar...
Redirección a BancoEstado…
Ingresar...
Aceptar...
Simula segundo factor de autenticación BancoEstado...
Redirección hacia Fintech
Al finalizar la simulación, se presenta un resumen que muestra al cliente los detalles del consentimiento que acaba de autorizar.
Podemos visualizar un listado de consentimientos generados por el flujo open finance y el estado en que se encuentran. Necesitamos el ID de consentimiento para consumir la API sen Park Dev o vía Postman.
En "Credenciales" tiene acceso al Client ID, certificado y llave privada mtls, elementos necesarios para interactuar con las APIs.
En este punto, está todo listo para consultar el documento técnico de integración.
Solicitudes HTTP diagrama de secuencia – flujo consentimiento y consulta datos de cuenta
Descripción | Documento técnico. Detalla solicitudes HTTP para lograr integración del flujo de consentimiento. |
---|---|
Prerrequisitos |
|
Documento relacionado | Diagrama de secuencia flujo consentimiento. |
1. POST /token (Fintech Token)
Llamada obtener token para solicitud que crea consentimiento:
curl --location 'https://${KEYCLOAK_HOST_AND_REALM} /protocol/openid-connect/token' \
--cert /path/to/certificate.crt \
--key /path/to/private-key.key \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id= ${FINTECH_CLIENT_ID} ' \
--data-urlencode 'scope=openid'
2. POST /consents (Create Consent)
Llamada para iniciar el proceso de consentimiento, en el cual se debe asociar el rut del cliente, el alcance de los datos dentro del array de scopes (puede ser una, dos o todas las opciones para consulta de datos disponible), y la fecha de expiración del consentimiento:
curl --location 'https://${API_HOST}/consent-management/api/v1/consents' \
--cert /path/to/certificate.crt \
--key /path/to/private-key.key \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer ${FINTECH_TOKEN}' \
--data '{
"data": {
"rut": "${RUT_CLIENTE}"
},
"scopes": [
"ACCOUNTS_READ",
"ACCOUNTS_BALANCES_READ",
"ACCOUNTS_TRANSACTIONS_READ"
],
"expirationDateTime": "2024-06-15T15:14:10Z",
"redirectUri": "${REDIRECT_URL_FINTECH} "
}'
NOTA: Para este curl, redirectUri debe ser la url callback registrada al momento de crear la aplicación en el API Market.
2.1. Response /consents (Create Consent):
La respuesta al crear un consentimiento contiene el campo “authorizationUrl”, que establece la url a la cual se redirige el cliente (aplicación BECH) con los parámetros necesarios para validar el consentimiento mediante clave BEPASS:
{
"id": "64e533c6f7c877001112d405",
"interactionId": "64e533c6f7c877001112d406",
"authorizationUrl": "https://appBancoEstado.cl?consentid=64e533c6f7c877001112d405&interactionid=64e533c6f7c877001112d406"
}
2.2. Redirección desde App BECH:
Una vez validado el consentimiento por el cliente con su BEPASS, se retorna el control a la Fintech (redirección desde BECH) indicando mediante parámetros en la url un “ticket” (token para ejecutar consultas de datos) y el “state” (id del consentimiento):
2.3. Obtener detalles consentimiento:
Una vez ejecutada la redirección desde la aplicación BancoEstado hacia la Fintech, es posible consultar los detalles del consentimiento, y con esto, poder mostrar información al cliente sobre el alcance de los datos que autorizó, el tiempo por el cual estará vigente dicho consentimiento, etc.
Response:
3. POST /token (Fintech Token)
Llamada obtener token para solicitud de segundo token:
4. POST /token (API Token)
Llamada obtener token para solicitud de datos:
5. GET /accounts
Paso a producción API Market
Ejecutada la solicitud para paso a producción de una aplicación, y aprobada por BancoEstado, los pasos a seguir son los que se detallan a continuación…
Generar certificado y llave
Como primer paso se debe generar un certificado y llave. Podemos utilizar el siguiente comando:
Esto genera dos archivos dentro de la carpeta en donde es lanzado el comando.
Subir CSR y descargar certificado de seguridad
Podemos ver los archivos generados:
Dentro de " Credenciales " en la pestaña "PRODUCCIÓN" debemos subir el archivo crt antes generado.
Luego de subir el archivo, se desbloquea el botón que nos permite descargar el certificado de seguridad asignado.
Configurar certificados de producción
Ahora, tenemos los archivos generados con openssl y el certificado asignado descargado:
Para utilizar las URLs productivas, debemos configurar para cada host de producción, el certificado designado que acabamos de descargar y la llave que fue generada con openssl:
NOTA: En este punto podemos realizar el proceso completo para consentimiento de consulta de datos en producción, para lo cual, es importante que el usuario que otorgará dicho consentimiento sea cliente BancoEstado y cuente con clave BEPASS activa.
Requisitos para activación de BEPASS:
Crear clave BEPASS en APP BancoEstado.
Realizar alguna transacción, por ejemplo, una transferencia por más de 50K CLP ($50.001).
Realizada la transacción, en 72 horas se logra activación completa BEPASS. Es importante destacar que el conteo de las 72 horas comienza únicamente después de haber ejecutado la transacción.