Skip to content

URL应用获取升级策略

接口描述:基于客户端的版本号,获取对应的升级策略

📮请求信息

请求地址

POST http://api.upgrade.toolsetlink.com/v1/url/upgrade

请求头 (Headers)

参数名必选类型示例值说明
X-Timestampstring2025-02-17T10:34:55+08:00请求时间 RFC3339格式
X-Noncestringfc812cc0b9b51e8c唯一随机字符串(至少16位)
X-AccessKeystringmui2W50H1j-OC4xD6PgQag密钥 AccessKey
X-Signaturestring3603437250c2df51fc46426ac79d8995请求签名 签名规则
Content-Typestringapplication/json

🔐 防重放攻击机制

  1. 服务端验证时间戳与服务器时间差值不超过±5分钟
  2. 服务端会校验Nonce值是否已存在(防止重复请求)

请求体 (Body)

json
{
    "urlKey": "SkEgKQ4SyLmzazl31fJnAw",
    "versionCode": 1,
    "appointVersionCode": 0,
    "devModelKey": "stv1",
    "devKey": "LOYlLXNy7w"
}

请求体参数说明

参数名必选类型示例值说明
urlKeystringSkEgKQ4SyLmzazl31fJnAwurl应用唯一标识
versionCodeint1系统中录入的版本号
appointVersionCodeint2期望升级版本号,不传或传0为请求最新版本
devModelKeystringstv1设备机型唯一标识
devKeystring89c8b3d5f2a74e1b设备唯一标识(可以使用 mac 作为唯一标识)

📮响应信息

成功响应体

json
{
  "code": 200,
  "msg": "获取到新版本",
  "data": {
    "urlKey": "SkEgKQ4SyLmzazl31fJnAw",
    "versionName": "v2",
    "versionCode": 2,
    "urlPath": "http://file.com/2.exe",
    "upgradeType": 1,
    "promptUpgradeContent": "提示内容"
  }
}

响应体参数说明

参数名类型示例值说明
urlKeystringSkEgKQ4SyLmzazl31fJnAwurl应用唯一标识
versionNamestringv1版本名
versionCodeint1版本号
urlPathstringhttp://file.com/2.exe文件下载地址
upgradeTypeint1升级方式:1:提示升级;2:静默升级;3: 强制升级
promptUpgradeContentstring优化了代码提示升级描述内容

典型错误响应体

json
{
  "code": 404001,
  "msg": "未获取到可使用版本",
  "docs": "未查询到对应的应用版本,请确认在系统中是否已经正确创建。 请参考文档: http://upgrade.toolsetlink.com/upgrade/recommend/url/app-version.html",
  "data": null
}

📊状态码

http 状态码code场景描述解决方案
2000请求成功,当前已经为最新版本
200200请求成功,获取到版本升级策略
400400001非法请求
400400002参数缺失
400400003参数非法
400400004报头非法
400400005报体非法
401401001鉴权失败
401401002签名验证失败
404404001资源不存在
404404002查询记录不存在
404404003处理方式不存在
404404004请求不存在
429429001应用任务策略请求流控限制当前升级任务配置的请求流控策略,已经达到限制,请稍后再试。
500500001服务器内部错误请联系我们 联系我们
500500002服务器内部校验数据失败请联系我们 联系我们