Manual de usuario · Admin Puertos3

Portal interno de administración global

2026-08-29

0. PWA vigente e instalación

Admin Puertos3 ahora es una PWA instalable en https://abbante.online/administracion. Conserva las funciones completas de AdminWeb y no requiere Expo ni una aplicación móvil separada.

Acceso de Admin Puertos3 PWA

Para instalarla, abre el portal en Chrome o Edge y elige Instalar aplicación. En iPhone o iPad usa Safari, abre Compartir y selecciona Agregar a pantalla de inicio. El Service Worker conserva únicamente el shell y la página offline: los datos administrativos autenticados no se guardan para consulta sin conexión.

Recurso PWA Comportamiento
Manifest Nombre, iconos y acceso directo bajo /administracion
Service Worker Actualiza archivos estáticos y muestra una página offline
Datos administrativos Siempre se consultan en línea; no se cachean
Nueva versión El portal muestra un botón para actualizar cuando está lista

1. Qué Es Admin Puertos3

Admin Puertos3 es el portal interno que usa TecnoAI para administrar la plataforma completa: alta de empresas transportistas, seguimiento operativo, catálogos, marketplace, membresías, pagos, notificaciones, auditoría, salud de servicios y reportes globales.

No confundir con MonitorWeb. Los clientes transportistas usan https://transporte.abbante.com para operar su empresa. AdminWeb es exclusivo para usuarios AdminGlobal.

URL del portal: https://abbante.online/administracion

Quién entra: sólo usuarios con EsAdminGlobal=true. Si un usuario AdminEmpresa intenta entrar aquí, el portal cierra su sesión y muestra un acceso a MonitorWeb, que es el portal correcto para su rol.

2. Acceso

2.1 Entrar Al Portal

  1. Abre https://abbante.online/administracion/login.
  2. Captura correo y contraseña.
  3. Presiona Entrar al panel.

El portal valida la sesión con Supabase Auth y después consulta mi_perfil_admin_web. Si el perfil no tiene es_admin_global=true, no permite el acceso.

2.2 Acceso De Prueba QA

Para validación, capacitación o demostraciones internas solicita al responsable del proyecto una cuenta QA temporal con rol AdminGlobal. Las credenciales no se publican en este manual ni deben compartirse por correo o canales abiertos.

URL de acceso: https://abbante.online/administracion/login

El usuario se mantiene con:

cd supabase-api
node seed-adminempresa-qa.js

2.3 Salir

En la esquina superior derecha, usa el botón de salida. Cierra la sesión actual y vuelve al login.

3. Dashboard

El dashboard muestra accesos rápidos a las rutas principales:

Dashboard principal AdminWeb

La vista inicial está organizada por bloques de trabajo. Úsala como atajo cuando ya sabes qué área necesitas abrir:

Bloque Accesos principales
Pendientes Bandeja, soporte, privacidad, pagos y trials por revisar
Onboarding Alta de nueva empresa y marketplace
Personas Flota global y usuarios/roles
Empresas Empresas transportistas, viajes por ruta y sindicatos
Catálogos Palabras, planes, licencias, rutas, aduanal, parámetros y club del chofer
Plataforma Membresías, liquidaciones, reportes, notificaciones, salud y auditoría

Lee las tarjetas como atajos, no como módulos separados. Cada una lleva a la misma ruta disponible en el sidebar.

4. Bandeja Operativa

Sidebar → InicioBandeja operativa.

Concentra pendientes para que el AdminGlobal no tenga que buscar en varias pantallas:

Indicador Origen
Pagos empresa pendientes admin_listar_pagos_empresa_pendientes
Pagos chofer pendientes admin_listar_pagos_pendientes
Trials pendientes admin_listar_trials_pendientes
Marketplace admin_marketplace_resumen
Tickets soporte admin_listar_tickets_soporte
Privacidad admin_listar_solicitudes_eliminacion_datos
Moderación admin_listar_reportes_moderacion

Cada bloque muestra la acción recomendada y liga al módulo donde se resuelve.

Bandeja de pendientes AdminWeb

5. Alta De Nueva Empresa

Sidebar → OnboardingAlta de nueva empresa.

Este wizard provisiona una empresa transportista nueva y su primer administrador de empresa.

5.1 Datos De La Empresa

Campo Obligatorio Nota
RFC 12 o 13 caracteres. Debe ser único
Razón social Nombre fiscal de la empresa
Nombre comercial No Si queda vacío, se usa la razón social
Teléfono No Contacto general
Correo empresa No Contacto general
Ciudad, estado, CP, dirección No Recomendados para operación

5.2 Admin De La Empresa

El usuario capturado aquí será AdminEmpresa, no AdminGlobal.

Campo Obligatorio Nota
Nombre completo Nombre visible en el portal
Correo Usuario con el que entrará a MonitorWeb
Teléfono No Contacto operativo
Acceso inicial Invitación por correo o contraseña temporal

El acceso inicial tiene dos opciones:

Opción Cuándo usarla Resultado
Enviar invitación Cuando el correo del cliente recibe invitaciones sin problema AdminWeb genera el link Auth y Resend envía un correo para que el admin defina su contraseña
Contraseña temporal Cuando el correo no llega o se necesita activar al cliente en el momento AdminWeb crea el usuario confirmado, muestra una contraseña temporal y marca el acceso como pendiente de cambio

