OTA远程升级服务
概述
欢迎使用百度智能云车联网OTA远程升级服务。
车联网OTA远程升级服务是基于百度安全OTA服务专门为车打造的OTA服务。其功能包括升级包管理、升级任务管理、升级车辆范围配置、升级任务统计等。
您可以使用本文档介绍的API对OTA远程升级服务进行灵活的操作。
接口概览
接口类型 | 描述 |
---|---|
ID组管理接口 | 一个ID组作为一个OTA产品线资源,用于管理同一型号下设备的OTA升级。 |
升级包管理接口 | 支持升级包上传、下载、删除、查询等功能。 |
升级任务管理接口 | 支持升级任务的创建、流程管理、结果查询、列表查询等功能。 |
其他接口 | 辅助功能接口。目前只提供获取文件上传链接的接口 |
产品限制
OTA远程升级服务中,不同型号的设备应对应不同的OTA ID组资源。
目前产品未开放产品线token校验的设置接口,设备要使用带token的OTA远程升级服务,需联系车联网相关负责人帮忙开通。
OTA远程升级服务错误码
错误码 | 错误消息 | HTTP状态码 | 描述 |
---|---|---|---|
InvalidRequestParam | {message} | 400 | 非法的请求参数。 |
ServerInternalError | {message} | 500 | 服务器内部错误。 |
NotBosHttpUrl | 必须提供BOS的链接地址 | 400 | 非BOS链接。host必须以".bcebos.com"结尾 |
InvalidBosUrl | 无效的BOS地址 | 400 | 无效的BOS地址。 |
OTAIdNotExisted | OTA ID不存在 | 400 | OTA ID不存在。 |
EnableOTATypeError | OTA接入类型错误 | 400 | OTA接入类型错误。目前只支持HTTPS方式接入 |
EnableOTAOSError | OTA系统类型错误 | 400 | OTA系统类型错误。必须为Android或Linux |
CannotDeleteInfoWithBind | 存在未解绑的资源,不能删除 | 400 | 存在未解绑的资源,不能删除 |
MismatchTokenStatus | OTA已开通token,创建时必须上传token | 400 | OTA已开通token,创建时必须上传token |
OtaUnbindError | 解绑或换绑失败,有任务正在执行 | 400 | 解绑或换绑失败,有任务正在执行 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
OTAPackageNotExists | 升级包不存在 | 404 | 升级包不存在 |
InvalidOTAPackageLevel | 无效的升级包级别 | 400 | 无效的升级包级别。只能为SYSTEM或APPLICATION |
InvalidOTAPackageType | 无效的升级包类型 | 400 | 无效的升级包类型。只能为COMPLETE或INCREMENTAL |
IllegalPackageType | 升级包类型与升级包级别不匹配 | 400 | 升级包类型与升级包级别不匹配。 |
OtaPackageExceed | 最多只能创建{max}个升级包 | 400 | 升级包创建数量超限。用户使用自己的BOS作为存储资源时,不做限制。 |
OtaPackageDuplicateName | 已存在同名的升级包 | 400 | 已存在同名的升级包。 |
CannotDeletePackageWithRunningTasks | 存在运行中的升级任务,不能删除 | 400 | 存在运行中的升级任务,不能删除 |
CreateOTAPackageFrequently | 任务创建过于频繁,请稍候再试 | 400 | 任务创建过于频繁,请稍候再试 |
OtaTaskNotExists | 升级任务不存在 | 404 | 升级任务不存在 |
FilterVehicleEmpty | 筛选的车辆为空 | 400 | 筛选的车辆为空 |
ResourceNotFound | 资源不存在 | 404 | 资源不存在 |
InvalidOTAPublishType | 无效的发布类型 | 400 | 无效的发布类型 |
InvalidOTATaskLevel | 无效的升级任务级别 | 400 | 无效的升级任务级别 |
MismatchLevel | 升级任务级别与升级包级别不匹配 | 400 | 升级任务级别与升级包级别不匹配 |
InvalidReleaseVehicleCount | 灰度发布车辆数必须大于0 | 400 | 灰度发布车辆数必须大于0 |
InvalidOTAUpgradeWay | 无效的升级方式 | 400 | 无效的升级方式 |
InvalidOtaPriority | 优先级必须大于0 | 400 | 优先级必须大于0 |
InvalidOtaBatteryProtection | 电量保护必须在0到100之间 | 400 | 电量保护必须在0到100之间 |
InvalidFlowProtection | 无效的流量保护 | 400 | 无效的流量保护 |
TooManyTargetVersion | 筛选的版本号数量过多 | 400 | 筛选的版本号数量过多 |
TargetStartVersionEmpty | 起始版本不能为空 | 400 | 起始版本不能为空 |
StartVersionGreaterThanEndVersion | 起始版本不能大于结束版本 | 400 | 起始版本不能大于结束版本 |
FixedUpgradeStartTimeFormatError | 固定时段升级开始时间格式错误 | 400 | 固定时段升级开始时间格式错误 |
FixedUpgradeEndTimeFormatError | 固定时段升级结束时间格式错误 | 400 | 固定时段升级结束时间格式错误 |
OneFixedUpgradeTimeMissed | 固定时段升级的开始和结束时间必须同时存在 | 400 | 固定时段升级的开始和结束时间必须同时存在 |
OtaVersionFormatError | {version}版本格式错误 | 400 | 版本格式错误 |
NoVehicleBondWhenUseOTA | 使用OTA前请先绑定车辆 | 400 | 使用OTA前请先绑定车辆 |
IncrementalTargetVersionNotGreaterThanBaseVersion | 目标版本没有大于基础版本 | 400 | 目标版本没有大于基础版本 |
StopOTATaskFailed | 任务停止失败 | 400 | 任务停止失败 |
InvalidTaskStatus | 无效的任务状态 | 400 | 无效的任务状态 |
PublishTypeErrorForAppendVehicle | 灰度发布的任务不允许变更车辆列表 | 400 | 灰度发布的任务不允许变更车辆列表 |
OtaTaskStatusNotPublished | 非升级中的任务不允许屏蔽车辆列表 | 400 | 非升级中的任务不允许屏蔽车辆列表 |
OtaTaskStageError | XXX状态下的任务不允许执行此操作 | 400 | XXX状态下的任务不允许执行此操作 |
PackageTypeErrorForAppendVehicle | 整包升级的任务不允许变更车辆列表 | 400 | 整包升级的任务不允许变更车辆列表 |
MultiAsyncTaskError | 服务正忙,请稍后再试 | 503 | 服务正忙,请稍后再试 |
OtaDeleteError | 任务正在运行,不能被删除 | 400 | 任务正在运行,不能被删除 |
securityTaskDeleteError | ota任务删除失败 | 400 | ota任务删除失败 |
InvalidFilePostfix | 文件必须是{postfix}文件 | 400 | 文件类型校验失败。 |
NameEmpty | 名称不能为空 | 400 | 名称不能为空 |
NameTooLong | 名称过长 | 400 | 名称过长 |
DescriptionTooLong | 描述过长 | 400 | 描述过长 |
OnlyUploadFileOrVehicleIds | 不能同时使用上传文件和指定车辆ID | 400 | 不能同时使用上传文件和指定车辆ID |
OtaTaskDuplicateName | 已存在同名的升级任务 | 400 | 已存在同名的升级任务 |
CreateOTATaskFrequently | 任务创建过于频繁,请稍候再试 | 400 | 任务创建过于频繁,请稍候再试 |
OTAIdExceeded | OTA任务包含多个OTA ID | 400 | OTA任务包含多个OTA ID |
OtaTestGroupNotExists | 测试分组不存在 | 400 | 测试分组不存在 |
EmptyOTATestGroupId | 测试分组ID不能为空 | 400 | 测试分组ID不能为空 |
InvalidOTATestGroup | 无效的测试分组 | 400 | 无效的测试分组 |
DuplicateOtaTestGroupName | 测试分组名称重复 | 400 | 测试分组名称重复 |
OtaTestGroupExceed | 最多只能创建{max}个测试分组 | 400 | 测试分组数量超限。 |
EmptyTestVehicles | 测试车辆为空,请在测试分组中添加车辆 | 400 | 测试车辆为空,请在测试分组中添加车辆 |
OtaTestVehicleExceed | 一个测试分组中最多只能添加{max}个车辆 | 400 | 测试分组下的测试车辆数超限 |
DeleteTooManyTestVehicle | 删除数量过多 | 400 | 删除数量过多 |
OtaTestVehicleNotExists | 测试车辆不存在 | 400 | 测试车辆不存在 |
HasInvalidVehicleId | 存在无效的车辆ID | 400 | 存在无效的车辆ID |
FileNotExists | 文件不存在 | 400 | 文件不存在 |
FileTooLarge | 文件超过大小限制 | 400 | 文件超过大小限制 |
UrlEmpty | 链接地址为空 | 400 | 链接地址为空 |
InvalidUploadType | 无效的上传类型 | 400 | 无效的上传类型 |
InvalidShaValue | 无效的SHA值 | 400 | 无效的SHA值 |
InvalidFileFormat | 文件格式不正确:{reason} | 400 | 文件格式不正确 |
ExcelExceedCount | 数据条目超过最大限度 | 400 | 数据条目超过最大限度 |
UploadVehicleEmpty | 上传的车辆为空 | 400 | 上传的车辆为空 |
FileReadFailed | 文件读取异常 | 400 | 文件读取异常 |
InvalidFileType | 无效的文件类型 | 400 | 无效的文件类型 |
TimeTransError | 时间转换失败 | 500 | 时间转换失败 |
InvalidPageSize | pageSize参数不合法,合法范围为[1,100] | 400 | pageSize参数不合法,合法范围为[1,100] |
InvalidPageNum | pageNum参数不合法,pageNum应大于0 | 400 | pageNum参数不合法,pageNum应大于0 |
MultiVehicleVersionParams | vehicleVersions和vehicleVersionRanges参数只能设置一个 | 400 | vehicleVersions和vehicleVersionRanges参数只能设置一个 |
VehicleIdSizeTooLarge | 车辆ID列表过长 | 400 | 车辆ID列表过长 |
ID组管理接口
开通产品型号的OTA服务
接口描述
本接口用于开通一个产品型号(PK)下的OTA服务。
请求结构
POST /v2/ivc/data/ota?enable&pk={pk} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
{
"type": type,
"os": os
}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
pk | String | 是 | Query参数 | 产品型号 |
type | String | 是 | RequestBody参数 | 通信协议类型,目前只支持HTTPS |
os | String | 是 | RequestBody参数 | 设备OS,LINUX | ANDROID |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
otaId | String | 产品线ID |
otaSecret | String | 产品线签名 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
BceCommonExceptions.NotAuthorizedException | 抱歉,您的授权不足 | 403 | 抱歉,您的授权不足 |
EnableOTATypeError | OTA接入类型错误 | 400 | OTA接入类型错误 |
EnableOTAOSError | OTA系统类型错误 | 400 | OTA系统类型错误 |
InvalidRequestParam | Id格式不合法 | 400 | 非法的请求参数。 |
OTAIdNotExisted | OTA ID不存在 | 400 | OTA ID不存在 |
请求示例
POST /v2/ivc/data/ota?enable&pk={pk} HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
{
"type": "HTTPS",
"os": "ANDROID"
}
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"otaId": "2343",
"otaSecret": "NjI4NWU2Mzc0OTgxYmU2Ng=="
}
获取产品型号的ID组信息
接口描述
本接口用于获取一个产品型号下已开通的OTA产品线信息。
请求结构
GET /v2/ivc/data/ota/pk/{pk} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
pk | String | 是 | URI参数 | 产品型号 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
type | String | 接入类型 |
os | String | 设备OS,LINUX | ANDROID |
otaId | String | 产品线ID |
otaSecret | String | 产品线签名 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
BceCommonExceptions.NotAuthorizedException | 抱歉,您的授权不足 | 403 | 抱歉,您的授权不足 |
InvalidRequestParam | Id格式不合法 | 400 | 非法的请求参数。 |
OTAIdNotExisted | OTA ID不存在 | 400 | OTA ID不存在 |
请求示例
GET /v2/ivc/data/ota/pk/{pk} HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"type": "HTTPS",
"os": "ANDROID",
"otaId": "2343",
"otaSecret": "NjI4NWU2Mzc0OTgxYmU2Ng=="
}
升级包管理接口
创建升级包
接口描述
本接口用于在云平台创建一个升级包资源。在调用此接口之前需保证升级包已经上传到BOS。创建的升级包支持token校验。
- 请求参数中 tokenUrl 为升级包token文件地址。若不需要token校验,此参数无需填写。
- 支持创建系统级升级包和应用级升级包。当要创建系统级升级包时,参数level应为SYSTEM,参数packageName无需填写;当要创建应用级升级包时,参数level应为APPLICATION,参数packageName必填。
- 支持创建整包和差分包。当要创建整包时,参数baseVersion无需填写;当要创建差分包时,参数baseVersion必填。
注意事项
所创建的升级包将会应用于升级任务的创建。注意,升级包是否需要携带token,主要取决于OTA产品线是否开启token校验。
请求结构
POST /v2/ivc/data/ota/package?pk={pk} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
{
"name": name,
"level": level,
"type": type,
"packageName": packageName,
"targetVersion": targetVersion,
"baseVersion": baseVersion,
"description": description,
"url": url,
"sha1": sha1,
"tokenUrl": tokenUrl
}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
pk | String | 是 | Query参数 | 产品型号 |
name | String | 是 | RequestBody参数 | 升级包名称。不超过100个字符 |
level | String | 是 | RequestBody参数 | 升级包级别。SYSTEM:系统级,APPLICATION:应用级 |
type | String | 是 | RequestBody参数 | 升级包类型。应用级升级包只允许整包类型。COMPLETE:整包,INCREMENTAL:差分包 |
packageName | String | 否 | RequestBody参数 | 应用升级包包名。level=APPLICATION 时必填。 |
targetVersion | String | 是 | RequestBody参数 | 升级包版本号。必须是4位用点号分隔的数字 |
baseVersion | String | 否 | RequestBody参数 | 差分包原始版本号,升级包类型为差分包时必填,反之不用填写。 |
description | String | 否 | RequestBody参数 | 描述。长度不超过200个字符 |
url | String | 是 | RequestBody参数 | 升级包链接。必须是bos地址,且必须是public read的。 |
sha1 | String | 是 | RequestBody参数 | 升级包的sha1值 |
tokenUrl | String | 否 | RequestBody参数 | 升级包token文件地址。必须是bos地址,且必须是public read的。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
packageId | String | 升级包ID,是一个长度为32位的十六进制随机码。 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
BceCommonExceptions.NotAuthorizedException | 抱歉,您的授权不足 | 403 | 抱歉,您的授权不足 |
InvalidRequestParam | Id格式不合法 | 400 | 非法的请求参数。 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
NameEmpty | 名称不能为空 | 400 | 名称不能为空 |
NameTooLong | 名称过长 | 400 | 名称过长 |
DescriptionTooLong | 描述过长 | 400 | 描述过长 |
InvalidOTAPackageLevel | 无效的升级包级别 | 400 | 无效的升级包级别 |
InvalidOTAPackageType | 无效的升级包类型 | 400 | 无效的升级包类型 |
IllegalPackageType | 升级包类型与升级包级别不匹配 | 400 | 升级包类型与升级包级别不匹配 |
IncrementalTargetVersionNotGreaterThanBaseVersion | 目标版本没有大于基础版本 | 400 | 目标版本没有大于基础版本 |
InvalidShaValue | 无效的SHA值 | 400 | 无效的SHA值 |
OtaPackageDuplicateName | 已存在同名的升级包 | 400 | 已存在同名的升级包 |
CreateOTAPackageFrequently | 任务创建过于频繁,请稍候再试 | 400 | 任务创建过于频繁,请稍候再试 |
OtaPackageExceed | 最多只能创建20个升级包 | 400 | 所创建的升级包数量超限。 |
UrlEmpty | 链接地址为空 | 400 | 链接地址为空 |
InvalidBosUrl | 无效的BOS地址 | 400 | 无效的BOS地址 |
InvalidFilePostfix | 文件必须是.zip或.bdota或.apk文件 | 400 | BOS文件类型不匹配 |
FileNotExists | 文件不存在 | 400 | BOS文件不存在 |
FileTooLarge | 文件超过大小限制 | 400 | 升级包文件大小超限。要求3GB以内 |
NotBosHttpUrl | 必须提供BOS的链接地址 | 400 | 提供的HTTP连接不是BOS链接,必须提供BOS的链接地址。域名以.bcebos.com结尾 |
请求示例
POST /v2/ivc/data/ota/package?pk=QWER HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
{
"name": "testotapackage3",
"type": "COMPLETE",
"targetVersion": "2.00.06.20191118",
"baseVersion": "",
"description": "test",
"url": "https://gz.bcebos.com/bucket/object",
"sha1": "1ecdce7edc89592b23a999144304eef04f4f7865",
"tokenUrl": "https://gz.bcebos.com/bucket/token-object"
}
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"packageId":"844dec82c44b45e68cecc5c4b9bb9067"
}
删除升级包
接口描述
本接口用于删除一个已创建升级包资源。
- 请求参数中 tokenUrl 为升级包token文件地址。若不需要token校验,此参数无需填写。
- 支持创建系统级升级包和应用级升级包。当要创建系统级升级包时,参数level应为SYSTEM,参数packageName无需填写;当要创建应用级升级包时,参数level应为APPLICATION,参数packageName必填。
- 支持创建整包和差分包。当要创建整包时,参数baseVersion无需填写;当要创建差分包时,参数baseVersion必填。
请求结构
DELETE /v2/ivc/data/ota/package/{packageId} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
packageId | String | 是 | URI参数 | 升级包ID |
响应头域
除公共头域外,无其它特殊头域。
响应参数
无。
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
InvalidRequestParam | Id格式不合法 | 400 | 非法的请求参数。 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
CannotDeletePackageWithRunningTasks | 存在运行中的升级任务,不能删除 | 400 | 存在运行中的升级任务,不能删除 |
InvalidBosUrl | 无效的BOS地址 | 400 | 无效的BOS地址 |
请求示例
DELETE /v2/ivc/data/ota/package/3514ae85128a4e239430b4f0fed643b6 HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
获取升级包列表
接口描述
本接口用于分页获取升级包资源列表。支持根据产品型号(PK)、升级包级别(level)、升级包类型(type)进行过滤。
请求结构
GET /v2/ivc/data/ota/package?pk={pk}&level={level}&type={type}&pageNum={pageNum}&pageSize={pageSize} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
pk | String | 否 | Query参数 | 产品型号 |
level | String | 否 | Query参数 | 升级包级别。SYSTEM:系统级,APPLICATION:应用级 |
type | String | 否 | Query参数 | 升级包类型。应用级升级包只允许整包类型。COMPLETE:整包,INCREMENTAL:差分包 |
pageNum | int | 是 | Query参数 | 页码。 |
pageSize | int | 是 | Query参数 | 当前页面展示数量。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
list | List<PackageInfo> | 升级包列表。 |
total | long | 升级包总数。 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
InvalidPageNum | pageNum参数不合法,pageNum应大于0 | 400 | pageNum参数不合法,pageNum应大于0 |
InvalidPageSize | pageSize参数不合法,合法范围为[1,100] | 400 | pageSize参数不合法,合法范围为[1,100] |
BceCommonExceptions.NotAuthorizedException | 抱歉,您的授权不足 | 403 | 抱歉,您的授权不足 |
InvalidRequestParam | Id格式不合法 | 400 | 非法的请求参数。 |
InvalidOTAPackageLevel | 无效的升级包级别 | 400 | 无效的升级包级别 |
InvalidOTAPackageType | 无效的升级包类型 | 400 | 无效的升级包类型 |
请求示例
GET /v2/ivc/data/ota/package?pk=QGON&level=SYSTEM&type=COMPLETE&pageNum=1&pageSize=10 HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"list": [
{
"packageId": "88c023adfe2d4ca0898fad92e8b41e1b",
"name": "testotapackage3",
"pk": "QGON",
"level": "SYSTEM",
"type": "COMPLETE",
"packageName": "com.baidu.hi",
"targetVersion": "2.00.06.20191118",
"baseVersion": "",
"description": "test",
"createTime": "2018-09-20T16:00:00Z"
}
],
"total": 100
}
获取升级包详情
接口描述
本接口用于获取某个特定升级包详情。
请求结构
GET /v2/ivc/data/ota/package/{packageId} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
packageId | String | 是 | URI参数 | 升级包ID,是一个长度为32位的十六进制随机码。 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
packageId | String | 升级包ID,是一个长度为32位的十六进制随机码。 |
name | String | 升级包名称。 |
pk | String | 产品型号 |
level | String | 升级包级别。SYSTEM:系统级,APPLICATION:应用级 |
type | String | 升级包类型。COMPLETE:整包,INCREMENTAL:差分包 |
packageName | String | 应用升级包包名。系统级升级包则为空 |
targetVersion | String | 升级包版本号。 |
baseVersion | String | 差分包原始版本号。整包则为空 |
description | String | 描述。 |
url | String | 升级包链接。BOS下载地址。 |
tokenUrl | String | 升级包token文件地址。BOS下载地址。 |
createTime | String | 升级包创建时间。UTC时区 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
OTAPackageNotExists | 升级包不存在 | 404 | 升级包不存在 |
InvalidRequestParam | Id格式不合法 | 400 | 非法的请求参数。 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
InvalidBosUrl | 无效的BOS地址 | 400 | 无效的BOS地址 |
请求示例
GET /v2/ivc/data/ota/package/3514ae85128a4e239430b4f0fed643b6 HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"packageId": "88c023adfe2d4ca0898fad92e8b41e1b",
"name": "testotapackage3",
"pk": "QGON",
"level": "SYSTEM",
"type": "COMPLETE",
"packageName": "com.baidu.hi",
"targetVersion": "2.00.06.20191118",
"baseVersion": "",
"description": "test",
"url": "https://gz.bcebos.com/bucket/object",
"tokenUrl": "https://gz.bcebos.com/bucket/token-object",
"createTime": "2018-09-20T16:00:00Z"
}
根据升级包名查询升级包详情
接口描述
本接口用于根据升级包名称获取某个特定升级包详情。
请求结构
GET /v2/ivc/data/ota/package/name?name={name} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
name | String | 是 | Query参数 | 升级包名称。不超过100个字符 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
packageId | String | 升级包ID,是一个长度为32位的十六进制随机码。 |
name | String | 升级包名称。 |
pk | String | 产品型号 |
level | String | 升级包级别。SYSTEM:系统级,APPLICATION:应用级 |
type | String | 升级包类型。COMPLETE:整包,INCREMENTAL:差分包 |
packageName | String | 应用升级包包名。系统级升级包则为空 |
targetVersion | String | 升级包版本号。 |
baseVersion | String | 差分包原始版本号。整包则为空 |
description | String | 描述。 |
url | String | 升级包链接。BOS下载地址。 |
tokenUrl | String | 升级包token文件地址。BOS下载地址。 |
createTime | String | 升级包创建时间。UTC时区 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
BceCommonExceptions.NotAuthorizedException | 抱歉,您的授权不足 | 403 | 抱歉,您的授权不足 |
OTAPackageNotExists | 升级包不存在 | 404 | 升级包不存在 |
ServerInternalError | 升级包数据异常 | 500 | 服务器异常,升级包数据异常 |
InvalidRequestParam | Id格式不合法 | 400 | 非法的请求参数。 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
InvalidBosUrl | 无效的BOS地址 | 400 | 无效的BOS地址 |
请求示例
GET /v2/ivc/data/ota/package/name?name={testotapackage3} HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"packageId": "88c023adfe2d4ca0898fad92e8b41e1b",
"name": "testotapackage3",
"pk": "QGON",
"level": "SYSTEM",
"type": "COMPLETE",
"packageName": "com.baidu.hi",
"targetVersion": "2.00.06.20191118",
"baseVersion": "",
"description": "test",
"url": "https://gz.bcebos.com/bucket/object",
"tokenUrl": "https://gz.bcebos.com/bucket/token-object",
"createTime": "2018-09-20T16:00:00Z"
}
升级任务管理接口
创建升级任务
接口描述
本接口用于在云平台创建一个升级任务。在调用此接口之前需保证已创建所需的升级包资源。
- 支持创建系统级升级任务和应用级升级任务。当要创建系统级升级任务时,参数level应为SYSTEM;当要创建应用级升级任务时,参数level应为APPLICATION;
- 对于系统级升级任务,只支持安装;对于应用级升级任务支持安装和卸载,通过taskType进行配置。
- 支持定量升级任务的创建,即灰度发布。此时,参数desiredSuccessCount应小于实际的车辆数。
- 支持两种方式下发升级任务。指定车辆升级,指将任务下发给指定车辆列表;指定车辆屏蔽,指将任务下发给非指定且已绑定的车辆列表。
- 支持延迟升级,即指定任务在某时刻以后才允许设备升级。
- 支持固定时段升级,即指定任务在每天的某段时间内才允许设备升级。
注意事项
创建升级任务时会依赖一个已创建的升级包资源。
- 注意升级任务的级别与升级包的级别相匹配。系统级升级任务只能使用系统级升级包,应用级升级任务只能使用应用级升级包。
- 默认对所有满足型号的已激活设备进行升级任务创建。
请求结构
POST /v2/ivc/data/ota/task HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
{
"packageId": packageId,
"level": level,
"name": name,
"description": description,
"vehicleVersionRanges": [
{"start": start, "end": end}
],
"vehicleIds": vehicleIds,
"vehicleOrientType": vehicleOrientType,
"vehicleAttributes": [
{"field": field, "value": value}
],
"desiredSuccessCount": desiredSuccessCount,
"taskType": taskType,
"upgradeWay": upgradeWay,
"forceUpgradeOption": forceUpgradeOption,
"priority": priority,
"delayActiveTime": delayActiveTime,
"fixedUpgradeStartTime": fixedUpgradeStartTime,
"fixedUpgradeEndTime": fixedUpgradeEndTime,
"flowProtection": flowProtection,
"batteryProtection": batteryProtection
}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
packageId | String | 是 | RequestBody参数 | 升级包ID |
level | String | 是 | RequestBody参数 | 升级任务级别。SYSTEM:系统级,APPLICATION:应用级 |
name | String | 是 | RequestBody参数 | 升级任务名称。不超过100个字符 |
description | String | 否 | RequestBody参数 | 描述。长度不超过200个字符 |
vehicleVersionRanges | List<VersionRange> | 否 | RequestBody参数 | 指定车辆固件版本范围进行筛选升级 |
vehicleIds | List |
否 | RequestBody参数 | 指定具体车辆ID列表进行升级 |
vehicleOrientType | String | 否 | RequestBody参数 | 指定车辆升级方式,指定vehicleIds时必填。PUBLISH:指定车辆升级,BLOCK:指定车辆屏蔽 |
vehicleAttributes | List<Attribute> | 否 | RequestBody参数 | 指定车辆静态属性进行筛选升级。暂不支持 |
desiredSuccessCount | Integer | 否 | RequestBody参数 | 定量升级时指定期望升级完成的车辆数。该值为null时,为正常升级,即等待所有车辆升级成功 |
taskType | Integer | 否 | RequestBody参数 | 应用升级时,指定升级方式。0:安装,1:更新,2:卸载 |
upgradeWay | String | 是 | RequestBody参数 | 终端升级方式。ASK:提示升级,FORCE:静默升级 |
forceUpgradeOption | String | 否 | RequestBody参数 | 静默升级时机,upgradeWay为FORCE时必填,NONE:无,ON:开机时升级 |
priority | Integer | 否 | RequestBody参数 | 优先级。必须>=0 |
delayActiveTime | Date | 否 | RequestBody参数 | 延迟升级时间。UTC时区格式 |
fixedUpgradeStartTime | String | 否 | RequestBody参数 | 固定时间段升级的开始时间。北京时区,格式为"\d\d:\d\d" |
fixedUpgradeEndTime | String | 否 | RequestBody参数 | 固定时间段升级的结束时间。北京时区,格式为"\d\d:\d\d" |
flowProtection | String | 否 | RequestBody参数 | 流量保护。WIFI:仅wifi下升级,ALL:全网升级 |
batteryProtection | Integer | 否 | RequestBody参数 | 电量保护。范围0-100 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 升级任务ID,是一个长度为32位的十六进制随机码。 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
InvalidOTAPublishType | 无效的发布类型 | 400 | 无效的发布类型 |
InvalidReleaseVehicleCount | 灰度发布车辆数必须大于0 | 400 | 灰度发布车辆数必须大于0 |
InvalidOTAUpgradeWay | 无效的升级方式 | 400 | 无效的升级方式 |
InvalidOtaPriority | 优先级必须大于0 | 400 | 优先级必须大于0 |
FixedUpgradeStartTimeFormatError | 固定时段升级开始时间格式错误 | 400 | 固定时段升级开始时间格式错误 |
FixedUpgradeEndTimeFormatError | 固定时段升级结束时间格式错误 | 400 | 固定时段升级结束时间格式错误 |
OneFixedUpgradeTimeMissed | 固定时段升级的开始和结束时间必须同时存在 | 400 | 固定时段升级的开始和结束时间必须同时存在 |
InvalidFlowProtection | 无效的流量保护 | 400 | 无效的流量保护 |
InvalidOtaBatteryProtection | 电量保护必须在0到100之间 | 400 | 电量保护必须在0到100之间 |
TooManyTargetVersion | 筛选的版本号数量过多 | 400 | 筛选的版本号数量过多 |
TargetStartVersionEmpty | 起始版本不能为空 | 400 | 起始版本不能为空 |
StartVersionGreaterThanEndVersion | 起始版本不能大于结束版本 | 400 | 起始版本不能大于结束版本 |
OTAPackageNotExists | 升级包不存在 | 404 | 升级包不存在 |
InvalidRequestParam | Id格式不合法 | 400 | 非法的请求参数。 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
NameEmpty | 名称不能为空 | 400 | 名称不能为空 |
NameTooLong | 名称过长 | 400 | 名称过长 |
DescriptionTooLong | 描述过长 | 400 | 描述过长 |
InvalidOTAPackageLevel | 无效的升级包级别 | 400 | 无效的升级包级别 |
MismatchLevel | 升级任务级别与升级包级别不匹配 | 400 | 升级任务级别与升级包级别不匹配 |
OtaTaskDuplicateName | 已存在同名的升级任务 | 400 | 已存在同名的升级任务 |
CreateOTATaskFrequently | 任务创建过于频繁,请稍候再试 | 400 | 任务创建过于频繁,请稍候再试 |
NoVehicleBondWhenUseOTA | 使用OTA前请先绑定车辆 | 400 | 使用OTA前请先绑定车辆 |
MismatchTokenStatus | OTA已开通token,创建时必须上传token | 400 | OTA已开通token,创建时必须上传token |
InvalidBosUrl | 无效的BOS地址 | 400 | 无效的BOS地址 |
FileNotExists | 文件不存在 | 400 | BOS文件不存在 |
FileTooLarge | 文件超过大小限制 | 400 | 车辆列表文件大小超限。要求10M以内 |
OnlyUploadFileOrVehicleIds | 不能同时使用上传文件和指定车辆ID | 400 | 不能同时使用上传文件和指定车辆ID |
FilterVehicleEmpty | 筛选的车辆为空 | 400 | 筛选的车辆为空 |
InvalidFileFormat | 文件格式不正确:{message} | 400 | 文件格式不正确 |
ExcelExceedCount | 数据条目超过最大限度 | 400 | 数据条目超过最大限度。车辆列表上限为30000 |
FileReadFailed | 文件读取异常 | 400 | 文件读取异常 |
InvalidFileType | 无效的文件类型 | 400 | 无效的文件类型。车辆列表文件支持.xlsx或.txt |
ServerInternalError | 升级包不存在 | 500 | 服务器错误。升级包不存在 |
请求示例
POST /v2/ivc/data/ota/task HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
{
"packageId": "88c023adfe2d4ca0898fad92e8b41e1b",
"level": "SYSTEM",
"name": "升级任务1",
"description": "描述",
"vehicleVersionRanges": [
{"start": "0.1.0.0", "end": "0.1.1.0"}
],
"vehicleIds": ["v123", "v456"],
"vehicleOrientType": "PUBLISH",
"vehicleAttributes": [
{"field": "city", "value": "北京"}
],
"desiredSuccessCount": 100,
"taskType": 0,
"upgradeWay": "ASK",
"forceUpgradeOption": "NONE",
"priority": 10,
"delayActiveTime": "2018-12-01T08:00:00Z",
"fixedUpgradeStartTime": "00:00",
"fixedUpgradeEndTime": "10:00",
"flowProtection": "WIFI",
"batteryProtection": 20
}
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"taskId":"d1f89da121b446ed89084c9be1dd4425"
}
删除升级任务
接口描述
本接口用于在云平台删除一个已有的升级任务。
请求结构
DELETE /v2/ivc/data/ota/task/{taskId} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
taskId | String | 是 | URI参数 | 升级任务ID |
响应头域
除公共头域外,无其它特殊头域。
响应参数
无。
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
InvalidRequestParam | 缺少请求参数taskId | 400 | 缺少请求参数taskId |
OtaTaskNotExists | 升级任务不存在 | 404 | 升级任务不存在 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
OtaDeleteError | 任务正在运行,不能被删除 | 400 | 任务正在运行,不能被删除 |
securityTaskDeleteError | ota任务删除失败 | 400 | ota任务删除失败 |
请求示例
DELETE /v2/ivc/data/ota/task/d1f89da121b446ed89084c9be1dd4425 HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
设定任务终止
接口描述
本接口用于设定一个已存在升级任务终止任务。
请求结构
PUT /v2/ivc/data/ota/task/{taskId}?stop HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
{
"type": type,
"stopReason": stopReason
}
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
taskId | String | 是 | URI参数 | 升级任务ID |
type | String | 是 | RequestBody参数 | 任务终止类型。STOP:任务出现异常而终止,FINISH:任务完成而终止 |
stopReason | String | 否 | RequestBody参数 | 终止原因。类型为STOP时必填 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
无。
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
InvalidRequestParam | 缺少请求参数taskId | 400 | 缺少请求参数taskId |
OtaTaskNotExists | 升级任务不存在 | 404 | 升级任务不存在 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
InvalidTaskStatus | 无效的任务状态 | 400 | 无效的任务状态 |
StopOTATaskFailed | 任务停止失败 | 400 | 任务停止失败 |
请求示例
PUT /v2/ivc/data/ota/task/d1f89da121b446ed89084c9be1dd4425?stop HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
{
"type": STOP,
"stopReason": "具体原因"
}
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
获取升级任务列表
接口描述
本接口用于分页获取升级任务列表。支持根据PK、升级包信息进行列表过滤
请求结构
GET /v2/ivc/data/ota/task?pk={pk}&packageId={packageId}&pageNum={pageNum}&pageSize={pageSize} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
pk | String | 否 | Query参数 | PK值 |
packageId | String | 否 | Query参数 | 升级包ID。 |
pageNum | int | 是 | Query参数 | 当前页码。 |
pageSize | int | 是 | Query参数 | 当前页显示数 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
list | List<TaskInfo> | 升级任务列表 |
total | long | 升级任务总数 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
InvalidPageNum | pageNum参数不合法,pageNum应大于0 | 400 | pageNum参数不合法,pageNum应大于0 |
InvalidPageSize | pageSize参数不合法,合法范围为[1,100] | 400 | pageSize参数不合法,合法范围为[1,100] |
BceCommonExceptions.NotAuthorizedException | 抱歉,您的授权不足 | 403 | 抱歉,您的授权不足 |
InvalidRequestParam | Id格式不合法 | 400 | Id格式不合法 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
请求示例
GET /v2/ivc/data/ota/task?pk=QWER&packageId=88c023adfe2d4ca0898fad92e8b41e1b&pageNum=1&pageSize=10 HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"list": [
{
"taskId": "d1f89da121b446ed89084c9be1dd4425"
"name": "升级任务名称",
"description": "描述",
"createTime": "2018-12-01T08:00:00Z",
"packageVersion": "1.0.0.0",
"status": "TESTED"
}
],
"total": 20
}
获取升级任务详情
接口描述
本接口根据升级任务ID获取升级任务详情。
请求结构
GET /v2/ivc/data/ota/task/{taskId} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
taskId | String | 是 | URI参数 | 升级任务ID |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 升级任务ID |
name | String | 升级任务名 |
level | String | 升级任务级别。SYSTEM:系统级,APPLICATION:应用级 |
taskType | Integer | 应用升级时,指定升级方式。0:安装,1:更新,2:卸载 |
type | String | 升级任务下发时过滤类型。ALL:全量下发,OTA_VERSION:指定版本号下发,UPLOAD:上传车辆ID下发,PROPERTY:根据属性筛选下发,VEHICLE_ID:根据车辆ID下发 |
description | String | 描述。 |
status | String | 升级任务状态。 CREATING:创建中,TESTING:测试中,TESTED:测试完成,PUBLISHING:下发中,RUNNING:升级中,STOPPED:升级终止,FINISHED:升级完成 |
failReason | String | 失败原因。任务状态为STOPPED时才会有具体值 |
createTime | Date | 任务创建时间。UTC时区 |
pkg | Package | 升级包详情 |
statistic | Statistic | 升级任务的统计信息 |
publish | Publish | 发布类型 |
stages | List<Stage> | 升级任务各阶段信息 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
InvalidRequestParam | 缺少请求参数taskId | 400 | 缺少请求参数taskId |
OtaTaskNotExists | 升级任务不存在 | 404 | 升级任务不存在 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
OTAPackageNotExists | 升级包不存在 | 404 | 升级包不存在 |
请求示例
GET /v2/ivc/data/ota/task/d1f89da121b446ed89084c9be1dd4425 HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"taskId": "d1f89da121b446ed89084c9be1dd4425",
"name": "升级任务1",
"level": "SYSTEM",
"taskType": 0,
"type": "ALL",
"description": "描述",
"createTime": "2018-09-20T16:00:00Z",
"status": "TESTING",
"failReason": "",
"pkg": {
"packageId": "88c023adfe2d4ca0898fad92e8b41e1b",
"name": "升级包",
"pk": "QGON",
"level": "STSTEM",
"packageName": "com.baidu.hi",
"version": "1.0.0.0",
"type": "COMPLETE"
},
"statistic": {
"totalCount": 200,
"successCount": 10,
"successPercent": 5,
"failCount": 20,
"failPercent": 10,
"downloadFailCount": 15,
"upgradeFailCount": 5
},
"publish": {
"type": "COUNT",
"desiredSuccessCount": 100
},
"stages": [
{
"title": "任务创建",
"time": "2018-09-20T16:00:00Z",
"active": true
}
]
}
根据升级任务名查询升级任务详情
接口描述
本接口根据升级任务名获取升级任务详情。
请求结构
GET /v2/ivc/data/ota/task/name?name={name} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
name | String | 是 | Query参数 | 升级任务名 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 升级任务ID |
name | String | 升级任务名 |
level | String | 升级任务级别。SYSTEM:系统级,APPLICATION:应用级 |
taskType | Integer | 应用升级时,指定升级方式。0:安装,1:更新,2:卸载 |
type | String | 升级任务下发时过滤类型。ALL:全量下发,OTA_VERSION:指定版本号下发,UPLOAD:上传车辆ID下发,PROPERTY:根据属性筛选下发,VEHICLE_ID:根据车辆ID下发 |
description | String | 描述。 |
status | String | 升级任务状态。 CREATING:创建中,TESTING:测试中,TESTED:测试完成,PUBLISHING:下发中,RUNNING:升级中,STOPPED:升级终止,FINISHED:升级完成 |
failReason | String | 失败原因。任务状态为STOPPED时才会有具体值 |
createTime | Date | 任务创建时间。UTC时区 |
pkg | Package | 升级包详情 |
statistic | Statistic | 升级任务的统计信息 |
publish | Publish | 发布类型 |
stages | List<Stage> | 升级任务各阶段信息 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
BceCommonExceptions.NotAuthorizedException | 抱歉,您的授权不足 | 403 | 抱歉,您的授权不足 |
OtaTaskNotExists | 升级任务不存在 | 404 | 升级任务不存在 |
ServerInternalError | 升级任务数据异常 | 500 | 升级任务数据异常 |
InvalidRequestParam | Id格式不合法 | 400 | Id格式不合法 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
OTAPackageNotExists | 升级包不存在 | 404 | 升级包不存在 |
请求示例
GET /v2/ivc/data/ota/task/name?name=升级任务1 HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"taskId": "d1f89da121b446ed89084c9be1dd4425",
"name": "升级任务1",
"level": "SYSTEM",
"taskType": 0,
"type": "ALL",
"description": "描述",
"createTime": "2018-09-20T16:00:00Z",
"status": "TESTING",
"failReason": "",
"pkg": {
"packageId": "88c023adfe2d4ca0898fad92e8b41e1b",
"name": "升级包",
"pk": "QGON",
"level": "STSTEM",
"packageName": "com.baidu.hi",
"version": "1.0.0.0",
"type": "COMPLETE"
},
"statistic": {
"totalCount": 200,
"successCount": 10,
"successPercent": 5,
"failCount": 20,
"failPercent": 10,
"downloadFailCount": 15,
"upgradeFailCount": 5
},
"publish": {
"type": "COUNT",
"desiredSuccessCount": 100
},
"stages": [
{
"title": "任务创建",
"time": "2018-09-20T16:00:00Z",
"active": true
}
]
}
获取升级任务基本信息
接口描述
本接口根据升级任务ID获取升级任务基本信息。
请求结构
GET /v2/ivc/data/ota/task/{taskId}?brief HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
taskId | String | 是 | URI参数 | 升级任务ID |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 升级任务ID |
name | String | 升级任务名 |
description | String | 描述。 |
status | String | 升级任务状态。 CREATING:创建中,TESTING:测试中,TESTED:测试完成,PUBLISHING:下发中,RUNNING:升级中,STOPPED:升级终止,FINISHED:升级完成 |
vehicleFileDownloadUrl | String | 具体车辆ID列表文件的下载地址 |
vehicleOrientType | String | 指定车辆升级方式,PUBLISH:指定车辆升级,BLOCK:指定车辆屏蔽 |
vehicleAttributes | List<Attribute> | 指定车辆静态属性进行筛选升级 |
vehicleVersionRanges | List<VersionRange> | 指定车辆当前固件版本范围进行筛选升级 |
publish | Publish | 发布类型 |
pkg | PackageDetail | 升级包详情 |
condition | Condition | 任务配置信息 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
InvalidRequestParam | 缺少请求参数taskId | 400 | 缺少请求参数taskId |
OtaTaskNotExists | 升级任务不存在 | 404 | 升级任务不存在 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
OTAPackageNotExists | 升级包不存在 | 404 | 升级包不存在 |
InvalidBosUrl | 无效的BOS地址 | 400 | 无效的BOS地址 |
请求示例
GET /v2/ivc/data/ota/task/d1f89da121b446ed89084c9be1dd4425?brief HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"taskId": "d1f89da121b446ed89084c9be1dd4425",
"name": "升级任务1",
"description": "描述",
"status": "TESTING",
"vehicleFileDownloadUrl": "https://gz.bcebos.com/xxx/xxx.txt",
"vehicleOrientType": "PUBLISH",
"vehicleAttributes": [
{"field": "city", "value": "北京"}
],
"vehicleVersionRanges": [
{"start": "0.1.0.0", "end": "0.1.1.0"}
],
"publish": {
"type": "COUNT",
"desiredSuccessCount": 100
},
"pkg": {
"packageId": "88c023adfe2d4ca0898fad92e8b41e1b",
"name": "升级包",
"pk": "QGON",
"level": "SYSTEM",
"packageName": "com.baidu.hi",
"version": "1.0.0.0",
"type": "COMPLETE",
"description": "描述",
"size": 1024,
"createTime": "2018-12-01T08:00:00Z",
"downloadUrl": "https://gz.bcebos.com/xxx/xxx.zip",
"tokenDownloadUrl": "https://gz.bcebos.com/xxx/xxx.txt"
},
"condition": {
"upgradeWay": "ASK",
"forceUpgradeOption": "NONE",
"priority": 10,
"delayActiveTime": "2018-12-01T08:00:00Z",
"fixedUpgradeStartTime": "00:00",
"fixedUpgradeEndTime": "10:00",
"flowProtection": "WIFI",
"batteryProtection": 20
}
}
根据升级任务名查询升级任务基本信息
接口描述
本接口根据升级任务名获取升级任务基本信息。
请求结构
GET /v2/ivc/data/ota/task/name?brief&name={name} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
name | String | 是 | Query参数 | 升级任务名 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 升级任务ID |
name | String | 升级任务名 |
description | String | 描述。 |
status | String | 升级任务状态。 CREATING:创建中,TESTING:测试中,TESTED:测试完成,PUBLISHING:下发中,RUNNING:升级中,STOPPED:升级终止,FINISHED:升级完成 |
vehicleFileDownloadUrl | String | 具体车辆ID列表文件的下载地址 |
vehicleOrientType | String | 指定车辆升级方式,PUBLISH:指定车辆升级,BLOCK:指定车辆屏蔽 |
vehicleAttributes | List<Attribute> | 指定车辆静态属性进行筛选升级 |
vehicleVersionRanges | List<VersionRange> | 指定车辆当前固件版本范围进行筛选升级 |
publish | Publish | 发布类型 |
pkg | PackageDetail | 升级包详情 |
condition | Condition | 任务配置信息 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
BceCommonExceptions.NotAuthorizedException | 抱歉,您的授权不足 | 403 | 抱歉,您的授权不足 |
OtaTaskNotExists | 升级任务不存在 | 404 | 升级任务不存在 |
ServerInternalError | 升级任务数据异常 | 500 | 升级任务数据异常 |
InvalidRequestParam | Id格式不合法 | 400 | Id格式不合法 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
OTAPackageNotExists | 升级包不存在 | 404 | 升级包不存在 |
InvalidBosUrl | 无效的BOS地址 | 400 | 无效的BOS地址 |
请求示例
GET /v2/ivc/data/ota/task/name?brief&name=升级任务1 HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"taskId": "d1f89da121b446ed89084c9be1dd4425",
"name": "升级任务1",
"description": "描述",
"status": "TESTING",
"vehicleFileDownloadUrl": "https://gz.bcebos.com/xxx/xxx.txt",
"vehicleOrientType": "PUBLISH",
"vehicleAttributes": [
{"field": "city", "value": "北京"}
],
"vehicleVersionRanges": [
{"start": "0.1.0.0", "end": "0.1.1.0"}
],
"publish": {
"type": "COUNT",
"desiredSuccessCount": 100
},
"pkg": {
"packageId": "88c023adfe2d4ca0898fad92e8b41e1b",
"name": "升级包",
"pk": "QGON",
"level": "SYSTEM",
"packageName": "com.baidu.hi",
"version": "1.0.0.0",
"type": "COMPLETE",
"description": "描述",
"size": 1024,
"createTime": "2018-12-01T08:00:00Z",
"downloadUrl": "https://gz.bcebos.com/xxx/xxx.zip",
"tokenDownloadUrl": "https://gz.bcebos.com/xxx/xxx.txt"
},
"condition": {
"upgradeWay": "ASK",
"forceUpgradeOption": "NONE",
"priority": 10,
"delayActiveTime": "2018-12-01T08:00:00Z",
"fixedUpgradeStartTime": "00:00",
"fixedUpgradeEndTime": "10:00",
"flowProtection": "WIFI",
"batteryProtection": 20
}
}
获取升级任务中车辆升级状态列表
接口描述
本接口根据升级任务ID获取升级任务中车辆列表的升级状态。
请求结构
GET /v2/ivc/data/ota/task/{taskId}/vehicles?pageNum={pageNum}&pageSize={pageSize} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
taskId | String | 是 | URI参数 | 升级任务ID |
pageNum | int | 是 | Query参数 | 当前页码 |
pageSize | int | 是 | Query参数 | 当前页显示数 |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
list | List<Attribute> | 车辆列表 |
total | long | 车辆总数 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
InvalidPageNum | pageNum参数不合法,pageNum应大于0 | 400 | pageNum参数不合法,pageNum应大于0 |
InvalidPageSize | pageSize参数不合法,合法范围为[1,100] | 400 | pageSize参数不合法,合法范围为[1,100] |
InvalidRequestParam | 缺少请求参数taskId | 400 | 缺少请求参数taskId |
OtaTaskNotExists | 升级任务不存在 | 404 | 升级任务不存在 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
请求示例
GET /v2/ivc/data/ota/task/d1f89da121b446ed89084c9be1dd4425/vehicles?pageNum=1&pageSize=10 HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"list": [
{
"vehicleId": "QWER_v123",
"status": "PENDING",
"startTime": "2018-09-21T00:00:00Z",
"endTime": null,
"previousVersion": "0.10.0.0"
}
],
"total": 20
}
其他接口
获取bos临时鉴权接口
接口描述
本接口用于获取要上传文件的上传链接信息。 本接口获取的信息是服务器bos存储的临时鉴权,用户可通过临时鉴权在过期时间前上传文件到服务器bos。
注意事项
本接口为用户提供了一种资源存储的方式 - 通过服务器的Bos存储资源。用户也可根据需求将资源存放于自己的bos,而不依赖服务器的bos资源。
请求结构
GET /v2/ivc/data/ota/upload/{uploadType}?pk={pk}&fileName={fileName} HTTP/1.1
Host: ivc.gz.baidubce.com
x-bce-date: 2019-11-19T03:11:03Z
Authorization: authorization string
请求头域
除公共头域外,无其它特殊头域。
请求参数
参数名称 | 类型 | 是否必需 | 参数位置 | 描述 |
---|---|---|---|---|
uploadType | String | 是 | URI参数 | 上传文件类型。package:升级包,package_token:升级包的token,vehicles:车辆列表 |
pk | String | 是 | Query参数 | 产品型号 |
fileName | String | 是 | Query参数 | 要上传的文件名。package支持.zip/.bdota/.apk,package_token支持.txt,vehicles支持.xlsx |
响应头域
除公共头域外,无其它特殊头域。
响应参数
参数名称 | 类型 | 描述 |
---|---|---|
accessKeyId | String | accessKey |
secretAccessKey | String | secretAccessKey |
sessionToken | String | sessionToken |
createTime | long | 创建时间 |
expiration | long | 过期时间 |
bucket | String | bos bucket名 |
objectKey | String | bos object key |
fileKey | String | bos url |
endpoint | String | bos节点 |
错误码
错误码 | 错误描述 | HTTP状态码 | 中文解释 |
---|---|---|---|
BceCommonExceptions.NotAuthorizedException | 抱歉,您的授权不足 | 403 | 抱歉,您的授权不足 |
InvalidUploadType | 无效的上传类型 | 400 | 无效的上传类型 |
InvalidFilePostfix | 文件格式不符 | 400 | 文件格式不符。package支持.zip/.bdota/.apk,package_token支持.txt,vehicles支持.xlsx |
InvalidRequestParam | Id格式不合法 | 400 | Id格式不合法 |
OtaNotBindError | 未绑定OTA服务,无权操作 | 403 | 未绑定OTA服务,无权操作 |
请求示例
GET /v2/ivc/data/ota/upload/package?pk=QWER&fileName=test.apk HTTP/1.1
Host: ivc.gz.baidubce.com
content-type: application/json; charset=utf-8
x-bce-date: 2019-11-19T02:01:19Z
Authorization: bce-auth-v1/41af2a4615374712b5723b36cb5187d9/2019-11-18T12:09:09Z/600/host;x-bce-date;x-bce-internal-subject-token/c4e169e58e1d276c04dc45dcd8add9558d852fd32b75d61b63ffdb8bcb44022a
响应示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Date: Tue, 19 Nov 2019 02:01:20 GMT
x-bce-request-id: f89f3887-6dd4-4595-bc9a-88f5ac0b6f2a
Server: BWS
{
"accessKeyId": "4671b7a7de9d11e9923c57d72e3fad04",
"secretAccessKey": "00a3ad322ed94b1ea03bb000cbd534b7",
"sessionToken": "sessionToken",
"createTime": 1569310268000,
"expiration": 1569311468000,
"bucket": "bucket",
"objectKey": "objectKey",
"fileKey": "bosUrl",
"endpoint": "https://gz.bcebos.com"
}
数据类型
Model对象定义
PackageInfo
参数名称 | 类型 | 描述 |
---|---|---|
packageId | String | 升级包ID |
name | String | 升级包名称 |
pk | String | 产品型号 |
level | String | 升级包级别。SYSTEM:系统级;APPLICATION:应用级 |
type | String | 升级包类型。COMPLETE:整包;INCREMENT:差分包 |
packageName | String | 应用级升级包包名。系统级则为空 |
targetVersion | String | 升级包版本号 |
baseVersion | String | 差分包原始版本号。整包则为空 |
description | String | 描述 |
createTime | String | 升级包创建时间。UTC时区 |
Package
参数名称 | 类型 | 描述 |
---|---|---|
packageId | String | 升级包ID |
name | String | 升级包名称 |
pk | String | 产品型号 |
level | String | 升级包级别。SYSTEM:系统级;APPLICATION:应用级 |
type | String | 升级包类型。COMPLETE:整包;INCREMENT:差分包 |
packageName | String | 应用级升级包包名。系统级则为空 |
version | String | 升级包版本号。整包升级时直接为版本号,差分包升级时格式为1.0.0.0->2.0.0.0 |
PackageDetail
参数名称 | 类型 | 描述 |
---|---|---|
packageId | String | 升级包ID |
name | String | 升级包名称 |
pk | String | 产品型号 |
level | String | 升级包级别。SYSTEM:系统级;APPLICATION:应用级 |
type | String | 升级包类型。COMPLETE:整包;INCREMENT:差分包 |
packageName | String | 应用级升级包包名。系统级则为空 |
version | String | 升级包版本号。整包升级时直接为版本号,差分包升级时格式为1.0.0.0->2.0.0.0 |
description | String | 升级包描述 |
size | Long | 升级包大小 |
createTime | Date | 升级包创建时间,UTC格式 |
downloadUrl | String | 升级包下载地址 |
tokenDownloadUrl | String | 升级包token文件下载地址 |
TaskInfo
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 升级任务ID |
name | String | 升级任务名 |
description | String | 描述 |
createTime | Date | 创建时间 |
packageVersion | String | 升级任务中升级包的版本号 |
status | String | 任务状态。CREATING:创建中,TESTING:测试中,TESTED:测试完成,PUBLISHING:下发中,RUNNING:升级中,STOPPED:升级终止,FINISHED:升级完成 |
VehicleInfo
参数名称 | 类型 | 描述 |
---|---|---|
vehicleId | String | 车辆ID |
status | String | 升级状态。PENDING:等待中,RUNNING:升级中,SUCCEED:升级成功,FAILED:升级失败,DOWNLOAD_BEGIN:下载开始,DOWNLOAD_SUCCEED:下载成功,DOWNLOAD_FAILED:下载失败 |
startTime | Date | 开始时间,UTC时区 |
endTime | Date | 结束时间,升级完成前为null,升级完成后格式和startTime相同 |
previousVersion | String | 升级前车辆固件版本号 |
VersionRange
参数名称 | 类型 | 描述 |
---|---|---|
start | String | 起始版本号 |
end | String | 结束版本号 |
Attribute
参数名称 | 类型 | 描述 |
---|---|---|
field | String | 属性名 |
value | String | 属性值 |
Statistic
参数名称 | 类型 | 描述 |
---|---|---|
totalCount | Long | 当前升级车辆总数 |
successCount | Long | 已升级成功总数 |
successPercent | Long | 升级成功率 |
failCount | Long | 升级失败总数 |
failPercent | Long | 升级失败率 |
downloadFailCount | Long | 升级失败中因为下载失败的数量 |
upgradeFailCount | Long | 升级失败中因为安装失败的数量 |
Publish
参数名称 | 类型 | 描述 |
---|---|---|
type | String | 发布类型,NORMAL:普通发布,COUNT:定量发布 |
desiredSuccessCount | Integer | 定量发布时的期望成功数量,普通发布时该值为null |
Stage
参数名称 | 类型 | 描述 |
---|---|---|
title | String | 任务阶段名称 |
time | Date | 任务阶段创建时间,UTC时区 |
active | boolean | 任务是否处于当前阶段 |
Condition
参数名称 | 类型 | 描述 |
---|---|---|
upgradeWay | String | 终端升级方式,ASK:提示升级,FORCE:静默升级 |
forceUpgradeOption | String | 静默升级时机,NONE:无,ON:开机时升级 |
priority | Integer | 优先级 |
delayActiveTime | Date | 延迟升级时间,UTC时区格式 |
fixedUpgradeStartTime | String | 固定时间段升级的开始时间,北京时区 |
fixedUpgradeEndTime | String | 固定时间段升级的结束时间,北京时区 |
flowProtection | String | 流量保护,WIFI:仅wifi下升级,ALL:全网升级 |
batteryProtection | Integer | 电量保护 |