ImagLend — Portal del Solicitante
Proposito
El portal del solicitante es la interfaz donde los usuarios finales (personas que solicitaron un credito) pueden loguearse para ver el estado de su solicitud, gestionar sus creditos activos, descargar documentos y completar pasos pendientes. Vive dentro de imagy-console-public con autenticacion via Keycloak (realm del tenant).
Ubicacion
| Aspecto | Valor |
|---|---|
| Repositorio | imagy-console-public |
| URL base | {tenant}.reimaginetech.io/mi-cuenta |
| Autenticacion | Keycloak OIDC (realm del tenant, rol applicant) |
| Branding | White-label del tenant (mismo tema que la landing) |
| Responsive | Mobile-first (la mayoria accede desde celular) |
Acceso
El usuario obtiene su cuenta durante el paso 2 del pipeline de originacion (registro). Despues puede volver a loguearse en cualquier momento.
Funcionalidades
Dashboard Principal
Vista resumen con:
- Estado de solicitud activa (si hay una en proceso)
- Creditos activos con proximo pago
- Notificaciones recientes
- Acciones pendientes (completar paso, firmar documento)
Mis Solicitudes
- Lista de solicitudes (en proceso, aprobadas, rechazadas, expiradas)
- Detalle de cada solicitud con progreso por paso del pipeline
- Retomar solicitud abandonada (vuelve al paso donde quedo)
- Ver razon de rechazo (si aplica)
Mis Creditos
- Lista de creditos (activos, pagados, en mora)
- Detalle del credito: monto, plazo, tasa, fecha desembolso
- Tabla de amortizacion con estado de cada cuota
- Proximo pago (monto, fecha, dias restantes)
- Historial de pagos realizados
- Saldo pendiente
Mis Documentos
- Contrato firmado (descarga PDF)
- Pagare (descarga PDF)
- Comprobante de desembolso
- Certificados de pago (si aplica)
- Documentos legales aceptados (con version y fecha de aceptacion)
Notificaciones
- Solicitud aprobada/rechazada
- Recordatorio de pago proximo
- Pago recibido confirmado
- Credito en mora (alerta)
- Documento pendiente de firma
Mi Perfil
- Ver datos personales (solo lectura para datos criticos)
- Actualizar telefono y email (requiere re-verificacion OTP)
- Cambiar password
- Dispositivos registrados (si tiene firma por dispositivo)
Rutas
| Ruta | Vista | Auth |
|---|---|---|
/mi-cuenta | Dashboard | Si |
/mi-cuenta/solicitudes | Lista de solicitudes | Si |
/mi-cuenta/solicitudes/{id} | Detalle de solicitud + progreso | Si |
/mi-cuenta/creditos | Lista de creditos | Si |
/mi-cuenta/creditos/{id} | Detalle de credito + amortizacion | Si |
/mi-cuenta/documentos | Lista de documentos | Si |
/mi-cuenta/notificaciones | Notificaciones | Si |
/mi-cuenta/perfil | Datos personales | Si |
Deteccion de Rol
El frontend detecta el rol del usuario al loguearse y redirige:
typescript
function resolvePostLoginRedirect(user: UserProfile): string {
if (user.roles.includes('platform_admin') || user.roles.includes('tenant_admin') || user.roles.includes('operator')) {
// Redirigir al panel admin (imagy-console)
return `https://dash.${tenantCode}.reimaginetech.io/dashboard`;
}
if (user.roles.includes('applicant')) {
// Redirigir al portal del solicitante (imagy-console-public)
return `/mi-cuenta`;
}
return '/';
}Integracion con Backend
| Endpoint | Metodo | Descripcion |
|---|---|---|
GET /api/v1/my/applications | GET | Solicitudes del usuario logueado |
GET /api/v1/my/applications/{id} | GET | Detalle de solicitud con pipeline status |
GET /api/v1/my/credits | GET | Creditos del usuario |
GET /api/v1/my/credits/{id} | GET | Detalle con amortizacion |
GET /api/v1/my/credits/{id}/payments | GET | Historial de pagos |
GET /api/v1/my/documents | GET | Documentos disponibles |
GET /api/v1/my/documents/{id}/download | GET | Presigned URL de descarga |
GET /api/v1/my/notifications | GET | Notificaciones |
PATCH /api/v1/my/profile | PATCH | Actualizar datos de contacto |
Nota: Todos los endpoints /my/* filtran automaticamente por el user_id del JWT. El usuario solo ve sus propios datos.
Seguridad
- El usuario solo puede ver SUS solicitudes y creditos (filtro por user_id en JWT)
- No puede ver datos de otros usuarios del tenant
- No puede acceder a endpoints de admin/operador
- Los documentos se descargan via presigned URL con TTL corto (15 min)
- Cambios en datos de contacto requieren re-verificacion OTP
- Sesion con timeout configurable (default 30 min)