Base de conocimientos
Vender alojamiento de Zinn® desde WHMCS
Instale el módulo de aprovisionamiento gratuito de Zinn Digital en WHMCS: la clave de API y los siete permisos que necesita, dónde debe colocarse el directorio del módulo y por qué importa su nombre, los campos del producto y qué hace realmente cada botón de WHMCS.
El módulo de Zinn Digital® convierte los botones propios de WHMCS en acciones reales en nuestra plataforma. Un pedido aprovisiona el hosting de su cliente. La automatización de facturas vencidas de WHMCS lo suspende. Marcar la factura como pagada lo libera. Cancelar programa la eliminación. Y su cliente obtiene un botón Iniciar sesión en el panel de hosting en su área de cliente que lo conecta directamente.
Es gratuito, cuenta con licencia GPL-2.0-or-later y no tiene ninguna ruta privilegiada en nuestra plataforma: cada llamada que realiza es un extremo documentado que usted mismo podría realizar con su propia clave de API.
Antes de empezar
Necesita dos cosas, y la segunda suele pillar desprevenido a la gente.
- Una cuenta de revendedor de Zinn® con un programa activo. Regístrese en
- Un plan de revendedor con asignación de sitios. Los sitios que sus clientes solicitan computan en su plan, por lo que necesita uno que tenga espacio disponible.
zinndigital.com y active la reventa.
⚠️ Probar conexión no puede decirle si un pedido se realizará con éxito. Lee su programa y no aprovisiona nada, por lo que informa de una cuenta
activesaludable que aún no puede vender nada. Si su primer pedido falla con "Esta organización no tiene un plan de hosting, por lo que todavía no puede alojar un sitio", eso es lo que ha ocurrido: compre o amplíe su plan de revendedor y vuelva a realizar el pedido. No hay nada malo en el módulo.
1. Crear la clave de API
En su panel de Zinn®, abra Claves de API y cree una con exactamente estos once permisos:
| Permiso | Por qué es necesario | | -------------------- | ----------------------------------------------------------- | | org.create | Abrir la cuenta de Zinn® de su cliente en su primer pedido. | | org.read | Leer las cuentas de sus clientes. | | sites.create | Aprovisionar el sitio. | | sites.view | Leer un servicio y su uso. | | sites.delete | Terminar. | | reseller.view | Listar lo que ha vendido y leer el disco y el ancho de banda. | | reseller.provision | Suspender, liberar, iniciar sesión a un cliente, establecer su plan y cambiar su paquete. | | billing.view | Leer lo que costaría una actualización antes de realizarla. | | sites.manage | Purgar la caché y realizar una copia de seguridad desde los botones. | | sites.panel_access | Cambiar la contraseña del administrador de WordPress. | | hosting.php.manage | Cambiar la versión de PHP en una actualización o degradación. |
⛔ No conceda
reseller.manage. Una clave pegada en un panel de facturación debe poder retener a un cliente por impago e iniciar su sesión. No debe poder leer y reescribir sus propias credenciales de pasarela de pago.reseller.provisionexiste para que no tenga que conceder la más amplia. ⛔org.createno es opcional. Sin él, el módulo puede leer sus cuentas pero no puede abrir una, por lo que Probar conexión se supera y el primer pedido responde403. ⛔⛔ Conceda toda la tabla y tenga en cuenta que Probar conexión no puede indicarle si no lo ha hecho. Lee su programa de revendedor y no aprovisiona nada, por lo que aparece en verde para una clave a la que le falte cualquiera de estos. Lo que obtiene en su lugar es un403en la única operación que el permiso faltante cubre, meses después, por parte de un cliente.
2. Instalar el módulo
- Descargue el módulo y descompímalo.
- Cargue el directorio
zinnen su instalación de WHMCS para que el archivo del módulo se ubique en
modules/servers/zinn/zinn.php.
⛔ El directorio debe llamarse
zinn. WHMCS deriva los nombres de función de un módulo de aprovisionamiento a partir del nombre de su directorio, por lo que renombrarlo azinn-whmcsozinndigitalgenera un módulo que WHMCS lista, le permite seleccionar y luego nunca llama, sin ningún error en ninguna parte. El archivo zip ya se descompacta con el nombre correcto; simplemente no lo renombre.
3. Añadir el servidor
En WHMCS: Configuración → Ajustes del sistema → Servidores → Añadir nuevo servidor.
- Nombre: cualquiera, p. ej.,
Zinn Digital® - Nombre de host:
api.zinndigital.com - Tipo:
Zinn Digital® - Contraseña: su clave de API del paso 1
⛔ La clave se introduce en el campo Contraseña, que WHMCS almacena cifrado. No la introduzca en una opción de configuración del producto, ya que estas son de texto plano en la base de datos y visibles para todos los administradores, y esta credencial puede crear y destruir el hosting de sus clientes.
Pulse Probar conexión. Realiza una llamada real e informa de lo que dijo nuestra plataforma, en lugar de comprobar que los campos están rellenados.
4. Crear el producto
Configuración → Ajustes del sistema → Productos/Servicios, a continuación, establezca Ajustes del módulo en el servidor que acaba de añadir. Los campos son:
| Campo | Requerido | Qué es | | ---------------- | --------- | -------------------------------------------------------------------------- | | Línea de producto | sí | La línea de Zinn® que está vendiendo: mainstream (WordPress gestionado), footprint_free, wordpress, linux, cloud, agency, app_hosting, ai_hosting, lms_hosting, managed_database, vector_hosting, zinn_compute, fleet_linux, fleet_enterprise, mail o reseller. | | Pila (Stack) | sí | Qué se compila: wordpress (predeterminado), woocommerce, php, static, node, one_click, headless_cms, nextcloud o owncloud. | | Aplicación | no | Solo para las pilas one_click y headless_cms: qué aplicación instalar. Nombrar una en cualquier otra pila se rechaza, porque esa pila ya decide qué se instala. | | Versión de PHP | no | p. ej., 8.3. Déjelo vacío para el valor predeterminado de la línea. Una versión que la línea no ofrece se rechaza con la lista de las que sí ofrece. | | Código de plan | sí | El plan de Zinn® que vende este producto. GET /v1/reseller/prices enumera los suyos. Un pedido sin él se rechaza, consulte la advertencia a continuación. | | Intervalo de facturación | no | monthly (predeterminado) o annual: el intervalo en el que se factura su línea mayorista para este cliente. Lo que cobra a su propio cliente se establece en el producto de WHMCS y no se ve afectado. |
⛔⛔ El código de plan es obligatorio y un pedido sin él se rechaza a propósito. Hasta el 01-09-2026 el campo era decorativo y nada lo leía, por lo que el módulo solicitaba hosting que no conllevaba ningún plan en absoluto, y todas las consecuencias de ello pasaban desapercibidas. Su extracto mayorista se elabora a partir de las suscripciones activas de sus clientes, por lo que no había ninguna línea para el servicio y no se le facturó nada durante todo el tiempo que estuvo en funcionamiento; su cliente no heredó ningún límite, por lo que no se aplicó ninguna cuota de disco o archivos a su sitio; y Cambiar paquete no tenía nada que cambiar, por lo que una actualización que vendió no se pudo realizar. El sitio se aprovisionó y funcionó perfectamente durante todo el proceso.
En su lugar, ahora el módulo rechaza el pedido, porque no hay ningún plan seguro que pueda adivinar: una suposición aprovisionaría hosting en un plan que usted no eligió y es posible que no haya tasado, y — a diferencia de un rechazo, que usted lee inmediatamente— solo saldría a la luz cuando llegara un extracto, si es que llegaba.
Establezca Configuración automática en la opción que prefiera: el módulo es idempotente con respecto al ID de servicio de WHMCS, por lo que un aprovisionamiento reintentado devuelve el mismo sitio en lugar de facturarle un segundo.
Qué hace cada acción de WHMCS
| Acción de WHMCS | Qué ocurre de nuestro lado | | --------------------------- | ---------------------------------------------------------------------------------------- | | Crear | Crea la cuenta de Zinn® del cliente (o reutiliza la que ya tiene) y aprovisiona su sitio. | | Suspender | Pone el sitio en retención por falta de pago. El contenido se conserva; no se elimina nada. | | Reactivar | Libera su retención. | | Terminar | Programa la eliminación del sitio con un período de gracia. La fecha se muestra en el área de cliente. | | Actualización de uso | Actualiza el disco y el ancho de banda en cada servicio, una vez al día. | | Iniciar sesión en el panel de hosting | Abre un enlace de acceso de uso único directamente en el panel de su cliente. | | Cambiar paquete | Actualiza o degrada el servicio. Mueve el paquete y la versión de PHP si el nuevo producto especifica una. | | Cambiar contraseña | Establece la contraseña del administrador de WordPress. La casilla no aparece en pilas que no tienen dicha cuenta. | | Renovar | Confirma que el servicio sigue existiendo. El hosting de Zinn® es continuo, por lo que no hay ningún plazo remoto que ampliar. | | Sincronizar uso / Purgar caché / Realizar copia de seguridad | Botones en la página de servicio de administración. Su cliente obtiene Purgar caché y Realizar copia de seguridad en su área de cliente. | | Pestaña de servicio | Estado, plan, disco, ancho de banda, cualquier eliminación programada y quién aplicó una suspensión. | | Importar | ListAccounts lee cada página, por lo que una importación no puede detenerse silenciosamente en la primera. |
Actualizaciones: quién cobra a quién
A su cliente nunca le factura Zinn®, ni en un pedido ni en una actualización. Usted le factura a través de WHMCS; nosotros le billamos a usted en su extracto mayorista. Por lo tanto, un Cambio de paquete traslada los derechos de su cliente y la línea en su próximo extracto, y no toca ninguna tarjeta: WHMCS ya ha cobrado el dinero de su cliente y ha calculado su propio prorrateo.
El segundo servicio de un cliente. En el mismo plan es otro sitio bajo la asignación de sitios propia de ese plan, y no se concede nada más. En un plan diferente se rechaza: reemplazar el plan activo dejaría uno de los dos servicios sin facturar. Venda ambos en el mismo plan o configure al cliente como un registro de cliente independiente en WHMCS.
Cambiar contraseña existe únicamente para WordPress. El hosting de Zinn® no tiene una sola "contraseña de servicio" —su cliente accede a su panel con el botón de inicio de sesión— y un sitio php o static no tiene cuenta de aplicación que cambiar. WHMCS oculta la casilla por completo en lugar de mostrar una que no puede funcionar.
Tres respuestas que no debe agrupar en dos
- La reactivación puede responder con un rechazo. Eso significa que el sitio fue suspendido por nuestro equipo
- Terminar programa una eliminación, no la ejecuta. La fecha devuelta es
- El disco y el ancho de banda pueden ser desconocidos, y desconocido no es cero. Cuando no hemos podido realizar una
de abusos, no por usted, y ningún panel de facturación puede liberarlo. El mensaje lo indica claramente; muéstreselo a su administrador en lugar de reintentar.
pending_deletion_at y el área de cliente la muestra. Decirle a un cliente que sus datos ya han desaparecido cuando no es así es peor que no decirle nada.
lectura, el módulo deja la cifra tal cual en lugar de escribir 0; de lo contrario, WHMCS le mostraría a su cliente una barra de uso vacía tranquilizadora para un sitio del cual no tenemos ninguna lectura.
Solución de problemas
Probar conexión se supera y el primer pedido falla con un error de permisos. A la clave de API le falta org.create. El módulo tiene que abrir la cuenta del cliente antes de poder crear su sitio.
Un pedido falla indicando que la organización no tiene ningún plan de hosting. Su plan de revendedor no tiene asignación de sitios disponible o todavía no posee ninguno. Consulte Antes de empezar arriba.
Un pedido falla mencionando una pila. El campo Pila del producto está vacío o nombra algo que no compilamos. Establézcalo en wordpress a menos que esté vendiendo otra cosa.
Las cancelaciones están fallando. Asegúrese de que está utilizando la versión de módulo 1.0.0 o posterior. Las compilaciones anteriores no enviaban ninguna confirmación de eliminación y cada terminación era rechazada, lo que dejaba el servicio en funcionamiento y facturando.
Un rechazo que nombra un campo. Nuestros errores de validación nombran el campo y el motivo entre corchetes después del mensaje, p. ej., (php_version: 7.2 no se ofrece en esta línea de producto). Esa es la mitad procesable; la frase que la precede es deliberadamente genérica.
Verifique su descarga
Cada archivo se sirve a través de TLS desde nuestro propio nombre de host y nunca se redirige a un host de terceros. Su suma de comprobación SHA-256 se imprime junto al enlace de descarga en la página de descargas. Compárela después de descargar:
- macOS o Linux:
shasum -a 256 zinn-whmcs-1.0.0.zip - Windows:
certutil -hashfile zinn-whmcs-1.0.0.zip SHA256
¿No utiliza WHMCS?
Existe un módulo de HostBill y un cliente PHP de archivo único para cualquier otra cosa, ambos gratuitos y ambos en la misma página de descargas. Todos los extremos que utilizan los módulos se encuentran en la referencia de la API.
¿Sigues con dudas?
El soporte técnico está incluido en todos los planes y respondemos en tu propio idioma.
Contactar con soporte → Todos los artículos →