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:定义内容所遵循的模板(schema)。设定字段构成、类型、是否多语言、是否必填、校验规则。
- Content:创建并修改、发布由 Content Type 生成的一条实际数据。
- Media:管理用于存放上传文件(图片、文档等)的资源。
- Tag:管理用于分类 Content 或 Media 的简短标签。
- 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)
- ServiceLogin:Space 通过 OAuth 让自己产品的 end-user(ServiceUser)注册、登录的配置。
- ServiceUserRole:授予注册到产品的 ServiceUser 的权限集合。适用于 ACMA/ACDA。
- ServiceUser:通过 ServiceLogin 注册的产品 end-user,即会员账号。
部署与集成
- Web Hosting:将构建好的静态网站以
{subdomain}.weegloo.app地址提供服务的资源。 - Webhook:当 Space 中发生事件(例如 Content 的创建、发布)时,向指定外部 URL 发送 HTTP 请求的配置。
