Saltar al contenido principal

Boufin Connect (1.2.0)

Boufin Connect

A continuación, se describen los diferentes endpoints que utiliza Boufin Connect. Esta API permite a las aplicaciones cliente consultar y gestionar consentimientos, así como generar tokens y obtener información detallada de los productos financieros autorizados por el usuario.

Autenticación

El servicio de Boufin Connect utiliza los siguientes mecanismos de autenticación:

  • 🔑 API Key: Clave secreta persistente. Se usa para autenticar clientes de confianza (server-to-server) y autorizar operaciones privilegiadas.
  • JWT Bearer Token: El servicio utiliza tokens JWT (JSON Web Token) como mecanismo de autenticación para operaciones seguras y controladas.
    • 🔒 Token OTP: Token de un solo uso generado para inicializar Boufin Connect y autorizar la sesión del usuario.
    • 🔒 Task Token: Token asociado a un usuario específico (target), utilizado para consultar consentimientos y productos financieros autorizados. Cada uno está vinculado a un identificador de usuario, permitiendo acceder únicamente a los datos de ese usuario.

ApiKeyAuth

Autenticarse enviando la 🔑 API Key asociada a la organización.

Security Scheme Type: API Key
Header parameter name: x-api-key

jwtBearerToken

Autenticarse enviando el 🔒 Task Token obtenido previamente.

Security Scheme Type: HTTP
HTTP Authorization Scheme: bearer
Bearer format: JWT

Tokens

Crea un Token OTP

Permite crear un 🔒 Token OTP para iniciar el flujo de autenticación con Boufin Connect.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
products
required
Array of strings (ProductType)
Items Enum: "tef" "bill" "product-balance" "financial-report" "product-balance-investment" "identity-validation" "movement" "income-report" "pat" "pac" "transfer" "consumer-loan" "mortgage" "investment-report" "credit-card-unbilled-transaction" "credit-card-statement" "account-balance" "identity-validation-clave-unica" "tax-folder" "tax-folder-pdf" "tax-folder-clave-unica" "tax-folder-pdf-clave-unica" "property-tax" "property-tax-clave-unica" "dte" "dte-clave-unica" "sworn-declaration" "sworn-declaration-clave-unica" "tax-situation" "debt" "insurance" "personal-information" "contribution" "job" "consolidate" "fiscal-statement" "fiscal-statement-clave-unica" "birth-certificate" "balances"

Lista de IDs de las acciones que se van a autorizar en el consentimiento.

clientId
required
string <uuid>

Identificador único del cliente.

required
object

Datos de identificación del usuario.

object

Datos de identificación de la empresa.

locale
string
Default: "es-CL"

Configuración regional y de idioma.

widgetConfigId
required
string

Identificador único de la configuración del widget. Distingue entre mayúsculas y minúsculas. Para obtener más detalles, consulta la guía de configuración inicial.

object

Configuración que permite definir los criterios de filtrado para determinar qué entidades estarán disponibles al usuario.

Responses

Request samples

