Plugin de WHMCS · v1.0.0

Duck Stats para WHMCS — convierte el uptime de tus servidores en un producto de hosting.

Instala nuestro addon de WHMCS y cada servidor que vendas aparecerá en el panel de administración con estado up/down en vivo. Cada cliente conectado ve solo los monitores asignados a los productos, servidores o grupos de clientes que realmente posee. Gratis con cualquier plan de Duck Stats — tu plan limita cuántos monitores puedes exponer (50 / 200 / 1000 / ilimitados).

Solicitar una licencia → requiere WHMCS ≥ 8.0 · PHP ≥ 8.1
Recorrido de Duck Monitor: el admin asigna monitores a productos, el cliente ve el estado por servidor
El admin asigna monitores → el cliente ve el uptime por servidor, el tiempo de respuesta y 90 días de historial
01 · Cómo se ve

Tres pantallas. Cero trucos de plantilla.

Las tres se renderizan dentro de tu propio WHMCS — barra lateral de admin, portal del cliente, widget del panel. Sin necesidad de sobrescribir plantillas.

Admin: panel de edición por monitor con tarjetas de uptime, heartbeats y asignación de productos
Admin · asignación por monitor (productos, servidores, grupos, IDs de usuario)
Cliente: página de Estado de la Red con porcentajes de uptime, gráfico de respuesta y tira de heartbeats
Cliente · Estado de la Red (solo sus monitores autorizados)
Panel del cliente: la tarjeta Incidencias Detectadas lista cada monitor con estado Online / Offline
Panel del cliente · tarjeta Incidencias Detectadas en el inicio
02 · Características

Todo lo que hace Duck Monitor, explicado con claridad.

Sincronización automática desde tu cuenta de Duck Stats

El plugin lee los monitores desde un slug de página de estado usando tu clave API de Duck Stats. Los nuevos monitores aparecen en la tabla de admin automáticamente en cada carga de página — sin botón de sincronización manual que vigilar. Hay un botón Sincronizar desde Duck Stats por si quieres forzar una.

Asignación de productos por monitor

Cada monitor se puede configurar como Todos los usuarios, o restringirse por cualquier combinación de productos de WHMCS, servidores (tblservers), grupos de clientes o una lista libre de IDs de cliente. La visibilidad es una unión — un monitor se muestra si cualquier regla coincide.

Vista filtrada por cliente

Un cliente conectado obtiene una entrada de menú Estado de la Red en /index.php?m=duckmonitor. Solo ve los monitores ligados a sus servicios / addons / grupo activos. Sin filtraciones entre clientes.

Detalle enriquecido por monitor

Píldora Up/Down/Pausado, tarjetas de uptime de 24h / 7d / 30d / 365d, latencia del último ping, un mini-gráfico de tiempo de respuesta con Chart.js y una tira de heartbeats de los últimos 30 chequeos.

Nombres de visualización personalizados

Renombra un monitor para mostrarlo a los clientes sin tocar el original. Útil cuando tu nombre interno es node-07-fra-emby pero quieres que los clientes vean Nodo de Streaming Fráncfort.

Orden y activación/desactivación

Ordena los monitores con un campo numérico. Oculta uno temporalmente sin borrar su asignación mediante una casilla Activado por fila.

En caché para reducir el coste de API

La lista de monitores se cachea en WHMCS durante un intervalo configurable (2 min por defecto). Súbelo para reducir las llamadas a la API de Duck Stats en un portal con mucho tráfico; bájalo para tener datos casi en tiempo real.

Visibilidad pública o solo para conectados

Cambia todo el panel entre loggedin (por defecto) y public. El modo público convierte tu WHMCS en una página de estado de cara al cliente ubicada en your-billing-host/index.php?m=duckmonitor.

Protegido por licencia, nunca tumba WHMCS

Contacta con license.duckingstats.com una vez cada 7 días. Si el servidor de licencias no es accesible, el plugin sigue funcionando durante una ventana de gracia de 30 días. Si la licencia no es válida, el panel muestra un aviso amable — tus páginas de facturación siguen funcionando.

