Última actualización 2026-07-15
Límites de API
Para quién es esta página
Esta página es para quienes gestionan el sitio. Los datos del tiempo visitados se comparten y son favorables a la caché para que los límites gratuitos de OpenWeather (por defecto 1000 llamadas/día) se agoten con menos frecuencia.
Cuota diaria y por minuto
Valores por defecto de constants/weather.js: DAILY_LIMIT 1000, WARNING_THRESHOLD 800, SOFT_BLOCK_THRESHOLD 950, PER_MINUTE_LIMIT 60 llamadas upstream por minuto móvil. platform_settings puede anular daily_limit, soft_block_threshold, warning_threshold y per_minute_limit (valores por defecto sembrados en la primera apertura de DB). El contador se reinicia a medianoche UTC.
Valores de estado
ok — bajo el umbral de advertencia. warning — en o por encima de warning_threshold (por defecto 800 llamadas hoy). soft_block — en o por encima de soft_block_threshold (por defecto 950); upstream bloqueado. hard_block — en daily_limit (por defecto 1000). El tope por minuto también bloquea upstream cuando per_minute_limit llamadas ocurrieron en los últimos 60 segundos.
Aciertos de caché vs upstream
Los aciertos de base L2 registran en api_call_log con cache_hit=1 y no incrementan el contador upstream diario. Los aciertos de memoria L1 no se registran en SQLite — recordCacheHit retorna pronto cuando meta.layer es memory. Solo las llamadas upstream OpenWeather exitosas (estado 200, cache_hit=0) cuentan para la cuota. Los serves emergency stale evitan upstream cuando está bloqueado.
Diagnósticos de admin
Abre /admin (tras iniciar sesión) para usado hoy / límite diario, restante, estado y ajustes de intervalo de actualización. API: GET /api/admin/usage.
API de admin
GET /api/admin/usage — instantánea de cuota y llamadas recientes. GET|PATCH /api/admin/config — API principal de ajustes admin (intervalo de actualización, conectores, valores por defecto de digest, AdSense, interruptores de alerta, etc.). Legacy estrecho: PATCH /api/admin/settings { refreshIntervalMs }. Auth: cookie de sesión HttpOnly meridian_admin_session tras /login. Secreto de firma es ADMIN_SECRET (no ADMIN_PASSWORD). Bypass de desarrollo con NODE_ENV=development, ALLOW_DEV_ADMIN_BYPASS=1 y ADMIN_SECRET unset.
Límites del proveedor OpenWeather
meridian rastrea su propio contador upstream; OpenWeather también puede limitar o rechazar claves de forma independiente (401, 429). El orquestador los mapea a errores API estructurados para el cliente.
Modo de emergencia
Con soft/hard block, los usuarios siguen viendo el último snapshot SQLite aceptable marcado freshness emergency en lugar de un error en blanco — a menos que nunca existió un snapshot para esas coordenadas.