Skip to main content

Ejemplo práctico de solicitud

URL BASE: https://api.afterbanks.com

Para la explicación del flujo se usarán endpoints de /V3/. En el caso de querer hacer las solicitudes en ID, Files, Files19 u otros, se reemplaza /V3/ por el deseado. Por ejemplo: /ID/, /Files/, /Files19/ ...

Paso 1: Comprobación de soporte del banco​

Para hacer una solicitud hacia un banco en V3, primero hay que comprobar que la API soporta ese banco. Para ello, existe el endpoint GET /V3/forms, que mostrará un listado con todos los bancos con los que funcionarán las solicitudes hacia la API.

En la respuesta, se recibirá un listado con registros con la siguiente estructura.

{
"country_code": "",
"service": "",
"swift": "",
"fullname": "",
"business": "",
"PDF": "",
"documenttype": "",
(...)
}

Entre estos campos, el service se usará para las siguientes solicitudes.

Paso 2: Obtención de posición global​

Una vez se sabe el service y el servicekey (este último os lo habremos proporcionado nosotros directamente), se puede hacer la primera solicitud para obtener la posición global de una cuenta bancaria. Para ello, se hace una solicitud al endpoint POST /V3/ con los siguientes datos en el body de la solicitud:

  • servicekey: Lo habréis recibido con anterioridad.
  • service: Se ha obtenido en el paso anterior.
  • user: El usuario de la cuenta bancaria. En este ejemplo se usará el usuario mock #USUARIO_MOCK_OK
  • pass: La contraseña de la cuenta bancaria. En este ejemplo se usará la contraseña del usuario mock #USUARIO_MOCK_OK_PASS
  • pass2: La segunda contraseña, en el caso de que el banco lo requiriese.
  • pass3: La tercera contraseña, en el caso de que el banco lo requiriese. Por ejemplo, la firma para solicitar movimientos de más de 90 días.
  • products: Lo que se quiere obtener en la solicitud. En este caso, como se quiere obtener la posición global, se pone GLOBAL.
  • get_iban: A este campo opcional se le puede dar valor 1 en el caso de que se quiera obtener el IBAN, los holders y el is_owner.

En la respuesta, se recibirá un listado con todos los productos de la cuenta. Por ejemplo:

{
"product": "01820001397725570144",
"type": "checking",
"balance": 288756.94,
"currency": "EUR",
"description": "Cuenta Corriente"
}

En el caso de que se haya usado el parámetro get_iban, la respuesta será algo como esta:

{
"product": "01820001397725570144",
"type": "checking",
"balance": 288666.31,
"currency": "EUR",
"description": "Cuenta Corriente",
"iban": "ES1201820001397725570144",
"is_owner": 1,
"holders": [
{
"role": "Owner",
"name": "John Mock Up",
"id": "32945945D"
},
{
"role": "Authorized",
"name": "Marie Mock Up",
"id": "12345678Z"
}
]
},

Paso 3: Obtención de los movimientos​

Para obtener los movimientos, el body es similar al del paso anterior, cambiando solo el products y añadiendo el startdate.

  • servicekey, service, user, pass, pass1, pass2, pass3, igual que en el paso anterior.
  • products: Para los movimientos, se puede usar el valor de uno o más productos. En el caso de que se quiera consultar más de un producto, se concatenan con comas, como por ejemplo 0511033658677002,01820001397725570144.
  • startdate: La fecha mínima de los movimientos, por ejemplo 25-12-2025. Hay que tener en cuenta que si se piden movimientos de más de 90 días, puede pedir OTP.

En la respuesta, se recibirá un listado con todos los productos de la cuenta junto a sus transacciones. Por ejemplo:

{
"product": "01820001397725570144",
"type": "checking",
"balance": 288703.64,
"currency": "EUR",
"description": "Cuenta Corriente",
"transactions": [
{
"date": "30-07-2026",
"date2": "30-07-2026",
"description": "Recobro deuda vencida de tarjeta de credito",
"balance": "288703.64",
"amount": -158.03,
"categoryId": 0,
"transactionId": "d47604a3c4c6ef8612371ea0069d82dd"
},

(...)