Automatiza la venta de hosting con WHMCS: instalación y uso del módulo Domain Name API Reseller Hosting
La respuesta corta
El módulo WHMCS de Domain Name API Reseller Hosting (DNA Reseller Hosting) conecta tu cuenta reseller de cPanel o Plesk con WHMCS. Cuando un cliente compra hosting en WHMCS, la cuenta se abre automáticamente en tu panel reseller. La suspensión, la reactivación, la terminación y los cambios de contraseña y de paquete también se gestionan desde WHMCS.
La instalación tiene cuatro pasos: copia la carpeta dnahosting en WHMCS, añade el servidor con los datos de tu panel, crea un grupo de servidores y vincula tu producto al módulo. Un solo módulo funciona con cPanel y con Plesk y detecta el tipo de panel por sí mismo.
Para quién es esta guía: resellers de Domain Name API Reseller Hosting que quieren automatizar la venta de hosting con WHMCS. Última actualización: 5 de octubre de 2026 Fuentes: documentación oficial del módulo DNA Reseller Hosting (GitHub) y documentación de WHMCS
Versión rápida: pon el módulo en marcha en 7 pasos
- Obtén la dirección del servidor, el usuario, la contraseña y el token API en el panel de Domain Name API.
- Descarga el módulo de GitHub y copia la carpeta
dnahostingenmodules/servers/de WHMCS. - En WHMCS, añade el servidor en Servers > Add New Server y elige DNA Reseller Hosting como módulo.
- Confirma la conexión con Test Connection y guarda el servidor.
- Crea un grupo de servidores y añade el servidor.
- En la pestaña Module Settings de tu producto de hosting, elige el módulo, el grupo y el nombre del paquete.
- Haz un pedido de prueba para confirmar que la cuenta se abre en tu panel reseller.
¿Por dónde empiezo?
Para empezar la instalación: Paso 1: obtén tus datos de conexión
¿Módulo ya instalado? Vincula tu producto: Paso 6: vincula tu producto al módulo
¿Instalación terminada? Uso diario: Usar el módulo en el día a día
Si algo no funciona: Solución de problemas
¿Qué hace el módulo?
DNA Reseller Hosting es un módulo de servidor (provisioning) que te permite gestionar desde WHMCS las cuentas de hosting de tus clientes a través de la cuenta reseller de cPanel o Plesk que te da Domain Name API. El módulo trabaja con los permisos de tu cuenta reseller, no con acceso root ni admin; cada cuenta que abres cuenta para tu cuota reseller.

| Función | cPanel/WHM | Plesk |
|---|---|---|
| Creación de cuentas | Sí | Sí |
| Suspensión / reactivación | Sí | Sí |
| Terminación | Sí | Sí |
| Cambio de contraseña | Sí | Sí |
| Cambio de paquete / plan | Sí | Sí |
| Acceso al panel del cliente con un clic | Sí | Sí |
| Sincronización de uso de disco y tráfico | Sí | Sí |
| Acceso de administrador del servidor (Log in to Server) | Sí | No |
| Override de disco / tráfico por producto | Sí | Lo define el plan |
| IP dedicada | Sí | Lo define el plan |
Antes de empezar
| Requisito | |
|---|---|
| ☐ | Un servicio Domain Name API Reseller Hosting activo (su estado en el panel debe ser activo) |
| ☐ | WHMCS 7.8 o posterior |
| ☐ | PHP 7.2 – 8.4 con estas extensiones: curl, json, libxml, simplexml, mbstring |
| ☐ | cPanel/WHM 11.68+ o Plesk (protocolo XML-API 1.6.3.0+); las cuentas reseller de Domain Name API lo cumplen |
| ☐ | Al menos un paquete (cPanel) o Service Plan (Plesk) en tu panel reseller |
| ☐ | Acceso a los archivos de WHMCS (FTP, SFTP o un gestor de archivos) |
Si todavía no tienes un paquete, créalo antes: consulta Cómo crear un paquete de hosting en WHM para cPanel o Cómo crear un Service Plan en Plesk para Plesk.
Instalación paso a paso
Paso 1: obtén tus datos de conexión
Para que WHMCS se conecte a tu cuenta reseller necesita la dirección del servidor, tu usuario reseller, tu contraseña y un token API. Los recibes tras tu pedido y puedes verlos cuando quieras en el panel de Domain Name API.
- Entra en el panel de Domain Name API y abre la sección Reseller Hosting y su lista de servicios de hosting.
- Haz clic en el icono de engranaje junto a tu servicio de hosting reseller activo.
- Abre la pestaña del panel de control. Ahí verás las direcciones del panel, el usuario, la contraseña y el token API; cópialos con los iconos de copiar.


