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:定义内容所遵循的模板(schema)。设定字段构成、类型、是否多语言、是否必填、校验规则。
  • Content:创建并修改、发布由 Content Type 生成的一条实际数据。
  • Media:管理用于存放上传文件(图片、文档等)的资源。
  • Tag:管理用于分类 ContentMedia 的简短标签。
  • Locale:管理 Space 所支持的语言配置(code、是否默认、fallbackCode)。

空间与组织、权限

  • Organization:容纳众多 Space 的最顶层容器。订阅套餐(plan)与成员资格在此层级管理。
  • Organization Membership:表示某人以何种权限归属于某个 Organization,并通过邮件邀请加入新成员。
  • Space:容纳一个项目全部内容的工作空间。
  • Space Membership:表示某用户以哪些 SpaceRole 归属于某个 Space
  • SpaceRole:授予 Space 成员的权限集合。包含按资源划分的行为(读取、创建、编辑、删除、发布)与范围过滤。

令牌

  • Personal Access Token:Weegloo User 在服务器、CI、脚本中以自身权限调用 CMA、Upload、CDA 时所使用的长期令牌。
  • Delivery Access Token:在 CDA 中读取已发布内容时所使用的只读令牌。签发时绑定到一个 SpaceRole 以确定读取范围。

产品会员(ServiceUser)

  • ServiceLoginSpace 通过 OAuth 让自己产品的 end-user(ServiceUser)注册、登录的配置。
  • ServiceUserRole:授予注册到产品的 ServiceUser 的权限集合。适用于 ACMA/ACDA。
  • ServiceUser:通过 ServiceLogin 注册的产品 end-user,即会员账号。

部署与集成

  • Web Hosting:将构建好的静态网站以 {subdomain}.weegloo.app 地址提供服务的资源。
  • Webhook:当 Space 中发生事件(例如 Content 的创建、发布)时,向指定外部 URL 发送 HTTP 请求的配置。
  • CDA:向访问者交付已发布内容的只读 API。
  • ACMA:以会员(ServiceUser)身份执行相同管理操作的版本。
  • Upload:上传文件后将其结果衔接到 Media 创建的上传 API。