Guardado masivo y por AJAX

Un solo Guardar todo escribe cada asignación en un único POST, o guarda un monitor concreto en el sitio vía AJAX. Ambas rutas están protegidas contra CSRF mediante la sesión de admin de WHMCS.

Rastro en el registro de actividad

Todos los fallos (errores de curl de licencia, respuestas no-200 de la API, JSON inválido) se escriben en Utilidades → Registros → Registro de actividad de WHMCS con el prefijo duckmonitor: / duckmonitor api:.

Desinstalación limpia

Pulsa Desactivar y ambas tablas internas (duck_monitor_map, duckmonitor_license) se eliminan. Luego borra la carpeta del módulo. Sin esquema residual, sin ajustes residuales.

Instalación protegida por licencia

El zip del plugin se emite por instalación de WHMCS — no es una descarga pública. Cada instalación está ligada a un nombre de host; el panel en ejecución verifica con license.duckingstats.com cada 7 días.

03 · Requisitos

Si tu WHMCS funciona, el plugin funciona.

Sin extensiones exóticas. Solo cURL y HTTPS de salida.

WHMCS

≥ 8.0
Probado en 8.10 / 8.11 / 8.12 / 8.13

PHP

≥ 8.1
8.1 · 8.2 · 8.3

MySQL

≥ 5.7
or MariaDB ≥ 10.3

Ext. PHP

curl, json
Ambas incluidas por defecto

Salida

stats.duckingstats.com
license.duckingstats.com
:443 HTTPS

Licencia

por instalación de WHMCS
Una licencia = un nombre de host. Te enviamos por email el zip + la clave de licencia tras la solicitud.
04 · Instalación

Del zip a producción en 5 minutos.

  1. Solicita tu licencia + el zip del plugin

    Escribe a [email protected] con el nombre de host de tu WHMCS. Te respondemos por email con tu clave de licencia + un enlace de descarga firmado de un solo uso ligado a ese nombre de host.

  2. Súbelo a tu instalación de WHMCS

    Descomprime y sube de modo que duckmonitor.php quede en /modules/addons/duckmonitor/duckmonitor.php. Todo el árbol:

    modules/addons/duckmonitor/
      duckmonitor.php
      install.php
      lib/{License,ApiClient,ServerSync,ClientPanel}.php
      templates/status.tpl
      lang/english.php
  3. Actívalo en WHMCS

    Admin de WHMCS → Setup → Addon Modules → busca Duck MonitorActivate. El hook de activación crea automáticamente las tablas duck_monitor_map y duckmonitor_license.

  4. Pega dos claves en Configure

    Abre Duck Monitor → Configure y rellena:

    • Clave de licencia — formato DS-XXXX-XXXX-XXXX-XXXX, desde tu cuenta de Duck Stats.
    • Clave API de Duck Stats — genérala en stats.duckingstats.comSettings → API Keys.
    • Slug de la página de estado — de qué página de estado de Duck Stats leer los monitores.

    Concede Access Control a los roles de admin que deban ver la página del addon.

  5. Asigna monitores a productos

    Abre la página del addon (barra lateral → Duck Monitor). Para cada monitor, elige Todos los usuarios o Seleccionados, luego marca los productos, servidores, grupos o IDs de cliente que deben verlo. Pulsa Guardar todo. Listo.

05 · Licencias

Dos claves, a propósito.

Una clave de licencia activa el plugin. Una clave API aparte lee tu cuenta de Duck Stats. Mantenerlas separadas significa que puedes rotar cualquiera de las dos sin reactivar la otra — rota las claves API cada trimestre sin tocar la licencia.

  • La verificación de licencia se dispara una vez cada 7 días por instalación de WHMCS.
  • Gracia offline de 30 días — si nuestro servidor de licencias no es accesible pero tuviste un OK reciente, el plugin sigue mostrando monitores.
  • La huella es sha256(whmcs_install_id || hostname) — una licencia, una instalación.
  • ¿Revocada o caducada? El panel muestra un amable aviso de “Licencia no válida”. Tu WHMCS en sí nunca se rompe.
