Saltar al contenido principal

Guía de extracción de datos de TEF

1.- Obtener token de sesión

Endpoint: POST /api/v1/auth/login

Request

curl --request POST \
'https://${URL}/api/v1/auth/login' \
-H 'Content-Type: application/json' \
-H 'x-api-key: ${API_KEY}'

Response

{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE2Nzc2ODIwMjYsImV4cCI6MTY3NzY4NTYyNiwiYXVkIjoiYXVkaWVuY2UiLCJpc3MiOiJpc3N1ZSIsInN1YiI6IiJ9.uw2DiWZDFp_tuMiWnbUagv_mK89FzMxrJ7Mx11GRjQU"
}

1.1.- Validación del token

Endpoint: GET /api/v1/auth/is-token-valid

curl --request GET \
'https://${URL}/api/v1/auth/is-token-valid' \
-H 'Authorization: Bearer ${TOKEN}'

2.- Iniciar proceso de extracción

Endpoint: POST /api/v1/tasks

Request

curl --request POST \
'https://${URL}/api/v1/tasks' \
-H 'Authorization: Bearer ${TOKEN}' \
-H 'Content-Type: application/json' \
-data-raw '{
"action": "${ENTITY_ID}:tef",
"args": {
"username": "${USERNAME}",
"password": "${PASSWORD}"
}
}'

Response

{
"taskId": "5cbae0b5e1b5d035d99469f42c653ff4bb8aecdf9dbdb8e10f45a31677683369"
}

es posible enviar las credenciales del usuario de manera cifrado utilizando el algoritmo AES-256-CBC, para mas información revisar el siguiente artículo: Cifrado de datos

2.1. Consultar el estado del proceso de extracción

Endpoint: GET /api/v1/tasks/${TASK_ID}

Request

curl --request GET \
'https://${URL}/api/v1/tasks/${TASK_ID}' \
-H 'Authorization: Bearer ${TOKEN}'

Los procesos de extracción pueden demorar según la entidad, por lo que es necesario consultar el estado del proceso reiteradas veces para saber si ya se ha completado.

Estado (taskStatus)DescripciónTiempo promedio
pendingEl proceso de extracción se encuentra en cola de espera< ~1 Segundo
runningEl proceso de extracción se encuentra en ejecución. Esto depende de la entidad y la acción< ~30 Segundos
successEl proceso de extracción se ha completado exitosamente~30 Segundos

Para mas información revisar la aquí

2.1.1.- Extracción en proceso

{
"taskStatusCode": 202,
"taskStatus": "running",
"results": {}
}

2.1.2.- Extracción exitosa

Dependiendo de la entidad y la acción el resultado puede variar, en el siguiente ejemplo se muestra la respuesta de la entidad banco-santander y la acción tef. El tiempo promedio para obtener este resultado es de 15 segundos.

{
"taskStatusCode": 200,
"taskStatus": "success",
"results": {
"username": "11.111.111-1",
"entityId": "banco-santander",
"data": [
{
"accountNumber": "23129909",
"accountType": "corriente",
"alias": "nicolas",
"bankCode": "037",
"bankName": "banco-santander",
"email": "nicolas.carrillo@email.com",
"name": "Nicolas Carrillo",
"rut": "16.232.117-K"
}
]
}
}

para mas información revisar la documentación de la entidad