La invitación envía al nuevo administrador a MonitorWeb (NEXT_PUBLIC_MONITOR_URL), porque ahí opera la empresa transportista. El botón Aceptar invitación pasa por https://transporte.abbante.com/auth/aceptar y después redirige a Supabase con destino final https://transporte.abbante.com/cambiar-password. Ahí el usuario define su contraseña inicial; después entra por https://transporte.abbante.com/login con su correo y esa contraseña. Si se usa contraseña temporal, entrega esa contraseña al cliente por un canal seguro. Al iniciar sesión, MonitorWeb lo manda a /cambiar-password antes de permitirle operar.

5.3 Trial Inicial

Campo Default Nota
Días de trial 30 Duración del periodo de prueba
Slots de monitoreo 5 Choferes monitoreables simultáneamente
Notas internas vacío Visible para administración

5.4 Al Confirmar

El portal hace la operación de forma controlada:

  1. Crea el acceso del admin en Supabase Auth: invitación o contraseña temporal.
  2. Crea EmpresaTransportista.
  3. Crea PermissionPolicyUser con EsAdminEmpresa=true.
  4. Vincula el usuario a la empresa.
  5. Crea la membresía trial de monitoreo.
  6. Registra auditoría en MonitorAuditoria.
  7. Si se creó contraseña temporal, marca el usuario con must_change_password=true.

Si la RPC falla, el endpoint intenta borrar el usuario Auth recién creado para no dejar datos huérfanos.

6. Marketplace

Sidebar → OnboardingMarketplace.

La consola de marketplace permite gestionar de punta a punta el alta de proveedores de asistencia y dar seguimiento a las solicitudes. Entran:

Tab Uso
Proveedores Gestión completa del alta de proveedores (etapas, asignación, contacto, acceso)
Solicitudes Solicitudes de asistencia, urgencia, estado, ofertas y proveedor asignado (sólo AdminGlobal)
Soporte Tickets enviados desde /soporte (sólo AdminGlobal)
Seguimiento de proveedores desde AdminWeb

Arriba del tablero hay indicadores rápidos: Prospectos abiertos, Sin asignar, Invitados sin descargar, Integrados (7 días), Proveedores activos, Solicitudes abiertas y Tickets abiertos.

6.1 Las Cuatro Etapas Del Proveedor

El tab Proveedores separa la cartera en cuatro etapas (tarjetas con contador en la parte superior; el contador respeta los filtros activos):

Etapa Qué contiene
En prospección Negocios que el equipo está agregando (origen Google Places) y aún no terminados
Solicitudes de alta Registros que llegaron solos por web (/alta-proveedor) o desde la app
Aceptados Proveedores Integrados (ya operan, listos para recibir solicitudes)
Descartados Rechazados o no contactables

Cada negocio se importa/origina y avanza por estos estados: Importado → En contacto → Dado de alta (invitado) → Registrado (integrado), con desvíos a Rechazado o No contactable.

La lista soporta búsqueda (nombre, teléfono, correo o dirección), ordenamiento (Más recientes, Mejor calificados, Sin contactar primero, Próximo seguimiento) y paginación. En la ficha se muestra la calificación de Google (★ y número de reseñas) para priorizar a quién contactar primero.

6.2 Los Dos Flujos De Alta

Hay dos caminos según quién inicia, distinguidos por el origen del prospecto:

Flujo Origen Acción del administrador Resultado
Flujo 1A — el proveedor te busca Formulario público /alta-proveedor Activar e invitar Se crea el acceso, se envía la invitación y queda Registrado
Flujo 1B — el proveedor crea su cuenta Abbante M móvil o PWA en https://abbante.online Autorizar proveedor Se vincula la cuenta que ya creó el proveedor y queda Registrado
Flujo 2 — tú buscas al proveedor Google Places Activar e invitar Queda Dado de alta / “Invitado · sin descargar”; pasa a Integrado sólo cuando el proveedor descarga Abbante M o entra a la PWA por primera vez

Así “Integrado” significa de verdad que el proveedor ya está operando en la app, no sólo que se le envió la invitación.

6.3 Asignación: Que Cada Operador Trabaje Lo Suyo

Cuando varios capturadores trabajan en paralelo, cada prospecto tiene dueño para que no se llamen al mismo negocio.

Sub-vistas de asignación (en En prospección / Solicitudes de alta):

Vista Para qué
Sin asignar El pool disponible. Botón Tomar en cada uno
Míos Lo que tomaste; aquí trabajas tu cartera
Todos Panorama completo (AdminGlobal puede reasignar)

6.3.1 Localizar Una Solicitud Web, App O PWA

Al abrir Marketplace → Proveedores, AdminWeb muestra de forma predeterminada En prospección. Las solicitudes enviadas directamente por un proveedor no aparecen en esa primera lista.

Para encontrarlas:

  1. Selecciona Solicitudes de alta.
  2. En Asignación, elige Todos cuando no conozcas al operador asignado.
  3. Limpia los filtros de ruta, categoría y estado que no sean necesarios.
  4. Busca primero por nombre del negocio.
  5. Para buscar por teléfono o correo, cambia el campo de búsqueda de Nombre a Todos y captura el dato completo.
  6. Abre la ficha y compara nombre, teléfono y correo con la información proporcionada por el negocio.

Importante: la búsqueda no corrige direcciones de correo ni supone que dos correos parecidos son la misma cuenta. Si el proveedor informa un correo distinto al capturado, busca también por nombre o teléfono.

Después de localizar la solicitud:

Situación Acción correcta
El correo, teléfono o nombre tiene un error Usa Corregir datos antes de autorizar o invitar
Llegó desde el formulario público Usa Activar e invitar
Llegó desde Abbante M móvil o desde la PWA Usa Autorizar proveedor
La ficha está asignada a otro operador Un AdminGlobal puede reasignarla; de lo contrario, primero usa Tomar
No debe operar Usa Rechazar y registra el motivo

