CDA (Content Delivery API)
最后更新:2026年7月3日
CDA(Content Delivery API)是向访问者交付已发布的 Content、Media 等内容的只读 API。运营 Space 的一方在内容工作室或 CMA 中创建并发布内容后,网站、应用便通过 CDA 读取该发布版并展示到界面上。创建、修改、发布由 CMA 负责,而非 CDA。
基础 URL 为 https://cda.weegloo.com/v1。认证通常使用 least-privilege 的 DeliveryAccessToken,即只持有所需范围、可安全用于公开浏览器交付的令牌。虽然也可以用 Weegloo User Bearer 令牌进行读取,但其权限对于浏览器分发过大,因此推荐使用 DeliveryAccessToken。
通用行为
以下内容适用于 CDA 的所有资源。各资源页面以这些行为为前提,仅讲解各自的专有内容。
-
只读。所有端点均为查询(GET)。写入与发布属于 CMA 的职责。
-
仅显示已发布内容。Content、Media、Content Type 仅交付已发布的快照。CMA 中的 Draft 或未发布的变更不会出现在 CDA 中。
-
发布快照
sys。上述三种资源的sys不含用于管理的version、status、publish,只有指向发布时刻版本的revision。(Locale 不是发布对象,而是配置资源,因此照常保留version。) -
用
locale选择语言。Content、Media 的查询通过locale查询参数决定以哪种语言返回。共有三种行为方式。- 像
locale=ko-KR那样给出代码时,会将fields以该 locale 的单一值返回(而非 locale 映射)。若没有值且 Fallback 也无法触达,则该字段为空或为null。 - 省略时,以 Space 的默认 Locale 按相同方式返回。
- 给出
locale=*时,不选定单一语言,而是直接返回包含所有 locale 值的映射({ apiName: { locale: value } })。
在以单一语言返回的前两种情况下,响应中会附带告知实际所用 locale 的
x-weegloo-locale头(locale=*时不附带)。(Content Type 是模板的 schema,不接受locale;Sync 不选定语言,直接交付 locale 映射。) - 像
-
作者信息的暴露。Content 的
createdBy、updatedBy仅在其 Content Type 的publishWithAuthor开启时才会交付。Media 始终省略作者信息。
资源
- Content Type:查询已发布的 Content Type(内容的模板与字段定义)。
- Content:以全量列表、单条、按 Content Type 等方式查询已发布的 Content。
- Media:查询已发布的 Media(文件资产)及其交付 URL。
- Locale:查询 Space 所支持的语言配置(
code、是否默认、fallbackCode)。属于配置资源,因此sys中带有version。 - Sync:仅获取自上次同步以来发生变更和删除内容的增量同步。值按 locale 映射原样交付,不选定单一语言。
相关文档
- CMA Content Type:用于创建内容的模板及内容,并进行修改、发布的管理 API。
- ACDA:以会员(ServiceUser)身份执行相同交付的版本。
