资源数据结构

各类资源的完整 JSON Schema 与示例,按颜色区分各部分

资源顶层对象

所有场景沿用同一个资源对象,最多包含 resourceType、resourceId、metadata、document、readonly、visibility 六个顶层字段。按下表选用对应部分,不适用的字段省略。

{
  "resourceType": "wiki_entry",
  "resourceId": "example_wiki_entry",
  "document": {
    "zh-Hans": "# 中文正文",
    "en": "# English document"
  },
  "readonly": {
    "entrySn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z",
    "descendantCount": 7,
    "fileUpdateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isHidden": false,
    "isDeleted": false
  }
}
顶层字段
用途
创建与编辑
普通查询
后台管理查询
resourceType
资源类型
使用
使用
使用
resourceId
业务 ID、正式 SN 或新建临时 SN
已有必填;新建无业务 ID 且不被引用时可省略
使用正式身份
使用正式身份
可编辑元数据
使用
使用
使用
document
按语言保存的独立正文
有独立正文时使用
有独立正文时使用
有独立正文时使用
readonly
系统生成和维护的只读数据
省略
使用
使用
visibility
隐藏、删除等可见性控制
省略
省略
使用

资源分类依据业务唯一性;组合定位类仍可能使用 SN 作为当前接口的 resourceId。定位字段列出公开业务字段,不表示这些字段都位于 metadata。接口收到公开标识后,内部关联使用资源类型与 NO。

resourceId 优先使用资源自身的业务 ID,没有业务 ID 时使用正式 SN。新建有业务 ID 的资源可直接指定业务 ID,并以该 ID 在同批引用;批量导入中,没有独立业务 ID 的新资源无需被引用时可省略 resourceId,需要同批引用时使用 TEMP_001、TEMP_002 等临时 SN。临时 SN 在同一份交换数据中跨资源类型必须唯一,创建后映射为正式身份,不作为业务 ID、正式 SN 或数据库关联写入。

metadata 存放可编辑元数据;readonly 存放系统生成和维护的查询只读数据。SN 明确命名为 articleSn、entrySn、characterSn 等。readonly 的字段因资源而异,没有的字段省略,已有字段的空值保留 null;时间统一使用 UTC ISO 8601 字符串。

document 是语言标签到 Markdown 正文的映射,例如 zh-Hans、en;仅有独立正文的资源使用,片段的 text 与 attachments 直接属于 metadata。正文文件使用文档资源自身的 NO 命名:简体中文为 NO.md,其他语言为 NO.语言.md,例如 1234.md、1234.en.md;NO 由服务端解析,不出现在资源 JSON 中。

visibility 仅由后台管理接口返回,包含资源实际提供的 isHidden、isDeleted 布尔标记;普通接口省略整个对象,标记不混入 metadata、readonly 或 context。通用创建与编辑 JSON 不接收 readonly、visibility,可见性修改沿用后台专用操作。

各资源下方分别提供一份完整 JSON Schema 和一份完整 JSON 示例,通过颜色区分各部分。metadata、readonly、visibility 均按资源分别定义,不共用同一字段结构。创建或编辑时按表格省略只读部分。

metadata 直接引用其他资源时使用对方的公开 ID;关联表管理的成员、作者、收录等内容属于独立关系资源。投稿操作、分页、导航、权限与审核等上下文放在接口外壳,与 resource 并列;资源本体始终保持上述六字段范围。NO、废弃及预留字段不返回。Schema 的 required 表示必填项,局部编辑以对应接口为准;示例标识不表示资源真实存在。

独立 ID 类

有必填的业务 ID,使用资源类型和自身 ID 唯一定位。

影视

movie

定位字段 movieId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "movie"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "movieSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isHidden": {
          "type": "boolean",
          "readOnly": true
        },
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "movie",
  "resourceId": "example_movie",
  "readonly": {
    "movieSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isHidden": false,
    "isDeleted": false
  }
}

游戏

game