Content type
application/json
{
  • "products": [
    ],
  • "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
  • "user": {
    },
  • "company": {
    },
  • "locale": "es-CL",
  • "widgetConfigId": "string",
  • "filters": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Crear Task Token

Permite crear un 🔒 Task Token asociado a un cliente y un usuario específico.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
clientId
required
string <uuid>

Identificador único del cliente.

target
required
string

Identificador del usuario para el cual se solicita el Task Token. En Chile corresponde al RUT.

Responses

Request samples

Content type
application/json
{
  • "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
  • "target": "string"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Consentimientos

Listado de consentimientos

Permite obtener la lista paginada de consentimientos asociados al identificador utilizado para crear el 🔒 Task Token.

Authorizations:
jwtBearerToken
query Parameters
page
integer
Default: 1

Número de página a consultar en la lista paginada de consentimientos.

limit
integer
Default: 10

Cantidad máxima de consentimientos a retornar por página.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Obtener consentimiento por id

Permite obtener los detalles de un consentimiento específico utilizando su ID.

Authorizations:
jwtBearerToken
path Parameters
consentId
required
string

Identificador único del consentimiento.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Descargar archivo de consentimiento

Permite obtener una URL firmada temporal para descargar el archivo PDF del consentimiento. La URL generada tiene una validez de 5 minutos.

Authorizations:
jwtBearerToken
path Parameters
consentId
required
string

Identificador único del consentimiento.

Responses

Response samples

Content type
application/json

Revocar un consentimiento

Permite revocar un consentimiento activo, estableciendo su estado como INACTIVE y sub-estado como REVOKED. Una vez revocado, el consentimiento no puede ser utilizado para extraer datos.

Authorizations:
jwtBearerToken
Request Body schema: application/json
required
consentId
required
string <uuid>

Identificador único del consentimiento a revocar.

Responses

Request samples

Content type
application/json
{
  • "consentId": "e521cf62-a45f-49c5-8372-94853fffeb55"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Productos - Sync (Deprecado)

Obtener datos de un producto Deprecated

Deprecado — Usar POST /api/v1/products/retrieve-data/tasks en su lugar.

Permite recuperar datos de un producto específico asociado a un consentimiento. El campo data contiene el resultado correspondiente al producto solicitado; el formato exacto varía según product. Para más información, consultar la documentación de modelos de banca personal o banca empresa.

Authorizations:
jwtBearerToken
Request Body schema: application/json
required
product
required
string (ProductType)
Enum: "tef" "bill" "product-balance" "financial-report" "product-balance-investment" "identity-validation" "movement" "income-report" "pat" "pac" "transfer" "consumer-loan" "mortgage" "investment-report" "credit-card-unbilled-transaction" "credit-card-statement" "account-balance" "identity-validation-clave-unica" "tax-folder" "tax-folder-pdf" "tax-folder-clave-unica" "tax-folder-pdf-clave-unica" "property-tax" "property-tax-clave-unica" "dte" "dte-clave-unica" "sworn-declaration" "sworn-declaration-clave-unica" "tax-situation" "debt" "insurance" "personal-information" "contribution" "job" "consolidate" "fiscal-statement" "fiscal-statement-clave-unica" "birth-certificate" "balances"

ID de la acción que el usuario autoriza.

consentId
required
string <uuid>

Identificador único del consentimiento.

Responses

Request samples

Content type
application/json
{
  • "product": "tef",
  • "consentId": "e521cf62-a45f-49c5-8372-94853fffeb55"
}

Response samples

Content type
application/json
Example

Extracción exitosa

{
  • "taskStatus": "success",
  • "taskStatusCode": 200,
  • "data": [
    ]
}

Productos - Async - V1 (Deprecado)

Iniciar tarea de obtención de datos de un producto Deprecated

Inicia de forma asíncrona la recuperación de datos de un producto asociado a un consentimiento activo. La respuesta incluye un taskId para consultar el estado de la tarea mediante polling.

Authorizations:
jwtBearerToken
Request Body schema: application/json
required
product
required
string (ProductType)
Enum: "tef" "bill" "product-balance" "financial-report" "product-balance-investment" "identity-validation" "movement" "income-report" "pat" "pac" "transfer" "consumer-loan" "mortgage" "investment-report" "credit-card-unbilled-transaction" "credit-card-statement" "account-balance" "identity-validation-clave-unica" "tax-folder" "tax-folder-pdf" "tax-folder-clave-unica" "tax-folder-pdf-clave-unica" "property-tax" "property-tax-clave-unica" "dte" "dte-clave-unica" "sworn-declaration" "sworn-declaration-clave-unica" "tax-situation" "debt" "insurance" "personal-information" "contribution" "job" "consolidate" "fiscal-statement" "fiscal-statement-clave-unica" "birth-certificate" "balances"

ID de la acción que el usuario autoriza.

consentId
required
string <uuid>

Identificador único del consentimiento.

Responses

Request samples

Content type
application/json
{
  • "product": "tef",
  • "consentId": "e521cf62-a45f-49c5-8372-94853fffeb55"
}

Response samples

Content type
application/json
{
  • "taskId": "task-12345-abcde"
}

Consultar estado de tarea de producto Deprecated

Consulta el estado de una tarea de obtención de producto previamente iniciada a partir de su taskId. Retorna pending o running mientras está en curso, y los datos del producto una vez finalizada. El campo data contiene el resultado correspondiente al producto solicitado; el formato exacto varía según product. Para más información, consultar la documentación de modelos.

Authorizations:
jwtBearerToken
path Parameters
taskId
required
string [ 1 .. 100 ] characters
Example: task-12345-abcde

Identificador único de la tarea.

Responses

Response samples

Content type
application/json
Example
{
  • "taskStatus": "success",
  • "taskStatusCode": 200,
  • "results": [
    ]
}

Productos - Async - V2

Iniciar tarea de obtención de datos de un producto

Inicia de forma asíncrona la recuperación de datos de un producto asociado a un consentimiento activo. La respuesta incluye un taskId para consultar el estado de la tarea mediante polling.

A diferencia de la versión 1, en la versión 2 el código HTTP 200 indica exclusivamente que la tarea se creó con éxito. Cualquier otro resultado se comunica mediante un código HTTP 4xx o 5xx, con un cuerpo de respuesta discriminado por el campo errorType (y errorCode para las subcategorías).

Authorizations:
jwtBearerToken
Request Body schema: application/json
required
product
required
string (ProductType)
Enum: "tef" "bill" "product-balance" "financial-report" "product-balance-investment" "identity-validation" "movement" "income-report" "pat" "pac" "transfer" "consumer-loan" "mortgage" "investment-report" "credit-card-unbilled-transaction" "credit-card-statement" "account-balance" "identity-validation-clave-unica" "tax-folder" "tax-folder-pdf" "tax-folder-clave-unica" "tax-folder-pdf-clave-unica" "property-tax" "property-tax-clave-unica" "dte" "dte-clave-unica" "sworn-declaration" "sworn-declaration-clave-unica" "tax-situation" "debt" "insurance" "personal-information" "contribution" "job" "consolidate" "fiscal-statement" "fiscal-statement-clave-unica" "birth-certificate" "balances"

ID de la acción que el usuario autoriza.

consentId
required
string <uuid>

Identificador único del consentimiento.

Responses

Request samples

Content type
application/json
{
  • "product": "tef",
  • "consentId": "e521cf62-a45f-49c5-8372-94853fffeb55"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Consultar estado de tarea de producto

Consulta el estado de una tarea de obtención de producto previamente iniciada a partir de su taskId. Mientras la extracción sigue en curso retorna HTTP 202, y una vez finalizada con éxito retorna HTTP 200 con el campo data, cuyo formato varía según el product solicitado. Para más información, consultar la documentación de modelos. Cualquier otro resultado se devuelve como HTTP 4xx o 5xx con un cuerpo discriminado por el campo errorType.

Authorizations:
jwtBearerToken
path Parameters
taskId
required
string [ 1 .. 100 ] characters
Example: task-12345-abcde

Identificador devuelto por POST /api/v2/products/retrieve-data/tasks.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}