Endpoints de Dashboard
El endpoint de dashboard proporciona estadísticas agregadas del sistema bajo
el prefijo /api/v1/dashboard/. Los datos devueltos varían según el rol del
usuario: los superusuarios reciben estadísticas globales, mientras que los
usuarios regulares solo ven datos de sus propios recursos.
Estadísticas — /api/v1/dashboard/stats/
Endpoint de solo lectura que devuelve un resumen agregado de VMs, hosting, facturación y tickets. Diseñado para alimentar los widgets del dashboard principal del panel.
Método |
Endpoint |
Descripción |
|---|---|---|
|
|
Obtener estadísticas agregadas |
Permisos y alcance de datos
Rol |
Datos devueltos |
|---|---|
Superusuario |
Estadísticas globales de todo el sistema: todas las VMs, todos los sitios de hosting, ingresos totales, todos los tickets. |
Usuario regular |
Solo datos propios: VMs de sus pools, sitios de sus tenants, suscripciones de sus tenants, tickets propios. |
Ejemplo — Obtener estadísticas:
curl -X GET https://panel.example.com/api/v1/dashboard/stats/ \
-H "Authorization: Bearer $TOKEN"
Respuesta (superusuario):
{
"vms": {
"total": 24,
"running": 18
},
"hosting": {
"domains": 156,
"databases": 89,
"email_accounts": 342,
"ssl_active": 143
},
"billing": {
"total_revenue": "12450.50",
"pending_amount": "1230.00",
"active_subscriptions": 78
},
"tickets": {
"total": 520,
"open": 12,
"pending": 5
}
}
Respuesta (usuario regular):
{
"vms": {
"total": 3,
"running": 2
},
"hosting": {
"domains": 5,
"databases": 3,
"email_accounts": 12,
"ssl_active": 4
},
"billing": {
"active_subscriptions": 2
},
"tickets": {
"total": 8,
"open": 1,
"pending": 0
}
}
Campos de la respuesta
Campo |
Descripción |
|---|---|
|
Número total de máquinas virtuales |
|
Número de VMs en estado |
Campo |
Descripción |
|---|---|
|
Número de sitios web activos |
|
Número de bases de datos |
|
Número de buzones de correo |
|
Número de sitios con SSL habilitado |
Campo |
Descripción |
|---|---|
|
Ingresos totales de pagos completados (cadena decimal) |
|
Monto total de facturas pendientes y vencidas (cadena decimal) |
|
Número de suscripciones activas |
Campo |
Descripción |
|---|---|
|
Número de suscripciones activas del usuario |
Campo |
Descripción |
|---|---|
|
Número total de tickets |
|
Tickets en estado |
|
Tickets en estado |
Note
Cada sección solo se incluye en la respuesta si el usuario tiene acceso
al módulo correspondiente (can_access_vps, can_access_hosting,
can_access_billing, can_access_ticketing). Si un módulo no está
disponible o genera un error, se devuelven valores por defecto (ceros).
Los campos de billing total_revenue y pending_amount solo están
disponibles para superusuarios.