Appearance
KMS service 接口文档
KMS service 指的是 KMS 主工程的 service 服务,并不对 UI 界面开放,有独立的接口验证逻辑。调用前需要先创建一个 service token。
service token 是一组特殊的字符串,并需要添加到请求 header 中,作为调用方的身份验证之用。service token 包含两部分内容:
user 表示调用者的明文信息,仅仅支持小写字母和数字
tokenstring 是一串授权验证信息,在 KMS 服务端进行二次校验,校验方式跟 user 有关联
需要在 service api 的 header 中添加自定义 header 头如下
yaml
x-kms-user: user
x-kms-token: tokenstring
创建 serviceToken
打开 系统设置 - Service 授权管理 页面,在 “Service 用户名” 输入框输入 Service 用户名,点击输入框右侧的钥匙图标即可获取对应用户名的 SerivceToken 值。
提示
若您的账号不拥有 创建ServiceKey
的权限,则无法看到钥匙图标。
/service/createExtendedProject
功能:从指定模板项目创建一个扩展项目
方法: POST
类型: application/json
参数如下:
key | value示例 | 释义 |
---|---|---|
from | xxxx-template | 【必选】指定一个模板项目名,必须以 -template 结尾 |
id | yyyy | 【必选】创建的项目英文名称,只能包含数字,小写字母,中划线,并且以字母开头,长度不低于 2 个字符,不超过 32 个字符,生成的最终项目名称将会是 yyyy-xxxx 格式,其中 xxxx 来自于模板项目名 |
name | 示例工程 | 【必选】创建项目的显示名称,长度 2 - 32,字符类型不限 |
admins | mc@kingsoft.com,test@kingsoft.com | 【可选】设置初始化的 admin 用户,需要传入完整的用户信息,多个用户使用半角逗号分割 |
appid | 1003 | 【可选】由其他系统生成的项目标记,长度和字符类型均不限 |
timeZone | Etc/GMT+8 | 【可选】项目所在的时区,页面上相关时间显示将以该时区为准进行格式化,默认跟随API服务的时区配置 |
desc | 【可选】对创建项目的更多描述信息,长度和字符类型均不限 |
成功响应如下
json
{
"err": 0, // 错误码,为 0 时表示正确
"data": "yyyy-xxxx", // 返回内容,当操作成功后,返回新创建项目的完整 id
"desc": "" // 错误信息,当 err 不为 0 时有效,返回具体的错误描述信息
}
错误码和释义如下
http 状态码 | err 错误码 | 错误描述和释义 |
---|---|---|
401 | 401 | 身份校验失败,即 serive token 缺失/错误/过期/没有权限 |
400 | 1001 | 必要参数缺失 |
400 | 1002 | 参数格式错误,此处的检查只是从参数值格式上检查,不涉及业务内容检查 |
500 | 500 | 创建项目过程出现错误,desc 中会给出具体的原因 |
/service/updateExtendedProject
功能:从修改一个扩展项目的信息
方法: POST
类型: application/json
参数如下:
key | value示例 | 释义 |
---|---|---|
id | yyyy-xxxx | 【必选】完整项目英文名称,需要包含模板前缀 |
name | 示例工程 | 【可选】项目中文名称,长度 2 - 32,字符类型不限 |
admins | mc@kingsoft.com,test@kingsoft.com | 【可选】设置项目的 admin 用户,需要传入完整的用户信息,多个用户使用半角逗号分割,设置后将添加用户为 admin 账号 |
append | 1 | 【可选】是否将参数中的 admins 用户追加到项目,没有传递 admins时无效,可选值和含义如下: 1:追加 admins 用户到项目中,默认值 0:替换现有项目的所有 admins 用户 true: 同 1 false: 同 0 |
appid | 1003 | 【可选】由其他系统生成的项目标记,长度和字符类型均不限 |
timeZone | Etc/GMT+8 | 【可选】项目所在的时区,页面上相关时间显示将以该时区为准进行格式化 |
desc | 【可选】对创建项目的更多描述信息,长度和字符类型均不限 |
响应如下
json
{
"err": 0, // 错误码,为 0 时表示正确
"data": "", // 返回内容,当操作成功后,返回新创建项目的完整 id
"desc": "" // 错误信息,当 err 不为 0 时有效,返回具体的错误描述信息
}
错误码和释义如下
http 状态码 | err 错误码 | 错误描述和释义 |
---|---|---|
401 | 401 | 身份校验失败,即 serive token 缺失/错误/过期/没有权限 |
400 | 1001 | 必要参数缺失 |
400 | 1002 | 参数格式错误,此处的检查只是从参数值格式上检查,不涉及业务内容检查 |
500 | 500 | 更新项目过程出现错误,desc 中会给出具体的原因 |
/service/readExtendedProjectRoles/:project
功能:查询指定扩展项目的角色列表
方法:GET
URL参数::project
需要替换为实际的扩展项目的英文名,格式 yyyy-xxxx
,比如 /service/readExtendedProjectRoles/abc-kgm
响应如下
json
{
"err": 0, // 错误码,为 0 时表示正确
"desc": "", // 错误信息,当 err 不为 0 时有效,返回具体的错误描述信息
"data": [ // 项目支持的角色列表 string[]
"admin",
...
]
}
错误码和释义如下
http 状态码 | err 错误码 | 错误描述和释义 |
---|---|---|
401 | 401 | 身份校验失败,即 serive token 缺失/错误/过期/没有权限 |
500 | 500 | 出现异常错误,desc 中会给出详细信息 |
/service/readExtendedProjectUsers/:project
功能:查询指定扩展项目的用户列表(以及对应的角色)
方法:GET
URL参数::project
需要替换为实际的扩展项目的英文名,格式 yyyy-xxxx
,比如 /service/readExtendedProjectUsers/abc-kgm
响应如下
json
{
"err": 0, // 错误码,为 0 时表示正确
"desc": "", // 错误信息,当 err 不为 0 时有效,返回具体的错误描述信息
"data": { // 用户列表已经对应的角色(支持多个)
"user1@kingsoft.com": ["admin"],
"user2@kingsfot.com": ["运营", "主管"],
...
}
}
错误码和释义如下
http 状态码 | err 错误码 | 错误描述和释义 |
---|---|---|
401 | 401 | 身份校验失败,即 serive token 缺失/错误/过期/没有权限 |
500 | 500 | 出现异常错误,desc 中会给出详细信息 |
/service/addExtendedProjectUsers
功能:给指定扩展项目增加用户
方法:POST
URL参数:
key | value示例 | 释义 |
---|---|---|
project | yyyy-xxxx | 【必选】完整的扩展项目名称,需要包含模板前缀 |
users | user@kingsoft.com,user2@kingsoft.com | 【必选】需要添加的用户列表(完整用户信息),以半角逗号分割 |
roles | 运营,主管 | 【必选】需要给上述用户添加的角色,通常只需要设置一个角色即可,但程序上仍然是支持配置多个角色,以半角逗号分割 |
响应如下
json
{
"err": 0, // 错误码,为 0 时表示正确
"desc": "ok",
}
错误码和释义如下
http 状态码 | err 错误码 | 错误描述和释义 |
---|---|---|
401 | 401 | 身份校验失败,即 serive token 缺失/错误/过期/没有权限 |
500 | 500 | 出现异常错误,desc 中会给出详细信息 |
/service/trigger/template/:id
功能:主动触发指定模板的渲染,将新增一个渲染任务到队列中,渲染将异步执行
方法: GET 或 POST
类型: application/json
URL参数::id
需要替换成实际的模板id,比如 /service/trigger/template/pixh2
响应如下
json
{
"err": 0, // 错误码,为 0 时表示正确
"desc": "" // 错误信息,当 err 不为 0 时有效,返回具体的错误描述信息
}
错误码和释义如下
http 状态码 | err 错误码 | 错误描述和释义 |
---|---|---|
401 | 401 | 身份校验失败,即 serive token 缺失/错误/过期/没有权限 |
404 | 404 | 模板资源不存在 或 项目不支持模板中心 |
500 | 500 | 出现异常错误,desc 中会给出详细信息 |
提示
渲染任务会根据上次渲染的结果来决定新的渲染结果是否推送到服务器(CDN)。如果需要强制更新所有文件,请修改模板的配置,让渲染结果发生变化即可。