CMA (Content Management API)
最終更新: 2026年7月3日
CMA(Content Management API)は、Space のコンテンツと設定を作成・読み取り・編集・削除する管理 API です。コンテンツスタジオで行う作業(コンテンツの作成、公開、メンバー・ロールの管理、トークンの発行など)をコードからそのまま実行できます。公開されたコンテンツを訪問者に配信する読み取り専用 API は CDA が別途担当します。
ベース URL は https://cma.weegloo.com/v1 です。呼び出しの身元は Weegloo User(Weegloo プラットフォームアカウント)です。サーバー・CI・スクリプトでは Personal Access Token を、ブラウザの管理 UI ではコンテンツスタジオのログインフローが発行したトークンを Bearer として送ります。製品に加入した会員(ServiceUser)の身元で動作する ACMA とはトークンに互換性がありません。
共通動作
以下は CMA リソース全般に適用されます。各リソースのページはこの動作を前提とし、自身固有の内容のみを扱います。
- フル CRUD。 作成(POST)・取得(GET)・編集(PUT/PATCH)・削除(DELETE)をすべてサポートします。読み取り専用の CDA と異なり、書き込みと公開はここで行われます。
- 編集にはバージョンヘッダーが必要です。 リソースを編集するときは、
x-weegloo-versionヘッダーに現在のリソースのsys.versionの値を載せる必要があります。他の人が先に編集したバージョンを上書きしないようにするための仕組みです。 - 部分編集は
PATCH。 一部のフィールドだけを変更するときは、RFC 6902 JSON Patch を本文としてPATCHを送ります。このとき、リクエストのContent-Typeはapplication/json-patch+jsonです。本文全体で置き換えるときはPUTを使います。 - 公開して初めて配信されます。 Content・Media・Content Type は、CMA で作成または編集したあとに公開(Publish)して初めて CDA に配信されます。公開前の Draft や未公開の変更分は、コンテンツスタジオと CMA では見えますが、配信経路には乗りません。
- 応答のメディアタイプ。 応答の
Content-Typeはapplication/vnd.com.weegloo.v1+json;charset=UTF-8です。リクエストにAccept: application/jsonを送るとネゴシエーションに失敗することがあるため、Acceptを省略するか、同じ vendor タイプを使います。
一覧取得のパラメータ(limit・order・include・select・フィルター・カーソルページネーション)、sys の構造、エラーコードといった共通規約は、共通クエリパラメータ・システムプロパティ (sys)・規約・エラーで扱います。
リソース
コンテンツ
- Content Type: コンテンツが従う型(スキーマ)を定義します。フィールド構成・タイプ・多言語対応の可否・必須の可否・バリデーションルールを定めます。
- Content: Content Type から作り出した実際のデータ 1 件を作成・編集・公開します。
- Media: アップロードしたファイル(画像・ドキュメントなど)を収めるリソースを管理します。
- Tag: Content や Media を分類する短いラベルを管理します。
- Locale: Space がサポートする言語設定(
code・デフォルト可否・fallbackCode)を管理します。
空間と組織、権限
- Organization: Space を収める最上位の入れ物です。サブスクリプションプラン(
plan)とメンバーシップがこのレベルで管理されます。 - Organization Membership: ある人がどの Organization にどの権限で属しているかを表し、メール招待で新しいメンバーを迎え入れます。
- Space: 1 つのプロジェクトのコンテンツがすべて収められる作業空間です。
- Space Membership: あるユーザーがどの Space にどの SpaceRole で属しているかを表します。
- SpaceRole: Space のメンバーに与える権限のまとまりです。リソースごとの操作(読み取り・作成・編集・削除・公開)と範囲フィルターを収めます。
トークン
- Personal Access Token: Weegloo User がサーバー・CI・スクリプトで自身の権限により CMA・Upload・CDA を呼び出すときに使う長期トークンです。
- Delivery Access Token: CDA で公開コンテンツを読み取るときに使う読み取り用トークンです。発行時に SpaceRole 1 つにバインドして読み取り範囲を定めます。
製品会員(ServiceUser)
- ServiceLogin: Space が自社製品の end-user(ServiceUser)を OAuth で加入・ログインさせる設定です。
- ServiceUserRole: 製品に加入した ServiceUser に与える権限のまとまりです。ACMA/ACDA に適用されます。
- ServiceUser: ServiceLogin で加入した製品の end-user、つまり会員アカウントです。
配信と連携
- Web Hosting: ビルドした静的 Web サイトを
{subdomain}.weegloo.appのアドレスで提供するリソースです。 - Webhook: Space で何かが起きたとき(例: Content の作成・公開)に、指定した外部 URL へ HTTP リクエストを送る設定です。