Al terminar, confirma que la ficha salga de Solicitudes de alta y aparezca en Aceptados. Si continúa pendiente, revisa la respuesta mostrada por AdminWeb antes de repetir la acción.

6.4 Importar Proveedores Por Ruta (Google Places)

Panel Importar proveedores por ruta: elige una ruta y pulsa Importar de esta ruta. El sistema busca negocios de asistencia a lo largo del trazado y los agrega como candidatos (estado Importado) con teléfono y sitio web. Re-importar la misma ruta es seguro: rellena teléfonos faltantes sin pisar los datos que ya hayas editado a mano.

6.5 Trabajar Un Prospecto (Flujo 2)

  1. Tómalo desde Sin asignar.
  2. Registrar llamada: abre un formulario con el resultado (Volver a llamar / No contestó / Interesado / No interesado), la fecha de próximo seguimiento y una nota. Aparece el badge “Volver a llamar: fecha” (en rojo si ya venció). No interesado lo descarta.
  3. Editar contacto: captura o corrige correo y teléfono (Google Places no siempre trae correo).
  4. Activar e invitar: un solo botón convierte el prospecto, crea el acceso y envía la invitación en un paso. Puedes mandarla por correo o elegir WhatsApp.
  5. Cuando el proveedor descarga la app y entra, pasa solo a Integrado (etapa Aceptados) y suma al KPI Integrados (7 días).

6.5.1 Corregir Una Llamada Registrada Por Error

Si acabas de guardar una llamada equivocada, abre la ficha del prospecto y pulsa Eliminar última llamada. Lee el aviso de confirmación y selecciona Aceptar sólo si corresponde eliminar ese registro.

La acción está disponible únicamente para el último registro creado con Registrar llamada, por el operador asignado al prospecto o por un AdminGlobal. Al confirmarla, el sistema elimina esa primera línea de la bitácora y quita el recordatorio Volver a llamar asociado.

No se eliminan notas anteriores ni llamadas más antiguas. Tampoco se cambia el estado del prospecto ni su fecha de último contacto, pues podrían provenir de otra acción posterior. Si el error no está en la última llamada, registra una nueva nota aclaratoria y solicita apoyo a un AdminGlobal antes de modificar el historial.

6.6 Autorizar Un Proveedor Registrado Desde Abbante M O La PWA (Flujo 1B)

Cuando el origen es Abbante M, ya sea desde la aplicación móvil o desde la PWA publicada en https://abbante.online, la solicitud ya trae una cuenta Auth y aparece en Solicitudes de alta con la marca Usuario app pendiente.

  1. En Solicitudes de alta, ubica el negocio.
  2. Revisa teléfono, correo, dirección, categoría y notas.
  3. Si algún dato está mal, usa Corregir datos y vuelve a verificarlo.
  4. Si los datos son válidos, usa Autorizar proveedor.

Al autorizar: AdminWeb ejecuta admin_autorizar_proveedor_app, crea/actualiza ProveedorServicios, vincula su SupabaseUserId con el usuario Auth de la app y el proveedor queda autorizado (la siguiente consulta de Abbante M móvil o PWA devuelve autorizado=true). Los registros del formulario público sin cuenta usan Activar e invitar (que crea el acceso y envía la invitación). Si no debe operar, usa Rechazar; no borres el usuario desde Supabase para conservar trazabilidad.

6.7 Supervisión: Carga De Operadores Y Reparto (AdminGlobal)

Panel Carga de operadores (sólo AdminGlobal): tabla con cuántos prospectos tiene cada operador, desglosados por etapa (En proceso / Invitados / Aceptados / Descartados / Total), filtrable por ruta. El botón Repartir sin asignar distribuye los prospectos sin dueño en partes iguales (round-robin) entre los capturadores; no toca los que ya tienen operador.

6.8 Comisiones De La Plataforma

Panel Comisiones de la plataforma (sólo AdminGlobal), dentro de Marketplace. Tiene dos campos, uno por método de pago:

Campo Aplica a Valor actual
Pagos por la app (tarjeta) Servicios pagados con tarjeta dentro de la app 15%
Pagos directos al proveedor Efectivo o transferencia directa al proveedor 0% (sin comisión)

7. Personas

7.1 Flota Global

Sidebar → PersonasFlota global.

Permite revisar la operación de flota desde la administración general.

Vista Funciones
Choferes Buscar choferes, aprobar, bloquear y cerrar sesiones activas
Camiones Seleccionar empresa y consultar placas, seguro, tipo y chofer asignado

Las altas y ediciones detalladas de flota siguen disponibles en MonitorWeb para el administrador de cada empresa.

Flota global AdminWeb

7.2 Usuarios Y Roles

Sidebar → PersonasUsuarios y roles.

Lista usuarios XAF (PermissionPolicyUser) y combina su estado en Supabase Auth. Desde esta pantalla se puede administrar el ciclo completo del usuario sin entrar al XAF para tareas operativas comunes.

Funciones principales:

