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ón | Tiempo promedio |
---|---|---|
pending | El proceso de extracción se encuentra en cola de espera | < ~1 Segundo |
running | El proceso de extracción se encuentra en ejecución. Esto depende de la entidad y la acción | < ~30 Segundos |
success | El 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