Web Hosting

最終更新: 2026年6月22日

Web Hosting は、ビルドした静的ウェブサイトを Space にアップロードし、{subdomain}.weegloo.app というアドレスで配信するリソースです。アパレルショッピングモールを例にすると、ビルドしたショッピングモールサイトを dailywear-shop.weegloo.app として公開するのが Web Hosting 1 件にあたります。

アップロードの手順は次のとおりです。まずビルド結果を ZIP または tar.gz にまとめ、Upload API でアップロードして Upload を 1 つ取得します。その Upload を参照して POST /web-hostingsWeb Hosting を作成します。システムがアップロードされたファイルを処理し、sys.stateCOMPLETED になると url でサイトにアクセスできます。CMA において Web HostingSpace の下位リソースであり、パスは /spaces/{spaceId}/web-hostings を基準とします。

リソース構造

次は処理が完了した Web Hosting「DailyWear ショッピングモールサイト」の単一取得レスポンスです。sys(システムプロパティ)とともに本体プロパティ(namedescriptionisSpasubdomainurl)を持ちます。

{
  "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": "DailyWear ショッピングモールサイト",
  "description": "衣類・雑貨ショップの静的サイト",
  "isSpa": true,
  "subdomain": "dailywear-shop",
  "url": "https://dailywear-shop.weegloo.app"
}

主なキー:

  • subdomain: サイトが配信されるサブドメインです。上の例は dailywear-shop であり、最終的なアドレスは dailywear-shop.weegloo.app になります。
  • url: 処理が完了したあとにアクセスできるサイトアドレスです。
  • isSpa: シングルページアプリ(SPA)かどうかです。true の場合、すべてのパスリクエストを index.html に送ります。
  • state: アップロードされたファイルのデプロイ処理状態です。下の システムプロパティ (sys) で説明します。

システムプロパティ (sys)

すべての Web Hosting は共通のシステムプロパティを sys オブジェクトに格納します。spacecreatedByupdatedByRefer の形({ "sys": { "id", "type": "Refer", "targetType" } })で入ります。

プロパティタイプ説明
idstringリソースの一意な識別子。単一取得・更新・削除パスの {webHostingId} に入ります。
typestringリソースの種類。Web Hosting は常に "WebHosting"
spaceRefer<Space>この Web Hosting が属する Space
createdByRefer<User>作成したユーザー。
createdAtstring (date-time)作成日時。
updatedByRefer<User>最後に更新したユーザー。
updatedAtstring (date-time)最終更新日時。
statestring (enum)デプロイ処理状態。下の 4 つのいずれか。
errorstring処理失敗時のその理由。失敗でない場合は空です。
totalFileSizeintegerアップロードされたファイルの合計サイズ(バイト)。
versioninteger (≥1)リソースのバージョン。作成・更新のたびに 1 ずつ上がります。更新・部分更新リクエストに x-weegloo-version として載せる値です。

state は、アップロードされたファイルをデプロイする処理段階を表します。Content の公開状態ではなく、Web Hosting には公開やアーカイブの概念はありません。ファイルを処理して COMPLETED になると url でサイトにアクセスできます。

state意味
PENDING処理待ち。
PROCESSING処理中。
COMPLETED処理完了。url でアクセス可能です。
FAILED処理失敗。理由は sys.error に格納されます。

本体プロパティ

Web Hosting の本体プロパティは次のとおりです。

プロパティタイプ説明
namestring (1~64)Web Hosting の名前。作成時に必須。
descriptionstring (≤128)説明。任意。
isSpabooleanシングルページアプリかどうか。true の場合、すべてのパスリクエストを index.html に送ります(SPA ルーティング用)。作成時に必須。
subdomainstring (3~32)配信サブドメイン。パターン ^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$(小文字・数字・ハイフン、先頭と末尾はハイフン不可)。作成時に必須。
uploadRefer<Upload>アップロードするファイルを指す参照。ZIP または tar.gz であり、ルートに index.html があり、アセットは相対パスで参照する必要があります。
urlstring処理完了後のアクセス URL。システムが設定します。
fromPathstringデプロイの基準パス。
customDomainstring接続したカスタムドメイン。任意。下の カスタムドメイン で説明します。

サブドメインの確認

Web Hosting を作成する前に、使おうとしているサブドメインが空いているかを確認できます。GET /web-hostings/availability?subdomain=... に確認したいサブドメインを subdomain クエリで渡します。

レスポンスは次の形であり、availabletrue であればそのサブドメインを使用できます。

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

カスタムドメイン

デフォルトのアドレスである {subdomain}.weegloo.app の代わりに、自身が保有するドメインを Web Hosting に接続できます。接続したドメインの状態は customDomain オブジェクトで表現され、{ id, domain, dns, cert } の形です。dnscert はそれぞれドメイン所有権の検証(DNS)と証明書の発行(cert)の状態であり、どちらも { status, txtName, txtContent } の形です。txtNametxtContent は、ドメイン側に登録する必要のある DNS TXT レコードの名前と値です。

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

ドメイン側に TXT レコードを登録したあと PUT /web-hostings/{webHostingId}/custom-domain/status/verify で検証をトリガーし、現在の状態は GET /web-hostings/{webHostingId}/custom-domain/status で取得します。検証が完了すると dns.statuscert.statusVERIFIED になります。カスタムドメインを接続していない Web Hosting に状態取得を呼び出すと WGL404001 で応答します。

API

以下のすべてのエンドポイントの基準 URL は https://cma.weegloo.com/v1 であり、Authorization ヘッダーに CMA を認証する Bearer トークンが必要です。更新・部分更新は楽観的同時実行制御のために X-Weegloo-Version ヘッダー(現在のリソースの sys.version)を併せて送る必要があります。作成・削除リクエストにはこのヘッダーはありません。

  • Upload API: 静的ファイルの ZIP をアップロードし、Web Hosting 作成に使う Upload を取得するリクエスト。
  • Space: Web Hosting が属する Space