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-hostings で Web Hosting を作成します。システムがアップロードされたファイルを処理し、sys.state が COMPLETED になると url でサイトにアクセスできます。CMA において Web Hosting は Space の下位リソースであり、パスは /spaces/{spaceId}/web-hostings を基準とします。
リソース構造
次は処理が完了した Web Hosting「DailyWear ショッピングモールサイト」の単一取得レスポンスです。sys(システムプロパティ)とともに本体プロパティ(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": "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 オブジェクトに格納します。space・createdBy・updatedBy は Refer の形({ "sys": { "id", "type": "Refer", "targetType" } })で入ります。
| プロパティ | タイプ | 説明 |
|---|---|---|
id | string | リソースの一意な識別子。単一取得・更新・削除パスの {webHostingId} に入ります。 |
type | string | リソースの種類。Web Hosting は常に "WebHosting"。 |
space | Refer<Space> | この Web Hosting が属する Space。 |
createdBy | Refer<User> | 作成したユーザー。 |
createdAt | string (date-time) | 作成日時。 |
updatedBy | Refer<User> | 最後に更新したユーザー。 |
updatedAt | string (date-time) | 最終更新日時。 |
state | string (enum) | デプロイ処理状態。下の 4 つのいずれか。 |
error | string | 処理失敗時のその理由。失敗でない場合は空です。 |
totalFileSize | integer | アップロードされたファイルの合計サイズ(バイト)。 |
version | integer (≥1) | リソースのバージョン。作成・更新のたびに 1 ずつ上がります。更新・部分更新リクエストに x-weegloo-version として載せる値です。 |
state は、アップロードされたファイルをデプロイする処理段階を表します。Content の公開状態ではなく、Web Hosting には公開やアーカイブの概念はありません。ファイルを処理して COMPLETED になると url でサイトにアクセスできます。
state | 意味 |
|---|---|
PENDING | 処理待ち。 |
PROCESSING | 処理中。 |
COMPLETED | 処理完了。url でアクセス可能です。 |
FAILED | 処理失敗。理由は sys.error に格納されます。 |
本体プロパティ
Web Hosting の本体プロパティは次のとおりです。
| プロパティ | タイプ | 説明 |
|---|---|---|
name | string (1~64) | Web Hosting の名前。作成時に必須。 |
description | string (≤128) | 説明。任意。 |
isSpa | boolean | シングルページアプリかどうか。true の場合、すべてのパスリクエストを index.html に送ります(SPA ルーティング用)。作成時に必須。 |
subdomain | string (3~32) | 配信サブドメイン。パターン ^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$(小文字・数字・ハイフン、先頭と末尾はハイフン不可)。作成時に必須。 |
upload | Refer<Upload> | アップロードするファイルを指す参照。ZIP または tar.gz であり、ルートに index.html があり、アセットは相対パスで参照する必要があります。 |
url | string | 処理完了後のアクセス URL。システムが設定します。 |
fromPath | string | デプロイの基準パス。 |
customDomain | string | 接続したカスタムドメイン。任意。下の カスタムドメイン で説明します。 |
サブドメインの確認
Web Hosting を作成する前に、使おうとしているサブドメインが空いているかを確認できます。GET /web-hostings/availability?subdomain=... に確認したいサブドメインを subdomain クエリで渡します。
レスポンスは次の形であり、available が true であればそのサブドメインを使用できます。
{ "subdomain": "dailywear-shop", "available": true }カスタムドメイン
デフォルトのアドレスである {subdomain}.weegloo.app の代わりに、自身が保有するドメインを Web Hosting に接続できます。接続したドメインの状態は customDomain オブジェクトで表現され、{ id, domain, dns, cert } の形です。dns と cert はそれぞれドメイン所有権の検証(DNS)と証明書の発行(cert)の状態であり、どちらも { status, txtName, txtContent } の形です。txtName・txtContent は、ドメイン側に登録する必要のある 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.status・cert.status が VERIFIED になります。カスタムドメインを接続していない 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。
