Web Hosting

Última atualização: 22 de junho de 2026

Web Hosting é o recurso que coloca um site estático que você compilou em um Space e o serve no endereço {subdomain}.weegloo.app. Tomando uma loja de roupas como exemplo, exibir o site da loja compilada em dailywear-shop.weegloo.app é um único Web Hosting.

A ordem para publicá-lo é a seguinte. Primeiro, empacote o resultado da compilação em ZIP ou tar.gz, envie-o pela Upload API e receba um Upload. Referenciando esse Upload, crie um Web Hosting com POST /web-hostings. Quando o sistema processa os arquivos enviados e sys.state se torna COMPLETED, o site fica acessível por url. Na CMA, Web Hosting é um recurso filho de Space, e seu caminho tem como base /spaces/{spaceId}/web-hostings.

Estrutura do recurso

Abaixo está a resposta de consulta única de um Web Hosting já processado, "Site da loja DailyWear". Junto com sys (propriedades do sistema), ele possui propriedades de corpo (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": "Site da loja DailyWear",
  "description": "Site estático da loja de roupas e acessórios",
  "isSpa": true,
  "subdomain": "dailywear-shop",
  "url": "https://dailywear-shop.weegloo.app"
}

Chaves principais:

  • subdomain: o subdomínio no qual o site será servido. O exemplo acima é dailywear-shop, e o endereço final é dailywear-shop.weegloo.app.
  • url: o endereço do site, acessível após a conclusão do processamento.
  • isSpa: indica se é um aplicativo de página única (SPA). Se true, todas as requisições de caminho são direcionadas para index.html.
  • state: o estado do processamento de implantação dos arquivos enviados. Explicado abaixo em Propriedades do sistema (sys).

Propriedades do sistema (sys)

Todo Web Hosting armazena as propriedades de sistema comuns no objeto sys. space, createdBy e updatedBy entram no formato Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).

PropriedadeTipoDescrição
idstringIdentificador único do recurso. Entra em {webHostingId} dos caminhos de consulta única, modificação e exclusão.
typestringTipo do recurso. Para Web Hosting é sempre "WebHosting".
spaceRefer<Space>O Space ao qual este Web Hosting pertence.
createdByRefer<User>Usuário que criou o recurso.
createdAtstring (date-time)Momento da criação.
updatedByRefer<User>Usuário que modificou o recurso por último.
updatedAtstring (date-time)Momento da última modificação.
statestring (enum)Estado do processamento de implantação. Um dos 4 valores abaixo.
errorstringMotivo, quando o processamento falha. Fica vazio quando não há falha.
totalFileSizeintegerTamanho total dos arquivos enviados (em bytes).
versioninteger (≥1)Versão do recurso. Aumenta de 1 em 1 a cada criação e modificação. É o valor que deve ser enviado em x-weegloo-version nas requisições de modificação e modificação parcial.

state indica a etapa de processamento que implanta os arquivos enviados. Não é o estado de publicação de Content, e Web Hosting não tem o conceito de publicação ou arquivamento. Quando os arquivos são processados e o estado se torna COMPLETED, o site fica acessível por url.

stateSignificado
PENDINGAguardando processamento.
PROCESSINGEm processamento.
COMPLETEDProcessamento concluído. Acessível por url.
FAILEDFalha no processamento. O motivo é registrado em sys.error.

Propriedades de corpo

As propriedades de corpo de Web Hosting são as seguintes.

PropriedadeTipoDescrição
namestring (1~64)Nome do Web Hosting. Obrigatório na criação.
descriptionstring (≤128)Descrição. Opcional.
isSpabooleanIndica se é um aplicativo de página única. Se true, todas as requisições de caminho são direcionadas para index.html (para roteamento de SPA). Obrigatório na criação.
subdomainstring (3~32)Subdomínio de serviço. Padrão ^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$ (letras minúsculas, dígitos, hífen; o início e o fim não podem ser hífen). Obrigatório na criação.
uploadRefer<Upload>Referência que aponta para os arquivos a enviar. É um ZIP ou tar.gz, deve ter index.html na raiz e os ativos devem ser referenciados por caminhos relativos.
urlstringURL de acesso após a conclusão do processamento. Preenchida pelo sistema.
fromPathstringCaminho base da implantação.
customDomainstringDomínio personalizado conectado. Opcional. Explicado abaixo em Domínio personalizado.

Verificação de subdomínio

Antes de criar um Web Hosting, você pode verificar se o subdomínio que pretende usar está livre. Basta passar o subdomínio a verificar na query subdomain em GET /web-hostings/availability?subdomain=....

A resposta tem o formato a seguir; se available for true, esse subdomínio está disponível para uso.

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

Domínio personalizado

Em vez do endereço padrão {subdomain}.weegloo.app, você pode conectar ao Web Hosting um domínio próprio que você possua. O estado do domínio conectado é representado pelo objeto customDomain, no formato { id, domain, dns, cert }. dns e cert são, respectivamente, o estado da verificação de propriedade do domínio (DNS) e da emissão do certificado (cert), ambos no formato { status, txtName, txtContent }. txtName e txtContent são o nome e o valor do registro DNS TXT que deve ser cadastrado no lado do domínio.

{
  "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"
  }
}

Depois de cadastrar o registro TXT no lado do domínio, dispare a verificação com PUT /web-hostings/{webHostingId}/custom-domain/status/verify e consulte o estado atual com GET /web-hostings/{webHostingId}/custom-domain/status. Quando a verificação termina, dns.status e cert.status tornam-se VERIFIED. Se você chamar a consulta de estado em um Web Hosting sem domínio personalizado conectado, a resposta é WGL404001.

API

A URL base de todos os endpoints abaixo é https://cma.weegloo.com/v1, e é necessário um token Bearer que autentique na CMA no cabeçalho Authorization. As operações de modificação e modificação parcial devem enviar também o cabeçalho X-Weegloo-Version (o sys.version do recurso atual) para o controle de concorrência otimista. As requisições de criação e exclusão não têm esse cabeçalho.

  • Upload API: a requisição para enviar o ZIP de arquivos estáticos e receber o Upload usado na criação de Web Hosting.
  • Space: o Space ao qual o Web Hosting pertence.