定位字段 gameId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "game"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "gameSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isHidden": {
          "type": "boolean",
          "readOnly": true
        },
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "game",
  "resourceId": "example_game",
  "readonly": {
    "gameSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isHidden": false,
    "isDeleted": false
  }
}

专辑

music_album

定位字段 albumId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

专辑简介仅使用 introI18n,曲目引用录音。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "music_album"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "albumSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        },
        "deletedTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "已记录的删除时间;未删除或历史未记录时为 null。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "music_album",
  "resourceId": "example_music_album",
  "readonly": {
    "albumSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z",
    "deletedTime": null
  }
}

用户

user

定位字段 userId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 账户使用 userId;当前账户查询尚未接入通用资源对象。

账户本身没有可编辑的资源元数据;昵称、头像、简介等属于角色,密码等属于凭据。

账户自身的 SN 与创建、编辑时间;当前尚未接入通用资源查询对象,以下为字段结构说明。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "user"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "账户使用 userId;当前账户查询尚未接入通用资源对象。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "userSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "user",
  "resourceId": "example_user",
  "readonly": {
    "userSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  }
}

角色

character

定位字段 characterId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

角色名称统一使用 name,译名使用 nameI18n;邮箱等私密字段不属于这里的资源元数据。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "character"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "characterSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isHidden": {
          "type": "boolean",
          "readOnly": true
        },
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "character",
  "resourceId": "example_character",
  "readonly": {
    "characterSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isHidden": false,
    "isDeleted": false
  }
}

博客文章

blog_article

定位字段 articleId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

characterId 引用文章的归属角色;type 仅创建时选择。

博客文章使用 articleSn。当前文章没有删除时间字段,readonly 不包含 deletedTime。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "blog_article"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "document": {
      "type": "object",
      "propertyNames": {
        "pattern": "^[A-Za-z]{2,8}(?:-[A-Za-z0-9]{1,8})*$"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "articleSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "blog_article",
  "resourceId": "notes/example_article",
  "document": {
    "zh-Hans": "# 中文正文",
    "en": "# English document"
  },
  "readonly": {
    "articleSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isDeleted": false
  }
}

活动

activity

定位字段 activityId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

地点信息由地点资源承载,通过资源关系关联活动;相关链接通过扩展信息提供,不放入活动 metadata。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "activity"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "activitySn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isHidden": {
          "type": "boolean",
          "readOnly": true
        },
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "activity",
  "resourceId": "example_activity",
  "readonly": {
    "activitySn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isHidden": false,
    "isDeleted": false
  }
}

歌曲

song

定位字段 songId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

作者、参与者、作品出处等通过资源关联管理,不包含在此对象中。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "song"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "songSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isHidden": {
          "type": "boolean",
          "readOnly": true
        },
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "song",
  "resourceId": "example_song",
  "readonly": {
    "songSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isHidden": false,
    "isDeleted": false
  }
}

产品

product

定位字段 productId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

完整发布日期须同时提供匹配的发布年份。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "product"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "productSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "product",
  "resourceId": "example_product",
  "readonly": {
    "productSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isDeleted": false
  }
}

图书

book

定位字段 bookId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

完整发表日期须同时提供匹配的发表年份。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "book"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "bookSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "book",
  "resourceId": "example_book",
  "readonly": {
    "bookSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isDeleted": false
  }
}

美术作品

artwork

定位字段 artworkId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

创作起止年份须同时提供且不能为 0;起始不大于结束,完整日期须落在此区间内。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "artwork"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "artworkSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "artwork",
  "resourceId": "example_artwork",
  "readonly": {
    "artworkSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isDeleted": false
  }
}

地点

spot

定位字段 spotId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

经纬度同时填写或同时为空。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "spot"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "spotSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "spot",
  "resourceId": "example_spot",
  "readonly": {
    "spotSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isDeleted": false
  }
}

合集

collection

定位字段 collectionId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

