OTA远程升级服务
所有文档

          度行·智能车辆云 DuGo

          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 电量保护
          上一篇
          流媒体查询API
          下一篇
          功能更新记录