ImagLend — Creditos
Proposito
ImagLend es el dominio de gestion de creditos de la plataforma Imagy. Permite a los tenants configurar productos de credito, originar solicitudes (digital o manualmente), administrar la cartera activa y gestionar cobranza. Cada operacion mantiene trazabilidad completa del origen y se integra con ImagFlow para validaciones e ImagSign para firma de contratos.
Responsabilidades
| Responsabilidad | Descripcion |
|---|---|
| Productos de credito | Configuracion de productos con tasas, plazos, costos, requisitos |
| Simulacion | Calculo en tiempo real de cuotas, intereses, costos totales |
| Originacion digital | Wizard publico multi-paso con simulador integrado |
| Originacion manual | Creacion de creditos desde el panel admin por operadores |
| Validacion | Invoca ImagFlow para verificacion de identidad del solicitante |
| Firma | Invoca ImagSign para firma electronica del contrato |
| Desembolso | Registro y gestion de desembolsos |
| Cartera | Administracion de creditos activos, tabla de amortizacion |
| Pagos | Registro de pagos, abonos, prepagos |
| Mora | Deteccion automatica de mora, alertas |
| Cobranza | Gestion de cobro, seguimiento |
| Maker-Checker | Aprobacion requerida para cambios en productos y configuraciones |
| Trazabilidad | Origen de cada credito (flujo digital, manual, canal) |
Actores
| Actor | Interaccion con ImagLend |
|---|---|
| Platform Admin | Crea productos base, configura reglas globales |
| Tenant Admin | Configura productos para su tenant, define politicas |
| Operator | Crea solicitudes manuales, gestiona cartera, registra pagos |
| Usuario Final | Completa wizard de originacion digital (sin autenticacion) |
| ImagFlow | Publica eventos de validacion completada |
| ImagSign | Publica eventos de firma completada |
| ImagID | Consume eventos de creditos para historial del sujeto |
Arquitectura Interna
Productos de Credito
Concepto
Un producto de credito es una plantilla configurable que define las condiciones bajo las cuales se otorgan creditos. Cada tenant puede tener multiples productos activos.
Atributos de un Producto
| Categoria | Atributos |
|---|---|
| Identificacion | code, name, description, category |
| Montos | min_amount, max_amount, default_amount, currency |
| Plazos | min_term_days, max_term_days, term_options (array de plazos permitidos) |
| Tasas | interest_rate_type (fixed/variable), interest_rate, reference_rate |
| Costos | origination_fee, platform_fee, insurance_fee, tax_rate |
| Desembolso | disbursement_method, disbursement_delay_hours |
| Requisitos | min_age, max_age, required_documents, required_validations |
| Flujo asociado | validation_flow_id (flujo de ImagFlow para validar al solicitante) |
| Firma | signature_required, signature_type (digital/electronic) |
| Configuracion | is_active, requires_approval (maker-checker), row_version |
Maker-Checker en Productos
Cambios en productos de credito requieren aprobacion (configurable por tenant):
Originacion Digital (Wizard)
Flujo Completo
Diferencia con ImagFlow
El wizard de credito NO es un flujo de ImagFlow. Es un producto especializado con:
| Aspecto | Wizard ImagLend | Flujo ImagFlow |
|---|---|---|
| Proposito | Recopilar datos para solicitar credito | Orquestar validaciones con proveedores |
| Logica de negocio | Simulacion financiera, calculos de tasa | Evaluacion de reglas genericas |
| Persistencia | Multi-sesion (localStorage + backend) | Sesion corta (Valkey, expira) |
| UI | Especializada (sliders, tablas, desglose) | Generica (configurable por step_config) |
| Duracion | Minutos a dias (puede pausar) | Minutos (sesion continua) |
| Autenticacion | Sin auth (access token al crear solicitud) | Sin auth (access token) |
Pero el wizard invoca a ImagFlow para:
- Validacion de identidad (liveness, OCR, biometria)
- Consulta a bureaus de credito
- Cualquier paso que requiera proveedores externos
Ciclo de Vida de un Credito
Integracion con Otros Dominios
ImagLend invoca (sincrono)
| Destino | Endpoint | Proposito |
|---|---|---|
| ImagFlow | POST /api/v1/executions/trigger | Iniciar flujo de validacion |
| ImagFlow | GET /api/v1/executions/{id}/result | Obtener resultado |
| ImagSign | POST /api/v1/signatures/request | Solicitar firma de contrato |
| ImagID | GET /api/v1/subjects/{id}/lists | Verificar listas negras |
| ImagID | GET /api/v1/subjects/{id}/profile | Obtener perfil del sujeto |
Eventos publicados
| Evento | Routing Key | Consumidores |
|---|---|---|
| Solicitud creada | lending.application.created | ImagID |
| Credito desembolsado | lending.credit.disbursed | ImagID |
| Pago recibido | lending.payment.received | ImagID |
| Credito en mora | lending.credit.defaulted | ImagID, ImagGuard |
| Producto creado | lending.product.created | Audit |
| Producto modificado | lending.product.updated | Audit |
Eventos consumidos
| Evento | Routing Key | Accion |
|---|---|---|
| Flujo completado | flow.execution.completed | Actualizar estado de solicitud |
| Flujo fallido | flow.execution.failed | Rechazar solicitud |
| Firma completada | sign.signature.completed | Marcar contrato como firmado |
| Sujeto blacklisted | subject.profile.blacklisted | Rechazar solicitudes pendientes del sujeto |
Trazabilidad de Origen
Cada credito registra su origen para saber como fue creado:
{
"origin": {
"type": "flow",
"channel": "digital",
"flow_request_id": "uuid",
"flow_id": "uuid",
"flow_name": "Onboarding Credito Digital v2",
"wizard_session_id": "uuid"
}
}| Tipo de origen | Descripcion |
|---|---|
flow | Creado via wizard digital con flujo de validacion |
manual | Creado manualmente por un operador desde el panel |
api | Creado via API por un sistema externo |
renewal | Renovacion de un credito existente |
Repositorio
- Repo:
imagy-lending - Base de datos:
imagy_lending - Puerto local: 4002
- Equipo: Team Lending
Documentos Relacionados
- Productos — Configuracion detallada de productos
- Originacion Pipeline — Pipeline configurable y proceso de solicitud
- Modelo de Datos — Tablas y relaciones
- API Reference — Endpoints
- Eventos — Eventos producidos y consumidos