Función Uso
Buscar usuario Filtra por nombre o correo
Filtros operativos Filtra por rol, estado Auth/activo y empresa
Métricas rápidas Muestra total, visibles, alertas y pendientes
Selección múltiple Permite aplicar acciones a varios usuarios visibles
Crear usuario Alta manual con invitación o contraseña temporal
Editar datos básicos Nombre, correo, empresa, sindicato y estado activo
Admin Global Da acceso a AdminWeb; úsalo sólo para personal TecnoAI
Operador Global Activa EsAdminApp; úsalo para operación interna global sin convertirlo en AdminGlobal
Operador de comunidad Activa exclusivamente EsOperadorComunidad; sólo permite atender conversaciones escaladas
Admin Empresa Da acceso a MonitorWeb y obliga a seleccionar empresa
Supervisor, Fiscal, Capturador Habilita funciones operativas específicas
Plantillas de rol Aplica combinaciones comunes, incluida la plantilla exclusiva Operador de comunidad
Contraseña temporal Regenera una contraseña cuando el usuario no recibió correo o perdió acceso
Reset por correo Envía recuperación de contraseña al correo del usuario
Confirmar email Marca el correo como confirmado desde administración
Reenviar invitación Genera una invitación y la envía por Resend
Desbloquear Auth Quita bloqueo Auth y reactiva el usuario
Suspender/Reactivar Bloquea o restaura el acceso sin borrar historial
Cerrar sesiones Rota contraseña y obliga cambio para cortar acceso útil
Baja lógica Desactiva usuario y limpia roles sin eliminar registros
Diagnóstico Auth Muestra vínculo Auth, email, confirmación, invitación, último login y bloqueo
Auditoría reciente Muestra eventos administrativos relacionados con el usuario
Exportar CSV Descarga usuarios, empresa, roles, estado y último acceso
Usuarios y roles AdminWeb

Matriz De Alta Por Tipo De Usuario

Usa esta matriz antes de crear o editar un usuario. La columna Empresa define si el campo Empresa debe ir vacío o seleccionado.

Tipo de usuario Rol técnico Empresa Portal / alcance Cómo darlo de alta
Administrador del sistema global EsAdminGlobal Vacía AdminWeb completo Crear usuario, elegir tipo Admin global y enviar invitación o contraseña temporal
Operador del sistema global EsAdminApp Vacía Operación interna global que valida EsAdminApp; no reemplaza AdminGlobal Crear usuario, elegir tipo Operador global
Administrador de empresa EsAdminEmpresa + EsSupervisorMonitor Requerida MonitorWeb de su empresa Crear usuario, elegir tipo Admin empresa y seleccionar Empresa
Supervisor / operador de empresa EsSupervisorMonitor Requerida Operación diaria en MonitorWeb Crear usuario, elegir tipo Supervisor y seleccionar Empresa
Capturador marketplace EsCapturadorProveedores Vacía Marketplace de proveedores asignados Crear usuario, elegir tipo Capturador
Operador de comunidad EsOperadorComunidad Vacía AdminWeb, únicamente Atención > Conversaciones Crear usuario, elegir tipo Operador de comunidad
Fiscal EsAdminFiscal Opcional según operación Facturación, pagos y documentos fiscales permitidos Crear usuario, elegir tipo Fiscal

Regla práctica: los roles globales (Admin Global, Operador global y Operador de comunidad) deben crearse sin empresa asignada. Los roles de operación de transportista (Admin Empresa y Supervisor) deben tener empresa seleccionada. El Operador de comunidad tampoco lleva sindicato y no puede combinarse con otro rol.

Filtros Y Acciones Masivas

La franja superior del módulo permite reducir la lista antes de operar:

Filtro Cuándo usarlo
Rol Revisar sólo Admin Global, Operador global, Operador de comunidad, Admin Empresa, Supervisores, Fiscales, Capturadores o usuarios sin roles
Estado Localizar usuarios activos, inactivos, bloqueados, pendientes de correo, sin Auth, con cambio de contraseña requerido o con alertas
Empresa Acotar el listado a una transportista específica

Si marcas uno o más usuarios con el checkbox de la tabla, aparece una barra de acciones masivas. Úsala para:

El botón de descarga exporta la selección marcada. Si no hay selección, exporta los usuarios visibles después de aplicar filtros.

7.2.1 Crear Usuario Manual

  1. Presiona Nuevo.
  2. En Tipo de alta, elige la opción que corresponde a la persona: Admin global, Operador global, Admin empresa, Supervisor, Capturador, Operador de comunidad, Fiscal o Personalizado.
  3. Captura nombre y correo.
  4. Define la empresa:
  5. Revisa los roles iniciales que el wizard marcó automáticamente. Si eliges Personalizado o cambias un checkbox manualmente, confirma la combinación antes de crear.
  6. Elige Invitación o Temporal.
  7. Presiona Crear usuario.

Si usas contraseña temporal, AdminWeb muestra la contraseña sólo al terminar la operación. Cópiala y entrégala por un canal seguro.

Validación importante: si marcas Admin Empresa o Supervisor sin empresa, AdminWeb bloquea el alta con empresa_requerida. Si asignas una empresa a Admin Global u Operador global, la pantalla lo muestra como alerta de conflicto para que lo revises.

Al elegir Operador de comunidad, el wizard limpia empresa, sindicato y todos los demás roles. La API vuelve a validar esta exclusividad antes de crear el usuario.

7.2.2 Editar Datos Y Transferir Empresa

Al seleccionar un usuario, en Datos básicos puedes actualizar nombre, correo, empresa, sindicato y estado activo. Cambiar la empresa asignada sirve como transferencia administrativa y queda auditado.

7.2.3 Plantillas De Rol

Usa plantillas para evitar combinaciones manuales repetitivas:

Plantilla Resultado
Admin Empresa Activa AdminEmpresa y Supervisor, asignando empresa
Operador Global Activa EsAdminApp, limpia AdminGlobal/AdminEmpresa/Supervisor y deja Empresa vacía
Supervisor Activa Supervisor y asigna empresa
Fiscal Activa AdminFiscal
Capturador Activa Capturador de proveedores
Operador de comunidad Activa exclusivamente EsOperadorComunidad y limpia empresa, sindicato y los demás roles
Admin Global Activa AdminGlobal y limpia scope de empresa

