Skip to content

固件管理 ​

固件上传 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/upload

方法

POST

Content-Type

application/json

请求参数

参数数据类型必填说明
productKeystring是ProductKey。产品Key
versionstring是固件版本号
algstring否签名算法
signaturestring否签名
filenamestring是文件名
downloadUrlstring是下载地址
sizelong是文件大小
sha256Hashstring否sha256 hash
packageTypeint是包类型。1 全量;2 拆分
baseVersionstring否拆分包基础版本号
remarkstring否备注

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息
dataobject否返回数据
+idlong是固件ID

响应样例

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "id": 123456
  }
}

固件详情 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/get

方法

GET

请求参数

参数数据类型必填说明
idlong是固件ID

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息
dataobject否返回数据
+idlong是固件ID
+productKeystring是产品Key
+modelstring是产品型号
+versionstring是固件版本号
+algstring否签名算法
+signaturestring否签名
+filenamestring是文件名
+downloadUrlstring是下载地址
+sizelong是文件大小
+sha256Hashstring否sha256 hash
+packageTypeint是包类型。1 全量;2 拆分
+baseVersionstring否拆分包基础版本号
+remarkstring否备注
+statusint是固件状态。0 不可用; 1 可用
+createAtstring是创建时间
+updateAtstring是更新时间

响应样例

json

  {
    "code": 200,
    "msg": "success",
    "data": {
      "id": 123456,
      "productKey": "a1b2c3d4e5f6",
      "model": "SmartDevice-X1",
      "version": "2.0.0",
      "alg": "RSA-SHA256",
      "signature": "a1b2c3d4e5f6...",
      "filename": "firmware_v2.0.0.bin",
      "downloadUrl": "https://cdn.thingshub.com.cn/firmware/a1b2c3d4e5f6/firmware_v2.0.0.bin",
      "size": 1048576,
      "sha256Hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
      "packageType": 1,
      "baseVersion": null,
      "remark": "固件版本更新",
      "status": 1,
      "createAt": "2024-01-15 10:30:00",
      "updateAt": "2024-01-15 10:30:00"
    }
  }

固件列表查询(分页) ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/list

方法

GET

Content-Type

无

请求参数

参数数据类型必填说明
productKeystring否ProductKey
packageTypeint否包类型。1 全量;2 拆分
statusint否固件状态。0 不可用; 1 可用
currentint否页码,默认1
sizeint否页大小,默认10

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息
dataobject否返回数据
+totallong是总记录数
+recordsarray是固件列表
++idlong是固件ID
++productKeystring是产品Key
++modelstring是产品型号
++versionstring是固件版本号
++algstring否签名算法
++signaturestring否签名
++filenamestring是文件名
++downloadUrlstring是下载地址
++sizelong是文件大小
++sha256Hashstring是sha256 hash
++packageTypeint是包类型。1 全量;2 拆分
++baseVersionstring否拆分包基础版本号
++remarkstring否备注
++statusint是固件状态。0 不可用; 1 可用
++createAtstring是创建时间
++updateAtstring是更新时间

响应样例

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "total": 100,
    "records": [
      {
        "id": 123456,
        "productKey": "a1b2c3d4e5f6",
        "model": "SmartDevice-X1",
        "version": "2.0.0",
        "alg": "RSA-SHA256",
        "signature": "a1b2c3d4e5f6...",
        "filename": "firmware_v2.0.0.bin",
        "downloadUrl": "https://cdn.thingshub.com.cn/firmware/a1b2c3d4e5f6/firmware_v2.0.0.bin",
        "size": 1048576,
        "sha256Hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
        "packageType": 1,
        "baseVersion": null,
        "remark": "固件版本更新",
        "status": 1,
        "createAt": "2024-01-15 10:30:00",
        "updateAt": "2024-01-15 10:30:00"
      }
    ]
  }
}

固件更新 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/update

方法

POST

Content-Type

application/json

请求参数

参数数据类型必填说明
idlong是固件ID
productKeystring是ProductKey。产品Key
versionstring是固件版本号
algstring否签名算法
signaturestring否签名
filenamestring是文件名
downloadUrlstring是下载地址
sizelong是文件大小
sha256Hashstring是sha256 hash
packageTypeint是包类型。1 全量;2 拆分
baseVersionstring否拆分包基础版本号
remarkstring否备注
statusint是固件状态。0 不可用; 1 可用

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息

响应样例

json
{
  "code": 200,
  "msg": "success"
}

