VVCMS5 Logo
首页 / 开发文档 / 模板与接口
模板与接口

模板与接口:API 数据入库

给外部系统(采集/同步/三方内容源)提供文章入库能力。

2026-03-04 123

外部文章入库接口(api_content_post)

1. 接口说明

  • 用途:给外部系统(采集/同步/三方内容源)提供文章入库能力。
  • 鉴权方式:通过请求头 XToken 传入外部入库用户令牌。该 Token 存储在 user 表的 token 字段中。后端会校验:XToken 是否能在 user.token 中匹配到用户;匹配成功才允许入库。
  • 栏目处理:请求参数中通过 column_name 指定栏目名称。后端会先按栏目名称查询栏目。若栏目不存在,则自动新建栏目,并取新建栏目的 id 作为 column_id 进行内容入库。

2. Token 获取/刷新

外部入库用户令牌由登录后台的用户自行刷新。

  • 刷新 Token:POST /api/sys/resetoken
  • 获取用户信息(包含 token 字段):GET /api/sys/userinfo
注:管理后台页面 /system/user-center 已提供 刷新 与 复制 功能。

3. 外部入库接口

3.1 请求

  • Method:POST
  • URL:/api/api_content_post
  • Headers:Content-Type: application/json XToken: <外部入库用户令牌>

3.2 请求体(JSON)

该接口整体复用后台“创建内容”的数据模型(CreateContentReq),并额外增加一个栏目字段 column_name

3.2.1 字段列表

  • column_name (string, required)栏目名称。后端会按此名称查询栏目,不存在则自动创建。

其余字段为内容字段(与后台新增内容一致,对应 CreateContentReq)。字段如下:

  • name (string)名称(可选)。
  • title (string, required)标题。
  • origin (string)来源。
  • description (string)描述。
  • keywords (string)关键字。
  • tags (string)标签(字符串形式,格式与后台一致)。
  • tag_ids (array[number])标签 ID 列表。注:可与 tags 同时使用,后端会合并处理。
  • img (string)缩略图/封面图。注:不传时后端会尝试从正文提取首图或使用默认封面。
  • albums (string)相册(字符串形式,格式与后台一致)。
  • content (string)内容正文(HTML 字符串)。
  • ext (string)扩展字段(JSON 字符串)。
  • price (number)价格。
  • status (number)状态。说明:后端沿用后台逻辑,1 通常表示发布;若包含敏感词可能被转为待审核。
  • source (number)来源。注:不传时后端默认设置为 2(API)。
  • column_id (number)栏目 ID。注:外部入库接口不需要传入;后端会根据 column_name 自动填充。
  • slug (string)自定义 slug(可选)。
  • author (string)作者。
  • enable_reply (number)是否允许互动/评论。注:沿用后台含义,通常 2 允许,1 不允许。
  • password (string)访问密码(可选)。

3.2.2 示例请求体

{ "column_name": "测试栏目", "title": "外部入库标题", "content": "<p>这是一篇通过外部接口入库的文章</p>", "status": 1, "tags": "api,import" }

3.3 curl 示例

curl -X POST 'http://127.0.0.1:8080/api/api_content_post' \ -H 'Content-Type: application/json' \ -H 'XToken: YOUR_EXTERNAL_TOKEN' \ -d '{ "column_name": "测试栏目", "title": "外部入库标题", "content": "<p>这是一篇通过外部接口入库的文章</p>", "status": 1, "tags": "api,import" }'

4. 响应

  • 成功:HTTP 200返回结构与系统统一响应保持一致(data 可能为空)。
  • 失败(常见):401 Unauthorized:XToken 缺失或无效(无法匹配用户)。422 Unprocessable Entity:参数校验失败,例如 column_name 或 title 为空。

5. 注意事项

  • 外部入库 Token 属于敏感凭证,请妥善保管。
  • 外部入库用户令牌属于敏感凭证,请妥善保管。
  • 任何人只要拿到有效的 XToken 即可通过该接口入库内容,建议:定期刷新 Token。外部系统侧加密存储 Token。必要时通过网络层(白名单/网关)进一步限制访问来源。