Extracción de datos
Una vez completado el proceso de autorización y obtenido el consentId
, el siguiente paso es extraer los datos de los productos financieros autorizados por el usuario. Este proceso se realiza en dos etapas: la creación de un Task Token y la posterior extracción de datos del producto.
Task Token
El Task Token es un token JWT asociado a un usuario específico que permite consultar consentimientos y productos financieros autorizados. Cada token está vinculado a un identificador de usuario, permitiendo acceder únicamente a los datos de ese usuario específico.
Endpoint
POST https://BACKEND_URL/api/v1/token/task
Ejemplo
curl -X POST https://BACKEND_URL/api/v1/token/task
-H "Content-Type: application/json"
-H "x-api-key: bf_sk_3f2a1b4c5d6e7f8g9h0i1j2k3l4m5n6o"
-d '{
"target": "12312312-3",
"clientId": "1E65AE48-F9CF-49F2-8012-FB910179852F"
}'
Argumentos
target
(string, requerido)- Identificador del usuario para el cual se solicita el Task Token. En el caso de Chile, corresponde al RUT.
- Para flujo de persona natural: RUT del usuario individual.
- Para flujo de persona jurídica: RUT de la empresa.
- Identificador del usuario para el cual se solicita el Task Token. En el caso de Chile, corresponde al RUT.
clientId
(string, requerido)- Identificador único del cliente (ver Identificadores y credenciales).
Respuesta
{
"data": {
"taskToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}
taskToken
(string)- Token JWT que se utilizará para autorizar las consultas de datos de productos.
Extracción de datos de productos
Una vez obtenido el Task Token, es posible extraer los datos de productos específicos asociados a los consentimientos autorizados por el usuario.
Cada solicitud permite extraer datos de un solo producto por solicitud. Para obtener datos de múltiples productos, es necesario realizar solicitudes separadas para cada uno.
Endpoint
POST https://BACKEND_URL/api/v1/products/retrieve-data
Ejemplo
curl -X POST https://BACKEND_URL/api/v1/products/retrieve-data
-H "Content-Type: application/json"
-H "Authorization: Bearer TASK_TOKEN"
-d '{
"product": "tef",
"consentId": "e521cf62-a45f-49c5-8372-94853fffeb55"
}'
Argumentos
product
(string, requerido)- ID de la acción que el usuario autorizó. Para ver los posibles valores, revisar el listado de acciones disponibles.
consentId
(string, requerido)- Identificador único del consentimiento obtenido durante el proceso de autorización.
Respuesta
{
"data": {
// El contenido depende del producto solicitado
// Ver documentación para detalles específicos
}
}
La estructura de la respuesta en el campo data
varía según el producto solicitado. Para obtener información detallada sobre los esquemas de respuesta de cada producto, revisar la documentación de modelos de datos.
Consideraciones importantes
- El Task Token tiene un tiempo de expiración limitado. Es necesario utilizarlo dentro del período de validez.
- Solo es posible extraer datos de productos que fueron previamente autorizados por el usuario durante el proceso de consentimiento.
- Cada solicitud de extracción debe incluir un
consentId
válido y activo. - La disponibilidad de datos puede variar según la entidad financiera y el tipo de producto solicitado.
Gestión de consentimientos
Boufin Connect proporciona endpoints para consultar y gestionar los consentimientos asociados a un usuario específico. Estos endpoints permiten verificar el estado de los consentimientos, obtener información detallada y administrar las autorizaciones activas.
Obtener consentimiento específico
Permite obtener los detalles completos de un consentimiento específico utilizando su identificador único.
Endpoint
GET https://BACKEND_URL/api/v1/consents/{consentId}
Ejemplo
curl -X GET "https://BACKEND_URL/api/v1/consents/c9ee477f-39d5-4777-9b32-0855badc2138" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TASK_TOKEN"
Parámetros
consentId
(string, requerido)- Identificador único del consentimiento a consultar.
Respuesta
{
"data": {
"id": "c9ee477f-39d5-4777-9b32-0855badc2138",
"products": ["movement", "product-balance"],
"tyc": {
"actualVersion": 2
},
"entity": {
"id": "banco-chile",
"name": "Banco de Chile",
"type": "bank"
},
"status": "success",
"subStatus": "ACTIVE",
"validUntil": "2025-12-31T23:59:59Z"
}
}
Cada consentimiento contiene la siguiente información:
id
(string)- Identificador único del consentimiento.
products
(array)- Lista de productos/acciones incluidas en el consentimiento.
tyc
(object)- Información sobre la versión de términos y condiciones aceptada.
actualVersion
(integer) - Versión del Término y Condiciones (TyC) aceptado.
entity
(object)- Información de la entidad financiera autorizada por el usuario para la extracción de productos/acciones.
id
(string) - Identificador de la entidad.name
(string) - Nombre de la entidad.type
(string) - Tipo de entidad. Valores posibles:bank
,business-bank
,government
,service
,afp
,exchange
.
status
(string)- Indica el estado del consentimiento.
- Valores posibles:
ACTIVE
,IN_PROGRESS
,INACTIVE
.
subStatus
(string)- Sub-estado específico del consentimiento que proporciona información más detallada sobre el motivo del valor de
status
. - Valores posibles:
ONE_SHOT_ALREADY_USED
,EXPIRED
,REVOKED
,DISCARDED
,IN_PROGRESS
,INVALID_PASSWORD
,ACTIVE
.
- Sub-estado específico del consentimiento que proporciona información más detallada sobre el motivo del valor de
validUntil
(string)- Fecha de expiración del consentimiento en formato ISO 8601.
terminatedAt
(string, opcional)- Fecha de terminación del consentimiento en formato ISO 8601. Solo presente si el consentimiento ha sido terminado.
Listado de consentimientos
Permite obtener una lista paginada de todos los consentimientos asociados al usuario identificado por el Task Token.
Endpoint
GET https://BACKEND_URL/api/v1/consents
Ejemplo
curl -X GET "https://BACKEND_URL/api/v1/consents?page=1&limit=10" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer TASK_TOKEN"
Parámetros
page
(integer, opcional)- Número de página a consultar en la lista paginada de consentimientos.
- Valor por defecto:
1
limit
(integer, opcional)- Cantidad máxima de consentimientos a retornar por página.
- Valor por defecto:
10
Respuesta
{
"data": {
"consents": [
{
"id": "c9ee477f-39d5-4777-9b32-0855badc2138",
"products": ["movement", "product-balance"],
"tyc": {
"actualVersion": 2
},
"entity": {
"id": "banco-chile",
"name": "Banco de Chile",
"type": "bank"
},
"status": "success",
"subStatus": "ACTIVE",
"validUntil": "2025-12-31T23:59:59Z"
}
],
"hasNext": false,
"count": 1
}
}
consents
(array)- Lista de consentimientos en la página actual.
hasNext
(boolean)- Indica si existen más páginas disponibles.
count
(integer)- Total de consentimientos que cumplen los filtros.