固件删除 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/delete

方法

POST

Content-Type

application/json

请求参数

参数数据类型必填说明
idlong是固件ID

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息

响应样例

json
{
  "code": 200,
  "msg": "success"
}

创建固件升级任务 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/upgrade/create

方法

POST

Content-Type

application/json

请求参数

参数数据类型必填说明
taskNamestring是任务名称
productKeystring是ProductKey。产品Key
firmwareIdlong是固件ID
deviceListarray是设备名称列表
retryCountint否重试次数,默认3
retryIntervalint否重试间隔(分钟),默认10
timeoutint否超时时间(分钟),默认60
startTimestring否定时执行时间,格式:yyyy-MM-dd HH:mm:ss
policyIdlong否策略ID

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息
dataobject否返回数据
+taskIdstring是升级任务ID

响应样例

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "123456"
  }
}

删除固件升级任务 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/upgrade/delete

方法

POST

Content-Type

application/json

请求参数

参数数据类型必填说明
taskIdstring是升级任务ID

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息

响应样例

json
{
  "code": 200,
  "msg": "success"
}

修改固件升级任务 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/upgrade/update

方法

POST

Content-Type

application/json

请求参数

参数数据类型必填说明
taskIdstring是升级任务ID
taskNamestring否任务名称
firmwareIdlong否固件ID
deviceListarray否设备名称列表
retryCountint否重试次数
retryIntervalint否重试间隔(分钟)
timeoutint否超时时间(分钟)
startTimestring否定时执行时间,格式:yyyy-MM-dd HH:mm:ss
policyIdlong否策略ID
statusint否任务状态。0 禁用;1 启用

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息

响应样例

json
{
  "code": 200,
  "msg": "success"
}

获取升级任务详情 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/upgrade/get

方法

GET

请求参数

参数数据类型必填说明
taskIdstring是升级任务ID

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息
dataobject否返回数据
+taskIdstring是升级任务ID
+taskNamestring是任务名称
+productKeystring是ProductKey。产品Key
+firmwareIdlong是固件ID
+deviceListarray是设备名称列表
+retryCountint是重试次数
+retryIntervalint是重试间隔(分钟)
+timeoutint是超时时间(分钟)
+startTimestring否定时执行时间,格式:yyyy-MM-dd HH:mm:ss
+policyIdlong否策略ID
+statusint是任务状态。0 禁用;1 启用
+createAtstring是创建时间
+updateAtstring是更新时间

响应样例

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "123456",
    "taskName": "升级任务1",
    "productKey": "123456",
    "firmwareId": 123456,
    "deviceList": [
      "设备1",
      "设备2"
    ],
    "retryCount": 3,
    "retryInterval": 10,
    "timeout": 60,
    "startTime": "2023-01-01 00:00:00",
    "policyId": 123456,
    "status": 0,
    "createAt": "2023-01-01 00:00:00",
    "updateAt": "2023-01-01 00:00:00"
  }
}

升级任务列表查询(分页) ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/upgrade/list

方法

GET

Content-Type

application/json

请求参数

参数数据类型必填说明
productKeystring是ProductKey。产品Key
taskNamestring否任务名称
statusint否任务状态。0 禁用;1 启用
currentint否页码,默认1
sizeint否页大小,默认10

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息
dataobject否返回数据
+totallong是总记录数
+recordsarray是升级任务列表
++taskIdstring是升级任务ID
++taskNamestring是任务名称
++productKeystring是ProductKey。产品Key
++firmwareIdlong是固件ID
++deviceListarray是设备名称列表
++retryCountint是重试次数
++retryIntervalint是重试间隔(分钟)
++timeoutint是超时时间(分钟)
++startTimestring否定时执行时间,格式:yyyy-MM-dd HH:mm:ss
++policyIdlong否更新策略ID
++statusint是任务状态。0 禁用;1 启用
++createAtstring是创建时间
++updateAtstring是更新时间

响应样例

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "total": 1,
    "records": [
      {
        "taskId": "123456",
        "taskName": "升级任务1",
        "productKey": "123456",
        "firmwareId": 123456,
        "deviceList": [
          "设备1",
          "设备2"
        ],
        "retryCount": 3,
        "retryInterval": 10,
        "timeout": 60,
        "startTime": "2023-01-01 00:00:00",
        "policyId": 123456,
        "status": 0,
        "createAt": "2023-01-01 00:00:00",
        "updateAt": "2023-01-01 00:00:00"
      }
    ]
  }
}

