Dashboard
Dashboard
Prefijo: /api/dashboard
Requiere Auth: Sí
Permiso requerido: dashboard, *
Módulo de dashboard con métricas clave del negocio: resumen general, ventas diarias, top productos, métricas de usuarios, créditos y ventas avanzadas.
GET /api/dashboard/resumen
Descripción: Obtiene el resumen general del dashboard (ventas hoy, semana, mes, clientes, productos, créditos)
Requiere Auth: Sí
Permiso requerido: dashboard, leer
Respuesta exitosa: 200 OK
Response:
{ "ventas_hoy": 15, "total_hoy": 750000, "ventas_semana": 85, "total_semana": 4250000, "ventas_mes": 350, "total_mes": 17500000, "clientes_activos": 120, "productos_activos": 45, "creditos_pendientes": 12, "creditos_vencidos": 3}cURL:
curl http://localhost/api/dashboard/resumen -H "Authorization: Bearer <token>"Python:
import httpxresp = httpx.get("http://localhost/api/dashboard/resumen", headers={"Authorization": f"Bearer {token}"})resumen = resp.json()JavaScript:
const resp = await fetch('http://localhost/api/dashboard/resumen', { headers: {'Authorization': `Bearer ${token}`}});const resumen = await resp.json();GET /api/dashboard/ventas-diarias
Descripción: Obtiene las ventas diarias de los últimos N días
Requiere Auth: Sí
Permiso requerido: dashboard, leer
Parámetros query:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
dias | int | ❌ | Número de días hacia atrás (default: 30) |
Respuesta exitosa: 200 OK
Response:
[ { "fecha": "2025-01-15", "num_ventas": 15, "total_ventas": 750000, "total_efectivo": 500000, "total_transferencia": 250000 }]cURL:
curl "http://localhost/api/dashboard/ventas-diarias?dias=30" -H "Authorization: Bearer <token>"GET /api/dashboard/top-productos
Descripción: Obtiene el top de productos más vendidos
Requiere Auth: Sí
Permiso requerido: dashboard, leer
Parámetros query:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
limite | int | ❌ | Cantidad de productos (default: 10) |
desde | date | ❌ | Fecha inicial para el filtro |
Respuesta exitosa: 200 OK
Response:
[ { "producto_id": 1, "nombre": "Café Latte", "cantidad_vendida": 150, "total_vendido": 525000 }]cURL:
curl "http://localhost/api/dashboard/top-productos?limite=10&desde=2025-01-01" -H "Authorization: Bearer <token>"GET /api/dashboard/usuarios
Descripción: Obtiene métricas detalladas de usuarios (activos, ventas por vendedor, top vendedores)
Requiere Auth: Sí
Permiso requerido: dashboard, leer
Respuesta exitosa: 200 OK
Response:
{ "usuarios": [ { "id": 1, "nombre": "Juan Pérez", "correo": "juan@miempresa.com", "rol": "Administrador", "sesion_abierta": true, "ultimo_ingreso": "2025-01-15 10:00:00", "ventas_mes": 5000000 } ], "metricas": { "total_usuarios": 5, "usuarios_activos": 3, "promedio_ventas": 3500000 }, "top_vendedores": [ { "id": 1, "nombre": "Juan Pérez", "correo": "juan@miempresa.com", "rol": "Administrador", "ventas_mes": 5000000, "total_ventas": 85 } ]}cURL:
curl http://localhost/api/dashboard/usuarios -H "Authorization: Bearer <token>"GET /api/dashboard/creditos
Descripción: Obtiene métricas detalladas de créditos (mora, distribución, evolución)
Requiere Auth: Sí
Permiso requerido: dashboard, leer
Respuesta exitosa: 200 OK
Response:
{ "mora_total": 150000, "distribucion": { "AL_DIA": 8, "MORA": 3, "VENCIDO": 1 }, "tasa_incumplimiento": 8.33, "promedio_interes": 2.0, "promedio_cuotas": 6, "abonos_hoy": 80000, "abonos_mes": 350000, "monto_promedio": 450000, "estadisticas": [ { "estado": "AL_DIA", "cantidad": 8, "monto": 3200000, "porcentaje": 66.67 } ]}cURL:
curl http://localhost/api/dashboard/creditos -H "Authorization: Bearer <token>"GET /api/dashboard/ventas-metrics
Descripción: Obtiene métricas avanzadas de ventas (por método de pago, hora pico, tendencia, ticket promedio)
Requiere Auth: Sí
Permiso requerido: dashboard, leer
Parámetros query:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
fecha | date | ❌ | Fecha específica |
desde | date | ❌ | Fecha inicial rango |
hasta | date | ❌ | Fecha final rango |
dias | int | ❌ | Ventana en días |
Respuesta exitosa: 200 OK
Response:
{ "ventas_por_metodo_pago": { "Efectivo": 500000, "Transferencia": 200000, "Credito": 50000 }, "hora_pico": 12, "tendencia": [ {"fecha": "2025-01-01", "total": 450000}, {"fecha": "2025-01-02", "total": 520000} ], "total_ventas_rango": 15000000, "numero_ventas": 300, "ticket_promedio": 50000, "total_electronicas": 3000000}cURL:
curl "http://localhost/api/dashboard/ventas-metrics?desde=2025-01-01&hasta=2025-01-31" -H "Authorization: Bearer <token>"