帮助中心API参考文档 › 内容管理API
API REFERENCE

内容管理 API

上传、更新、查询和管理翠鸟内容资源,支持文章、PDF、视频等多种格式

端点一览

所有内容管理相关端点均挂载在 /v1/resources 路径下,需在请求头中携带有效的 API Key。

方法路径描述
GET/v1/resources列出当前账号下所有内容资源,支持分页与过滤
GET/v1/resources/{id}获取单条内容资源详情
POST/v1/resources创建并上传新内容资源
PUT/v1/resources/{id}更新指定内容资源的元数据或文件
DELETE/v1/resources/{id}删除指定内容资源(不可逆)
POST/v1/resources/{id}/publish将草稿状态内容发布上线
POST/v1/resources/{id}/archive将内容归档(停止追踪,保留数据)
所有请求需在 Header 中携带 Authorization: Bearer <YOUR_API_KEY>,并设置 Content-Type: application/json

上传内容示例

通过 POST /v1/resources 创建一条新内容资源。对于文件类内容(PDF、视频),需使用 multipart/form-data 格式上传。

请求示例(JSON元数据)

# 创建一篇文章类内容 curl -X POST https://api.cuiniao.com/v1/resources \ -H "Authorization: Bearer ck_live_xxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "title": "2024年B2B内容营销趋势报告", "type": "article", "description": "深度解析B2B内容营销最新趋势与实践案例", "tags": ["B2B", "内容营销", "趋势报告"], "cta_id": "cta_abc123", "track_visitors": true }'

响应示例

{ "id": "res_7fK2mPqLxNz", "title": "2024年B2B内容营销趋势报告", "type": "article", "status": "draft", "url": "https://c.cuiniao.com/r/7fK2mPqLxNz", "created_at": "2024-03-15T08:30:00Z", "updated_at": "2024-03-15T08:30:00Z", "track_visitors": true, "cta_id": "cta_abc123" }

上传 PDF 文件

# 上传 PDF 文件类内容 curl -X POST https://api.cuiniao.com/v1/resources \ -H "Authorization: Bearer ck_live_xxxxxxxxxxxx" \ -F "file=@/path/to/report.pdf" \ -F "title=产品白皮书2024" \ -F "type=pdf" \ -F "track_visitors=true"

内容状态说明

每条内容资源都有一个生命周期状态,决定其对外可见性与追踪行为。

状态值说明访客可访问追踪启用
draft 草稿,内容尚未发布 否(仅预览链接可访问)
published 已发布,正常对外展示
archived 已归档,停止追踪但数据保留 否(原链接返回404)

使用 POST /v1/resources/{id}/publish 将草稿发布;使用 POST /v1/resources/{id}/archive 归档已发布内容。

错误码

API 使用标准 HTTP 状态码表示请求结果,错误响应体包含 codemessage 字段。

HTTP 状态错误码描述
400invalid_params请求参数格式错误或缺少必填字段
401unauthorizedAPI Key 无效或已过期
403forbidden当前 Key 无权限操作该资源
404not_found指定的内容资源不存在
413file_too_large上传文件超出大小限制(免费版 50MB,付费版 500MB)
429rate_limited请求频率超限,请稍后重试
500server_error服务器内部错误,请联系支持团队
# 错误响应示例 { "error": { "code": "not_found", "message": "Resource with id 'res_xxx' does not exist.", "request_id": "req_9mKp2xLqRt" } }