| Lo que ves en el panel | Dónde va en WHMCS |
|---|---|
El nombre del servidor en la dirección del panel (p. ej., <server-address> en https://<server-address>:2087) | Hostname (sin https:// ni puerto) |
| Usuario | Username |
| Contraseña | Password |
| Token API (token API de WHM en cPanel, API key en Plesk) | API Token / Access Hash |
Restringe el token API a la IP de tu servidor WHMCS
Si el campo de restricción de IP de la pestaña del panel de control está vacío, cualquiera que consiga el token podrá usarlo desde cualquier IP. Escribe en ese campo la IP de salida de tu servidor WHMCS (p. ej., 192.0.2.10) y guarda. No compartas nunca el token por correo, en un ticket ni en una captura.
Si el servicio aparece con la instalación fallida
No conectes a WHMCS un servicio reseller que no esté activo. Si tu servicio muestra un estado de instalación fallida, contacta con nuestro soporte.
Punto de control
Resultado esperado: Tienes los cuatro datos (dirección del servidor, usuario, contraseña, token API) guardados de forma segura.
El error más común: Copiar la dirección del panel con https:// y el puerto y pegarla tal cual en WHMCS.
Siguiente paso: Sube el módulo a WHMCS.
Paso 2: descarga el módulo y súbelo a WHMCS
Descarga el módulo de GitHub y copia la carpeta dnahosting del paquete en el directorio modules/servers de tu instalación de WHMCS. Repositorio del módulo: domainreseller/reseller-hosting-whmcs. No se crean tablas en la base de datos, no hace falta configurar cron y no hay dependencias de Composer.

Punto de control
Resultado esperado: La carpeta whmcs/modules/servers/dnahosting/ existe y contiene los archivos del módulo.
El error más común: Copiar la carpeta un nivel de más (servers/dnahosting/dnahosting/). En ese caso, el módulo no aparece en WHMCS.
Siguiente paso: Añade el servidor.
Paso 3: añade el servidor en WHMCS
Ve a Configuration > System Settings > Servers > Add New Server, elige DNA Reseller Hosting como módulo e introduce los datos del paso 1.

| Campo | Qué escribir |
|---|---|
| Name | Un nombre descriptivo para ti (p. ej., DNA Reseller 1). |
| Hostname or IP Address | La dirección del servidor, sin https:// al principio ni puerto al final. |
| Module | DNA Reseller Hosting |
| Username | Tu usuario reseller. |
| Password | Tu contraseña reseller. No es obligatoria si usas token, pero escríbela igualmente. |
| API Token / Access Hash | Token API de WHM en cPanel, API key en Plesk. |
Paso 4: prueba la conexión
Haz clic en Go to Advanced Mode > Test Connection. Si los datos son correctos verás un mensaje de éxito; después guarda el servidor.
Si la conexión falla, revisa primero el puerto
cPanel usa el puerto 2087 y Plesk el 8443. Si dejas el campo del puerto vacío, el módulo elige el puerto correcto según el panel. Si usas otro puerto, marca Override with Custom Port e introdúcelo.
Punto de control
Resultado esperado: Test Connection funciona y el servidor está guardado.
El error más común: Añadir https:// o un puerto al hostname, o generar el token en la interfaz de cPanel (debe generarse en WHM).
Siguiente paso: Crea un grupo de servidores.
Paso 5: crea un grupo de servidores
Con Servers > Create New Group, crea un grupo y añade el servidor, o añádelo a un grupo existente. En WHMCS, los productos se vinculan a un grupo, no directamente a un servidor.

Puedes añadir servidores cPanel y Plesk al mismo grupo; el módulo detecta automáticamente el tipo de panel de cada servidor.
Paso 6: vincula tu producto al módulo
Crea un producto de hosting nuevo o edita uno existente en Configuration > System Settings > Products/Services y, en la pestaña Module Settings, elige el módulo, el grupo y el nombre del paquete.

| Ajuste | Valor | Nota |
|---|---|---|
| Module Name | DNA Reseller Hosting | |
| Server Group | El grupo que creaste | |
| Panel Type | Auto | Si conoces el tipo de tu servidor, puedes elegir cPanel o Plesk directamente. |
| Package / Plan | El nombre del paquete o plan de tu panel reseller | En cPanel, no escribas el prefijo (ver abajo). |
| Disk Quota / Bandwidth (MB) | Opcional | Solo se aplica en cPanel. |
| Dedicated IP | Opcional | Solo válido en cPanel. |

En la misma pestaña, elige cuándo se instala el producto automáticamente. Para la mayoría de resellers, la opción adecuada es Automatically setup the product as soon as the first payment is received: la cuenta se abre cuando llega el pago. Si quieres aprobar los pedidos a mano, usa when you manually accept a pending order.
Punto de control
Resultado esperado: El producto está guardado, con DNA Reseller Hosting y el nombre de paquete correcto en Module Settings.
El error más común: Escribir el paquete de cPanel con su prefijo (exampleuser_paket2). El módulo añade el prefijo por sí mismo.
Siguiente paso: Haz un pedido de prueba.
Paso 7: compruébalo con un pedido de prueba
Antes de tu primer cliente real, haz un pedido de este producto a nombre de un cliente de prueba y comprueba de principio a fin que la cuenta se abre.
| Comprobación | |
|---|---|
| ☐ | Tras el pedido, el servicio pasó a Active en WHMCS (o se creó a mano con Module Commands > Create). |
| ☐ | La cuenta aparece en tu panel reseller (WHM o Plesk) con el paquete correcto. |
| ☐ | El correo de bienvenida llegó al cliente. |
| ☐ | El botón Log in to Panel del área de cliente lleva al cliente a su propio panel. |
| ☐ | No hay ningún error con el prefijo dnahosting: en el Activity Log. |
Cuando termines, elimina el servicio de prueba en WHMCS con Terminate. Así la cuenta también se borra de tu panel reseller y no ocupa cuota. Si solo usas Delete, la cuenta sigue en el panel.
Usar el módulo en el día a día
Una vez terminada la instalación, la creación, suspensión, reactivación y terminación de cuentas las controla por completo WHMCS. Cuando haces estas acciones en WHMCS, el módulo las aplica en tu panel reseller.

| ¿Qué quieres hacer? | ¿Dónde en WHMCS? | Nota |
|---|---|---|
| Crear una cuenta a mano | Clients > [cliente] > Products/Services > Module Commands > Create | Si la instalación automática no se ejecutó. |
| Suspender / reactivar una cuenta | Module Commands > Suspend / Unsuspend | Ante un retraso en el pago, usa Suspend, no Terminate. |
| Cerrar una cuenta por completo | Module Commands > Terminate | No se puede deshacer; haz antes una copia de seguridad. |
| Cambiar la contraseña del cliente | Module Commands > Change Password | También se actualiza la contraseña del panel. |
| Subir / bajar de paquete | Module Commands > Change Package, o un upgrade desde el área de cliente | El paquete de destino debe existir en tu panel reseller. |
| Entrar en el panel del cliente | Área de cliente: Log in to Panel | Funciona en cPanel y Plesk. |
| Entrar en la administración del servidor | Lista de servidores: Log in to Server | Solo en servidores cPanel. |
| Ver el uso de disco y tráfico | Página del servicio | El módulo pasa los datos de uso a WHMCS. |
Suspensión y terminación automáticas
La suspensión automática de servicios impagados, su reactivación tras el pago y la terminación de los que llevan mucho tiempo sin pagarse dependen de los Automation Settings y del cron del sistema de WHMCS, no del módulo. Cuando WHMCS lanza estas acciones, el módulo las aplica en el panel. Para los ajustes, consulta la página Automation Settings de la documentación de WHMCS.
Diferencias entre cPanel y Plesk
| Tema | cPanel | Plesk |
|---|---|---|
| Límites de disco y tráfico | Los define el paquete; se pueden sobrescribir con Disk Quota / Bandwidth en el producto. | Los define el Service Plan. Los campos del producto se ignoran aunque estén rellenos y se anota en el log del módulo. |
| IP dedicada | Se puede asignar desde el producto. | La define el plan. |
| Acceso al panel del cliente con un clic | Log in to Panel | Log in to Panel |
| Acceso de administrador del servidor | Log in to Server funciona. | No disponible; Plesk no admite el inicio de sesión por redirección. |
| Nombre del paquete | Sin prefijo (paket2). | El nombre del Service Plan. |
Solución de problemas
Cuando falla una acción del módulo, lo primero que debes mirar es el Activity Log. El módulo registra ahí cada acción fallida con el prefijo dnahosting:, el número de servicio y el dominio.
| Registro | ¿Dónde? | ¿Cuándo se escribe? | ¿Qué contiene? |
|---|---|---|---|
| Activity Log | Utilities > Logs > Activity Log | Siempre | Cada acción fallida, con el prefijo dnahosting: |
| Module Log | Utilities > Logs > Module Log | Solo con Module Debug Mode activo | Cada petición enviada al panel y su respuesta |
Module Debug Mode: Setup > General Settings > Other > Module Debug Mode. Actívalo justo antes de reproducir el problema y desactívalo al terminar. Las líneas con el prefijo note: no son peticiones, sino explicaciones del propio módulo. Los tokens API y las contraseñas de clientes nunca se escriben en texto plano en los registros.
| Síntoma | Causa | Solución |
|---|---|---|
| El módulo no aparece en la lista Module | La carpeta se copió en otro sitio o un nivel de más. | Comprueba que la ruta es exactamente modules/servers/dnahosting/. |
| Could not determine whether this server runs cPanel or Plesk | Ninguno de los dos paneles respondió. | Revisa el puerto y el token, o elige Panel Type explícitamente en el producto. |
| WHM refused this login | El usuario no es reseller, o el token se generó en la interfaz de cPanel. | Genera el token en WHM; usa los datos de la pestaña del panel de control. |
| Server returned HTTP 3xx (redirect) | Puerto incorrecto, o el panel redirige a una página de inicio de sesión. | Usa 2087 para cPanel y 8443 para Plesk; no añadas https:// ni puerto al hostname. |
| Plesk 11003 | La API key se generó para otra IP. | Vuelve a generar la clave para la IP del servidor WHMCS. |
| Plesk 1010 | La IP se restringió tras varios intentos fallidos. | Espera unos minutos. |
| Plesk 2204 | El panel aceptó la petición pero falló al configurar su servidor web. | Es un problema del servidor; contacta con nuestro soporte. |
| Fallo al crear la cuenta, paquete no encontrado | El paquete se escribió con prefijo o no existe en el panel. | Escríbelo sin prefijo; comprueba que existe en tu panel reseller. |
| La conexión dejó de funcionar de repente | Se regeneró el token, cambió la contraseña o la restricción de IP no incluye la IP de WHMCS. | Actualiza los datos del servidor y ejecuta Test Connection. |
| No se pueden crear cuentas nuevas | Puede que tu cuenta reseller haya llegado a su límite de recursos o de cuentas. | Revisa el uso en tu panel; amplía tu plan si hace falta. |
Sobre la caché
El módulo guarda en caché durante siete días qué panel ejecuta cada servidor y la versión del protocolo XML-API. Test Connection siempre vacía esta caché, y se renueva sola si cambian la dirección, el puerto, el usuario o el token del servidor. En la caché no se guarda ninguna credencial.
Actualizar el módulo
Para pasar a una versión nueva, sustituye la carpeta modules/servers/dnahosting/ por la de la nueva versión y confirma la conexión con Test Connection. Como el módulo guarda los ajustes de producto por posición, los ajustes nuevos siempre se añaden al final de la lista, así que tus ajustes actuales se conservan. Los cambios de cada versión están en el archivo CHANGELOG.md del repositorio.
Preguntas frecuentes
¿Qué es el módulo WHMCS de Domain Name API Reseller Hosting?
DNA Reseller Hosting es un módulo de servidor que conecta con WHMCS la cuenta reseller de cPanel o Plesk que te da Domain Name API. Cuando tus clientes compran hosting en WHMCS, la cuenta se abre automáticamente; la suspensión, la reactivación, la terminación y los cambios de contraseña y paquete también se gestionan desde WHMCS.
¿Dónde descargo el módulo?
Desde el repositorio de GitHub de Domain Name API (domainreseller/reseller-hosting-whmcs). Para usarlo necesitas un servicio Domain Name API Reseller Hosting activo y tu propia licencia de WHMCS.
¿El módulo funciona con cPanel y con Plesk?
Sí. Un solo módulo admite los dos paneles y detecta automáticamente el tipo de panel de cada servidor. El mismo producto puede vincularse a un grupo con servidores cPanel y Plesk. El override de disco/tráfico y la IP dedicada solo se aplican en cPanel.
¿Dónde encuentro los datos que debo poner en WHMCS?
En el panel de Domain Name API, abre la sección Reseller Hosting, haz clic en el icono de engranaje junto a tu servicio y abre la pestaña del panel de control. Ahí aparecen la dirección del servidor, el usuario, la contraseña y el token API.
¿Qué escribo en el campo Hostname?
Solo la dirección del servidor: sin https:// al principio ni puerto al final. Por ejemplo, si el panel muestra https://<server-address>:2087, escribe en WHMCS solo la parte <server-address>.
Test Connection falla. ¿Qué hago?
Revisa primero el puerto: cPanel usa 2087 y Plesk 8443; si lo dejas vacío, el módulo elige el correcto. Después comprueba que el hostname no lleva https:// ni puerto, que el token se generó en WHM y que la restricción de IP del token incluye la IP de tu servidor WHMCS.
¿Qué escribo en el campo Package / Plan?
El nombre del paquete o plan de tu panel reseller. En cPanel, sin el prefijo: para un paquete que aparece como exampleuser_paket2, escribe solo paket2. En Plesk, usa el nombre del Service Plan.
¿Necesito configurar un cron para el módulo?
El módulo en sí no necesita cron propio. Sin embargo, la suspensión automática, la reactivación tras el pago y la terminación automática dependen del cron del sistema de WHMCS, así que asegúrate de que se ejecuta con regularidad.
¿Dónde cuentan las cuentas que abro?
El módulo trabaja con los permisos de tu cuenta reseller. Cada cuenta abierta desde WHMCS cuenta para tu cuota de hosting reseller de Domain Name API y aparece en tu panel reseller.
¿Cómo entra mi cliente en su panel?
El cliente entra en su panel cPanel o Plesk con un clic mediante el botón Log in to Panel del área de cliente de WHMCS. El botón Log in to Server de la lista de servidores solo funciona en servidores cPanel.
¿Puedo cambiar desde WHMCS los límites de disco y tráfico en Plesk?
No. En Plesk, los límites los fija el Service Plan. Los campos Disk Quota y Bandwidth del producto se ignoran aunque estén rellenos y se anota en el log del módulo. Para cambiar un límite, edita el plan en Plesk.
¿Dónde miro cuando falla una acción?
Primero, la línea con el prefijo dnahosting: en Utilities > Logs > Activity Log. Si necesitas más detalle, activa brevemente Module Debug Mode y revisa en el Module Log la petición enviada al panel y su respuesta.
¿Está seguro mi token API?
El módulo nunca escribe el token ni las contraseñas de clientes en texto plano en los registros y no guarda credenciales en su caché. Para más seguridad, restringe el token a la IP de tu servidor WHMCS en la pestaña del panel de control.
¿Pierdo los ajustes de mis productos al actualizar el módulo?
No. El módulo guarda los ajustes de producto por posición y solo añade los nuevos al final de la lista. Basta con sustituir la carpeta por la nueva versión y ejecutar Test Connection.
Siguientes pasos
| Guía | ¿Cuándo? |
|---|---|
| Cómo crear un paquete de hosting en WHM / Cómo crear un Service Plan en Plesk | Para preparar en el panel el paquete que vas a vender. |
| Cómo configurar nameservers privados en un hosting reseller | Para dar a tus clientes nameservers con tu propia marca. |
¿Tienes problemas al instalar o usar el módulo?
En tu ticket, incluye tus versiones de WHMCS y PHP, el tipo de panel (cPanel/Plesk), el mensaje de error completo y la línea dnahosting: del Activity Log. No compartas tu token API ni tu contraseña.
Abrir un ticket de soporte¿Todavía no tienes un servicio de hosting reseller?
Vende hosting con tu propia marca con Domain Name API Reseller Hosting y automatízalo con WHMCS.
Ver Reseller Hosting