Skip to content

Dashboard

Dashboard

Prefijo: /api/dashboard
Requiere Auth:
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:
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:

Terminal window
curl http://localhost/api/dashboard/resumen -H "Authorization: Bearer <token>"

Python:

import httpx
resp = 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:
Permiso requerido: dashboard, leer

Parámetros query:

ParámetroTipoObligatorioDescripción
diasintNú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:

Terminal window
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:
Permiso requerido: dashboard, leer

Parámetros query:

ParámetroTipoObligatorioDescripción
limiteintCantidad de productos (default: 10)
desdedateFecha inicial para el filtro

Respuesta exitosa: 200 OK

Response:

[
{
"producto_id": 1,
"nombre": "Café Latte",
"cantidad_vendida": 150,
"total_vendido": 525000
}
]

cURL:

Terminal window
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:
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:

Terminal window
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:
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:

Terminal window
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:
Permiso requerido: dashboard, leer

Parámetros query:

ParámetroTipoObligatorioDescripción
fechadateFecha específica
desdedateFecha inicial rango
hastadateFecha final rango
diasintVentana 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:

Terminal window
curl "http://localhost/api/dashboard/ventas-metrics?desde=2025-01-01&hasta=2025-01-31" -H "Authorization: Bearer <token>"