合集组织系列、同一世界观或同一 IP 的作品,不表示专辑或歌单。完整发行日期须同时提供匹配的发行年份,以首部作品首次公开时间为准;ownerCharacterId 为预留字段。收录使用关系,可选填写篇章。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "collection"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "collectionSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "collection",
  "resourceId": "example_collection",
  "readonly": {
    "collectionSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isDeleted": false
  }
}

Wiki

wiki_entry

定位字段 entryId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

parentId 引用父条目的 ID;根条目填 null。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "wiki_entry"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "document": {
      "type": "object",
      "propertyNames": {
        "pattern": "^[A-Za-z]{2,8}(?:-[A-Za-z0-9]{1,8})*$"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "entrySn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        },
        "descendantCount": {
          "type": "integer",
          "minimum": 0,
          "readOnly": true,
          "description": "系统计算的全部后代词条数量。"
        },
        "fileUpdateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的正文文件更新时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isHidden": {
          "type": "boolean",
          "readOnly": true
        },
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "wiki_entry",
  "resourceId": "example_topic/notes",
  "document": {
    "zh-Hans": "# 中文正文",
    "en": "# English document"
  },
  "readonly": {
    "entrySn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z",
    "descendantCount": 7,
    "fileUpdateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isHidden": false,
    "isDeleted": false
  }
}

属性定义

resource_attribute_definition

定位字段 attributeDefinitionId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

valueSchema 是属性值的 JSON Schema,值仍须通过服务端 Schema 安全校验。

属性定义自身的 attributeDefinitionSn、创建时间和编辑时间。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "resource_attribute_definition"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "attributeDefinitionSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "resource_attribute_definition",
  "resourceId": "external_id",
  "readonly": {
    "attributeDefinitionSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isDeleted": false
  }
}

关系定义

resource_relation_definition

定位字段 relationDefinitionId

唯一条件 同一资源类型内业务 ID 唯一;显示名称、标题及所属关系不参与定位。

当前接口定位 业务 ID 作为 resourceId;以对应接口的字段名为准。

rules 使用已支持的 endpoints、symmetric、acyclic;attributesSchema 定义每条关系的属性,另由服务端校验。

关系定义自身的 relationDefinitionSn、创建时间和编辑时间。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "resource_relation_definition"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务 ID 作为 resourceId;以对应接口的字段名为准。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "relationDefinitionSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "resource_relation_definition",
  "resourceId": "member_of",
  "readonly": {
    "relationDefinitionSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isDeleted": false
  }
}

组合定位类

没有独立业务 ID,关联资源的公开标识与必要的区分字段组成唯一组合。

maimai 谱面

maimai_chart

定位字段 trackSn + difficulty

唯一条件 同一曲目内 difficulty 唯一;SD 与 DX 属于不同曲目,isBuddy、左右侧信息和定数不参与唯一性。

当前接口定位 当前编辑与导入定位已有谱面使用 chartSn;不接受自行拼接的组合 resourceId。

maimai独立谱面;resourceId为chartSn,trackSn定位所属曲目,入库关联只使用曲目NO。所属曲目和难度创建后不可变;定数未知使用null;显示等级由定数生成,.6起加号,宴会场统一问号并隐藏小数。日期等原始扩展资料可保存在extra,不代表已有独立日期或地区历史字段。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "maimai_chart"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "当前编辑与导入定位已有谱面使用 chartSn;不接受自行拼接的组合 resourceId。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "chartSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        },
        "deletedTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "已记录的删除时间;未删除或历史未记录时为 null。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isHidden": {
          "type": "boolean",
          "readOnly": true
        },
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "maimai_chart",
  "resourceId": "CLS8L6CTB",
  "readonly": {
    "chartSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z",
    "deletedTime": null
  },
  "visibility": {
    "isHidden": false,
    "isDeleted": false
  }
}

影视章节

movie_episode

定位字段 movieId + episodeType + episodeLabel

唯一条件 同一影视、同一章节类型内 episodeLabel 唯一;main 与 sp 可使用相同编号,标题与排序不参与唯一性。