La pantalla también muestra alertas de conflicto, por ejemplo AdminEmpresa sin empresa, AdminGlobal con empresa asignada u Operador global con empresa asignada.

7.2.4 Asignar Contraseña Temporal

  1. Busca y selecciona el usuario.
  2. En Acceso y contraseña, captura una contraseña o presiona Generar.
  3. Presiona Asignar temporal.
  4. Copia la contraseña mostrada y entrégala al usuario por un canal seguro.

El usuario queda marcado para cambiar contraseña al entrar. Los usuarios de empresa la cambian en MonitorWeb; los operadores de comunidad la cambian en AdminWeb y después son enviados directamente a Conversaciones.

Cuando se asigna una contraseña temporal, AdminWeb también confirma el correo en Supabase Auth. Esto evita que un usuario con acceso perdido al buzón quede detenido por el mensaje Email not confirmed.

Usa esta acción sólo cuando el usuario ya exista en Supabase Auth. Si es un usuario nuevo dentro del alta de empresa, usa la opción Contraseña temporal del wizard de onboarding.

7.2.5 Reset, Invitación Y Sesiones

Acción Uso
Forzar cambio Marca al usuario para cambiar contraseña al siguiente acceso
Reset email Genera link de recuperación y lo envía por Resend
Confirmar email Confirma el email sin depender del buzón del usuario
Reenviar invite Genera invitación y la envía por Resend
Cerrar sesiones Rota credenciales y genera una nueva contraseña temporal

Después de Cerrar sesiones, entrega la contraseña temporal mostrada. El usuario entrará a MonitorWeb y deberá completar /cambiar-password.

Los correos de invitación y recuperación no salen por el envío nativo de Supabase Auth. AdminWeb genera el link seguro con Supabase y lo entrega a la outbox NotificacionEmail; la Edge Function email-despachar lo manda por Resend.

7.2.6 Diagnóstico Auth

El panel Diagnóstico Auth muestra datos útiles para soporte:

Dato Para qué sirve
Auth Confirma si el usuario está vinculado a una cuenta Supabase Auth
Email Auth Permite detectar diferencias contra PermissionPolicyUser.UserName
Confirmado Indica si el correo ya puede iniciar sesión
Invitado Ayuda a verificar si se generó invitación
Último login Auth Muestra actividad reciente del usuario
Bloqueo Permite identificar cuentas suspendidas o baneadas

Si el usuario aparece bloqueado, usa Desbloquear Auth para quitar el ban y reactivar el registro operativo. Si aparece sin Auth, el caso debe corregirse revisando la vinculación SupabaseUserId.

7.2.7 Suspensión Y Baja Lógica

Suspender bloquea el acceso pero conserva roles y datos. Reactivar restaura el acceso. Baja lógica desactiva el usuario, quita roles y bloquea Auth sin borrar historial.

7.2.8 Auditoría Y Exportación

La sección Auditoría reciente muestra eventos administrativos del usuario seleccionado. El botón de descarga exporta la lista visible a CSV con usuario, empresa, roles, estado Auth y último acceso.

8. Empresas

8.1 Empresas Transportistas

Sidebar → EmpresasEmpresas transportistas.

Muestra las empresas y su estado de membresía de monitoreo: slots, vigencia, pagos pendientes y estado. Desde el detalle puedes revisar pagos pendientes y acciones administrativas relacionadas con esa empresa.

8.2 Viajes Por Ruta

Sidebar → EmpresasViajes por ruta.

Agrupa viajes por empresa, ruta, corredor o itinerario. Sirve para ver qué rutas usa cada empresa y cómo se distribuyen sus viajes por estado.

8.3 Sindicatos

Sidebar → EmpresasSindicatos.

Catálogo global de sindicatos o agrupaciones transportistas.

9. Catálogos

9.1 Palabras Y Planes

Sidebar → CatálogosPalabras y planes.

Incluye palabras prohibidas para moderación del chat y planes de membresía.

9.2 Licencias Y Tarifas

Sidebar → CatálogosLicencias y tarifas.

Administra paquetes de licencias y precios por volumen para contratos de monitoreo.

Esquema comercial vigente

Abbante maneja dos productos comerciales separados:

Producto Quién paga Qué cubre
App chofer Chofer Uso de la app móvil, operación personal y retención base de datos por 1 semana.
Portal empresa Empresa transportista Portal de seguimiento, slots, historial operativo y resguardo de información empresarial.

Para cotización y capacitación de vendedores, usa precio real y precio de arranque:

Producto Precio de arranque Precio real de referencia
App chofer $150 / mes $225 / mes
Slot portal empresa $8,000 / mes $12,000 / mes
Licencia por camión $4,000 / mes $6,000 / mes

Para app chofer, los tramos de compra y venta son:

Volumen de licencias de chofer Costo base Precio propuesto Precio real de referencia
1 a 9,999 $135 $150 $225
10,000 a 99,999 $55 $70 $105
100,000 o más $40 $50 $75

El precio real de referencia queda 50% arriba del precio propuesto para mostrar el descuento de arranque. La utilidad se calcula contra el costo base final del tramo contratado.

La app del chofer conserva datos en el celular y en el centro de datos por 1 semana. Si se ofrece retención extendida de 3 meses, suma $10 MXN al costo base por chofer. En el portal empresa, la información se conserva por 5 años o hasta la terminación del contrato.

Reglas de margen comercial:

