Ir al contenido

Marcas

Una sola instalación de OPanel puede servir tu propia marca de plataforma más cualquier cantidad de marcas revendedoras — negocios de hosting completamente blanqueados que corren sobre tu infraestructura, cada uno con su propio nombre, apariencia, dominios, personal, clientes, planes y precios y, opcionalmente, su propia cuenta de Stripe. Hay un solo nivel de reventa: la marca de un revendedor no puede crear marcas propias.

El personal de la plataforma crea una marca en Admin → Brands o con POST /api/v1/brands, con un slug, un nombre y, opcionalmente, un dominio de panel, un dominio de SSH, un email de soporte y datos de envío.

  • Dominio del panel: apuntá su DNS a tus servidores edge. El edge sirve el panel ahí con su propio certificado, HSTS y límites de tamaño, emitido automáticamente en la primera solicitud. Queda reservado en el momento en que se fija — un cliente nunca puede agregarlo, ni un wildcard que lo cubra, como dominio propio.
  • Dominio de SSH: lo que ven los clientes de la marca para SFTP y SSH.
  • Límites: maxCustomers y maxSites limitan lo que la marca puede crear; 0 significa sin límite. Solo la plataforma puede aumentarlos.

Retirar una marca (POST /api/v1/brands/{id}/retire) libera sus dominios y deja de aceptar clientes nuevos; se rechaza mientras alguno de sus clientes siga abierto, y es definitivo.

El propio personal administrador de una marca puede cambiar su nombre, dirección de soporte, nombre de envío, colores, logo, logo oscuro y favicon — todo lo que ve un cliente. Los dominios, la dirección de envío, los límites y la cuenta de Stripe quedan del lado de la plataforma, porque afectan el ruteo, los certificados, la reputación de entrega de correo y el dinero.

Cada email que reciben los clientes de una marca sale con el nombre, logo y colores de esa marca, desde su propia dirección de envío, con respuesta a su propia dirección de soporte. Las páginas de suspensión y mantenimiento de cada sitio llevan la misma identidad.

Una persona es personal de la plataforma o personal de exactamente una marca — nunca ambas cosas — y el personal de una marca es miembro únicamente de los clientes de esa marca.

Área Admin de marca Soporte de marca
Clientes de la marca: detalles, miembros, cierre/reapertura modificar leer
Sus sitios, dominios, bases de datos, archivos, terminal, cron, backups, WordPress, jobs, registro de auditoría modificar (como owner del cliente) leer
Suspender/reactivar los sitios y suscripciones de la marca sí —
Planes, precios y política de actualización de WordPress de la marca modificar leer
Presentación y personal de la marca modificar leer

Exclusivo de la plataforma, nunca disponible para el personal de ninguna marca: servidores, pools, ubicación, movimientos, despliegues, bloqueo de IPs en todo el clúster, configuración de malware, destinos de backup, configuración de email y de facturación de la plataforma, personal de la plataforma, y otras marcas. Todo listado (clientes, sitios, suscripciones, planes, jobs, registro de auditoría) que ve el personal de una marca queda automáticamente limitado a su propia marca.

Invitá personal en Admin → Brands → [marca] → Staff o con POST /api/v1/brands/{id}/staff. Una dirección de email desconocida se convierte en una cuenta invitada con un enlace en la propia identidad de la marca; reenvialo en cualquier momento con POST /api/v1/brands/{id}/staff/{userId}/invitation.

Antes del inicio de sesión, la marca de una solicitud es la que corresponde al dominio de panel al que se envió (o tu marca de plataforma, para cualquier otro dominio) — eso decide la página de inicio de sesión, los planes que se muestran al darse de alta y el checkout. En el dominio propio de un revendedor, una solicitud nunca puede hacer más de lo que podría hacer el propio personal de esa marca: un administrador de la plataforma que inicia sesión en el dominio de un revendedor no ve ahí nada de la administración de la plataforma. El personal de la plataforma siempre inicia sesión en los dominios propios de la plataforma.

Por defecto, una marca factura a través de la cuenta de Stripe de tu plataforma. Para darle a una marca una cuenta propia, el personal de la plataforma configura PATCH /api/v1/brands/{id}/billing con su clave secreta de Stripe y su secreto de webhook. Desde ese momento, el checkout, el portal de cliente y toda sincronización de suscripciones de esa marca corren contra su propia cuenta de Stripe, con su propio endpoint de webhook (https://<dominio del panel de la marca>/api/v1/billing/stripe/webhook/<ID de la marca> — se muestra en la página de Pagos de la marca). Cada cliente registra qué cuenta lo factura, así que un evento de webhook solo toca a los clientes de esa misma cuenta.

Ver Facturación para el ciclo de vida que siguen las suscripciones de cualquier marca.