当前接口定位 当前编辑与导入定位已有章节使用 episodeSn;不接受自行拼接的组合 resourceId。

影视章节使用正式 SN,无业务 ID。后台统一导入支持新建、替换、修订和归档;movieId 指向所属影视,创建后不可改绑。main 为正篇,sp 为特别篇;组内编号唯一。isHidden 是管理员录入字段;观看状态通过独立的当前角色进度接口管理。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "movie_episode"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "当前编辑与导入定位已有章节使用 episodeSn;不接受自行拼接的组合 resourceId。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "episodeSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        },
        "deletedTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "已记录的删除时间;未删除或历史未记录时为 null。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "movie_episode",
  "resourceId": "CLS8L6CTB",
  "readonly": {
    "episodeSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z",
    "deletedTime": null
  }
}

帖子

post

定位字段 resourceType + resourceId

唯一条件 每个所属资源坐标只有一个评论区;page 使用已登记的页面标识。

当前接口定位 评论接口使用所属资源坐标;资源查询对象返回 postSn。

评论区由所属资源坐标定位并按需建立,当前没有独立编辑元数据入口;不列出遗留 title 等字段。

评论区自身的 SN 与创建、编辑时间;所属资源坐标属于接口上下文,与评论区本体分开返回。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "post"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "评论接口使用所属资源坐标;资源查询对象返回 postSn。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "postSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "post",
  "resourceId": "CLS8L6CTB",
  "readonly": {
    "postSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isDeleted": false
  }
}

图鉴文档

archive_document

定位字段 resourceType + resourceId + nodeId

唯一条件 同一类型、同一所属资源内,完整 nodeId 唯一;不同所属资源可使用相同 nodeId。

当前接口定位 业务路径和通用事实解析支持组合坐标;资源查询对象返回 documentSn。

parentDocumentId 是同一所属资源下父文档的 ID;根文档填 null。resourceType 与 resourceId 共同引用所属资源,属于文档 metadata;本文档自身的 ID 不列入此对象。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "archive_document"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "业务路径和通用事实解析支持组合坐标;资源查询对象返回 documentSn。"
    },
    "document": {
      "type": "object",
      "propertyNames": {
        "pattern": "^[A-Za-z]{2,8}(?:-[A-Za-z0-9]{1,8})*$"
      },
      "additionalProperties": {
        "type": "string"
      }
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "documentSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "archive_document",
  "resourceId": "CLS8L6CTB",
  "document": {
    "zh-Hans": "# 中文正文",
    "en": "# English document"
  },
  "readonly": {
    "documentSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isDeleted": false
  }
}

资源属性

resource_attribute

定位字段 resourceType + resourceId + attributeDefinitionId

唯一条件 同一资源的同一属性定义只有一条属性记录;数组或对象属于这条记录的值。

当前接口定位 属性查询使用所属资源坐标与定义 ID;资源查询对象返回 attributeSn。

本行描述属性资源自身的元数据,包含所属资源与属性定义的 ID;value 必须符合所选定义的 valueSchema。它不会被内嵌到歌曲等资源的元数据。

属性记录自身使用 attributeSn;创建、编辑时间仅在查询服务提供时返回,不能采用所属资源或定义的时间。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "resource_attribute"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "属性查询使用所属资源坐标与定义 ID;资源查询对象返回 attributeSn。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "attributeSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "resource_attribute",
  "resourceId": "CLS8L6CTB",
  "readonly": {
    "attributeSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isDeleted": false
  }
}

资源关系

resource_relation

定位字段 relationDefinitionId + source.resourceType + source.resourceId + target.resourceType + target.resourceId

唯一条件 同一定义和端点组合仅允许一条未删除关系;对称关系交换端点视为相同。attributes、排序和备注不参与唯一性。已删除历史记录可重复,只能用关系 SN 区分。

当前接口定位 已有关系的编辑与投稿使用 resourceRelationSn;组合用于事实去重,不能拼成 resourceId。