POST license.duckingstats.com/v1/check
{
  "license_key": "DS-8CC4-61A7-1704-7897",
  "fingerprint": "a4d2f3...e91c",
  "plugin_version": "1.0.0"
}

← HTTP 200
{
  "active": true,
  "tier": "pro",
  "message": "OK"
}

# en caché 7 días; gracia offline de 30 días.
06 · Comparativa

Duck Monitor frente a los módulos de estado de la tienda de WHMCS.

Lo comparamos con dos de los módulos más populares del marketplace de WHMCS en la misma línea: WS Server Monitoring y WS UptimeRobot Status de whmcsservices.com. Esto es lo que ofrece cada uno.

Capacidad Duck Monitor WS Server Monitoring WS UptimeRobot Status
Motor de monitoreoDuck Stats — sondas multirregión desde nuestra flotaAutoalojado dentro de WHMCS — cron de una sola región en tu máquina de facturaciónExtrae de UptimeRobot — consulta de una sola región
Consenso multirregión (acaba con las falsas alarmas) — 4 regiones, quórum configurableNo — una sola máquina ejecuta los chequeosNo — el plan gratis de UptimeRobot es de una sola región
Asignación de productos por monitor — productos, servidores, grupos, IDs de cliente (unión) — paquetes por producto — productos, clientes seleccionados, público, conectados
Monitores push (para máquinas detrás de NAT) — heartbeats de cron + vigilantes de procesosNoNo
Inspector de salud de BD (consultas lentas, retraso de réplica, buffer pool) — opcional en monitores MySQLNo — MySQL = solo puerto vivoNo
Plan gratuito — 50 monitores gratis para siempreNo — licencia de pagoNo — licencia de $29.99
Alertas SMS a los clientes (con tu propio gateway SMS)Parcial — te alertamos a ti por SMS (con tu propio Twilio); el plugin de WHMCS muestra el estado, no envía SMS a los clientes — suscripción a SMS a nivel de miembro vía WS SMS ManagerNo
Abrir ticket de WHMCS automáticamente en una caídaNo (marcado como carencia) — alertamos por email/webhook; el auto-ticket del lado de WHMCS está en el roadmap — ticket creado automáticamente cuando un monitor caeNo
Monitoreo revendido como producto (los clientes te pagan por monitorear sus sitios)No (marcado como carencia) — Duck Monitor muestra tus servidores a los clientes; aún no permitimos que los clientes añadan sus propias URLs a través de WHMCS — ese es todo el productoNo
Página de estado pública fuera de WHMCS — páginas de estado de primer nivel en tu propio dominio, con suscripción + incidentesLimitado — solo dentro de WHMCS — las propias páginas de estado de UptimeRobot
Gráfico de tiempo de respuesta en vivo por monitor — Chart.js, p50/p95/p99BásicoBásico
Tarjetas de uptime de 365 díasNo por defectoNo
API REST abiertaGET /api/v1/monitors con autenticación bearerLimitada — solo añadir/editar/borrar/up-o-downNo
Marca blanca / multimarca en los planes Team / EnterpriseNoNo
Panel de estado en Discord — emoji personalizado por monitor, refresco cada 90sNoNo
DistribuciónLigada a licencia — un zip por nombre de host de WHMCS, verificación en ejecuciónLigada a licenciaLigada a licencia · cifrada con ionCube
Coste de licenciaIncluida gratis con cualquier plan de Duck StatsLicencia (varía) · licencia con fuente aparteLicencia $29.99 · fuente $249.99

La comparativa refleja las características listadas públicamente en whmcsservices.com a fecha de 2026-06-29. Donde ellos tienen una característica que nosotros no, la hemos marcado en ámbar para que preguntes antes de comprar. Si necesitas alguna de esas ya, escribe a [email protected] — el caso del auto-ticket-en-caída es pequeño.

