主题
URL应用获取升级策略
接口描述:基于客户端的版本号,获取对应的升级策略
📮请求信息
请求地址
POST http://api.upgrade.toolsetlink.com/v1/url/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
{
"urlKey": "SkEgKQ4SyLmzazl31fJnAw",
"versionCode": 1,
"appointVersionCode": 0,
"devModelKey": "stv1",
"devKey": "LOYlLXNy7w"
}
请求体参数说明
参数名 | 必选 | 类型 | 示例值 | 说明 |
---|---|---|---|---|
urlKey | 是 | string | SkEgKQ4SyLmzazl31fJnAw | url应用唯一标识 |
versionCode | 是 | int | 1 | 系统中录入的版本号 |
appointVersionCode | 否 | int | 2 | 期望升级版本号,不传或传0为请求最新版本 |
devModelKey | 否 | string | stv1 | 设备机型唯一标识 |
devKey | 否 | string | 89c8b3d5f2a74e1b | 设备唯一标识(可以使用 mac 作为唯一标识) |
📮响应信息
成功响应体
json
{
"code": 200,
"msg": "获取到新版本",
"data": {
"urlKey": "SkEgKQ4SyLmzazl31fJnAw",
"versionName": "v2",
"versionCode": 2,
"urlPath": "http://file.com/2.exe",
"upgradeType": 1,
"promptUpgradeContent": "提示内容"
}
}
响应体参数说明
参数名 | 类型 | 示例值 | 说明 |
---|---|---|---|
urlKey | string | SkEgKQ4SyLmzazl31fJnAw | url应用唯一标识 |
versionName | string | v1 | 版本名 |
versionCode | int | 1 | 版本号 |
urlPath | string | http://file.com/2.exe | 文件下载地址 |
upgradeType | int | 1 | 升级方式:1:提示升级;2:静默升级;3: 强制升级 |
promptUpgradeContent | string | 优化了代码 | 提示升级描述内容 |
典型错误响应体
json
{
"code": 403,
"msg": "request expired",
"data": null
}
📊状态码
code | 场景描述 | 解决方案 |
---|---|---|
0 | 请求成功,当前已经为最新版本 | |
200 | 请求成功,获取到版本升级策略 |