本行描述关系记录自身,引用定义 ID 和两端资源 ID;不内嵌到两端资源的元数据。attributes 须符合所选定义的 attributesSchema;source.displayOrder 和 target.displayOrder 分别保存两端独立排序,省略排序的修订保留该端原值。

关系记录自身使用 resourceRelationSn;创建、编辑时间仅在查询服务提供时返回,不能采用任一端点的时间。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "resource_relation"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "已有关系的编辑与投稿使用 resourceRelationSn;组合用于事实去重,不能拼成 resourceId。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "resourceRelationSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "resource_relation",
  "resourceId": "CLS8L6CTB",
  "readonly": {
    "resourceRelationSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isDeleted": false
  }
}

SN 定位类

没有独立业务 ID,业务字段组合允许重复,使用自身 SN 唯一定位。

maimai 曲目

maimai_track

定位字段 trackSn

唯一条件 musicId 可空且仅有普通索引;名称、作者、SD/DX 类型和外部编号均不保证唯一。

当前接口定位 SN 作为 resourceId,使用接口返回的完整值。

maimai独立曲目;SD与DX分别记录,宴会场使用genre=utage。resourceId为trackSn,musicId为可空游戏编号。支持管理员统一导入;专用曲库查询仍使用原接口,不表示已支持通用属性、关系或投稿。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "maimai_track"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "SN 作为 resourceId,使用接口返回的完整值。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "trackSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        },
        "deletedTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "已记录的删除时间;未删除或历史未记录时为 null。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isHidden": {
          "type": "boolean",
          "readOnly": true
        },
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "maimai_track",
  "resourceId": "CLS8L6CTB",
  "readonly": {
    "trackSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z",
    "deletedTime": null
  },
  "visibility": {
    "isHidden": false,
    "isDeleted": false
  }
}

歌单

music_playlist

定位字段 playlistSn

唯一条件 同一所有者可创建同名歌单,歌曲内容也可重复,使用歌单自身 SN。

当前接口定位 SN 作为 resourceId,使用接口返回的完整值。

歌单仅由所有者保存,条目允许重复录音。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "music_playlist"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "SN 作为 resourceId,使用接口返回的完整值。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "playlistSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        },
        "deletedTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "已记录的删除时间;未删除或历史未记录时为 null。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "music_playlist",
  "resourceId": "CLS8L6CTB",
  "readonly": {
    "playlistSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z",
    "deletedTime": null
  }
}

博客动态

blog_moment

定位字段 momentSn

唯一条件 动态使用 momentSn 定位;同一作者可以发布多条动态。

当前接口定位 SN 作为 resourceId,使用接口返回的完整值。

动态保存纯文字、多语言正文和有序附件;作者从认证角色绑定,编辑不能改变归属。草稿允许为空,发布须有文字或附件。

readonly 包含动态自身的 momentSn、createTime、updateTime;visibility 包含 isHidden、isDeleted,仅后台管理查询返回。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "blog_moment"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "SN 作为 resourceId,使用接口返回的完整值。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "momentSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isHidden": {
          "type": "boolean",
          "readOnly": true
        },
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "blog_moment",
  "resourceId": "CLS8L6CTB",
  "readonly": {
    "momentSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isHidden": false,
    "isDeleted": false
  }
}

评论

comment

定位字段 commentSn

唯一条件 同一评论区、作者、父评论及相同内容均可对应多条记录,不能组合定位。

当前接口定位 SN 作为 resourceId,使用接口返回的完整值。

资源坐标指定所属评论区;parentCommentSn 是被回复评论的公开 ID(SN),仅回复时填写。片段的 text 与有序 attachments 直接属于 metadata,直接存储在数据库中;旧 postId 不再使用。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "comment"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "SN 作为 resourceId,使用接口返回的完整值。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "commentSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "comment",
  "resourceId": "CLS8L6CTB",
  "readonly": {
    "commentSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isDeleted": false
  }
}

会话

chat_conversation

定位字段 conversationSn