9.3 Rutas E Itinerarios

Sidebar → CatálogosRutas e itinerarios.

Administra nodos, corredores, tramos, opciones de tramo, checkpoints plantilla e itinerarios. Estos datos alimentan la creación de viajes en MonitorWeb.

Flujo recomendado:

  1. Validar o crear nodos.
  2. Crear corredor.
  3. Capturar tramos y opciones.
  4. Agregar checkpoints plantilla.
  5. Crear itinerario.
  6. Probar desde MonitorWeb creando un viaje.

9.4 Aduanal

Sidebar → CatálogosAduanal.

Administra agentes aduanales, documentos y ventanas de recolección.

9.5 Parámetros Del Sistema

Sidebar → CatálogosParámetros del sistema.

Permite administrar claves de configuración globales. Usa el flag sensible para ocultar valores en pantalla; no equivale a cifrado. Los secretos reales deben vivir en variables de entorno o secrets de Supabase/Vercel.

9.6 Club Del Chofer

Sidebar → CatálogosClub del chofer.

Administra el catálogo de beneficios y descuentos que los choferes ven en la app Abbante (Perfil → Club del Chofer). Desde aquí das de alta, editas y das de baja cada beneficio que ofrecen los aliados (diésel, llantas, casetas, talleres, salud, etc.).

Alta y edición de un beneficio

Cada beneficio se compone de:

Campo Nota
Título Nombre del beneficio que ve el chofer
Aliado Empresa o marca que lo ofrece
Categoría Diésel, llantas, casetas, talleres, salud, etc.
Descripción Detalle del beneficio y condiciones
Descuento Porcentaje o condición del beneficio
Logo Imagen/identidad del aliado
Vigencia Periodo en que el beneficio está disponible
Nivel requerido Nivel de reputación mínimo del chofer para canjearlo (Bronce/Plata/Oro/Platino); déjalo en el mínimo si aplica a todos
Activo Switch que controla si el beneficio aparece en la app

Dar de baja un beneficio

La baja es lógica: desactiva el switch Activo para que el beneficio deje de mostrarse en la app sin borrar el registro. Así conservas el historial y puedes reactivarlo después si el aliado renueva el convenio.

El nivel requerido se relaciona con la reputación del chofer (Bronce / Plata / Oro / Platino). Un beneficio con nivel Oro, por ejemplo, solo se mostrará desbloqueado a choferes que hayan alcanzado ese nivel.

10. Plataforma

La sección Plataforma concentra tareas transversales que antes se resolvían en XAF o en procesos separados: operación comercial, comunicación masiva, soporte sensible, salud técnica, configuración y auditoría. Todas estas pantallas requieren usuario AdminGlobal.

10.1 Membresías Y Pagos

Sidebar → PlataformaMembresías y pagos.

Consolida la operación comercial de membresías. La parte superior muestra conteos de empresas, pagos de empresa, pagos de chofer y trials. Debajo hay un panel con pestañas para revisar cada cola.

Tab Funciones
Empresas Ver estado, slots ocupados/contratados, vigencia, precio y abrir detalle de empresa
Pagos empresa Aprobar o rechazar pagos pendientes de empresas; ver el detalle histórico del cálculo de cada cobro
Pagos chofer Aprobar o rechazar pagos pendientes de choferes
Trials chofer Aprobar o rechazar solicitudes de trial

En Pagos empresa, la columna Detalle muestra el snapshot del cobro: concepto, cantidad, días cuando aplica, descuento y subtotal por línea. Ese snapshot queda guardado en PagoMembresiaEmpresa.DetalleCalculo, por lo que el histórico del cobro no cambia aunque después la empresa modifique su paquete.

En el detalle de empresa, además del estado de la membresía actual, verás:

Bloque Qué revisa
Detalle del cálculo Paquete vigente: tipo de licencia, cantidad, precio unitario, descuento y subtotal
Pagos pendientes Cobros por revisar con el mismo detalle histórico del cálculo

Cuando el paquete incluya portal empresa, recuerda que el valor comercial no es solo “acceso a la app”: incluye seguimiento operativo, historial y resguardo de información empresarial por 5 años o hasta fin de contrato. Si el paquete suma licencias de chofer con retención de 3 meses, valida que el costo base aumente $10 MXN por chofer antes de revisar la utilidad.

Al rechazar un pago o trial, captura el motivo para dejar evidencia operativa.

Membresías y pagos AdminWeb

10.2 Liquidaciones

Sidebar → PlataformaLiquidaciones.

Muestra facturas B2B de proveedores y su ciclo operativo:

Estado Qué permite hacer
Subida Revisar XML/PDF, aprobar o rechazar con motivo
Aprobada Liquidar con método y referencia bancaria, o rechazar
Rechazada Consultar como caso cerrado
Liquidada Consultar referencia de liquidación

Si los documentos están guardados en bucket privado, la pantalla genera un enlace firmado temporal para descargar XML o PDF.

Liquidaciones proveedor AdminWeb

10.3 Soporte

Sidebar → PlataformaSoporte.

Consolida tickets y solicitudes sensibles. La pantalla inicia con tres indicadores: tickets abiertos, privacidad pendiente y asistencias abiertas. El panel principal se opera por pestañas.

Tab Funciones
Tickets Atender, resolver o descartar tickets; registra nota interna
Privacidad Marcar solicitudes como en revisión, aprobadas o rechazadas desde el flujo de soporte
Asistencia Consultar solicitudes de marketplace, estado, proveedor y ofertas
Centro de soporte AdminWeb

10.4 Reportes Ejecutivos

Sidebar → PlataformaReportes ejecutivos.