07 · Quién compra esto

Tres casos honestos.

Revendedor de hosting

Asigna tu monitor Hetzner FSN1 al producto Premium VPS Fráncfort. Los clientes de ese plan ven el estado de Fráncfort sin ver tus tarjetas de Londres o Dallas. Los tickets de soporte por estado se reducen a la mitad.

Operador de medios / IPTV

Asigna tu monitor Clúster Emby A al grupo de clientes Emby Power Users. Obtienen una vista en tiempo real del clúster que pagan; el resto no lo ve en absoluto.

Proveedor de SaaS / app web

Cambia el plugin a visibilidad pública y tendrás una página de estado accesible sin iniciar sesión dentro de tu propio WHMCS — sin un subdominio aparte que configurar.

08 · FAQ

Preguntas frecuentes antes de instalar.

¿Dónde consigo mi clave de licencia?
Tras contratar una suscripción de Duck Stats con el complemento de WHMCS, la clave aparece en tu cuenta en stats.duckingstats.comSettings → License keys. Formato: DS-XXXX-XXXX-XXXX-XXXX. Mientras terminamos el checkout autoservicio, escribe a [email protected] y te emitiremos una en menos de una hora.
¿Puedo usar una licencia en varias instalaciones de WHMCS?
No. Cada licencia se vincula por huella a sha256(whmcs_install_id || hostname) en la primera verificación. Si necesitas monitorear dos portales de facturación, necesitas dos licencias — o pagar el plan Fuente/Multi-instalación (escríbenos). Mover una única instalación a un host nuevo está bien; solo contacta con soporte para reiniciar la huella.
¿Qué pasa si license.duckingstats.com está caído?
Nada visible. El plugin cachea una verificación correcta durante 7 días y respeta esa caché durante una ventana de gracia de 30 días si no puede contactar con nuestro servidor de licencias. Pasados 30 días offline, los paneles muestran un amable aviso de “no accesible” — tu WHMCS en sí sigue funcionando de todos modos.
¿Qué datos envía el plugin a Duck Stats?
La verificación de licencia solo envía {license_key, fingerprint, plugin_version}. Las lecturas de monitores tiran de tu cuenta de Duck Stats mediante tu clave API — no recibimos datos de clientes, facturas ni tickets de WHMCS. La asignación entre monitores y tus productos de WHMCS se guarda solo en tu base de datos local (duck_monitor_map).
¿Puedo aplicar marca blanca / ocultar la marca “Duck Stats”?
En los planes Team y Enterprise, sí — tanto la página de estado como el panel de WHMCS permiten reemplazar el logo, el color de acento y el texto del pie. En Free / Pro el panel mantiene una pequeña marca de “Powered by Duck Stats”.
¿Cómo consigo el plugin?
Escribe a [email protected] con el nombre de host de tu WHMCS. Respondemos con tu clave de licencia + un enlace de descarga firmado de un solo uso ligado a ese nombre de host. No hay descarga pública — el zip se emite por instalación.
¿Cómo funciona el límite de número de monitores?
Es un recuento sobre tu plan de Duck Stats: Free 50 / Pro 200 / Team 1000 / Enterprise ilimitado. El plugin solo lee de tu cuenta — los monitores que tengas en tu página de estado, los puedes asignar. Los monitores que superan el límite simplemente no aparecen en la API de Duck Stats.
¿Ralentizará WHMCS?
La lista de monitores de Duck Stats se cachea en WHMCS durante 2 minutos por defecto (configurable). La verificación de licencia es una vez cada 7 días, luego se sirve desde una fila local. La sobrecarga por carga de página es una lectura de tabla indexada. Hemos medido menos de 25ms en una instalación estándar de WHMCS 8.13.

Haz del uptime parte del producto.

Cinco minutos para instalar, sin trucos de plantilla, gratis con cualquier plan de Duck Stats.

Escríbenos por una licencia