唯一条件 群聊可有相同成员和名称,无法统一按成员组合定位;单聊及自己的会话有专用去重规则,不覆盖全部会话。

当前接口定位 SN 作为 resourceId,使用接口返回的完整值。

成员通过会话成员关联表管理,不放入资源元数据;allowDuplicate 是创建选项。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "chat_conversation"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "SN 作为 resourceId,使用接口返回的完整值。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "conversationSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "chat_conversation",
  "resourceId": "CLS8L6CTB",
  "readonly": {
    "conversationSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  }
}

话题

chat_topic

定位字段 topicSn

唯一条件 同一会话内的话题标题允许重复,conversationSn 与标题不能唯一定位。

当前接口定位 SN 作为 resourceId,使用接口返回的完整值。

status 是可编辑的话题业务状态;所属会话由操作上下文确定。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "chat_topic"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "SN 作为 resourceId,使用接口返回的完整值。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "topicSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "chat_topic",
  "resourceId": "CLS8L6CTB",
  "readonly": {
    "topicSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  }
}

视频

video

定位字段 videoSn

唯一条件 同一歌曲或音频可关联多份视频,标题及来源信息不构成唯一身份。

当前接口定位 SN 作为 resourceId,使用接口返回的完整值。

作者、参与者、作品出处等通过资源关联管理,不包含在此对象中。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "video"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "SN 作为 resourceId,使用接口返回的完整值。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "videoSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isHidden": {
          "type": "boolean",
          "readOnly": true
        },
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "video",
  "resourceId": "CLS8L6CTB",
  "readonly": {
    "videoSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isHidden": false,
    "isDeleted": false
  }
}

录音

song_audio

定位字段 audioSn

唯一条件 同一歌曲可有多份录音,同一歌曲、演唱者与标题组合不保证唯一。

当前接口定位 SN 作为 resourceId,使用接口返回的完整值。

songId 直接引用歌曲 ID;演唱者等正式关联不包含在内。艺人与专辑使用资源关系表达,artistsName、albumName 为待移除的旧字段,不列入元数据;保留 ncmId 与 audioNcmId;不含已停用翻译字段。歌词入口目前只有内部 lrcNo,按本表规则排除,不虚构歌词 ID。

列出本资源支持的只读字段。示例用于说明结构;实际查询只返回服务已提供的字段,未提供时省略。

完整资源 · JSON Schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "resourceType": {
      "const": "song_audio"
    },
    "resourceId": {
      "type": "string",
      "minLength": 1,
      "pattern": "^\\S+$",
      "description": "SN 作为 resourceId,使用接口返回的完整值。"
    },
    "readonly": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "type": "object",
      "properties": {
        "audioSn": {
          "type": "string",
          "readOnly": true,
          "description": "本资源自身的正式 SN;与外层用于定位的业务 ID 分开。"
        },
        "createTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的创建时间,UTC ISO 8601。"
        },
        "updateTime": {
          "type": [
            "string",
            "null"
          ],
          "format": "date-time",
          "readOnly": true,
          "description": "系统记录的编辑时间,UTC ISO 8601。"
        }
      },
      "additionalProperties": false,
      "readOnly": true
    },
    "visibility": {
      "type": "object",
      "readOnly": true,
      "properties": {
        "isHidden": {
          "type": "boolean",
          "readOnly": true
        },
        "isDeleted": {
          "type": "boolean",
          "readOnly": true
        }
      },
      "additionalProperties": false
    }
  },
  "required": [
    "resourceType",
    "resourceId",
    "metadata"
  ],
  "additionalProperties": false
}

完整资源 · JSON 示例

{
  "resourceType": "song_audio",
  "resourceId": "CLS8L6CTB",
  "readonly": {
    "audioSn": "CLS8L6CTB",
    "createTime": "2026-10-18T01:00:00.000Z",
    "updateTime": "2026-10-18T02:00:00.000Z"
  },
  "visibility": {
    "isHidden": false,
    "isDeleted": false
  }
}