Consulta en tiempo real para monitorear el consumo de almacenamiento en disco, operaciones diarias de subida y descarga, estado del dominio personalizado y cuotas de Inteligencia Artificial.
Esquema Completo de Propiedades (JSON)
| Bloque | Campo | Tipo | Descripción Técnica |
|---|
| Root | username | String | Nombre de usuario del titular de la cuenta. |
plan | String | Nombre comercial o ID del plan activo del usuario. |
typePlan | String | Identificador técnico del plan (ej: free, lite, basic, pro, ultra, business). |
| limits | storage_total_mb | Integer | Capacidad máxima de disco asignada al plan (en MB). |
upload_ops_limit | Integer | Tope diario de archivos que se pueden subir (se reinicia a las 04:00 AM). |
download_ops_limit | Integer / String | Tope diario de descargas/visualizaciones permitidas (o "unlimited"). |
max_file_size_mb | Integer | Peso máximo permitido por archivo individual (ej: 5 MB en Free, 125 MB en Pro, 10,000 MB en Business/Enterprise). |
allowed_mime_types | Array | Formatos de archivo permitidos. ["*/*"] indica sin restricción. |
private_buckets | Boolean | Indica si el almacenamiento es aislado y dedicado. |
expiring_links | Boolean | Indica si el plan tiene acceso a generación de enlaces temporales. |
custom_domain | Boolean | Indica si el plan permite vincular un dominio personalizado propio con SSL automático. |
retention_days | Integer / null | Días de retención automática de archivos (o null para almacenamiento permanente). |
| ai_quota | used | Integer | Peticiones de Inteligencia Artificial consumidas en el ciclo actual. |
max | Integer | Límite máximo de peticiones de IA asignadas según el plan. |
remaining | Integer | Peticiones de IA restantes disponibles para usar. |
| usage | email | String | Correo electrónico del usuario. |
storage_used_mb | Float | Espacio en disco consumido actualmente (en MB). |
upload_ops_daily | Integer | Contador de archivos subidos durante el día actual. |
download_ops_daily | Integer | Contador de descargas/visualizaciones registradas hoy. |
custom_domain | String / null | Dominio propio configurado (ej: "cdn.midominio.com") o null. |
domain_status | String | Estado del dominio propio: configured, pending (validando SSL) o active (en producción). |
last_reset_date | String (YYYY-MM-DD) | Fecha del último reinicio de contadores diarios. |
const axios = require("axios");
async function checkStats() {
const res = await axios.get("https://api.evogb.org/api/cdn/stats", {
headers: { "x-upload-token": "TU_UPLOAD_TOKEN" },
});
console.log(`📊 Almacenamiento: ${res.data.usage.storage_used_mb} MB / ${res.data.limits.storage_total_mb} MB`);
console.log(`🧠 Cuota de IA: ${res.data.ai_quota.used} / ${res.data.ai_quota.max} peticiones`);
console.log(`📥 Descargas Hoy: ${res.data.usage.download_ops_daily} / ${res.data.limits.download_ops_limit}`);
}
checkStats();
{
"status": true,
"code": 200,
"username": "usuario_dev",
"plan": "Pro",
"planLabel": "Pro",
"planSource": "store",
"payg": null,
"typePlan": "pro",
"limits": {
"storage_total_mb": 25500,
"upload_ops_limit": 600,
"download_ops_limit": 150000,
"max_file_size_mb": 125,
"allowed_mime_types": ["*/*"],
"private_buckets": true,
"expiring_links": true,
"custom_domain": true,
"retention_days": null
},
"ai_quota": {
"used": 14,
"max": 80,
"remaining": 66
},
"usage": {
"email": "[email protected]",
"storage_used_mb": 4210.55,
"upload_ops_daily": 35,
"download_ops_daily": 1240,
"last_reset_date": "2026-08-16",
"custom_domain": "cdn.midominio.com",
"domain_status": "active"
}
}
Pay As You Go: los campos planLabel, planSource y payg identifican el método real de la cuenta. Un usuario PAYG conserva su typePlan interno (ej. business) para no romper la API, pero planLabel devuelve algo como "Pay As You Go · Lite", planSource vale "payg" y payg trae { active, tier, requests, days, expires_at }. Los limits ya incluyen la capacidad comprada con potenciadores PAYG y de Cometas, así que el panel y el CDN muestran cifras reales.