<aside>
Contenido
</aside>
<aside>
Ambos microservicios exponen APIs REST con versionado /api/v1/ y documentación interactiva con Swagger OpenAPI.
Se incluyé el archivo Devsu-Prueba-Tecnica.postman_collection.json
El endpoint más relevante:
GET /api/v1/reportes?clienteId={uuid}&fechaInicio=2026-03-01&fechaFin=2026-03-14
**Response body:
{
"cliente": "Araceli Arreguin Chavez",
"fechaInicio": "01/03/2026",
"fechaFin": "31/03/2026",
"totalMovimientos": 5,
"resumenGeneral": {
"totalDepositos": 800.00,
"totalRetiros": 1200.00,
"cantidadDepositos": 2,
"cantidadRetiros": 3
},
"cuentas": [
{
"numeroCuenta": "888777",
"tipoCuenta": "CORRIENTE",
"saldoInicial": 2000.00,
"saldoDisponible": 1600.00,
"estado": true,
"totalMovimientos": 5,
"resumen": {
"totalDepositos": 800.00,
"totalRetiros": 1200.00,
"cantidadDepositos": 2,
"cantidadRetiros": 3
},
"movimientos": [
{
"fecha": "16/03/2026 08:34:08",
"tipoMovimiento": "RETIRO",
"movimiento": -400.00,
"saldoDisponible": 1600.00
},
{
"fecha": "16/03/2026 08:34:08",
"tipoMovimiento": "DEPOSITO",
"movimiento": 300.00,
"saldoDisponible": 2000.00
},
{
"fecha": "16/03/2026 08:32:11",
"tipoMovimiento": "RETIRO",
"movimiento": -300.00,
"saldoDisponible": 1700.00
},
{
"fecha": "16/03/2026 08:32:11",
"tipoMovimiento": "DEPOSITO",
"movimiento": 500.00,
"saldoDisponible": 2000.00
},
{
"fecha": "16/03/2026 08:31:15",
"tipoMovimiento": "RETIRO",
"movimiento": -500.00,
"saldoDisponible": 1500.00
}
]
},
{
"numeroCuenta": "888999",
"tipoCuenta": "AHORROS",
"saldoInicial": 7000.00,
"saldoDisponible": 7000.00,
"estado": true,
"totalMovimientos": 0,
"resumen": {
"totalDepositos": 0,
"totalRetiros": 0,
"cantidadDepositos": 0,
"cantidadRetiros": 0
},
"movimientos": []
}
]
}**
Todos los errores siguen la misma estructura JSON mediante GlobalExceptionHandler:
{
"timestamp": "14/03/2026 15:30:45",
"status": 400,
"error": "Bad Request",
"message": "Saldo no disponible",
"path": "/api/v1/movimientos"
}
</aside>