Gestionar Límites
Requisitos de acceso
- Permiso (módulo):
viewLimitsOmanageLimitspara abrir y listar;manageLimitspara crear, editar o eliminar (cualquiera de los módulos es suficiente para visualizar; crear/editar/eliminar siempre requieremanageLimits). - Licencia/Feature: Ninguna.
- Contenedor del menú: GENERAL → grupo Usuarios
Qué es / cuándo usar
Pantalla de registro de los perfiles de límites (también llamados "límites generales") de la plataforma. Cada perfil es un conjunto con nombre de topes por tipo de movimiento — transferencia cripto externa, TED, PIX, transferencia a la misma titularidad, transferencia interna y retiro. Los perfiles creados aquí se asignan a usuarios individualmente desde la pantalla de Detalles del usuario, donde el operador selecciona qué perfil de límites aplica a ese cliente.
Úselo al configurar la política de límites del tenant (p. ej.: "Estándar", "Inversor Calificado", "Cuenta Verificada") y al ajustar los topes de cada perfil. Esta pantalla no opera sobre un cliente específico — define las plantillas; la vinculación cliente↔perfil se realiza en Detalles del usuario.
Precondiciones
- Permiso:
viewLimitsomanageLimitsregistrado para el rol del operador. El permiso es doble — el enum estático CPM (E_PERMISSION_MODULES.viewLimits/E_PERMISSION_MODULES.manageLimits) valida la ruta en el API-Gateway y el módulo dinámico correspondiente debe estar asociado al rol en la base de datos para que la UI libere el ítem de menú. El listado (getAllGeneralLimits) acepta cualquiera de los dos; crear/editar/eliminar (createGeneralLimits/updateGeneralLimits/deleteGeneralLimits) requieremanageLimits. - Licencia/Feature: ninguna.
- Dependencias de otras pantallas: ninguna para crear perfiles. Para que un perfil tenga efecto, debe ser asignado a un usuario en Detalles del usuario (llamada
updateGeneralLimitsForUser).
Paso a paso
- Acceda al menú Usuarios → Gestionar Límites (
/manage-limits/list). - La tabla muestra los perfiles existentes con Tipo (nombre del perfil) y el tope de Transferencia Cripto.
- Haga clic en Nuevo para crear un perfil; o use los íconos de visualizar / editar / eliminar en la fila de un perfil existente.
- En el formulario, complete el Nombre del Límite, adjunte la imagen del perfil e ingrese los topes por tipo de movimiento.
- Haga clic en Guardar. Tanto en la creación como en la edición, se muestra un pie de confirmación (bottom-sheet) antes de persistir.
- Para aplicar el perfil a un cliente, vaya a Detalles del usuario y seleccione el perfil de límites deseado.
Campos
Formulario de creación/edición (rutas /manage-limits/create, /manage-limits/edit/:id, /manage-limits/details/:id):
| Campo | Qué es | ¿Obligatorio? | Efecto en el sistema/backend |
|---|---|---|---|
| Nombre del Límite (Tipo) | Identificador legible del perfil (p. ej.: "Estándar", "Inversor Calificado") | Sí | Se guarda en IGeneralLimits.type en el CPM. Inmutable tras la creación — el campo queda deshabilitado en modo edición (solo es editable al crear). Validado por colectionNameValidator (sin caracteres inválidos). |
| Imagen | Imagen/ícono del perfil, enviada mediante carga | Sí | Se carga mediante el servicio de archivos y la URL se guarda en IGeneralLimits.image. El botón Guardar queda bloqueado sin type ni image (validateSave). |
| Transferencia Cripto | Tope de transferencia cripto externa | No | Guarda crypto_external_transfer. Es la única columna de tope mostrada en el listado. |
| Envío de TED | Tope de TED | No | Guarda ted_transfer. |
| Envío de PIX | Tope de PIX | No | Guarda pix_transfer. |
| Envío a la misma titularidad | Tope de transferencia entre cuentas del mismo titular | No | Guarda same_account_transfer. |
| Transferencia Interna | Tope de transferencia interna (entre carteras en la plataforma) | No | Guarda internal_pix_transfer. |
| Retiros | Tope de retiro | No | Guarda withdraw_transfer. |
Topes vacíos
Los campos de tope no son obligatorios en el formulario. Un perfil puede crearse solo con nombre e imagen y completar los topes después (modo edición). Los topes no completados quedan sin valor en el perfil — revise la política de cada tipo de movimiento antes de dejar un tope en blanco.
Acciones y modales
- Nuevo: abre el formulario en blanco (
/manage-limits/create). RequieremanageLimits. - Visualizar (ojo): abre el perfil en modo lectura (
/manage-limits/details/:id), con botón Editar para alternar. - Editar (lápiz): abre el formulario con los datos del perfil (
/manage-limits/edit/:id). El Nombre del Límite queda bloqueado. El botón Guardar solo se habilita si hubo un cambio real en algún campo (editValidatecompara con el original). - Eliminar (papelera): abre un bottom-sheet de confirmación; al confirmar, llama a
deleteGeneralLimits/:id. RequieremanageLimits. - Guardar: bottom-sheet de confirmación antes de persistir, tanto en la creación como en la edición.
Reglas de negocio / precauciones
Atención
- Nombre inmutable: el nombre del perfil no puede modificarse tras su creación. Para "renombrar", cree un perfil nuevo y reasigne los usuarios.
- Esta pantalla no vincula usuarios. Crear o editar un perfil aquí no modifica automáticamente el límite de ningún cliente. La vinculación cliente↔perfil se realiza en Detalles del usuario mediante
updateGeneralLimitsForUser. Editar los topes de un perfil ya asignado entra en vigor para los clientes que usan ese perfil. - Imagen obligatoria: sin imagen el botón Guardar queda bloqueado — adjunte la imagen antes de intentar guardar.
- Valores financieros: los topes representan valores monetarios y se manejan con precisión (BigNumber) en el backend — no redondee en la verificación; compruebe los decimales según el tipo (token vs. fiat).
Pantallas relacionadas
- Detalles del usuario — donde se asigna el perfil de límites a un cliente.
- Lista de usuarios — punto de partida para localizar al cliente.
- Índice del grupo Usuarios