Muestra KPIs globales para tomar decisiones rápidas:

Bloque Indicadores
Operación viva Choferes totales, viajes en curso, trials pendientes y reportes abiertos
Día actual Viajes iniciados, viajes completados, pagos ingresados y noticias publicadas
Adopción Empresas por estado de membresía
Marketplace Prospectos, self-service, proveedores activos y solicitudes abiertas
Rutas Top rutas por volumen, activos y completados
Reportes ejecutivos AdminWeb

10.5 Notificaciones

Sidebar → PlataformaNotificaciones.

Es un hub de accesos a las consolas que emiten o configuran mensajes:

Tarjeta Abre
Broadcast push Envío de avisos globales o por empresa
Destinos Telegram Canales, grupos, bots y pruebas de entrega
Noticias y fuentes Fuentes georreferenciadas y publicaciones manuales
Reglas operativas Configuración que afecta alertas, membresías y Stripe

Para campañas masivas, primero valida audiencia y canal. Las acciones quedan disponibles para revisión en Auditoría global.

Comunicación y notificaciones AdminWeb

10.6 Herramientas

Sidebar → PlataformaHerramientas.

Concentra accesos de diagnóstico y corrección controlada:

Tarjeta Uso
Diagnóstico de RPCs Abre Salud operativa
Buscar en auditoría Abre Auditoría global con filtros
Parámetros del sistema Abre el catálogo de parámetros administrables
Configuración segura Abre membresías, Stripe y whitelist de pruebas

También muestra contexto de sesión: usuario, si tiene AdminGlobal y el scope de empresa. Para el usuario global el scope debe aparecer como Global.

10.7 Salud Operativa

Sidebar → PlataformaSalud operativa.

Ejecuta checks rápidos contra RPCs y servicios críticos usados por AdminWeb. Muestra conteo de checks correctos, estado general, peor latencia y detalle por servicio.

Servicios revisados actualmente:

Servicio Qué valida
Perfil AdminWeb Que el usuario global resuelva su perfil
Empresas membresía Listado comercial de empresas
Marketplace resumen Resumen operativo de marketplace
Auditoría Consulta mínima de bitácora
Telegram destinos Configuración de canales
Configuración membresía Parámetros globales de membresía
Stripe modo Modo de cobro y estado de configuración
Privacidad Listado de solicitudes de datos
Salud operativa AdminWeb

10.8 Configuración Global

Sidebar → PlataformaConfiguración global.

Gestiona tres bloques:

Bloque Funciones
Membresías Activar enforcement, días de gracia y días de aviso por vencer
Stripe Cambiar modo Sandbox/Producción y revisar secretos del vault
Choferes en pruebas Buscar choferes, agregarlos o quitarlos de la whitelist de Stripe test

Cambiar a Producción muestra advertencia porque los cobros son reales. Antes de activarlo, confirma KYC y secretos live.

Control de plataforma AdminWeb

10.9 Noticias Y Fuentes

Sidebar → PlataformaNoticias y fuentes.

Administra fuentes RSS/Google News y publicaciones manuales:

Bloque Uso
Fuentes activas Editar, activar/desactivar, asociar rutas y eliminar fuentes
Formulario de fuente Definir nombre, tipo, URL, keywords, intervalo y rutas
Publicación manual Capturar título, contenido, ubicación, radio, imagen y URL externa
Preview de rutas Calcular qué rutas quedan afectadas por latitud, longitud y radio

10.10 Destinos Telegram

Sidebar → PlataformaDestinos Telegram.

Mapea canales de notificación a grupos o chats de Telegram. Los canales actuales son: emergencias, operación, administración, onboarding y técnico.

Cada destino permite:

Acción Uso
Nuevo destino Definir canal, chat ID, empresa opcional, descripción y activo/inactivo
Editar Ajustar canal, chat ID, empresa y descripción
Probar canal Encolar mensaje de prueba para los destinos activos
Eliminar Quitar un destino que ya no debe recibir eventos

Usa default como chat ID sólo cuando el grupo base esté configurado en TELEGRAM_CHAT_ID.

10.11 Moderación

Sidebar → PlataformaModeración.

Revisa dos colas de moderación:

Cola Qué muestra
Chat de comunidad Mensajes reportados por usuarios, con autor, sala, fecha, texto, quién reportó y motivo
Reportes carreteros Alertas comunitarias de carretera enviadas desde CiudadanoApp, con tipo, severidad, ubicación, ciudadano, foto adjunta opcional, confirmaciones y marcas de falso

Acciones disponibles para chat:

Acción Efecto
Eliminar mensaje Oculta o elimina el mensaje reportado
Advertir Marca el reporte como revisado con advertencia
Suspender nick Bloquea el nick para que no pueda volver a publicar

Acciones disponibles para reportes carreteros:

Acción Efecto
Resolver Cierra el reporte cuando el evento ya no está activo
Marcar falso Lo conserva como referencia, pero lo marca como información no confiable
Ocultar Retira el reporte de la vista comunitaria
Reabrir Devuelve un reporte marcado a la cola activa, si requiere nueva revisión

10.12 Privacidad

Sidebar → PlataformaPrivacidad.

Consola especializada para solicitudes relacionadas con privacidad y datos personales. Permite filtrar por todas, pendientes, en proceso, completadas y cerradas.

Cada solicitud muestra nombre, correo, tipo de cuenta, supabase_user_id, motivo, respuesta previa y un campo para nota administrativa. Los estados operativos disponibles son: En proceso, Completada y Cerrar.

10.13 Broadcast Push

Sidebar → PlataformaBroadcast push.