升级日志详情 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/upgrade/log/get

方法

GET

请求参数

参数数据类型必填说明
logIdlong是日志ID

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息
dataobject否返回数据
+logIdlong是日志ID
+taskIdstring是升级任务ID
+taskNamestring是任务名称
+productKeystring是ProductKey。产品Key
+firmwareIdlong是固件ID
+deviceNamestring是设备名称
+statusint是升级状态。0 待升级;1 升级中;2 升级成功;3 升级失败;4 已取消
+progressint是升级进度,0-100
+currentVersionstring否当前版本号
+targetVersionstring否目标版本号
+errorMsgstring否错误信息
+retryCountint是已重试次数
+startTimestring否开始时间,格式:yyyy-MM-dd HH:mm:ss
+endTimestring否结束时间,格式:yyyy-MM-dd HH:mm:ss
+createAtstring是创建时间
+updateAtstring是更新时间

响应样例

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "logId": 123456,
    "taskId": "123456",
    "taskName": "升级任务1",
    "productKey": "a1b2c3d4e5f6",
    "firmwareId": 123456,
    "deviceName": "设备1",
    "status": 2,
    "progress": 100,
    "currentVersion": "1.0.0",
    "targetVersion": "2.0.0",
    "errorMsg": null,
    "retryCount": 0,
    "startTime": "2024-01-15 10:30:00",
    "endTime": "2024-01-15 10:35:00",
    "createAt": "2024-01-15 10:30:00",
    "updateAt": "2024-01-15 10:35:00"
  }
}

升级日志分页查询 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/upgrade/log/list

方法

GET

Content-Type

application/json

请求参数

参数数据类型必填说明
taskIdstring否升级任务ID
productKeystring否ProductKey。产品Key
deviceNamestring否设备名称
statusint否升级状态。0 待升级;1 升级中;2 升级成功;3 升级失败;4 已取消
currentint否页码,默认1
sizeint否页大小,默认10

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息
dataobject否返回数据
+totallong是总记录数
+listarray是升级日志列表
++logIdlong是日志ID
++taskIdstring是升级任务ID
++taskNamestring是任务名称
++productKeystring是ProductKey。产品Key
++firmwareIdlong是固件ID
++deviceNamestring是设备名称
++statusint是升级状态。0 待升级;1 升级中;2 升级成功;3 升级失败;4 已取消
++progressint是升级进度,0-100
++currentVersionstring否当前版本号
++targetVersionstring否目标版本号
++errorMsgstring否错误信息
++retryCountint是已重试次数
++startTimestring否开始时间,格式:yyyy-MM-dd HH:mm:ss
++endTimestring否结束时间,格式:yyyy-MM-dd HH:mm:ss
++createAtstring是创建时间
++updateAtstring是更新时间

响应样例

json
{}

创建升级策略 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/policy/create

方法

POST

Content-Type

application/json

请求参数

参数数据类型必填说明
policyNamestring是策略名称
productKeystring是ProductKey。产品Key
descriptionstring否策略描述
upgradeModeint是升级模式。1 静默升级;2 用户确认升级
pushModeint是推送模式。1 立即推送;2 定时推送
pushTimestring否定时推送时间,格式:yyyy-MM-dd HH:mm:ss,pushMode为2时必填
retryPolicyint是重试策略。1 不重试;2 固定间隔重试;3 指数退避重试
retryCountint否重试次数,retryPolicy不为1时必填,默认3
retryIntervalint否重试间隔(分钟),retryPolicy为2时必填,默认10
maxRetryIntervalint否最大重试间隔(分钟),retryPolicy为3时必填
timeoutint是单设备升级超时时间(分钟),默认60
concurrentLimitint是并发限制,同时升级设备数量,默认100
priorityint是优先级。1 低;2 中;3 高,默认2
autoRollbackint否自动回滚。0 否;1 是,默认0
rollbackVersionlong否回滚版本固件ID,autoRollback为1时必填
conditionstring否升级条件,JSON格式

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息
dataobject否返回数据
+policyIdlong是策略ID

响应样例

json
{}

删除升级策略 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/policy/delete

方法

POST

Content-Type

application/json

请求参数

参数数据类型必填说明
policyIdlong是策略ID

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息
dataobject否返回数据

响应样例

json
{
  "code": 200,
  "msg": "success"
}

修改升级策略 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/policy/update

方法

POST

Content-Type

application/json

请求参数

