Cómo cargar el catálogo de Reportes
Carga el catálogo de navegación de Reportes para una ubicación autenticada. En Marea Gran Via, el catálogo expone Ventas, Catálogo, Rendimiento y Empleados como secciones de solo lectura.
En este artículo
El catálogo de Reportes indica qué páginas de reporting están disponibles para la ubicación activa. No calcula métricas, no aplica periodos y no modifica datos del negocio.
En la experiencia visible, el resultado se entiende a través del menú de Reportes y sus enlaces. Para demostrar un enlace real del catálogo, la guía usa Rendimiento > Reservas en Marea Gran Via.
Antes de empezar
- Sesión iniciada con un usuario autorizado en Grupo Marea Demo.
- Ubicación activa Marea Gran Via.
- Contexto de aplicación con `orgId` y `locationId` presentes.
- Al menos uno de estos permisos en la ubicación: `reports:view`, `tpv:view`, `tpv:use`, `catalog:view`, `reservation:view` o `staff:view`.
Instrucciones
- 1.
Entra en la ubicación
Trabaja dentro de Grupo Marea Demo y Marea Gran Via. La carga del catálogo solo es válida cuando la sesión está autenticada y la app mantiene una organización y una ubicación activas.
- 2.
Abre Reportes
Desde la navegación de la ubicación, entra en Reportes. En las superficies que consumen esta acción, el cliente solicita el catálogo con `reportsApi.listCatalog(ctx)` contra `GET /api/app/{orgId}/{locationId}/reports/meta`.
- 3.
Revisa las secciones
Comprueba que el catálogo contiene Ventas, Catálogo, Rendimiento y Empleados. Ventas incluye Facturación, Actividad y Control de fraude; Catálogo incluye Productos y Categorías; Rendimiento incluye Tu restaurante y Reservas; Empleados incluye Facturación, Vacaciones, Horas trabajadas, Ausencias y Horas planificadas.
- 4.
Abre una página del catálogo
Para validar un enlace real, abre Rendimiento > Reservas. La ruta relativa del catálogo es `/reporting/performance/reservations` y debe mantenerse dentro de la misma organización y ubicación.
- 5.
Distingue catálogo y datos
Usa `reports/meta` solo para navegación. Los datos agregados, bloques de reportes y periodos pertenecen a `GET /api/app/{orgId}/{locationId}/reports`.
- 6.
Resuelve fallos de acceso
Si el catálogo no carga, revisa primero la sesión y después los permisos de ubicación. Sin token válido la API responde `401 Unauthorized`; sin permisos suficientes devuelve permiso denegado.
Validaciones y límites
- La ruta válida termina exactamente en `reports/meta` y solo acepta método `GET`.
- No se envía body y `reports/meta` no acepta filtros, búsqueda, ordenación, paginación ni selección de periodos.
- Si faltan `orgId` o `locationId`, el cliente no construye la petición.
- La respuesta debe tener forma `ReportsMenuSection[]` con `key`, `label` y `pages`.
- Cada página debe tener `key`, `label` y `route`; las rutas son relativas, por ejemplo `/reporting/performance/reservations`.
- Los labels del catálogo salen definidos en backend en español.
- El catálogo es de solo lectura y no crea, actualiza ni elimina entidades de negocio.
Resultado esperado
El usuario ve el catálogo de Reportes disponible para Marea Gran Via y puede abrir una página real, como Reservas, sin salir del contexto de la ubicación.