华为云用户手册

  • 请求示例 添加国标协议设备 POST /v1/2562572829***/devices/gb/batch-add { "devices" : [ { "device_id" : "952352LWXT***", "device_name": "DEVICE01", "device_username" : "admin", "device_password" : "***", "algorithm": "MD5" } ] }
  • 响应示例 状态码: 200 OK { "failed_num" : 0, "devices" : [ { "device_id" : "952352LWXT***", "sip_server_id" : "3402000000***", "sip_server_domain" : "3402***", "sip_server_host" : "123.123.*.*", "sip_server_port" : "5060", "result" : { "code" : "IVM.0", "msg" : "Success" } } ] }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 failed_num Integer 失败数量 devices Array of BatchAddGBDevicesRespItem objects 添加结果详细信息 表6 BatchAddGBDevicesRespItem 参数 参数类型 描述 device_id String 设备ID,设备唯一标识符 sip_server_id String SIP服务器ID sip_server_domain String SIP服务器域 sip_server_host String SIP服务器地址 sip_server_port String SIP服务器端口 result Result object 错误或成功信息 表7 Result 参数 参数类型 描述 code String 错误编码 msg String 错误信息
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 group_id Integer 目标库分组ID:目标库标识符 target_ids Array of TargetResultVo objects 目标ID列表 表6 TargetResultVo 参数 参数类型 描述 target_id String 目标ID:目标标识符 result Result object 结果信息 external_target_id String 用户传入的目标ID:用户自定义的,在添加目标的时候由客户填入 表7 Result 参数 参数类型 描述 code String 错误编码 msg String 错误信息
  • 响应示例 状态码: 200 OK { "group_id" : 2, "target_ids" : [ { "result" : { "code" : "IVM.0", "msg" : "Success" }, "target_id" : "2", "external_target_id" : "1234567890123456" } ] }
  • 请求示例 批量修改目标信息 PUT /v1/2562572829***/targets { "device_id":"952352LWXT***", "group_id":2, "targets":[ { "target_id":"2", "name":"mark", "gender":"male", "age":24, "country":"中国", "nation":"汉", "native":"杭州", "occupation":"工人", "work_no":"124****77", "phone":"15********61", "email":"1*********@qq.com", "domicile":"杭州", "remark":"无", "jpegBase64":"/9j/4AAQSkZJRgABAQAAAQABAAD..."}] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证AccessToken:从获取用户北向接口认证AccessToken中获取 表3 请求Body参数 参数 是否必选 参数类型 描述 device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 group_id 是 Integer 目标库分组ID:非负值,从获取目标库分组接口获取 targets 是 TargetDto object 目标数据列表: NVR800和IVS1800:9.1以上版本支持该接口,支持批量修改,最多支持修改20个目标,NVR800的所有图片合计最大为700K,NVR800在脱敏库中目标无法进行修改 SDC:仅支持单目标修改 storage 否 Boolean 是否保存图片:false-不保存图片,true-保存图片,默认值true,NVR800的不保存图片就会保存到脱敏名单库中,SDC和NVR800修改时改字段不生效 表4 TargetDto 参数 是否必选 参数类型 描述 target_id 是 String 目标ID:支持数字和-,长度范围[1,20],需要已添加目标才可以修改,可以从按索引范围获取目标ID列表、获取目标信息、按索引范围获取目标ID信息中获取 name 是 String 姓名:支持中英文、数字、特殊字符(_-空格),长度范围[1,128] gender 是 String 性别:枚举类型 枚举值: male 男性 female 女性 age 否 Integer 年龄:取值范围[1,255](仅NVR800支持) country 否 String 国家:支持大小写字母数字,长度范围[1,128](SDC不支持) nation 否 String 民族:支持大小写字母数字,长度范围[1,32](暂不支持) native 否 String 籍贯:支持大小写字母数字,长度范围[1,128](IVS1800不支持) occupation 否 String 职业:支持大小写字母数字,长度范围[1,128](SDC不支持) work_no 否 String 工号或身份证号之类:支持大小写数字,长度范围[1,64] phone 否 String 电话:11位纯数字(仅NVR800支持) email 否 String 邮箱:邮箱格式,***@.***(仅NVR800支持) remark 否 String 备注信息:支持大小写字母数字,长度范围[1,512](SDC不支持) jpegBase64 是 String 目标图片:经过base64编码(单个图片建议不超过50K),支持png、jpeg、jpg格式 domicile 否 String 居住地:支持大小写字母数字,长度范围[1,256](IVS1800不支持)
  • 请求示例 查询前端的录像列表 GET /v2/123456789*****/devices/219123456CYP***/channels/0/media/records?start_time=2023-03-20 09:30:00&end_time=2023-03-20 19:30:00&limit=2&record_type=NORMAL_RECORD&record_position=CLOUD
  • 响应示例 状态码: 200 查询设备录像列表响应 { "total": 6, "device_id": "219123456CYP***", "channel_id": "0", "records": [ { "record_name": "_0_0_.rf", "record_type": "NORMAL_RECORD", "start_time": "2023-03-20 09:30:00", "end_time": "2023-03-20 09:44:39", "alarm_rec_type": [] }, { "record_name": "_0_1_.rf", "record_type": "NORMAL_RECORD", "start_time": "2023-03-20 09:46:41", "end_time": "2023-03-20 10:56:50", "alarm_rec_type": [] } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 录像文件总数量 device_id String 设备ID:设备唯一标识,长度范围[1,32] channel_id String 通道ID:长度范围[1,20] records Array of ListDeviceRecordFilesResp objects 录像列表 表5 ListDeviceRecordFilesResp 参数 参数类型 描述 record_name String 录像文件名称:长度范围[1,32] record_type String 录像类型:枚举类型 枚举值: NORMAL_RECORD 全量: 录像计划产生的录像 MOTION_RECORD 动检: 移动侦测产生的录像 AL RAM _RECORD 告警: 智能分析,目标分析等告警输入产生的录像 record_id String 录像ID:长度范围[1,32],仅云端回放列表返回 record_size Integer 录像文件大小:单位(字节),仅云端回放列表返回 start_time String 录像开始时间:格式:yyyy-MM-dd HH:mm:ss end_time String 录像结束时间:格式:yyyy-MM-dd HH:mm:ss alarm_rec_type Array of string 告警录像类型:枚举类型,非告警录像值为空(null)
  • URI GET /v2/{user_id}/devices/{device_id}/channels/{channel_id}/media/records 表1 路径参数 参数 是否必选 参数类型 描述 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK章节 device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 国标设备:由数字组成,长度固定为20个字符长度,由客户自行设置,其中第11-13位,必须是以下之一132(IPC)、111(DVR)、118(NVR),用来区分设备类型 channel_id 是 String 通道ID: 好望设备:取值范围[0,999] 国标设备:由数字组成,长度为20个字符,由客户自行在设备侧设置,可以在web界面获取 表2 Query参数 参数 是否必选 参数类型 描述 start_time 是 String 开始时间:格式如:yyyy-MM-dd HHmmss end_time 是 String 结束时间:格式如:yyyy-MM-dd HHmmss record_position 是 String 录像位置,枚举类型 枚举值: CLOUD 云端录像 DEVICE 前端录像 record_type 否 String 录像类型:枚举类型,仅针对查询云端录像,不填则默认默认值为 ALL_RECORD 枚举值: ALL_RECORD 所有录像 NORMAL_RECORD 全量录像 MOTION_RECORD 动检录像 limit 否 String 单页数量:取值范围[1,1000],不填写时默认值为 10 offset 否 String 偏移量:offset为0时表示查询第一页的数据,取值范围[0,1000000],不填写时默认值为 0 alarm_rec_type 否 String 告警录像种类(非告警录像值为null)
  • 响应示例 状态码: 200 OK { "device_id": "952352LWXT***", "device_name": "测试设备", "device_state": "ONLINE", "access_protocol": "HOLO", "device_type": "IPC", "device_system_state": "NORMAL", "description": "test", "model": "JVS-N71-HD", "manufacture": "JOVISION", "channel_total": 10, "stream_total": 2, "firmware": "V1.0", "device_ability" : "ptz,talk", "device_cloud_ability": [{ "alarm_voice": { "support": "true" }}], "create_time": "2020-06-26 20:42:16", "update_time": "2020-06-26 20:42:16", "protocol_version": "2.0.0", "mac": "xxx", "device_ip": "xxx.xxx.xxx.xxx", "device_port": "8090", "device_org_id": "1234567890***" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 mac String 设备mac地址 device_id String 设备ID,设备唯一标识符,如:2102412969WLMB002258 device_name String 设备名称 device_state String 设备状态 枚举值: OFFLINE 离线 ONLINE 在线 UNREGISTERED 未注册 access_protocol String 接入类型 枚举值: GB28181 国标 HOLO 好望 device_type String 设备类型 枚举值: IPC 通用相机 NVR NVR设备 MEdge IVS1800设备 IPC-BULLET 枪机 IPC-BOX 筒机 IPC-CONCH 半球/海螺 IPDOME 球机 device_system_state String 设备系统冻结 枚举值: NORMAL 正常 UNAVAILABLE_FROZEN 冻结 description String 设备描述 model String 设备型号,如:D2150 manufacture String 生产厂商,如:HUAWEI channel_total Integer 通道总数 stream_total Integer 每个通道码流数量 firmware String 摄像头固件版本号 device_ability String 设备能力集:枚举类型,参考附录设备能力集,多个能力集用逗号分隔 device_cloud_ability Object 云端能力集规格 create_time String 创建时间 update_time String 更新时间,在设备重新上线后或者移动设备分组后会修改时间 protocol_version String 设备与平台接入协议版本,如:2.0.0 device_ip String 设备IP device_port String 设备端口 device_org_id String 设备组织ID
  • URI GET /v1/{user_id}/devices/{device_id} 表1 路径参数 参数 是否必选 参数类型 描述 device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 国标设备:由数字组成,长度为20个字符长度,由客户自行设置,其中第11-13位,必须是以下之一132(IPC)、111(DVR)、118(NVR),用来区分设备类型 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK章节
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证AccessToken:从获取用户北向接口认证AccessToken中获取 表3 Query参数 参数 是否必选 参数类型 描述 ability 否 Array of strings 查询的能力集列表:不传默认查询所有能力集,数组长度范围[0,10]。能力集对应能力参考设备能力集。 need_cloud_ability 否 Boolean 是否需要返回云上管理的能力集:false,不返回云上能力集信息;true,返回云上能力集信息。不填默认false need_specification 否 Boolean 是否需要能力规格:false,不返回能力规格;true,返回能力规格。不填默认false
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证AccessToken:从获取用户北向接口认证AccessToken中获取 表3 请求Body参数 参数 是否必选 参数类型 描述 device_org_name 是 String 设备组织名称:支持数字、中文(一个汉字算两个字符)、英文、空格、-、_,长度范围[1,50] parent_org_id 是 String 父级组织ID:由数字组成,长度范围[1,25],可以从查询子级设备组织获取,根节点无法添加子级组织
  • 状态码 返回的状态码参考如下表所示: 表1 状态码 返回值 说明 200 OK 请求正常。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 204 No Content 请求完全成功,同时HTTP响应不包含响应体。 400 Bad Request 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 Not Found 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 Method Not Allowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Timeout 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 500 Internal Server Error 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 Service Unavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 Gateway Timeout 网关超时。 父主题: 附录
  • 请求示例 添加摄像机巡航轨迹 POST /v1/2562572829***/devices/952352LWXT***/channels/1/cruise-track { "cruise_type" : "CRUISE_TRACK", "cruise_name" : "巡航轨迹名称", "cruise_points" : [ { "preset_index" : 1, "dwell_time" : 30, "speed_level" : 2 } ] }
  • URI POST /v1/{user_id}/devices/{device_id}/channels/{channel_id}/cruise-track 表1 路径参数 参数 是否必选 参数类型 描述 channel_id 是 String 通道ID校验:目前只支持好望设备,取值范围[-1,999] device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证AccessToken:从获取用户北向接口认证AccessToken中获取 表3 请求Body参数 参数 是否必选 参数类型 描述 cruise_type 是 String 巡航轨迹类型:枚举类型 枚举值: CRUISE_TRACK 巡航轨迹,目前仅支持模式,基于预置点的巡航 cruise_name 是 String 巡航轨迹名称:数字、中文、英文、空格、-、_,.,长度范围[1,128] cruise_points 是 Array of CruisePoint objects 预置位列表 表4 CruisePoint 参数 是否必选 参数类型 描述 preset_index 是 Integer 预置点位序号:取值范围[1,255] dwell_time 是 Integer 预置位停留时间:取值范围[30,3600] speed_level 是 Integer 移动速度:取值范围[0,10],0最慢,10最快
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 channels Array of ChannelInfo objects 通道列表 resource_type_code String 资源类型编码 MANAGE 视图接入调阅 NORMAL 连续云储存 DATAFLOW 行业数据流 MOTION 动检 云存储 resource_name String 资源名称 resource_id String 资源ID resource_state String 资源状态 NORMAL 正常 ARREARS 欠费 UNAVAILABLE 不可使用冻结 mode String 按需或包周期 PACKAGE 包周期 ONDEMAND 按需 total Integer 通道总数 invalid_num Integer 非法通道数 manage_num Integer 管理通道数 表5 ChannelInfo 参数 参数类型 描述 attrs Array of AttributeInfo objects 资源属性 device_name String 设备名称 device_id String 设备id channel_id String 通道id channel_state String 通道状态: UNALLOCATED 未分配 ONLINE 在线 OFFLINE 离线 channel_name String 通道名称,长度取值范围[1,64]个字符 bind_state String 绑定状态 表6 AttributeInfo 参数 参数类型 描述 attr_code String 属性编码 access_number 接入路数 bandwidth 带宽 storage_day 存储天数 attr_value float 属性值
  • 响应示例 状态码: 200 OK { "channels": [ { "attrs": [ { "attr_code": "storage_day", "attr_value": 90 } ], "device_name": "HoloSens IPC", "device_id": "testwl000***", "channel_id": "0", "channel_state": "OFFLINE", "channel_name": "HoloSens IPC", "bind_state": "NORMAL" }, { "attrs": [ { "attr_code": "storage_day", "attr_value": 90 } ], "device_name": "HoloSens SDC-test2", "device_id": "210123456SMY***", "channel_id": "0", "channel_state": "OFFLINE", "channel_name": "HoloSens SDC-test2", "bind_state": "NORMAL" } ], "resource_type_code": "NORMAL", "resource_name": "90天连续云存储月套餐", "resource_id": "321456789012345678901234567*****", "resource_state": "NORMAL", "mode": "PACKAGE", "total": 12, "invalid_num": 0, "manage_num": 0 }
  • URI GET /v1/{user_id}/resources/{resource_id}/channels 表1 路径参数 参数 是否必选 参数类型 描述 resource_id 是 String 包周期资源ID:32位数字、字母组成 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK章节 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 单页内显示记录数:取值范围为[1,300],不填时默认值为10 offset 否 Integer 偏移量:取值范围为[0,2142147483646]
  • 响应示例 状态码: 200 OK { "device_id" : "952352DJNR***", "channel_id" : "0", "all_day" : false, "is_upload_record": true, "time_sections" : [ { "day_of_week" : 1, "start_time" : "00:02:00", "end_time" : "00:05:00" }, { "day_of_week" : 1, "start_time" : "00:06:00", "end_time" : "00:08:00" }, { "day_of_week" : 2, "start_time" : "00:02:00", "end_time" : "00:05:00" } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 device_id String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 国标设备:由数字组成,长度为20个字符长度,由客户自行设置,其中第11-13位,必须是以下之一132(IPC)、111(DVR)、118(NVR),用来区分设备类型 channel_id String 通道ID: 好望设备:取值范围[0,999] 国标设备:由数字组成,长度为20个字符,由客户自行在设备侧设置,可以在web界面获取 all_day Boolean 是否全程录像:枚举类型, 如果为true,time_sections省略 枚举值: true 是 false 否 is_upload_record Boolean 是否开启录像缓存补录:枚举类型。可以在web界面远程配置--企业统一配置--断网补录中更改此配置。 枚举值: true 开启 false 关闭 time_sections Array of TimeSection objects 通道录像计划时间段 表4 TimeSection 参数 参数类型 描述 day_of_week Integer 日期:取值范围[1,7](对应周一~周日) start_time String 录像开始时间:格式为HH:mm:ss,范围为[00:00:00~23:59:59] end_time String 录像结束时间:格式为HH:mm:ss,范围为[00:00:00~23:59:59] 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码:失败对应具体错误码,成功无 error_msg String 请求失败时为:错误信息,成功无 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码:失败对应具体错误码,成功无 error_msg String 请求失败时为:错误信息,成功无 状态码: 500 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码:失败对应具体错误码,成功无 error_msg String 请求失败时为:错误信息,成功无
  • URI GET /v1/{user_id}/devices/{device_id}/channels/{channel_id}/record-plan 表1 路径参数 参数 是否必选 参数类型 描述 channel_id 是 String 通道ID: 好望设备:取值范围[0,999] 国标设备:由数字组成,长度为20个字符,由客户自行在设备侧设置,可以在web界面获取 device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 国标设备:由数字组成,长度为20个字符长度,由客户自行设置,其中第11-13位,必须是以下之一132(IPC)、111(DVR)、118(NVR),用来区分设备类型 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK章节
  • 响应示例 状态码: 200 OK { "groups": [ { "name": "ssre2d", "enable": "CLOSE", "group_id": 2, "is_fixed": true, "is_hidden": false } ], "device_id": "952352LWXT***", "group_max_count": 128 }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 groups Array of TargetGroup objects 目标库分组列表 device_id String 设备ID,设备唯一标识符 group_max_count String 最大目标库分组数量限制:-1表示不限制 表5 TargetGroup 参数 参数类型 描述 group_id Integer 目标库分组ID:目标库标识符 name String 目标库名称 enable String 目标库分组是否生效:枚举类型 IVS1800设备该字段不返回,IVS1800目标库均生效 枚举值: OPEN 生效 CLOSE 失效 is_fixed Boolean 是否可修改:true表示该目标库分组详情不可修改,false表示该目标库分组详情可以修改 is_hidden Boolean 是否隐藏:仅NVR有用,白名单返回的true,其他类型的目标库返回的是false
  • URI GET /v1/{user_id}/target-groups 表1 路径参数 参数 是否必选 参数类型 描述 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK 表2 Query参数 参数 是否必选 参数类型 描述 device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取
  • 请求示例 通过版本查询设备能力集 POST /v1/2562572829***/devices/ability { "versions" : [ { "device_type" : "IPC", "model" : "C3050-10-LI-PV(3.6mm)", "firmware" : "SDC 10.0.RC11" }, { "device_type" : "IPC", "model" : "C3050-10-LI-PV(3.6mm)", "firmware" : "SDC 10.0.RC12" } ], "need_specification" : true, "ability" : [ "ptz", "soundlightalarm" ] }
共100000条