Envía notificaciones push a choferes activos. El alcance puede ser:

Alcance Uso
Toda la plataforma Avisos globales; requiere confirmación explícita
Una empresa Avisos segmentados por empresa transportista

El formulario exige título y mensaje. Antes de enviar, confirma el alcance porque el push puede llegar a muchos dispositivos. El resultado indica cuántas notificaciones se encolaron.

10.14 Auditoría Global

Sidebar → PlataformaAuditoría global.

Bitácora de acciones administrativas. Permite buscar por acción, usuario o metadatos, filtrar por tipo de acción y limitar la consulta. Cada registro se puede expandir para ver los metadatos en formato JSON cuando estén disponibles.

10.15 Agente De Comunidad

Sidebar → PlataformaAgente de comunidad.

Supervisa el servicio de X, Telegram y WhatsApp. La pantalla resume el estado de canales, presenta borradores de X para aprobación, conserva las conversaciones escaladas, permite responder como operador por el mismo canal, actualiza los prospectos capturados y administra conocimiento, turnos y SLA.

Un AdminGlobal ve las seis pestañas: Resumen, Publicaciones, Conversaciones, Prospectos, Conocimiento y Operación. El perfil Operador de comunidad sólo ve Conversaciones; se crea y edita desde Personas -> Usuarios y roles.

Reglas principales:

Consulta el manual dedicado Agente de comunidad en la biblioteca de manuales para configuración, consentimiento, pruebas e incidentes.

11. Qué Sigue Viviendo En MonitorWeb

Estas tareas corresponden al administrador o supervisor de una empresa transportista:

Función Dónde se usa
Alta y edición diaria de flota de una empresa MonitorWeb
Operación de viajes y monitoreo MonitorWeb
Membresía vista por el cliente MonitorWeb → Mi membresía empresa
Mensajes a choferes de una empresa MonitorWeb
Vencimientos operativos de licencias/camiones MonitorWeb
Captura comercial por ruta MonitorWeb con EsCapturadorProveedores

12. Errores Frecuentes

“No Es Admin Global”

El usuario no tiene EsAdminGlobal=true. Si es AdminEmpresa, debe entrar a https://transporte.abbante.com. Si debería ser global, revisa Usuarios y roles o el registro PermissionPolicyUser.

“Creé Una Empresa Y El Admin Entró Al Portal Equivocado”

La invitación debe apuntar a NEXT_PUBLIC_MONITOR_URL/cambiar-password; en producción debe resolver a https://transporte.abbante.com/cambiar-password. Si llega a AdminWeb, a localhost o al login directo, revisa la variable NEXT_PUBLIC_MONITOR_URL del deploy de AdminWeb y vuelve a enviar la invitación desde Usuarios y roles o desde el alta de empresa.

Los correos enviados antes de este ajuste pueden conservar un redirect_to viejo. En ese caso, reenvía la invitación para generar un link nuevo.

“El Usuario No Ve El Menú Después De Cambiarle Roles”

Pide al usuario cerrar sesión y volver a entrar. Algunas vistas leen el perfil al iniciar sesión o al cargar el layout.

“El Admin De Empresa No Recibió La Invitación”

Revisa spam. Si no aparece, tienes dos opciones desde AdminWeb:

  1. Si el correo sí funciona, usa Usuarios y roles → Reenviar invite. El nuevo correo llevará al usuario a definir contraseña en /cambiar-password.
  2. Si todavía estás creando la empresa y el correo no llega, vuelve al paso Admin de la empresa y selecciona Contraseña temporal.
  3. Si el usuario ya existe, entra a Usuarios y roles, selecciona el usuario y usa Acceso y contraseña → Asignar temporal.

El usuario podrá iniciar sesión en https://transporte.abbante.com/login con esa contraseña y el portal le pedirá cambiarla antes de operar.

“El Usuario Tiene Contraseña Temporal Y No Puede Operar”

Es esperado. MonitorWeb lo envía a /cambiar-password hasta que defina su contraseña definitiva. Si no recuerda la temporal, genera una nueva desde Usuarios y roles.

“Liquidaciones No Permite Aprobar Facturas”

La vista muestra el estado global. Las acciones fiscales requieren habilitar el permiso EsAdminFiscal y activar el flujo de aprobación correspondiente.

Administración del flujo portuario y multiempresa

Nuevos objetos de administración portuaria

El backoffice XAF incorpora objetos para soporte y conciliación:

Antes de cambiar una cobertura o deducción, verifica el viaje, empresa titular, empresa operadora, evidencia y bitácora. No reasignes la propiedad del camión al compartirlo y no contabilices una licencia patrocinada como licencia propia de la empresa beneficiaria.

Apéndice A. Glosario

Término Significado
AdminGlobal Usuario interno TecnoAI con acceso a AdminWeb
AdminEmpresa Usuario cliente con acceso a MonitorWeb para su empresa
SupervisorMonitor Usuario operativo de MonitorWeb
Capturador Usuario que captura prospectos de marketplace
Trial Membresía temporal gratuita de monitoreo
Slots Choferes monitoreables simultáneamente
Auditoría Registro de acciones administrativas

Apéndice B. Soporte

Tema Dónde
Bug del portal GitHub: chuycova/Puertos2
Cambios al manual docs/Manual-Usuario-AdminWeb.md
Manual publicado https://transporte.abbante.com/manuales/adminweb.html
Acceso Supabase Solicitar al responsable del proyecto
Acceso XAF Usar el portal XAF con usuario autorizado

Última actualización: 2026-07-22 · Versión del portal: AdminWeb 1.2.5