Get dashboard statistics
GET/company/dashboard/
Devuelve estadísticas de subastas y entregas para el panel de control empresarial de Cargoffer.
Proporcionar métricas agregadas de actividad operativa y financiera de subastas y entregas para el panel de control (dashboard) de una empresa, permitiendo análisis de rendimiento y seguimiento de actividad en un rango de fechas específico.
Objetivo
Permitir a las empresas visualizar el desempeño de sus operaciones logísticas mediante indicadores clave de rendimiento (KPIs) basados en subastas y entregas realizadas.
Casos de uso
- Dashboard principal: visualización de KPIs del último año (valores por defecto)
- Informes trimestrales: GET /?minDate=2024-01-01&maxDate=2024-03-31
- Análisis mensual: GET /?minDate=2024-05-01&maxDate=2024-05-31
- Análisis anual: GET /?minDate=2023-01-01&maxDate=2023-12-31
Métricas de subastas
Para cada grupo de subastas se devuelven los siguientes datos agregados:
- total_sale: Monto total de ventas calculado según la lógica de pujas
- total_auctions: Cantidad de subastas en el grupo
- total_savings: Ahorro total vs precio inicial (total_start_price - total_sale)
- sumBidWinner: Suma de montos de pujas ganadoras
- total_start_price: Suma de precios iniciales de todas las subastas
Cálculo de total_sale por subasta:
- Si existe puja ganadora (bidWinner): usa el monto de esa puja
- Si no, pero existe puja asignada (bidAsigned): usa el monto de esa puja
- Si no tiene ninguna puja: usa el precio inicial (start_price)
Grupos de subastas:
- auctions: Todas las subastas (estados: planned, published, awarded, approved)
- publishedAuctions: Subastas publicadas (status: "published")
- awardedAuctions: Subastas adjudicadas (status: "awarded")
- approvedAuctions: Subastas aprobadas (status: "approved")
- plannedAuctions: Subastas planificadas (status: "planned")
Métricas de entregas
Para cada grupo de entregas se devuelven los siguientes datos agregados:
- total_sale: Monto total de entregas (basado en pujas ganadoras o asignadas)
- total_deliveries: Cantidad de entregas en el grupo
- sumBidWinner: Suma de montos de pujas ganadoras
Grupos de entregas:
- plannedDeliveries: Entregas planificadas (status: "planned")
- collectedDeliveries: Entregas recogidas (status: "collected")
- deliveredDeliveries: Entregas completadas (status: "delivered")
Filtrado por rango de fechas
Los parámetros minDate y maxDate permiten filtrar las estadísticas por período.
El campo de fecha usado para el filtro depende del tipo de estadística y estado:
Para subastas:
- Se filtra por fecha de fin de la subasta (
date_end) - Estados incluidos: planned, published, awarded, approved
Para entregas, el campo de fecha depende del estado:
- collected (recogidas): fecha estimada de carga (
etl_date) - delivered (completadas): fecha estimada de entrega (
etd_date) - planned/replanned/accepted: fecha de creación (
createdAt)
Esta lógica permite análisis más precisos según la fase del proceso logístico.
Valores por defecto:
minDate: 1 año antes de la fecha actualmaxDate: Fecha actual
Ejemplo de uso
Dashboard principal (último año):
GET /company/dashboard/
Authorization: Bearer {jwt_token}
Informe trimestral:
GET /company/dashboard/?minDate=2024-01-01&maxDate=2024-03-31
Authorization: Bearer {jwt_token}
Notas importantes
- Requiere autenticación con token JWT
- Solo devuelve estadísticas de la empresa del usuario autenticado
- Si el usuario no tiene empresa asignada, retorna error 404
- Los estados de subastas y entregas están predefinidos en los modelos
- Los cálculos se realizan mediante agregaciones MongoDB para optimizar rendimiento
Request
Responses
- 200
- 401
- 404
- 500
Estadísticas recuperadas exitosamente. Contiene los siguientes grupos de datos:
Grupos de subastas (AuctionStats):
- auctions: Todas las subastas (planned, published, awarded, approved)
- publishedAuctions: Subastas publicadas
- awardedAuctions: Subastas adjudicadas
- approvedAuctions: Subastas aprobadas
- plannedAuctions: Subastas planificadas
Grupos de entregas (DeliveryStats):
- plannedDeliveries: Entregas planificadas
- collectedDeliveries: Entregas recogidas
- deliveredDeliveries: Entregas completadas
Cada grupo de subastas incluye: total_sale, total_auctions, total_savings, sumBidWinner, total_start_price Cada grupo de entregas incluye: total_sale, total_deliveries, sumBidWinner
Response Headers
No autorizado. El token JWT es inválido, ha expirado o no tiene permisos para acceder a estas estadísticas.
Soluciones:
- Verificar que el token sea válido y no haya expirado
- Asegurarse que el usuario tenga rol de empresa
- Solicitar nuevo token de autenticación
Response Headers
Usuario o empresa no encontrada. Ocurre cuando:
- El ID de empresa asociado al usuario no existe
- El usuario no tiene empresa asignada
- La empresa fue desactivada
Soluciones:
- Verificar que el usuario tenga una empresa válida asignada
- Contactar al administrador si la empresa aparece como desactivada
Response Headers
Error interno del servidor