参数数据类型必填说明
policyIdlong是策略ID
policyNamestring否策略名称
descriptionstring否策略描述
upgradeModeint否升级模式。1 静默升级;2 用户确认升级
pushModeint否推送模式。1 立即推送;2 定时推送
pushTimestring否定时推送时间,格式:yyyy-MM-dd HH:mm:ss,pushMode为2时必填
retryPolicyint否重试策略。1 不重试;2 固定间隔重试;3 指数退避重试
retryCountint否重试次数,retryPolicy不为1时必填
retryIntervalint否重试间隔(分钟),retryPolicy为2时必填
maxRetryIntervalint否最大重试间隔(分钟),retryPolicy为3时必填
timeoutint否单设备升级超时时间(分钟)
concurrentLimitint否并发限制,同时升级设备数量
priorityint否优先级。1 低;2 中;3 高
autoRollbackint否自动回滚。0 否;1 是
rollbackVersionlong否回滚版本固件ID,autoRollback为1时必填
conditionstring否升级条件,JSON格式
statusint否策略状态。0 禁用;1 启用

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息
dataobject否返回数据

响应样例

json
{
  "code": 200,
  "msg": "success"
}

升级策略详情 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/policy/get

方法

GET

请求参数

参数数据类型必填说明
policyIdlong是策略ID

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息
dataobject否返回数据
+policyIdlong是策略ID
+policyNamestring是策略名称
+productKeystring是ProductKey。产品Key
+descriptionstring否策略描述
+upgradeModeint是升级模式。1 静默升级;2 用户确认升级
+pushModeint是推送模式。1 立即推送;2 定时推送
+pushTimestring否定时推送时间,格式:yyyy-MM-dd HH:mm:ss
+retryPolicyint是重试策略。1 不重试;2 固定间隔重试;3 指数退避重试
+retryCountint是重试次数
+retryIntervalint否重试间隔(分钟)
+maxRetryIntervalint否最大重试间隔(分钟)
+timeoutint是单设备升级超时时间(分钟)
+concurrentLimitint是并发限制,同时升级设备数量
+priorityint是优先级。1 低;2 中;3 高
+autoRollbackint是自动回滚。0 否;1 是
+rollbackVersionlong否回滚版本固件ID
+conditionstring否升级条件,JSON格式
+statusint是策略状态。0 禁用;1 启用
+createAtstring是创建时间
+updateAtstring是更新时间

响应样例

json
{}

升级策略列表分页查询 ​

请求URL

https://www.thingshub.com.cn/openapi/v2/fireware/policy/list

方法

GET

Content-Type

application/json

请求参数

参数数据类型必填说明
productKeystring是ProductKey。产品Key
policyNamestring否策略名称
upgradeModeint否升级模式。1 静默升级;2 用户确认升级
pushModeint否推送模式。1 立即推送;2 定时推送
retryPolicyint否重试策略。1 不重试;2 固定间隔重试;3 指数退避重试
priorityint否优先级。1 低;2 中;3 高
statusint否策略状态。0 禁用;1 启用
currentint否页码,默认1
sizeint否页大小,默认10

响应参数

参数数据类型必填说明
codeint是返回码
msgstring是返回消息
dataobject否返回数据
+totallong是总记录数
+listarray是升级策略列表
++strategyIdlong是策略ID
++strategyNamestring是策略名称
++productKeystring是ProductKey。产品Key
++descriptionstring否策略描述
++upgradeModeint是升级模式。1 静默升级;2 用户确认升级
++pushModeint是推送模式。1 立即推送;2 定时推送
++pushTimestring否定时推送时间,格式:yyyy-MM-dd HH:mm:ss
++retryPolicyint是重试策略。1 不重试;2 固定间隔重试;3 指数退避重试
++retryCountint是重试次数
++retryIntervalint否重试间隔(分钟)
++maxRetryIntervalint否最大重试间隔(分钟)
++timeoutint是单设备升级超时时间(分钟)
++concurrentLimitint是并发限制,同时升级设备数量
++priorityint是优先级。1 低;2 中;3 高
++autoRollbackint是自动回滚。0 否;1 是
++rollbackVersionlong否回滚版本固件ID
++conditionstring否升级条件,JSON格式
++statusint是策略状态。0 禁用;1 启用
++createAtstring是创建时间
++updateAtstring是更新时间

响应样例

json
{
  "code": 200,
  "msg": "success",
  "data": {
    "total": 0,
    "list": []
  }
}