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

  1. Obtén la dirección del servidor, el usuario, la contraseña y el token API en el panel de Domain Name API.
  2. Descarga el módulo de GitHub y copia la carpeta dnahosting en modules/servers/ de WHMCS.
  3. En WHMCS, añade el servidor en Servers > Add New Server y elige DNA Reseller Hosting como módulo.
  4. Confirma la conexión con Test Connection y guarda el servidor.
  5. Crea un grupo de servidores y añade el servidor.
  6. En la pestaña Module Settings de tu producto de hosting, elige el módulo, el grupo y el nombre del paquete.
  7. 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.

Figura 1 – Del cliente a la cuenta de hosting: WHMCS actúa sobre tu cuenta reseller a través del módulo.
Figura 1 – Del cliente a la cuenta de hosting: WHMCS actúa sobre tu cuenta reseller a través del módulo.
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.

  1. Entra en el panel de Domain Name API y abre la sección Reseller Hosting y su lista de servicios de hosting.
  2. Haz clic en el icono de engranaje junto a tu servicio de hosting reseller activo.
  3. 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.
Figura 2 – La lista de servicios de hosting y el icono de engranaje junto a un servicio activo (interfaz en turco). Los dominios están ocultos.
Figura 2 – La lista de servicios de hosting y el icono de engranaje junto a un servicio activo (interfaz en turco). Los dominios están ocultos.
Figura 3 – La pestaña del panel de control (“Kontrol Panel” en la interfaz en turco): direcciones del panel, usuario, contraseña y token API. La dirección del servidor y el usuario están ocultos.
Figura 3 – La pestaña del panel de control (“Kontrol Panel” en la interfaz en turco): direcciones del panel, usuario, contraseña y token API. La dirección del servidor y el usuario están ocultos.
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.

Figura 4 – Dónde va la carpeta dnahosting dentro de WHMCS.
Figura 4 – Dónde va la carpeta dnahosting dentro de WHMCS.

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.

Figura 5 – Pantalla ilustrativa de WHMCS: Hostname (1), Module (2), usuario y contraseña reseller (3), token API (4) y Test Connection (5).
Figura 5 – Pantalla ilustrativa de WHMCS: Hostname (1), Module (2), usuario y contraseña reseller (3), token API (4) y Test Connection (5).
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.

Figura 6 – Pantalla ilustrativa de WHMCS: nombre del grupo (1) y servidor añadido al grupo (2).
Figura 6 – Pantalla ilustrativa de WHMCS: nombre del grupo (1) y servidor añadido al grupo (2).

Puedes añadir servidores cPanel y Plesk al mismo grupo; el módulo detecta automáticamente el tipo de panel de cada servidor.

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.

Figura 7 – Pantalla ilustrativa de WHMCS: módulo y grupo (1), tipo de panel (2), nombre del paquete (3) y momento de la instalación automática (4).
Figura 7 – Pantalla ilustrativa de WHMCS: módulo y grupo (1), tipo de panel (2), nombre del paquete (3) y momento de la instalación automática (4).
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.
Figura 8 – El prefijo de paquete en cPanel: para un paquete que aparece como exampleuser_paket2, escribe solo paket2 en WHMCS.
Figura 8 – El prefijo de paquete en cPanel: para un paquete que aparece como exampleuser_paket2, escribe solo paket2 en WHMCS.

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.

Figura 9 – Cómo se procesa un pedido después de la instalación.
Figura 9 – Cómo se procesa un pedido después de la instalación.
¿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