Plataforma Base
Usuarios, roles, permisos, auditoría, notificaciones, email e internacionalización
La plataforma base proporciona la infraestructura transversal que soporta todos los módulos: gestión de usuarios y accesos, auditoría completa, notificaciones multi-canal, procesamiento en segundo plano, copiloto IA e internacionalización.
Usuarios y accesos (RBAC)
Gestión de usuarios
Los usuarios son el personal administrativo que opera el dashboard de TunoCommerce (diferente de los clientes/compradores).
- CRUD completo con soft delete y restauración.
- Campos: Email (único), nombre, apellido, teléfono, posición, avatar, idioma.
- Onboarding: Token de activación con expiración para invitar nuevos usuarios.
- Seguridad: Flag de cambio de contraseña obligatorio, registro de último login.
Roles y permisos
Sistema de control de acceso basado en roles (RBAC) por empresa:
- Cada usuario tiene un rol dentro de su empresa.
- Cada rol tiene múltiples permisos asociados.
- Los permisos se cachean en Redis por ID de rol para rendimiento.
- Los permisos no se heredan entre empresas — cada empresa define sus propios roles.
Dominios de permisos
Los permisos están organizados en dominios que cubren todas las funcionalidades:
| Dominio | Permisos disponibles |
|---|---|
| Consola | Acceso al dashboard, ver estadísticas |
| Empresas | Ver, crear, editar, eliminar, gestionar usuarios |
| Usuarios | Ver, crear, editar, eliminar, resetear contraseña, asignar roles, impersonar |
| Roles | Ver, crear, editar, eliminar |
| Perfil | Ver y editar perfil propio |
| Mi empresa | Ver, editar datos, gestionar subsidiarias |
| Marcas | Ver, crear, editar, eliminar, gestionar globales |
| Categorías | Ver, crear, editar, eliminar |
| Productos | Ver, crear, editar, eliminar |
| Tags | Ver, crear, editar, eliminar |
| Modificadores | Ver, crear, editar, eliminar |
| Inventario | Lectura, escritura |
| Clientes | Ver, crear, editar, eliminar, gestionar roles |
| Storefronts | Ver, crear, editar, eliminar |
| Direcciones | Ver, crear, editar, eliminar |
| Cotizaciones | Ver, crear, editar, resolver, cancelar, eliminar |
Auditoría
Registro completo de todas las operaciones realizadas en la plataforma.
Datos capturados por evento
| Campo | Descripción |
|---|---|
| Empresa | Empresa donde ocurrió la acción |
| Usuario | Quién realizó la acción |
| Acción | Tipo de operación (ej. PRODUCT_CREATED, QUOTE_APPROVED) |
| Entidad | Tipo y ID del recurso afectado |
| Metadata | Datos contextuales en JSON (campos modificados, valores anteriores/nuevos) |
| IP y User Agent | Información de la solicitud HTTP |
| Impersonado por | Si la acción fue realizada mediante impersonación |
Los registros de auditoría son de solo lectura y están indexados por empresa, fecha, acción y usuario para consultas eficientes.
Notificaciones
Sistema multi-canal para mantener informados a los usuarios del dashboard.
- Canales: App (in-app), email (y potencialmente SMS).
- Prioridad: Normal, alta o baja — afecta el orden de visualización.
- Acciones: Cada notificación puede incluir una URL de acción (clickthrough).
- Metadata: Datos JSON adicionales para contexto.
- Expiración: Las notificaciones pueden tener fecha de expiración para limpieza automática.
- Estado: Leída / descartada con timestamps independientes.
Procesamiento en segundo plano
Sistema de colas basado en BullMQ (Redis) para tareas asíncronas con reintentos automáticos.
Tareas disponibles
| Tarea | Descripción |
|---|---|
| Envío de email | Procesamiento asíncrono de correos electrónicos vía SMTP |
| Guardado de auditoría | Registro fire-and-forget de eventos de auditoría |
| Envío de notificaciones | Creación y distribución de notificaciones |
| Exportación de datos | Generación de archivos CSV/Excel para descarga |
| Expiración de cotizaciones | Revisión periódica y expiración automática de cotizaciones vencidas |
Todas las tareas soportan reintentos con backoff exponencial y priorización por lanes.
Copiloto IA
Asistente de inteligencia artificial integrado en el dashboard que permite a los usuarios interactuar con la plataforma mediante lenguaje natural.
Capacidades
El copiloto puede consultar y gestionar datos de 8 dominios:
- Usuarios: Buscar, crear y editar usuarios.
- Empresas: Consultar y gestionar empresas.
- Roles: Gestionar roles y permisos.
- Perfil: Consultar y editar el perfil propio.
- Mi empresa: Gestionar datos de la empresa.
- Auditoría: Revisar logs de auditoría.
- Notificaciones: Gestionar notificaciones.
- Historial: Revisar conversaciones anteriores.
Seguridad
- Las acciones de lectura se ejecutan directamente.
- Las mutaciones (crear, editar, eliminar) requieren confirmación explícita del usuario antes de ejecutarse.
- Los permisos del usuario se validan antes de ejecutar cualquier herramienta.
- Incluye guardia de contenido con sanitización y validación de tema.
Internacionalización (i18n)
La plataforma soporta dos idiomas:
| Idioma | Código | Uso |
|---|---|---|
| Español (México) | es-MX | Idioma por defecto |
| English (US) | en-US | Alternativa |
La localización cubre:
- Interfaz del dashboard completa.
- Mensajes de error de la API.
- Labels de permisos y roles.
- Respuestas del copiloto IA.
El idioma se configura por empresa y por usuario individual.