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-Typeapplication/json-patch+json です。本文全体で置き換えるときは PUT を使います。
  • 公開して初めて配信されます。 ContentMediaContent Type は、CMA で作成または編集したあとに公開(Publish)して初めて CDA に配信されます。公開前の Draft や未公開の変更分は、コンテンツスタジオと CMA では見えますが、配信経路には乗りません。
  • 応答のメディアタイプ。 応答の Content-Typeapplication/vnd.com.weegloo.v1+json;charset=UTF-8 です。リクエストに Accept: application/json を送るとネゴシエーションに失敗することがあるため、Accept を省略するか、同じ vendor タイプを使います。

一覧取得のパラメータ(limitorderincludeselect・フィルター・カーソルページネーション)、sys の構造、エラーコードといった共通規約は、共通クエリパラメータシステムプロパティ (sys)規約エラーで扱います。

リソース

コンテンツ

  • Content Type: コンテンツが従う型(スキーマ)を定義します。フィールド構成・タイプ・多言語対応の可否・必須の可否・バリデーションルールを定めます。
  • Content: Content Type から作り出した実際のデータ 1 件を作成・編集・公開します。
  • Media: アップロードしたファイル(画像・ドキュメントなど)を収めるリソースを管理します。
  • Tag: ContentMedia を分類する短いラベルを管理します。
  • 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 リクエストを送る設定です。
  • CDA: 公開されたコンテンツを訪問者に配信する読み取り専用 API。
  • ACMA: 同じ管理作業を会員(ServiceUser)の身元で実行するバージョン。
  • Upload: ファイルをアップロードしたあと、その結果を Media 作成につなげるアップロード API。