Web Hosting

Última actualización: 22 de junio de 2026

Web Hosting es el recurso que sube un sitio web estático ya compilado a un Space y lo sirve en la dirección {subdomain}.weegloo.app. Tomando como ejemplo una tienda de ropa online, publicar el sitio compilado de la tienda en dailywear-shop.weegloo.app constituye un Web Hosting.

El orden para subirlo es el siguiente. Primero se empaqueta el resultado de la compilación en ZIP o tar.gz y se sube mediante la Upload API para obtener un Upload. Después se crea un Web Hosting con POST /web-hostings referenciando ese Upload. Cuando el sistema procesa los archivos subidos y sys.state pasa a COMPLETED, se puede acceder al sitio a través de url. En la CMA, Web Hosting es un recurso subordinado del Space y su ruta se basa en /spaces/{spaceId}/web-hostings.

Estructura del recurso

A continuación se muestra la respuesta de consulta individual del Web Hosting "Sitio de la tienda DailyWear" ya procesado. Junto con sys (propiedades del sistema), tiene propiedades de cuerpo (name, description, isSpa, subdomain, url).

{
  "sys": {
    "id": "3trmXRM3RqbgSnifyg7PWeb01Examp",
    "type": "WebHosting",
    "space": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
    "createdBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
    "updatedBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
    "createdAt": "2026-06-18T11:40:00.000Z",
    "updatedAt": "2026-06-18T11:40:05.000Z",
    "state": "COMPLETED",
    "totalFileSize": 245786,
    "version": 3
  },
  "name": "Sitio de la tienda DailyWear",
  "description": "Sitio estático de la tienda de ropa y accesorios",
  "isSpa": true,
  "subdomain": "dailywear-shop",
  "url": "https://dailywear-shop.weegloo.app"
}

Claves principales:

  • subdomain: el subdominio en el que se servirá el sitio. En el ejemplo anterior es dailywear-shop, y la dirección final será dailywear-shop.weegloo.app.
  • url: la dirección del sitio a la que se puede acceder una vez finalizado el procesamiento.
  • isSpa: indica si es una aplicación de página única (SPA). Si es true, todas las solicitudes de ruta se redirigen a index.html.
  • state: el estado de procesamiento del despliegue de los archivos subidos. Se explica más abajo en Propiedades del sistema (sys).

Propiedades del sistema (sys)

Todo Web Hosting incluye las propiedades del sistema comunes en el objeto sys. space, createdBy y updatedBy se incluyen con la forma Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).

PropiedadTipoDescripción
idstringIdentificador único del recurso. Se incluye en {webHostingId} de las rutas de consulta individual, modificación y eliminación.
typestringTipo de recurso. Para Web Hosting siempre es "WebHosting".
spaceRefer<Space>El Space al que pertenece este Web Hosting.
createdByRefer<User>El usuario que lo creó.
createdAtstring (date-time)Fecha y hora de creación.
updatedByRefer<User>El último usuario que lo modificó.
updatedAtstring (date-time)Fecha y hora de la última modificación.
statestring (enum)Estado de procesamiento del despliegue. Uno de los 4 siguientes.
errorstringEl motivo en caso de fallo de procesamiento. Si no hay fallo, está vacío.
totalFileSizeintegerTamaño total de los archivos subidos (en bytes).
versioninteger (≥1)Versión del recurso. Aumenta en 1 con cada creación o modificación. Es el valor que debe enviarse como x-weegloo-version en las solicitudes de modificación y modificación parcial.

state indica la fase de procesamiento del despliegue de los archivos subidos. No es el estado de publicación de un Content; Web Hosting no tiene el concepto de publicación ni de archivado. Cuando los archivos se procesan y el estado pasa a COMPLETED, se accede al sitio a través de url.

stateSignificado
PENDINGEn espera de procesamiento.
PROCESSINGEn procesamiento.
COMPLETEDProcesamiento completado. Accesible a través de url.
FAILEDFallo de procesamiento. El motivo se incluye en sys.error.

Propiedades del cuerpo

Las propiedades del cuerpo de Web Hosting son las siguientes.

PropiedadTipoDescripción
namestring (1~64)Nombre del Web Hosting. Obligatorio al crear.
descriptionstring (≤128)Descripción. Opcional.
isSpabooleanIndica si es una aplicación de página única. Si es true, todas las solicitudes de ruta se redirigen a index.html (para enrutamiento SPA). Obligatorio al crear.
subdomainstring (3~32)Subdominio del servicio. Patrón ^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$ (minúsculas, números y guiones; el primer y último carácter no pueden ser guion). Obligatorio al crear.
uploadRefer<Upload>Referencia que apunta a los archivos a subir. Es un ZIP o tar.gz que debe contener index.html en la raíz y referenciar los recursos mediante rutas relativas.
urlstringURL de acceso tras finalizar el procesamiento. La rellena el sistema.
fromPathstringRuta base del despliegue.
customDomainstringDominio personalizado vinculado. Opcional. Se explica más abajo en Dominio personalizado.

Comprobación del subdominio

Antes de crear un Web Hosting se puede comprobar si el subdominio que se quiere usar está disponible. Basta con pasar el subdominio a comprobar como parámetro de consulta subdomain en GET /web-hostings/availability?subdomain=....

La respuesta tiene la siguiente forma; si available es true, ese subdominio se puede usar.

{ "subdomain": "dailywear-shop", "available": true }

Dominio personalizado

En lugar de la dirección por defecto {subdomain}.weegloo.app, se puede vincular a un Web Hosting un dominio propio. El estado del dominio vinculado se representa con el objeto customDomain, con la forma { id, domain, dns, cert }. dns y cert son, respectivamente, el estado de la verificación de propiedad del dominio (DNS) y el de la emisión del certificado (cert), y ambos tienen la forma { status, txtName, txtContent }. txtName y txtContent son el nombre y el valor del registro DNS TXT que hay que dar de alta en el lado del dominio.

{
  "id": 1024,
  "domain": "shop.dailywear.example",
  "dns": {
    "status": "PENDING",
    "txtName": "_weegloo.shop.dailywear.example",
    "txtContent": "weegloo-verify=3trmXRM3RqbgSnifyg7PWebVerifyEx"
  },
  "cert": {
    "status": "PENDING",
    "txtName": "_acme-challenge.shop.dailywear.example",
    "txtContent": "acme-verify=3trmXRM3RqbgSnifyg7PWebCertEx"
  }
}

Tras dar de alta el registro TXT en el lado del dominio, se activa la verificación con PUT /web-hostings/{webHostingId}/custom-domain/status/verify y se consulta el estado actual con GET /web-hostings/{webHostingId}/custom-domain/status. Cuando finaliza la verificación, dns.status y cert.status pasan a VERIFIED. Si se llama a la consulta de estado en un Web Hosting que no tiene un dominio personalizado vinculado, responde con WGL404001.

API

La URL base de todos los endpoints siguientes es https://cma.weegloo.com/v1, y se requiere un token Bearer que autentique en la CMA en la cabecera Authorization. Las modificaciones y modificaciones parciales deben enviar también la cabecera X-Weegloo-Version (el sys.version del recurso actual) para el control de concurrencia optimista. Las solicitudes de creación y eliminación no llevan esta cabecera.

  • Upload API: la solicitud para subir el ZIP de archivos estáticos y obtener el Upload que se usa al crear un Web Hosting.
  • Space: el Space al que pertenece el Web Hosting.