主题
文件应用获取升级策略
接口描述:基于客户端的版本号,获取对应的升级策略
📮请求信息
请求地址
POST http://api.upgrade.toolsetlink.com/v1/file/upgrade
请求头 (Headers)
参数名 | 必选 | 类型 | 示例值 | 说明 |
---|---|---|---|---|
X-Timestamp | 是 | string | 2025-02-17T10:34:55+08:00 | 请求时间 RFC3339格式 |
X-Nonce | 是 | string | fc812cc0b9b51e8c | 唯一随机字符串(至少16位) |
X-AccessKey | 是 | string | mui2W50H1j-OC4xD6PgQag | 密钥 AccessKey |
X-Signature | 是 | string | 3603437250c2df51fc46426ac79d8995 | 请求签名 签名规则 |
Content-Type | 是 | string | application/json |
🔐 防重放攻击机制
- 服务端验证时间戳与服务器时间差值不超过±5分钟
- 服务端会校验Nonce值是否已存在(防止重复请求)
请求体 (Body)
json
{
"fileKey": "LOYlLXNy7wV3ySuh0XgtSg",
"versionCode": 1,
"appointVersionCode": 0,
"devModelKey": "stv1",
"devKey": "LOYlLXNy7w"
}
请求体参数说明
参数名 | 必选 | 类型 | 示例值 | 说明 |
---|---|---|---|---|
fileKey | 是 | string | LOYlLXNy7wV3ySuh0XgtSg | 文件应用唯一标识 |
versionCode | 是 | int | 1 | 系统中录入的版本号 |
appointVersionCode | 否 | int | 0 | 期望升级版本号,不传或传0为请求最新版本 |
devModelKey | 否 | string | stv1 | 设备机型唯一标识 |
devKey | 否 | string | LOYlLXNy7w | 设备唯一标识(可以使用 mac 作为唯一标识) |
📮响应信息
成功响应体
json
{
"code": 200,
"msg": "获取到新版本",
"data": {
"fileKey": "LOYlLXNy7wV3ySuh0XgtSg",
"versionName": "v2",
"versionCode": 2,
"urlPath": "http://file.com/2.exe",
"upgradeType": 1,
"promptUpgradeContent": "提示内容"
}
}
响应体参数说明
参数名 | 类型 | 示例值 | 说明 |
---|---|---|---|
fileKey | string | LOYlLXNy7wV3ySuh0XgtSg | 文件应用唯一标识 |
versionName | string | v1 | 版本名 |
versionCode | int | 1 | 版本号 |
urlPath | string | http://file.com/2.exe | 文件下载地址 |
upgradeType | int | 1 | 升级方式:1:提示升级;2:静默升级;3: 强制升级 |
promptUpgradeContent | string | 提示内容 | 提示升级描述内容 |
典型错误响应体
json
{
"code": 404001,
"msg": "未获取到可使用版本",
"docs": "未查询到对应的应用版本,请确认在系统中是否已经正确创建。 请参考文档: http://upgrade.toolsetlink.com/upgrade/recommend/file/app-version.html",
"data": null
}
📊状态码
http 状态码 | code | 场景描述 | 解决方案 |
---|---|---|---|
200 | 0 | 请求成功,当前已经为最新版本 | |
200 | 200 | 请求成功,获取到版本升级策略 | |
400 | 400001 | 非法请求 | |
400 | 400002 | 参数缺失 | |
400 | 400003 | 参数非法 | |
400 | 400004 | 报头非法 | |
400 | 400005 | 报体非法 | |
401 | 401001 | 鉴权失败 | |
401 | 401002 | 签名验证失败 | |
404 | 404001 | 资源不存在 | |
404 | 404002 | 查询记录不存在 | |
404 | 404003 | 处理方式不存在 | |
404 | 404004 | 请求不存在 | |
429 | 429001 | 应用任务策略请求流控限制 | 当前升级任务配置的请求流控策略,已经达到限制,请稍后再试。 |
500 | 500001 | 服务器内部错误 | 请联系我们 联系我们 |
500 | 500002 | 服务器内部校验数据失败 | 请联系我们 联系我们 |