Detalle
| Campo | Descripción |
|---|---|
| Manual de Usuario | Motor de Cobranzas Plenario Collections - operación, configuración, monitoreo y soporte |
| Aplicación | plenario-collections / MotorCobranzas.Web |
| Alcance | Cobranzas automáticas, medios de cobro, consultas, conciliación, auditoría y submódulo de pagos |
| Versión relevada | Commit 0e1957e6d2786d1c03ac37192d4dfb9edd361697 del 10/06/2026 |
Introducción
Plenario Collections es el motor que organiza y ejecuta la cobranza automática de cuotas de préstamos. Lee la cartera de Plenario, determina qué cuotas son elegibles, aplica políticas de cobranza, arma una agenda de intentos, controla límites de presión y envía las operaciones al proveedor correspondiente. También observa los webhooks, concilia resultados y mantiene alertas, historial y auditoría.
El circuito de cobranzas soporta Mobbex y Pagos360. Incluye herramientas para administrar suscripciones Mobbex, adhesiones CBU, links de pago, respuestas de proveedores, políticas, scoring, franjas horarias, simulaciones y consultas de clientes, solicitudes y créditos.
La solución contiene además un submódulo de Pagos para transferencias salientes con políticas, aprobación, selección de cuenta origen, agenda e historial. Este submódulo debe considerarse separado del circuito de cobro de cuotas.
Importante: la disponibilidad real depende de la configuración, las credenciales y los proveedores habilitados en cada instalación. En el código relevado, Comafi tiene una implementación configurable cuyos endpoints deben confirmarse contra la documentación contractual; Comercio y MercadoPago permanecen implementados como proveedores stub. No deben habilitarse como productivos sin completar y validar sus integraciones.
Acceso al módulo
- Abrí la aplicación - ingresá a la URL de Plenario Collections definida para tu ambiente.
- Iniciá sesión - usá tus credenciales de Plenario. La aplicación valida el usuario mediante la API de Plenario y crea o actualiza su registro local.
- Usá el menú lateral - las funciones se agrupan en Dashboard, Cobros, Pagos, Consultas y Administración.
Las rutas principales son:
| Área | Pantalla | Ruta |
|---|---|---|
| Inicio | Dashboard | / |
| Cobros | Agenda | /Agenda |
| Cobros | Cartera | /Cartera |
| Cobros | Límites | /Limites |
| Cobros | Simulador | /Simulador |
| Cobros | Historial | /Historial |
| Cobros | Suscriptores Mobbex | /Suscriptores |
| Configuración de cobro | Políticas | /Politicas |
| Configuración de cobro | Asignaciones | /Politicas/Asignaciones |
| Configuración de cobro | Respuestas Mobbex | /RespuestasMobbex |
| Configuración de cobro | Medios de cobro | /MediosCobro |
| Configuración de cobro | Links de pago | /Checkout |
| Configuración de cobro | Adhesiones CBU | /Adhesiones |
| Pagos | Aprobaciones | /Pagos/Pendientes |
| Pagos | Agenda de pagos | /Pagos/Agenda |
| Pagos | Historial de pagos | /Pagos/Historial |
| Pagos | Políticas de pagos | /Pagos/Politicas |
| Pagos | Proveedores | /Pagos/Proveedores |
| Pagos | Saldos | /Pagos/Balance |
| Consultas | Clientes | /Clientes |
| Administración | Alertas | /Alertas |
| Administración | Reportes | /Reportes |
| Administración | Conciliación Pagos360 | /Conciliacion |
| Administración | Webhooks | /Webhooks |
| Administración | Configuración | /Configuracion |
| Administración | Usuarios | /Usuarios |
| Administración | Auditoría | /Auditoria |
Configuración
Estado general del motor
La pantalla Configuración muestra el estado del planificador y del ejecutor, sus últimas corridas y el último error. Desde allí se administran los parámetros operativos persistidos en Cob_Motor_Estado.
| Parámetro | Uso |
|---|---|
| Motor encendido | Habilita o detiene el procesamiento automático. |
| Intervalo del ejecutor | Define cada cuántos segundos busca intentos pendientes. |
| Ignorar ventana horaria | Modo de prueba que permite ejecutar fuera de la ventana general; no elimina los controles irrompibles del servicio de presión. |
| Desactivar ramp-up | Deshabilita el ingreso gradual de políticas nuevas. |
| FIFO estricto por crédito | Impide avanzar a cuotas posteriores antes de completar la primera pendiente. |
| Modo Mobbex / Pagos360 | Controla el uso de cada proveedor según la configuración disponible. |
| Días máximos de adelanto | Permite incluir cuotas próximas a vencer; el valor relevado por defecto es 15 días. |
| Modo observador de hooks | Hace que el motor registre su propia observación sin modificar el flag Mobbex_Hooks.Procesada de Plenario. |
Políticas de cobranza
Una política define qué cartera toma, cómo calcula los importes y cuándo intenta cobrar. Las políticas se evalúan por Prioridad ascendente; si ninguna coincide, puede aplicarse la marcada como default.
La edición permite configurar:
- Datos generales: nombre, descripción, prioridad, estado, vigencia, versión y modo de consolidación.
- Segmentación: comercializadores, entidades, líneas, sucursales y rango de días vencidos.
- Exclusiones: fallecidos, prejudiciales, judiciales, bajas y clientes bloqueados.
- Programación: días fijos, días hábiles, frecuencia, franjas y feriados.
- Intentos: orden, tipo de cálculo, valor, importe mínimo/máximo y espera.
- Límites: máximos diarios, semanales y mensuales, horario y ejecución en fines de semana o feriados.
- Respuestas: acción automática frente a códigos del proveedor.
- Scoring: pesos para priorizar la cartera.
Importante: una política nueva entra en ramp-up durante los primeros 7 días y procesa el 20% superior por scoring, salvo que se desactive el control. Validá la política con Preview, Dry Run, Simulador y Asignaciones antes de habilitarla para toda la cartera.
Medios de cobro e integraciones
| Componente | Configuración |
|---|---|
| Mobbex | Credenciales y ambiente en la sección Mobbex de configuración; suscripción asociada a la solicitud y catálogo de respuestas. |
| Pagos360 | Setup propio, adhesiones CBU, payment requests, conciliaciones y asociación por solicitud. |
| API Plenario | URL base en PlenarioApi:BaseUrl; se usa para autenticación. |
| Base de datos | Conexión ConnectionStrings:Plenario; nunca documentar ni compartir la contraseña. |
| Runtime | Motor:HoraPlanificador, concurrencia, esperas, ramp-up e identificadores de medios de cobro. |
Usuarios y roles
El primer inicio de sesión crea al usuario local como Operador. Un Admin puede cambiar su rol o activación desde Usuarios. El cambio se refleja en el próximo inicio de sesión porque el rol se guarda en la cookie.
Pantalla principal
El Dashboard resume el estado operativo y permite detectar rápidamente si el motor está funcionando.
| Bloque | Qué muestra |
|---|---|
| Estado | Motor encendido/apagado, planificador, ejecutor y últimas ejecuciones. |
| Agenda | Cantidad y monto por estado: asignada, en proceso, pausada, completada o cancelada. |
| Intentos | Pendientes, enviados, aprobados, rechazados, reprogramados y errores técnicos. |
| Recupero | Montos recuperados y evolución por período o franja. |
| Alertas | Incidentes recientes y pendientes de revisión. |
| Diagnóstico | Último resumen del planificador, errores y datos útiles para soporte. |
Los usuarios con política AdminOrSupervisor pueden:
- Encender o apagar el motor.
- Ejecutar el planificador manualmente.
- Ejecutar el ejecutor manualmente.
- Ejecutar el procesador de hooks.
- Destrabar el motor.
- Resetear la agenda, con confirmación reforzada cuando la operación es forzada.
Cómo funciona el ciclo automático
- Planificación - a las 07:00,
PlanificadorServiceverifica que el motor esté encendido y recorre la cartera elegible. - Asignación de política -
PoliticaEngineevalúa filtros y prioridad; el scoring y el ramp-up determinan qué cuotas ingresan. - Agenda e intentos - crea o actualiza
Cob_Agenday generaCob_Intentoen estado Pendiente. - Control de presión -
EjecutorServiceconsulta límites, horarios, bloqueos y frecuencia antes de enviar. - Validación pre-cobro - relee la cuota. Si ya fue cobrada o no tiene saldo, cancela el intento sin llamar al proveedor; si el saldo bajó, ajusta el monto.
- Cobro - resuelve
IProcesadorPagospara Mobbex o Pagos360 y ejecuta la operación. - Resultado - aprueba, rechaza, reprograma, pausa, cancela o deriva a gestión manual según la respuesta.
- Webhook y conciliación - observa notificaciones de Mobbex, procesa webhooks propios y ejecuta la conciliación diaria de Pagos360.
- FIFO - al completar una cuota agenda la siguiente cuota exigible del mismo crédito, si corresponde.
Resultados
Agenda de cobro
Muestra cada cuota asignada a una política, monto original, monto restante, estado, próxima ejecución e intentos relacionados. Se puede filtrar por estado, política, fechas de asignación, solicitud, crédito y documento.
Cartera
Permite consultar cuotas elegibles y exportarlas. Los filtros incluyen texto libre, comercializador, entidad, línea, días vencidos, saldo mínimo y exclusión de fallecidos o judiciales.
Historial
Concentra los intentos enviados y sus respuestas. Permite revisar transacciones, códigos, importes y acciones aplicadas. Para Mobbex incluye operaciones manuales de reintento, marcar pagada, suspender o activar suscripción y devolución, sujetas al rol operativo.
Consultas de clientes y créditos
La navegación es Cliente -> Solicitud -> Crédito. El detalle de crédito muestra:
- Total, cobrado, saldo y cantidad de cuotas impagas o vencidas.
- Datos de cada cuota.
- Hooks Mobbex aprobados imputados a cada cuota.
- Logs de ejecuciones Mobbex asociados a la solicitud.
- Estado de procesamiento observado sin modificar las tablas funcionales de Plenario.
Alertas, reportes y auditoría
- Alertas registra errores técnicos, rechazos relevantes, ajustes pre-cobro y situaciones que requieren revisión.
- Reportes ofrece indicadores por período.
- Auditoría permite filtrar por entidad, identificador, acción, usuario y fechas, y exportar resultados.
Submódulo Pagos
Administra transferencias salientes: pendientes de aprobación, agenda, intentos, políticas, proveedores y saldos. Incluye selección de cuenta origen y una base para aprobación dual.
Importante: no confundir Cobros con Pagos. Cobros intenta percibir cuotas de clientes; Pagos ordena transferencias salientes. La interfaz del submódulo Pagos está presente, pero la preparación productiva de cada proveedor debe verificarse por separado.
Acciones disponibles
| Acción | Qué hace | Permiso declarado |
|---|---|---|
| Consultar Dashboard, agenda, cartera e historial | Acceso de lectura al estado del motor | Lectura |
| Encender/apagar motor | Cambia Cob_Motor_Estado.MotorEncendido |
AdminOrSupervisor |
| Ejecutar procesos manualmente | Dispara planificador, ejecutor o procesador de hooks | AdminOrSupervisor |
| Reintentar agenda | Genera o reprograma un intento | Operativo |
| Pausar o cancelar agenda | Detiene la ejecución de una agenda | Operativo |
| Crear link de pago | Solicita checkout Mobbex o Pagos360 | Operativo |
| Eliminar checkout | Quita un checkout permitido por el flujo | Operativo |
| Crear/cancelar adhesión CBU | Administra adhesiones Pagos360 | Operativo |
| Conciliar Pagos360 | Ejecuta conciliación para fecha y tipo | AdminOrSupervisor |
| Reprocesar webhook | Reintenta un hook individual o fallidos | AdminOrSupervisor |
| Revisar alerta | Marca una alerta y guarda comentario | Operativo |
| Bloquear presión | Bloquea una solicitud hasta una fecha opcional | AdminOrSupervisor |
| Desbloquear presión | Libera un bloqueo | Operativo |
| Suspender/activar suscripción | Ejecuta la acción sobre un SID Mobbex | Operativo |
| Configurar medio de cobro | Habilita o deshabilita un medio | RequireAdmin |
| Administrar usuarios | Cambia rol o activación | RequireAdmin |
| Consultar auditoría | Visualiza y exporta trazabilidad | SoloAuditor |
Importante: la tabla refleja la intención declarada en los atributos del código. En varias Razor Pages, el atributo
[Authorize]está aplicado al método handler (OnPost...) y el compilador emiteMVC1001: ese atributo no se aplica a handlers individuales. En esos casos, la protección efectiva puede quedar reducida a la política de la clase PageModel. Hasta corregirlo y probarlo, no se debe asumir que todos los permisos de acción de esta tabla están efectivamente forzados.
Ejemplo práctico
Crear y validar una política antes de automatizar cobranzas
- Abrí Políticas - ingresá a Cobros -> Políticas y elegí Nueva política.
- Definí el alcance - cargá nombre y prioridad; seleccioná comercializadores, entidades y líneas.
- Protegé la cartera - activá las exclusiones de fallecidos, prejudiciales, judiciales, bajas y bloqueados que correspondan.
- Definí los intentos - configurá importes o porcentajes, cantidad de intentos y días de espera.
- Configurá límites - fijá máximos diarios, semanales y mensuales, además de la franja horaria.
- Guardá sin ampliar riesgo - mantené el ramp-up activo.
- Revisá Preview y Dry Run - comprobá la política y la cartera que tomaría.
- Compará en el Simulador - contrastá el resultado contra otra política si corresponde.
- Revisá Asignaciones - verificá qué política recibe cada cuota y detectá agendas desfasadas.
- Ejecutá el planificador - desde Dashboard, un Supervisor o Admin puede iniciar una corrida manual.
- Controlá Agenda y Alertas - verificá los intentos creados antes de dejar la operación automática.
Resolver una cuota pagada por fuera antes del débito
- El ejecutor relee la cuota justo antes de llamar al proveedor.
- Si
Fecha_Cobroestá informada o el saldo es cero, cancela el intento. - Completa la agenda con el motivo de cobro externo.
- Genera una alerta informativa y continúa el FIFO con la próxima cuota.
- No envía el débito a Mobbex o Pagos360, evitando un cobro duplicado.
Consejos útiles
- Probá toda política con Preview, Dry Run, Simulador y Asignaciones antes de activarla.
- Mantené el ramp-up salvo durante una prueba controlada y documentada.
- Revisá primero Dashboard, Alertas y el mensaje de último error cuando el motor no avance.
- Si hay intentos pendientes, comprobá motor encendido, ventana horaria, bloqueos, límites, suscripción y saldo real.
- En modo observador, no uses
Mobbex_Hooks.Procesadapara saber si Collections ya vio un hook; consultáCob_Mobbex_Hooks_Observados. - Tratá las fechas
FechaHora*del motor como UTC en base y hora local en pantalla. - No edites manualmente tablas
Cob_*oPag_*para destrabar una operación sin respaldo y análisis de relaciones. - No habilites Comercio o MercadoPago como proveedores de pagos salientes mientras sigan siendo stub.
- No copies credenciales, tokens ni cadenas de conexión en tickets, manuales o capturas.
- Antes de una conciliación manual de Pagos360, verificá fecha, tipo de reporte y ambiente.
Preguntas frecuentes
¿Qué diferencia hay entre Agenda y un Intento?
La agenda representa la cuota tomada por una política y conserva su saldo y estado global. Un intento es una ejecución concreta, con fecha, monto, proveedor y resultado. Una agenda puede tener varios intentos.¿Por qué una cuota no entra en la agenda?
Puede estar fuera del horizonte de adelanto, inactiva, cobrada, sin saldo, excluida por la política, sin política coincidente, bloqueada por FIFO o fuera del porcentaje de ramp-up. Usá Cartera, Asignaciones y Dry Run para identificar el motivo.¿Por qué un intento queda reprogramado?
El control de presión puede reprogramarlo por horario, día no hábil, límites diarios/semanales/mensuales o bloqueo. Una respuesta del proveedor también puede indicar reintento después de determinados días.¿El motor puede cobrar una cuota ya pagada?
El ejecutor realiza una validación pre-cobro: relee `Fecha_Cobro` y el saldo. Si la cuota ya está cobrada o no tiene saldo, cancela el intento sin llamar al proveedor. Aun así, se debe monitorear la consistencia de datos e integraciones.¿Qué significa modo observador de Mobbex?
Collections lee `Mobbex_Hooks` y registra el resultado en `Cob_Mobbex_Hooks_Observados`, sin modificar el indicador `Procesada` que pertenece al circuito principal de Plenario.¿Se puede forzar una ejecución fuera de horario?
Existe una opción de testing para ignorar la ventana general, pero `PresionService` mantiene controles de seguridad. Usala solamente en pruebas controladas.¿Mobbex y Pagos360 pueden convivir?
Sí. `Cob_MediosPago_Solicitudes` permite asociar el proveedor por solicitud y el factory resuelve el procesador adecuado. La configuración, suscripción o adhesión requerida debe existir.¿El submódulo Pagos está listo para todos los bancos?
No. El código relevado tiene Comafi configurable, pero sus paths deben validarse con documentación real. Comercio y MercadoPago siguen como stub. Verificá cada integración antes de usarla en producción.Permisos
La aplicación no usa strings IsAllowedObject ni KeyLicences de WinForms. Usa roles locales y políticas ASP.NET Core. Los nombres siguientes son los strings exactos configurados en Program.cs.
| Política | Roles admitidos | Alcance |
|---|---|---|
RequireAdmin |
Admin |
Configuración sensible, medios de cobro y usuarios. |
AdminOrSupervisor |
Admin, Supervisor |
Control del motor, conciliación, webhooks y administración operativa avanzada. |
Operativo |
Admin, Supervisor, Operador |
Reintentos, pausas, cancelaciones, links, adhesiones y gestión diaria. |
Lectura |
Admin, Supervisor, Operador, Auditor |
Consultas, dashboards, reportes y pantallas de lectura. |
SoloAuditor |
Admin, Auditor |
Auditoría y exportación de trazabilidad. |
| Rol | Capacidades generales |
|---|---|
Admin |
Acceso completo. |
Supervisor |
Operación y controles avanzados, sin administración exclusiva de Admin. |
Operador |
Consulta y acciones operativas. |
Auditor |
Lectura y auditoría, sin operación. |
Importante: el rol se guarda en la cookie de autenticación con vigencia de 8 horas y expiración deslizante. Un cambio de rol o activación toma efecto en el próximo login.
Advertencia de seguridad: ASP.NET Core Razor Pages no admite autorización por handler mediante
[Authorize]. El build relevado emiteMVC1001para esos atributos. Por ejemplo, si una PageModel tieneLecturay suOnPost...declaraAdminOrSupervisor, la política del handler puede no aplicarse. Verificar y corregir la autorización a nivel de página, convención o filtro antes de considerar segura la separación de funciones.
Información técnica
Basada en el análisis del formulario real de la v14.
En este proyecto las interfaces reales son páginas Razor ASP.NET Core, no formularios WinForms. El relevamiento se realizó sobre el código del commit
0e1957e6d2786d1c03ac37192d4dfb9edd361697.
Formularios y pantallas
| Pantalla / archivo | Rol |
|---|---|
Pages/Index.cshtml |
Dashboard y comandos manuales del motor. |
Pages/Agenda/Index.cshtml |
Agenda, filtros y acciones por cuota. |
Pages/Cartera/Index.cshtml |
Cartera elegible y exportación. |
Pages/Limites/Index.cshtml |
Bloqueos y control de presión. |
Pages/Simulador/Index.cshtml |
Comparación de políticas. |
Pages/Historial/Index.cshtml |
Historial y acciones Mobbex. |
Pages/Suscriptores/Index.cshtml |
Consulta y gestión de SID Mobbex y proveedor por solicitud. |
Pages/Politicas/Index.cshtml |
ABM y búsqueda de políticas. |
Pages/Politicas/Create.cshtml, Edit.cshtml, Clonar.cshtml |
Alta, modificación y clonación. |
Pages/Politicas/Preview.cshtml, DryRun.cshtml, Asignaciones.cshtml |
Validación, simulación real y asignación de cartera. |
Pages/RespuestasMobbex/Index.cshtml |
Catálogo código-respuesta y acción automática. |
Pages/MediosCobro/Index.cshtml |
Habilitación de medios. |
Pages/Checkout/Index.cshtml |
Links de pago Mobbex/Pagos360. |
Pages/Adhesiones/Index.cshtml |
Adhesiones CBU Pagos360. |
Pages/Conciliacion/Index.cshtml |
Conciliación manual Pagos360. |
Pages/Webhooks/Index.cshtml |
Consulta y reproceso de hooks. |
Pages/Clientes/Index.cshtml, Detalle.cshtml |
Búsqueda y ficha de cliente. |
Pages/Solicitudes/Detalle.cshtml |
Solicitud y créditos asociados. |
Pages/Creditos/Detalle.cshtml |
Crédito, cuotas, hooks y logs. |
Pages/Alertas/Index.cshtml |
Centro de alertas. |
Pages/Reportes/Index.cshtml |
Indicadores por período. |
Pages/Configuracion/Index.cshtml |
Estado, runtime, excepciones y configuración. |
Pages/Usuarios/Index.cshtml |
Roles y activación de usuarios. |
Pages/Auditoria/Index.cshtml |
Trazabilidad y exportación. |
Pages/Pagos/*.cshtml |
Pendientes, agenda, historial, políticas, proveedores y saldos del submódulo Pagos. |
Managers y clases de negocio
| Componente | Detalle |
|---|---|
CobranzasDbContext |
Mapeo EF Core de tablas Plenario, Cob_*, Pag_* y tablas bancarias. |
PlanificadorService |
Planifica diariamente la cartera y crea agenda e intentos. |
EjecutorService |
Ejecuta intentos, valida pre-cobro y aplica resultados. |
ProcesadorHooksService |
Observa hooks Mobbex, actualiza intentos y dispara FIFO. |
ConciliacionPagos360Service |
Ejecuta la conciliación diaria Pagos360. |
PoliticaEngine |
Resuelve políticas por prioridad, vigencia, filtros y default. |
SaldoCalculator, MontoIntentoCalculator |
Calculan saldo, días vencidos e importe por intento. |
CarteraQuery |
Proyecta la cartera elegible desde las tablas de Plenario. |
PresionService |
Verifica horarios, límites y bloqueos; registra presión. |
DiaHabilCalculator, ScheduleService |
Resuelven feriados, días hábiles y programación. |
ScoringService |
Calcula priorización y ramp-up. |
MediosCobroService |
Administra medios habilitados y proveedor por solicitud. |
MobbexManager |
Cliente HTTP para cobros, suscripciones, checkouts y devoluciones Mobbex. |
MobbexRespuestaInterpreter |
Traduce códigos de respuesta a acciones automáticas. |
Pagos360Manager |
Adhesiones, payment requests, consultas y conciliación Pagos360. |
ProcesadorPagosFactory |
Resuelve IProcesadorPagos para Mobbex o Pagos360. |
MobbexProcesadorPagos, Pagos360ProcesadorPagos |
Adaptadores de cobranza por proveedor. |
DashboardService |
Compone métricas y resúmenes del Dashboard. |
AuditoriaService, AlertaService |
Persisten trazabilidad y alertas. |
PlenarioAuthService |
Autentica contra la API de Plenario. |
ExportService |
Genera exportaciones de grillas y auditoría. |
PlanificadorPagosService, EjecutorPagosService, ConsultorEstadosPagosService |
Automatización del submódulo de transferencias salientes. |
CuentaOrigenSelector |
Selecciona cuenta bancaria según estrategia de la política. |
ProveedorTransaccionalFactory |
Resuelve proveedores bancarios/transaccionales. |
ComafiProvider |
Implementación OAuth2/REST configurable; paths pendientes de validación contractual. |
ComercioProvider, MercadoPagoProvider |
Stubs; no implementan una integración productiva completa. |
OAuth2TokenCache |
Cache compartida de tokens OAuth2 por proveedor y cliente. |
Servicios automáticos
| Servicio | Frecuencia / disparador | Función |
|---|---|---|
PlanificadorService |
Diario, Motor:HoraPlanificador (07:00 por defecto) y ejecución manual |
Arma agenda de cobranzas. |
EjecutorService |
Loop configurable y ejecución manual | Ejecuta intentos vencidos con concurrencia limitada. |
ProcesadorHooksService |
Cada 30 segundos por defecto y ejecución manual | Observa y procesa hooks Mobbex. |
ConciliacionPagos360Service |
Diario y ejecución manual | Concilia reportes Pagos360. |
PlanificadorPagosService |
Background | Planifica transferencias salientes. |
EjecutorPagosService |
Background | Ejecuta transferencias aprobadas. |
ConsultorEstadosPagosService |
Background | Actualiza estados externos. |
Endpoints
| Endpoint | Uso |
|---|---|
POST /api/mobbex/webhook |
Recibe notificaciones Mobbex. |
GET /api/mobbex/ping |
Verificación básica del controlador. |
POST /api/pagos360/webhook |
Recibe notificaciones Pagos360. |
GET /api/pagos360/ping |
Verificación básica del controlador. |
Stored Procedures y funciones
No usa Stored Procedures propios para la operación del motor. El acceso a datos es EF Core 8 mediante CobranzasDbContext. Las consultas complejas se expresan con LINQ y SQL generado por EF. Las tablas funcionales de Plenario están marcadas ExcludeFromMigrations; las migraciones del proyecto crean y modifican solamente el esquema del motor.
Tablas de base de datos
Tablas funcionales de Plenario e integraciones
| Tabla | Uso |
|---|---|
Prestamos_Solicitudes |
Solicitudes, segmentación, cliente y medio de cobro. |
Prestamos_Creditos |
Créditos asociados a solicitudes. |
Prestamos_Creditos_Detalle |
Cuotas, vencimiento, importe, cobrado y Fecha_Cobro. |
Prestamos_Creditos_Detalle_Cobros |
Detalle de imputaciones de cuotas. |
Clientes |
Identidad, contacto, bloqueos y estados legales. |
Prestamos_Comercializadores |
Catálogo para filtros de políticas. |
Prestamos_Entidades |
Catálogo para filtros de políticas. |
Prestamos_Lineas |
Catálogo para filtros de políticas. |
Feriados |
Cálculo de días hábiles. |
Mobbex_Log |
Operaciones enviadas a Mobbex. |
Mobbex_Hooks |
Webhooks recibidos por Plenario. |
Mobbex_Hooks_Cobros |
Imputación de hooks a cuotas. |
Mobbex_Setup |
Configuración Mobbex de Plenario. |
Pago360_Log |
Operaciones Pagos360. |
Pago360_Hooks |
Webhooks Pagos360. |
Pago360_Hooks_Cobros |
Imputación de hooks Pagos360. |
Pago360_Setup |
Configuración Pagos360 de Plenario. |
Bancos |
Catálogo bancario compartido. |
DefinicionCuentasBancarias |
Cuentas origen para transferencias. |
Bancos_Transferencias |
Transferencias compartidas con Plenario. |
Tablas del motor de cobranzas
| Tabla | Uso |
|---|---|
Cob_Politicas |
Cabecera, prioridad, vigencia y estado de políticas. |
Cob_Politicas_Filtros |
Segmentación y exclusiones. |
Cob_Politicas_Intentos |
Secuencia y cálculo de intentos. |
Cob_Politicas_Limites |
Límites y ventana por política. |
Cob_Politicas_Respuestas |
Código externo y acción automática. |
Cob_Politicas_Franjas |
Franjas de ejecución. |
Cob_Politicas_Scoring |
Pesos de scoring. |
Cob_Agenda |
Estado agregado de cobranza por cuota. |
Cob_Intentos |
Cada envío y resultado de cobro. |
Cob_Control_Presion |
Conteos y bloqueos por solicitud. |
Cob_Excepciones |
Excepciones de operación. |
Cob_Motor_Estado |
Configuración runtime y diagnóstico. |
Cob_Auditoria |
Trazabilidad de cambios y acciones. |
Cob_Usuarios |
Rol local y activación. |
Cob_Alertas |
Alertas operativas y revisión. |
Cob_MediosPago_Solicitudes |
Proveedor asociado a cada solicitud. |
Cob_MediosCobro_Config |
Habilitación de medios. |
Cob_Pagos360_Setup |
Setup específico usado por Collections. |
Cob_Pagos360_Conciliaciones |
Resultado de conciliaciones. |
Cob_Checkouts |
Links de pago y estado. |
Cob_Mobbex_Hooks_Observados |
Tracking propio del modo observador. |
Tablas del submódulo Pagos
| Tabla | Uso |
|---|---|
Pag_Proveedores |
Proveedores, credenciales cifradas/configuración y capacidades. |
Pag_RespuestasProveedor |
Normalización de respuestas externas. |
Pag_Politicas |
Reglas para transferencias salientes. |
Pag_Politicas_CuentasOrigen |
Cuentas habilitadas por política. |
Pag_Politicas_Aprobadores |
Aprobadores requeridos. |
Pag_Agenda |
Transferencias planificadas. |
Pag_Intentos |
Intentos de transferencia. |
Pag_Aprobaciones_Log |
Trazabilidad de aprobación. |
Pag_Alertas |
Alertas del submódulo. |
Pag_Comprobantes_Locales |
Archivos o metadatos de comprobantes. |
Pag_Saldos_Cache |
Saldos consultados a proveedores. |
Pag_Motor_Estado |
Estado y configuración runtime de pagos. |
Permisos reales
| String exacto | Acción |
|---|---|
RequireAdmin |
Requiere rol Admin. |
AdminOrSupervisor |
Requiere Admin o Supervisor. |
Operativo |
Requiere Admin, Supervisor u Operador. |
Lectura |
Admite Admin, Supervisor, Operador o Auditor. |
SoloAuditor |
Requiere Admin o Auditor. |
No se encontraron permisos IsAllowedObject ni KeyLicences en este repositorio.
Relación con otros módulos / manuales
| Se conecta con | Cómo |
|---|---|
| Préstamos | Lee solicitud, crédito y cuotas; usa vencimiento, saldo y fecha de cobro - ver Nueva solicitud de crédito. |
| Medios de cobro | Ejecuta Mobbex o Pagos360 según la asociación de la solicitud - ver Préstamos - Medios de cobro. |
| Clientes | Usa identidad, contacto, bloqueos y estados legales - ver ABM de Clientes. |
| Mobbex | Ejecuta débitos, checkouts, suscripciones, devoluciones y observa hooks. |
| Pagos360 | Administra adhesiones CBU, solicitudes de pago, hooks y conciliaciones. |
| Bancos y Tesorería | El submódulo Pagos usa cuentas bancarias y escribe transferencias en Bancos_Transferencias. |
| Contabilidad e imputación | Collections observa la cobranza, pero la imputación funcional definitiva de cuotas y sus efectos contables pertenecen al circuito de Plenario y deben verificarse en el manual correspondiente. |
| Feriados | Consume el calendario para programar días hábiles. |
| API de Plenario | Autentica usuarios y obtiene su identidad. |
Notas para soporte
- Las entidades de tablas Plenario contienen campos
bool?y proyecciones defensivas porque existen filas legacy conNULL. No volverlos no-nullable sin sanear la base. - Las fechas
FechaHora*se almacenan en UTC y se muestran conToLocalTime(). - En modo observador, Collections no debe escribir
Mobbex_Hooks.ProcesadaniMobbex_Hooks_Cobros. - Los
BackgroundServicesingleton crean scopes para consumir EF y servicios scoped. No inyectar un scoped directamente en un singleton. ProveedorTransaccionalFactorydebe permanecer scoped porque consumeIEnumerable<IProveedorTransaccional>scoped.- Las migraciones se aplican automáticamente al arrancar. Un error se registra como crítico, pero la aplicación continúa para servir la página de error.
- Los controladores webhook expuestos deben protegerse y validarse según la configuración del proveedor; el endpoint
pinges solo diagnóstico. - El build emite múltiples advertencias
MVC1001:[Authorize]no se aplica a handlers Razor individuales. Es un riesgo real de autorización; mover la protección a PageModels separadas, convenciones o filtros y agregar pruebas de acceso por rol. - La suite relevada compila y ejecuta 43 pruebas, pero falla
PresionServiceTests.Bloqueo_RechazaYDesbloqueoManual_Libera: esperaba que un bloqueo rechazara la operación y recibióPermitido = true. Revisar aislamiento/fecha del test y la lógica dePresionServiceantes de confiar en ese escenario. - Los timeouts HTTP son de 30 segundos para Mobbex, Plenario, Pagos360 y MercadoPago; 45 segundos para Comafi y Comercio.
ComafiProviderusa endpoints configurables porque los paths definitivos no estaban confirmados al momento del relevamiento.ComercioProvideryMercadoPagoProviderheredan deProviderStubBase: verificar contra binario instalado y no usar en producción hasta implementar la API real.- La documentación previa menciona una pantalla pendiente de hooks observados y parámetros Ola 7; contrastar siempre la versión desplegada con este commit.
- La cadena de conexión y las credenciales de proveedores son datos sensibles y no deben incorporarse al manual publicado.