Saltar al contenido principal

Servicios de Automatización Financiera Widget (1.2.0)

Widget

A continuación se describen los diferentes endpoints, así como también el flujo para implementar el Widget

Que necesita el Widget

⚠️ Para realizar el siguiente flujo se necesita una API KEY.

⚠️ URL de Boufin Widget.

TL;DR:

  • Acciones que debes hacer tu: 👨‍💻
  • Acciones que hacemos nosotros: 🤖
  1. 👨‍💻 -> Desde tu servidor debes obtener un 🔑 Token Query y 🔒 Token OTP utilizando una API KEY.
  2. 👨‍💻 -> Entregas el 🔒 Token OTP a tu frontend y este carga la librería BoufinWidget siguiendo estas Instrucciones.
  3. 🤖 -> El Widget utiliza el 🔒 Token OTP para autorizar al usuario y este puede realizar proceso de extracción.
  4. 🤖 -> Al realizar un proceso de extracción se entrega al usuario un taskId.
    • 4.1. 🤖 -> Una vez el Widget tenga el taskId este se envía a tu frontend como se describe en estas Instrucciones.
    • 4.2. 🤖 -> El Widget queda a la espera de la extracción.
  5. 👨‍💻 -> Desde tu servidor utilizando el 🔑 Token Query del punto 1 y el taskId para consultar el estado de la extracción.
    • 5.1. Antes de los primeros 10 segundos el bot no ha terminado de procesar la extracción.
    • 5.2. Pasado los primeros 10 segundos, ya se pueden realizar consultas cada 5 segundos.

A continuación puedes ver como funciona la integración del Widget.

Widget vertical flow

Autenticación

El servicio de widget utiliza los siguientes mecanismos de autenticación:

  • API Key
  • 🔑 Token Query
  • 🔒 Token OTP

apiKey

Autenticarse enviando la API_KEY asociada a la organización.

Security Scheme Type: API Key
Header parameter name: X-API-Key

tokenQuery

Autenticarse enviando el tokenQuery obtenido previamente.

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

tokenOTP

Autenticarse enviando el tokenOTP de un solo uso obtenido previamente.

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

Token

Obtener token

Permite obtener el token otp para el widget y otro para obtener la información del usuario una vez finalice el proceso de extracción

Authorizations:
apiKey
Request Body schema: application/json

configuración

name
required
string

Nombre del usuario

username
required
string

rut o email del usuario

flow
required
string (Token)
Enum: "bills" "tef" "update-salary" "investment"

Responses

Request samples

Content type
application/json
{
  • "username": "11.111.111-1",
  • "name": "Juan",
  • "flow": "bills"
}

Response samples

Content type
application/json
{
  • "tokenOtp": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.ZGF0YQ==.SiGQMoPq9LK4Es44h",
  • "tokenQuery": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.ZGF0YQ==.SiGQMoPq9LK4Es44hidp6Vy4t9UtogVnLmPALLg1IqLtqZujGWCw6HBG424Fx0xHPziEkTPdh2REmTCL5f"
}

🔒 Validar Token OTP

Valida que el Token OTP sea válido

Authorizations:
tokenOTP

Responses

Request samples

curl -X POST "https://${URL}/api/v1/otp/auth/is-token-valid"  \
  -H "Authorization: Bearer ${TOKEN_OTP}"

Response samples

Content type
application/json
{
  • "message": "Jwt is expired"
}

🔑 Validar Token

Valida que el Token sea válido

Authorizations:
tokenQuery

Responses

Request samples

curl -X POST "https://${URL}/api/v1/otp/auth/is-token-valid"  \
  -H "Authorization: Bearer ${TOKEN}"

Response samples

Content type
application/json
{
  • "message": "Jwt is expired"
}

Extracción

Consultar el estado del proceso de extracción

Consultar el estado y/o obtener los resultados de la extracción.

Authorizations:
tokenQuery
path Parameters
taskId
required
string

ID de la tarea

Responses

Request samples

curl "https://${URL}/api/v1/boufin/task/${TASKID}"  \
  -H "X-API-Key: ${TOKEN}" \"

Response samples

Content type
application/json
Example

Extracción exitosa

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