华为云用户手册

  • 请求示例 获取图片下载路径请求体 POST /v1/123456789*****/intelligence-data/pictures{ "data_classification" : "VEHICLE", "type" : "VEHICLE", "data_ids" : [ "06cac6be36394e2a813088bf0c0cb31c", "32a0223a911b44468c376a61f2c4d8a7" ]}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 in Array of integers 进入人数列表 type是DAY时返回是当天24小时的人流流入统计数据 type是WEEK时返回是当周7天的人流流入统计数据 type是MONTH时返回是当月天数的人流流入统计数据 type是YEAR时返回是当年12个月的人流流入统计数据 out Array of integers 离开人数列表 type是DAY时返回是当天24小时的人流流出统计数据 type是WEEK时返回是当周7天的人流流出统计数据 type是MONTH时返回是当月天数的人流流出统计数据 type是YEAR时返回是当年12个月的人流流出统计数据
  • URI GET /v1/{user_id}/statistics/people 表1 路径参数 参数 是否必选 参数类型 描述 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK章节 表2 Query参数 参数 是否必选 参数类型 描述 channel_id 是 String 通道ID: 好望设备:取值范围[0,999] device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 end_date 否 String 结束时间:日期格式为yyyyMMdd type为DAY或者YEAR时不用填写 type为WEEK或者MONTH时不填默认取start_date值 type为CUSTOMIZE时必填 start_date 是 String 开始时间:日期格式为yyyyMMdd type为DAY时,查询start_date当天人流信息 type为WEEK时,查询start_date当周人流信息 type为MONTH时,查询start_date当月人流信息 type为YEAR时,查询start_date当年人流信息 type 是 String 报表类型:枚举类型 枚举值: DAY 日统计 WEEK 周统计,需注意的是,如果start_date和end_date的日期跨度大于等于7天,会以MONTH 模式处理和返回数据 MONTH 月统计,需注意的是,如果start_date和end_date的日期跨度小于7天,会以WEEK 模式处理和返回数据 YEAR 年统计 CUSTOMIZE 自定义统计,预留,暂不使用
  • 基本消息结构体 推送消息给企业ISV平台时,各参数定义如下: 请求头header,当用户设置auth_key的值,会携带这两个请求头 字段名 类型 是否可为空 说明 X-Ivm-Timestamp Int64/long整型 不为空 UNIX时间戳,整形正数,固定长度10,1970年1月1日以来的秒数,表示回调请求发起时间。 X-Ivm-Signature String 不为空 接口请求token,token生成方式,为将callback_url,X-Ivm-Timestamp,auth_key三个字段进行拼接,字段中间以竖线(|)分割,后计算sha256值。即 X-Ivm-Signature = sha256(callback_url|X-Ivm-Timestamp|auth_key),回调消息接收端接收请求后可自行计算该值并做比较,若不相等,则请求非法 结构体req 字段名 类型 是否可为空 说明 message_id Int64/long整型 不为空 消息ID:该消息的唯一标识,根据时间戳生成(18到32位的数字),无重复 message_type String 可能为空 消息类型:分为设备智能告警消息、设备异常告警消息、设备解绑消息和设备智能数据消息四大类 枚举值: 设备智能告警消息: device_alarm 智能告警消息,包含目标智能告警,口罩告警,周界告警,人群态势告警及第三方智能告警消息等 设备异常告警消息: device_status 设备异常消息,包含设备/通道上下线告警,通道名称修改,以及设备升级失败 设备解绑消息: device_unbind 设备解绑和套餐解绑的消息 设备智能数据消息: target_data 智能业务中的目标及目标整体业务 third_data 第三方智能业务,目前是提供整个数据包,使用方需自行解析。订阅时要和第三方智能告警数据区分开 vehicle_data 智能业务中的机非人业务 head_shoulder_data 智能业务中的头肩业务 behavior_analysis_data 智能业务中的行为分析与人车物分离 micro_checkpoint_data 智能业务中的微卡口业务 data Object 可能为空 智能告警信息: 当 message_type 不同时,data 格式不同,可参考message_type里各种类型的介绍; 当智能类型算法升级时,可能会在推送的结构体里添加新字段; test Boolean 不为空 当test字段为true时,表示这是配置回调URL时测试是否可访问的消息,被调用方需要返回响应码为200。注意,此时message_type和data字段不传。 当test字段为false时,表示这是一条推送消息,message_type和data字段正常传入。 父主题: 告警推送消息体结构
  • 消息结构体介绍 表1 message_type为third_data时,data结构体如下: 字段名 类型 说明 device_id String 设备ID,正常情况下不为空,必传 channel_id String 通道ID,正常情况下不为空,必传 report_time String 上报告警时间。示例:2020-09-26T14:28:00+08:00 data_id String 数据ID:正常情况下不为空,必传。可用于查询智能图片数据,参考链接:智能图片下载 tlv_data String 第三方 tlv 数据包,base64编码的字符串,该数据较长需要准备好足够的空间 示例一、三方TLV数据示例 { "message_id": 1676253463557926634, "message_type": "third_data", "data": { "device_id": "219123456CYP***", "channel_id": "1", "report_time": "2023-02-13T09:57:41+08:00", "tlv_data": "TUVUQQAAAAABAAAgEAAAAGJlaGF2aW9yQW5hbHlzZQACAAAgBQAAAElUR1QABwAACQgAAABAAAAAAAAAAGEA" }, "test": false}
  • 功能介绍 行为分析与人车物分离业务:对人车物行为进行分析生成相应数据的智能场景。 行为分析与人车物分离业务消息体的message_type值为behavior_analysis_data 。 目前行业视频管理服务会处理以下场景: itgt_type/target_type枚举值: 21 行为分析抓图(摄像机SDC/NVR800开启行为分析功能,目标进入区域且触发入侵、越线、徘徊、遗留、移走、区域进入、区域离开、快速移动等告警,则进行抓拍并分析目标信息,如:目标类型、目标状态、目标速度等) 表1 message_type为behavior_analysis_data时,data结构体如下: 字段名 类型 说明 device_id String 设备ID,正常情况下不为空,必传 channel_id String 通道ID,正常情况下不为空,必传 data_id String 数据ID:正常情况下不为空,必传。可用于查询智能图片数据,参考链接:智能图片下载 report_time String 上报时间:示例:2021-03-15T16:43:00+08:00 data Data object 业务信息 表2 Data 字段名 类型 说明 common Common object 通用数据定义 rule Rule object 规则数据定义 targets Array of Target Object 目标数据定义 Common对象: 表3 Common 字段名 类型 说明 channel_id Int64 通道ID channel_id_ex Int64 相机扩展通道ID pts Int64 时间戳 sdc_device_id String 主从机设备ID sdc_uuid String 摄像机视频源通道号 intelligence_type Int 智能类型 image_height Int 图片高度 image_width Int 图片宽度 meta_type_mask Int 元数据类型掩码 枚举值: 1 框数据 2 图数据 8 保活数据 16 告警数据 intelligent_target_index Int 智能目标/业务类型索引 target_time_domain_info Int 配合索引使用,标识三层数据时域信息 枚举值: 0 实时框数据(检测框,规则框数据,用于复合流请流) 1 目标等其他数据(目标抓拍,定时上报,用于后端储存检索) Rule 对象: 表4 Rule 字段名 类型 说明 rule_area_pos MetaArea Object 规则框位置 rule_area_pos_relative MetaArea Object 规则框位置(相对位置) rule_type Int 规则类型 表5 MetaArea 字段名 类型 说明 num Int 框线坐标点数量:框线为多边形,这里表示顶点的个数 points Array of Point object 坐标 表6 Point 字段名 类型 说明 x Int 横坐标 y Int 纵坐标 表7 Target 字段名 类型 说明 data_id Int 数据ID,正常情况下不为空,必传 panorama_pic String 全景图,已经转化为url panorama_pic_size Int 全景图大小 pic_snapshot_dst_offset Int64 夏令时偏移时间:单位秒/s pic_snapshot_time Int 抓拍时间:单位秒/s pic_snapshot_timems Int64 抓拍时间:单位毫秒/ms pic_snapshot_tzone Int64 抓拍时区:单位毫秒/ms 东区为+ 西区为- color Color object 颜色 global_object_id Int64 智能目标全局ID obj_id Int 目标ID obj_pos Rect object 目标位置 obj_pos_r Rect object 目标位置(相对位置) obj_speed Point object 目标速度 obj_status Int 目标状态 枚举值: 0 无状态 1 徘徊状态 2 绊线状态 4 遗留状态 8 移走状态 16 入侵状态 32 区域进入状态 64 区域离开状态 128 球机转动,雷球联动 256 电梯内电瓶车检测 obj_type Int 目标类型 枚举值: 0 未分类 1 车 2 人 96 机非人的机动车 97 机非人的非机动车 98 机非人的行人 128 区域显示框类型0:目标框 129 区域显示框类型1:人框 130 区域显示框类型2:非机动车框 131 区域显示框类型3:机动车框 132 区域显示框类型4:在目标业务中是人身框、在交通业务中是车牌框 133 区域显示框类型5:停车侦测使用框 134 区域显示框类型6:人群密度使用框 135 区域显示框类型7:排队长度使用框 136 区域显示框类型8:违停球使用框 137 区域显示框类型9:自动跟踪使用框 138 区域显示框类型10:复杂行为分析使用框 139 区域显示框类型11:火点检测使用框 255 其他 target_type Int 智能业务场景 枚举值: 21 行为分析抓图 表8 Rect 字段名 类型 说明 x Int 上层业务检测框左上角坐标点计算方式,x1 = x *全景图像素宽度/ 10000 y Int 上层业务检测框左上角坐标点计算方式,y1 = y *全景图像素高度/ 10000 width Int 上层业务检测框宽度计算方式 widht1 = widht *全景图像素宽度/ 10000 height Int 上层业务检测框长度计算方式 height1 = height *全景图像素高度/ 10000 表9 Color 字段名 类型 说明 red Int 红色像素 green Int 绿色像素 blue Int 蓝色像素 conf_lev Int 置信度 color_id Int 颜色id 示例一、行为分析抓图 { "message_id": 1676822987447548758, "message_type": "behavior_analysis_data", "data": { "device_id": "HOLO123***", "channel_id": "0", "data_id": "167682298743800500010002rwnwv040", "report_time": "2023-02-20T00:09:47+08:00", "data": { "common": { "channel_id": 101, "channel_id_ex": 101, "image_height": 1440, "image_width": 2560, "intelligent_target_index": 281474976710656, "meta_type_mask": 2, "pts": 517577328, "sdc_uuid": "e15ee2b3-83c2-073a-28e1-378e9612aa71", "target_time_domain_info": 1, "target_type": 21 }, "rule": { "rule_area_pos": { "num": 4, "points": [ { "x": 1, "y": 1 }, { "x": 351, "y": 1 }, { "x": 351, "y": 287 }, { "x": 1, "y": 287 } ] }, "rule_area_pos_relative": { "num": 4, "points": [ { "x": 28, "y": 34 }, { "x": 9971, "y": 34 }, { "x": 9971, "y": 9965 }, { "x": 28, "y": 9965 } ] }, "rule_type": 4 }, "targets": [ { "data_id": "167682298742100500010001rwnwv040", "panorama_pic": "https://www.example.com/v1/holo/tlv_HOLO123***_0_20230220_tlv_167682298742100500010001rwnwv040.jpg/static", "panorama_pic_size": 199629, "pic_snapshot_dst_offset": 0, "pic_snapshot_time": 1631497728, "pic_snapshot_timems": 1631497728392, "pic_snapshot_tzone": 28800000, "target_type": 21 }, { "color": { "red": 0, "green": 0, "blue": 0, "conf_lev": 0, "color_id": 0 }, "data_id": "167682298743800500010000rwnwv040", "global_object_id": 7007351688747024516, "meta_type_mask": 2, "obj_id": 132, "obj_pos": { "x": 169, "y": 110, "width": 74, "height": 177 }, "obj_pos_r": { "x": 4804, "y": 3819, "width": 2128, "height": 6173 }, "obj_speed": { "x": 0, "y": 0 }, "obj_status": 16, "obj_type": 98, "target_type": 21 }, { "color": { "red": 0, "green": 0, "blue": 0, "conf_lev": 0, "color_id": 0 }, "data_id": "167682298743800500010001rwnwv040", "global_object_id": 7007351688747024510, "meta_type_mask": 2, "obj_id": 126, "obj_pos": { "x": 217, "y": 155, "width": 80, "height": 126 }, "obj_pos_r": { "x": 6191, "y": 5395, "width": 2285, "height": 4388 }, "obj_speed": { "x": 8, "y": 14 }, "obj_status": 16, "obj_type": 98, "target_type": 21 }, { "color": { "red": 0, "green": 0, "blue": 0, "conf_lev": 0, "color_id": 0 }, "data_id": "167682298743800500010002rwnwv040", "global_object_id": 7007351688747024493, "meta_type_mask": 2, "obj_id": 109, "obj_pos": { "x": 85, "y": 137, "width": 74, "height": 148 }, "obj_pos_r": { "x": 2421, "y": 4756, "width": 2128, "height": 5152 }, "obj_speed": { "x": 3, "y": 6 }, "obj_status": 16, "obj_type": 98, "target_type": 21 } ] } }, "test": false}
  • 功能介绍 设备智能数据:设备安装相关算法后,在相应场景触发时,设备推送的算法结果消息。客户可根据算法结果实现自己的业务。 设备智能数据包含多种业务,每种业务的消息结构体都有差异,以下章节会对不同业务的消息结构体进行讲解。 设备智能数据消息体的message_type值为以下枚举值: target_data 智能业务中的目标及目标整体业务 third_data 第三方智能业务,目前是提供整个数据包,使用方需自行解析。订阅时需要和第三方智能告警数据区分开,一个是第三方TLV智能数据,一个是第三方智能告警 vehicle_data 智能业务中的机非人业务 head_shoulder_data 智能业务中的头肩业务 behavior_analysis_data 智能业务中的行为分析与人车物分离 micro_checkpoint_data 智能业务中的微卡口业务 备注:随着设备算法的升级可能会有出现文档中未描述的字段
  • 功能介绍 头肩业务:人群密度,排队长度,过线计数与人数统计相关的场景的智能业务。 头肩业务消息体的message_type值为head_shoulder_data。 目前行业视频管理服务会处理以下场景: itgt_type/target_type枚举值: 12 人群密度(摄像机SDC/NVR800开启人群密度功能,会自动抓拍区域内人群,提取人群信息,如人群密度、人数等) 13 排队长度(摄像机SDC/NVR800开启排队长度功能,会自动抓拍区域内的排队队列,提取排队信息,如排队人数、排队时长等) 15 过线计数(摄像机SDC/NVR800开启过线计数功能,绘制一条线,指定进入和离开方向,有人通过线,则会记录过线信息,如进入总人数、离开总人数等)
  • 请求示例 查询通道实况播放地址 POST /v1/123456789*****/media/urls/batch-delete{"urls":[{"url":"jvmp://123.123.123.123:7070/live/210123456SMY***?token=content***"},{"url":"https://123.123.123.123:20378/live/210123456SMY***.flv?token=content***"}]}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证AccessToken:从获取用户北向接口认证AccessToken中获取 表3 请求Body参数 参数 是否必选 参数类型 描述 urls 是 Array of BatchDeleteUrls objects 要删除的url列表:播放地址列表 表4 BatchDeleteUrls 参数 是否必选 参数类型 描述 url 是 String 要删除的url:从其他接口获取的播放地址 备注:不支持RTSP协议
  • 功能介绍 设备异常告警消息:设备状态变更(例如设备、通道上下线,升级等)时推送的消息 设备异常告警消息的message_type值为device_status。 表1 message_type为device_status时,data结构体如下: 字段名 类型 是否可为空 说明 method String 不为空 设备状态变更方法。 枚举值 logout 设备离线 login 设备上线 channel_state_notice 通道离线/上线(根据channel_state字段来区分) channel_name_notice 通道名称变更 upgrade_result 设备升级结果上报 offline_reason_notice 离线原因上报 param Param object 不为空 异常设备数据 表2 Param 字段名 类型 说明 device_id String 设备ID device_name String 设备名称 channel_id String 通道ID time String 设备告警时间 video_channel VideoChannel object 设备视频通道信息,数组对象 onine_time Int 上次在线时长:单位为秒/s last_login_time String 上次上线时间 alarm_uuid String 告警UUID:告警唯一标识,当method为设备升级失败/成功时,可通过该字段去查询设备升级失败/成功的详细信息。 overall_upgrade_status String 设备升级状态 device_type String 设备类型 offline_reason_type String 设备离线原因 枚举值: NORMAL 正常离线,例如重启或者掉电 NETWORK 网络异常离线 qos Float64 网络质量 time_delay Float64 时延 packet_loss_rate Float64 丢包率 push_time String 上报时间 表3 VideoChannel 字段名 类型 说明 channel_id String 通道ID channel_name String 通道名称 channel_state Int 通道状态,0:通道离线,1:通道上线 channel_ability String 视频通道能力。取值为 [ptz、talk、intelligent、soundlightalarm、algorithm] 中的零或多种,分别代表 [云台,对讲,智能分析,声光警戒,长尾算法] device_type String 视频通道的设备类型 manufacture String 通道接入设备的通道厂商 firmware String 通道接入设备的固件版本 model String 通道接入设备的型号 status_list Array of UpgradeStatusList objects 升级状态,如果method不是upgrade_result,该字段为null alarm_uuid String 告警UUID:告警唯一标识,当method为设备升级失败/成功时,可通过该字段去查询设备升级失败/成功的详细信息 表4 UpgradeStatusList 字段名 类型 说明 file_type Int 文件类型 枚举值: 0 基础软件包 1 目标和目标整体检测算法 2 目标识别算法包 4 违停检测算法包 8 机非人算法包 16 海外车牌检测算法包 32 场景自适应算法包 33 人群密度/排队长度算法包 64 三方APP包 65 4G软件包 66 D芯片升级包 67 D芯片算法包 68 周界算法包 69 星图算法包 70 星图1+2人像算法包 71 复杂行为算法包 75 热成像行为分析算法包 80 电梯电瓶车算法包 81 全结构化算法包 82 行为分析算法包 83 行为分析算法包,备注:82和83均为行为分析算法包 84 目标检测算法包 85 目标识别算法包 file_name String 文件名称:文件的名称,例如XXXXX.bin文件 package_name String 升级包名称:该升级文件所属的类型名,该名称与文件类型相对应,例如基础升级包、目标和目标整体检测算法, status String 升级状态 枚举值: preparing 准备中 unstart 未开始 starting 开始中 downloading 下载固件中 upgrading 升级固件中 success 升级成功 failure 升级失败 not_required 无需升级 示例一、设备上线 { "message_id": 1676292308043441909, "message_type": "device_status", "data": { "method": "login", "param": { "device_id": "219123456CYP***", "device_name": "MicroEdge", "channel_id": "", "time": "2023-02-13T20:43:47+08:00", "video_channel": [ { "channel_id": "7", "channel_name": "SDC", "channel_state": 1, "channel_ability": [ "talk", "intelligent", "soundlightalarm", "sdcardformat", "alarmsound", "abilityauth" ], "device_type": "IPC-CONCH", "manufacture": "huawei", "firmware": "SDC 10.0.RC11.SPC100", "model": "D3250-10-SIU", "status_list": null, "alarm_uuid": "" } ], "overall_upgrade_status": "", "device_type": "MEdge", "offline_reason_type": "", "qos": 0, "time_delay": 0, "packet_loss_rate": 0, "push_time": "2023-02-13 20:45:07" } }, "test": false} 示例二、设备离线 { "message_id": 1676293195851991937, "message_type": "device_status", "data": { "method": "logout", "param": { "device_id": "021123456MKR***", "device_name": "HoloSens SDC", "channel_id": "", "time": "2023-02-13T20:59:55+08:00", "video_channel": null, "online_time": 1077, "last_login_time": "2023-02-13 20:41:58", "alarm_uuid": "021RMK2202091846_device_offline_2023-02-13T20:59:55+08:00", "overall_upgrade_status": "", "device_type": "IPC-BOX", "offline_reason_type": "TMOUT", "qos": 0, "time_delay": 0, "packet_loss_rate": 0, "push_time": "2023-02-13 20:59:55" } }, "test": false} 示例三、设备通道离线 { "message_id": 1676294530831471492, "message_type": "device_status", "data": { "method": "channel_state_notice", "param": { "device_id": "219123456CYP***", "device_name": "FX_3.2.9.9_B016", "channel_id": "", "time": "2023-02-13T21:17:09+08:00", "video_channel": [ { "channel_id": "14", "channel_name": "${time@sys: YYYY-MM-DD}", "channel_state": 0, "channel_ability": [], "device_type": "IPC-BOX", "manufacture": "huawei", "firmware": "SDC 8.0.T2002", "model": "M2120-10-EI", "status_list": null, "alarm_uuid": "219123456CYP***_14_channel_offline_2023-02-13T21:17:09+08:00" } ], "overall_upgrade_status": "", "device_type": "", "offline_reason_type": "", "qos": 0, "time_delay": 0, "packet_loss_rate": 0, "push_time": "2023-02-13 21:22:07" } }, "test": false}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证token,从获取用户认证token接口获取 表3 请求Body参数 参数 是否必选 参数类型 描述 callback_url 是 String 要添加的URL,支持http和https协议,长度在256常规字符以内,不支持中文,长度范围[1,256] subscription_type 是 String 订阅类型字段 枚举值: DEVICE_ALARM 智能告警消息(含第三方告警),该消息的数据推送结构体设备智能告警消息结构体 DEVICE_EXCEPTION 设备异常消息,该消息的数据推送结构体设备异常告警消息结构体 DEVICE_UNBIND 设备解绑、套餐解绑数据,该消息的数据推送结构体设备解绑消息结构体 TARGET_DATA 目标TLV数据,该消息的数据推送结构体目标数据消息结构体 THIRD_DATA 第三方TLV数据,该消息的数据推送结构体三方数据消息结构体 VEHICLE_DATA 机非人TLV数据,该消息的数据推送结构体机非人消息结构体 HEAD_SHOULDER_DATA 头肩业务TLV数据,该消息的数据推送结构体头肩业务消息结构体 BEHAVIOR_ANALYSIS_DATA 行为分析TLV数据,该消息的数据推送结构体行为分析与人车物分离消息结构体 MICRO_CHECKPOINT_DATA 微卡口TLV数据,该消息的数据推送结构体微卡口数据推送结构体 auth_key 否 string 鉴权密钥:给客户推送消息时,客户认证时使用,长度范围[6,18],该字段为非必填字段,但建议客户填写,有助于提高可靠性。 认证方式如下: 当配置了auth_key后,回调方会根据 (回调地址+"|"+时间戳+"|"+auth_key)用sha256算法做数字摘要。 在回调时,通过HEAD参数 "X-Ivm-Signature" 传递摘要,"X-Ivm-Timestamp"传递时间戳。设置方通过计算sha256(回调地址+"|"+时间戳+"|"+auth_key)进行认证,可参考告警推送消息体结构
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 callback_url String 支持http/https协议,最大长度为256常规字符 create_time String 创建时间 subscription_type String 订阅类型字段 枚举值: DEVICE_ALARM 智能告警消息(含第三方告警),该消息的数据推送结构体设备智能告警消息结构体 DEVICE_EXCEPTION 设备异常消息,该消息的数据推送结构体设备异常告警消息结构体 DEVICE_UNBIND 设备解绑、套餐解绑数据,该消息的数据推送结构体设备解绑消息结构体 TARGET_DATA 目标TLV数据,该消息的数据推送结构体目标数据消息结构体 THIRD_DATA 第三方TLV数据,该消息的数据推送结构体三方数据消息结构体 VEHICLE_DATA 机非人TLV数据,该消息的数据推送结构体机非人消息结构体 HEAD_SHOULDER_DATA 头肩业务TLV数据,该消息的数据推送结构体头肩业务消息结构体 BEHAVIOR_ANALYSIS_DATA 行为分析TLV数据,该消息的数据推送结构体行为分析与人车物分离消息结构体 MICRO_CHECKPOINT_DATA 微卡口TLV数据,该消息的数据推送结构体微卡口数据推送结构体
  • 功能介绍 配置用户 消息通知 URL(增加或者更新用户消息通知URL)。 配置回调 URL 时将通过 HTTP/HTTPS 请求的方式发送一条测试请求给用户服务器,用户服务器需要处理行业视频管理服务的回调请求,并尽快进行应答。 注意事项: 回调的方向是行业视频管理服务向用户服务器发起 HTTP/HTTPS POST 请求。HTTP是非加密传输,存在安全风险。为了获得更高的安全性,建议您使用 HTTPS 通道发送请求; 行业视频管理服务回调用户服务器的超时时间为 5 秒,且没有重试。如果回调超时,则配置失败。为确保回调成功率,用户服务器应当尽可能加快回调处理速度,例如先发送回调应答,然后再处理具体业务逻辑; 确保回调 URL 的 IP 和端口公网可达,以及防火墙策略不限制外网访问,接口应支持application/json格式的数据 回调请求成功后,确保应答报文中的 HTTP 返回码为 200。 配置回调 URL 时,云服务端会访问该地址是否可用。访问请求体格式为: { "message_id": 1614936351275468803, // int64 或 long 整型 "test": true // boolean 类型 } 注意,在配置好回调 URL,还需要给设备开通接入调阅服务和行业数据流服务后,才能接收到告警数据。 云服务会对连续出现6次及以上异常状态的回调URL进行熔断处理,触发熔断后,10分钟内将不会向该回调URL推送消息。异常状态包括:超过5秒未响应、HTTP返回码非200等。触发熔断时间内,若用户服务器恢复好,可自行通过调用 配置用户消息通知URL接口 来进行解除。
  • 响应示例 当URL存在时: { "callback_url": "http://xxxxxx:xx", "subscription_type": "DEVICE_ALARM", "create_time": "2021-03-30 14:34:50", "update_time": "2021-03-30 15:34:50", "auth_key": "xxxxxxx"} 当URL不存在时: {}
  • URI GET /v1/{user_id}/messages/callback 表1 路径参数 参数 是否必选 参数类型 描述 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK章节 表2 Query参数 参数 是否必选 参数类型 描述 subscription_type 是 String 订阅类型字段 枚举值: DEVICE_ALARM 智能告警消息(含第三方告警),该消息的数据推送结构体设备智能告警消息结构体 DEVICE_EXCEPTION 设备异常消息,该消息的数据推送结构体设备异常告警消息结构体 DEVICE_UNBIND 设备解绑、套餐解绑数据,该消息的数据推送结构体设备解绑消息结构体 TARGET_DATA 目标TLV数据,该消息的数据推送结构体目标数据消息结构体 THIRD_DATA 第三方TLV数据,该消息的数据推送结构体三方数据消息结构体 VEHICLE_DATA 机非人TLV数据,该消息的数据推送结构体机非人消息结构体 HEAD_SHOULDER_DATA 头肩业务TLV数据,该消息的数据推送结构体头肩业务消息结构体 BEHAVIOR_ANALYSIS_DATA 行为分析TLV数据,该消息的数据推送结构体行为分析与人车物分离消息结构体 MICRO_CHECKPOINT_DATA 微卡口TLV数据,该消息的数据推送结构体微卡口数据推送结构体
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 callback_url String 支持http/https协议,最大长度为256英文字符 create_time String 创建时间 update_time String 更新时间 subscription_type String 订阅类型字段, 枚举值: DEVICE_ALARM 智能告警消息(含第三方告警),该消息的数据推送结构体设备智能告警消息结构体 DEVICE_EXCEPTION 设备异常消息,该消息的数据推送结构体设备异常告警消息结构体 DEVICE_UNBIND 设备解绑、套餐解绑数据,该消息的数据推送结构体设备解绑消息结构体 TARGET_DATA 目标TLV数据,该消息的数据推送结构体目标数据消息结构体 THIRD_DATA 第三方TLV数据,该消息的数据推送结构体三方数据消息结构体 VEHICLE_DATA 机非人TLV数据,该消息的数据推送结构体机非人消息结构体 HEAD_SHOULDER_DATA 头肩业务TLV数据,该消息的数据推送结构体头肩业务消息结构体 BEHAVIOR_ANALYSIS_DATA 行为分析TLV数据,该消息的数据推送结构体行为分析与人车物分离消息结构体 MICRO_CHECKPOINT_DATA 微卡口TLV数据,该消息的数据推送结构体微卡口数据推送结构体 auth_key String 鉴权密钥
  • 响应示例 状态码: 200 OK { "p2p_connections" : [ { "device_id" : "952352LWXT***", "token" : "XSab786654", "device_state" : "ONLINE", "p2p_nodes" : [ { "node_type" : "COMMON", "address_type" : "IPV4", "address" : [ "123.123.*.*", "123.123.*.*" ], "tcp_port" : 0, "udp_port" : 7050 } ], "result" : { "code" : "IVM.0", "msg" : "Success" } }, { "device_id" : "952352LWXT***", "token" : "XSab786654", "device_state" : "ONLINE", "p2p_nodes" : [ { "node_type" : "COMMON", "address_type" : "IPV4", "address" : [ "123.123.*.*", "123.123.*.*" ], "tcp_port" : 0, "udp_port" : 7050 } ], "result" : { "code" : "IVM.0", "msg" : "Success" }, "start_time": "2022-05-31 00:00:00", "end_time": "2022-05-31 02:00:00" } ]}
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 failNum Integer 获取设备url失败的数量 p2p_connections Array of P2PDevicesResp objects 响应信息 表6 P2PDevicesResp 参数 参数类型 描述 device_id String 设备ID: 好望协议:大小写字母、数字,长度为8~32个字符 p2p_nodes Array of P2PMTSListResp objects p2p连接可用节点 device_state String 在线状态:枚举类型 枚举值: OFFLINE 离线 ONLINE 在线 token String P2P请求Token result Result object 错误信息 start_time String 开始时间:格式:YYYY-MM-DD HH:MM:SS,北京时间 例如:2022-05-31 00:00:00 备注:请求时填了开始结束时间时,响应体才会有该字段 end_time String 结束时间:格式:YYYY-MM-DD HH:MM:SS,北京时间 例如:2022-05-31 02:00:00 备注:请求时填了开始结束时间时,响应体才会有该字段 表7 P2PMTSListResp 参数 参数类型 描述 address Array of strings 媒体转发服务地址: 协议头在SDK封装 ,根据address_type决定地址类型 DOMAIN: www.huawei.com IPV4: 123.123.123.123 IPV6: fe80::f816:3eff:feed:5821 address_type String 地址类型:枚举类型 DOMAIN 域地址 IPV4 IPv4地址 IPV6 IPv6地址 node_type String 节点类型:枚举类型 枚举值: COMMON 普通:普通的三线(移动,联通,电线)服务器,与地域有关,服务器由运营商托管,网络通信质量低 BETTER 优质:全网通服务器(华为云服务器等),网络通信质量高 tcp_port Integer TCP端口:默认值为 0 备注:未使用0端口,tcp_port只作为兼容字段保留 udp_port Integer UDP端口:默认值为 7050 表8 Result 参数 参数类型 描述 code String 错误编码:请参见错误码 msg String 错误信息
  • 请求示例 批量获取通道录像回放P2P地址(仅支持好望协议) POST /v1/2562572829***/devices/channels/p2p-connect/playback{"channels": [{"device_id": "952352LWXT***","channel_id": "0","stream_type": "PRIMARY_STREAM"},{"device_id": "952352LWXT***","channel_id": "0","stream_type": "SECONDARY_STREAM_1", "start_time":"2022-05-31 00:00:00","end_time":"2022-05-31 02:00:00"}]}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证AccessToken:从获取用户北向接口认证AccessToken中获取 表3 请求Body参数 参数 是否必选 参数类型 描述 channels 是 Array of P2PChannelsParam objects 通道列表:长度范围[1,1000] 表4 P2PChannelsParam 参数 是否必选 参数类型 描述 device_id 是 String 设备ID: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 备注:国标协议不支持P2P连接 channel_id 是 String 通道ID: 好望设备:取值范围[0,999] stream_type 是 String 码流类型:枚举类型 枚举值: PRIMARY_STREAM 主码流 SECONDARY_STREAM_1 子码流1 SECONDARY_STREAM_2 子码流2 start_time 否 String 开始时间:格式如:YYYY-MM-DD HH:MM:SS,北京时间 例如:2022-05-31 00:00:00 备注:开始时间与结束时间要一起使用 end_time 否 String 结束时间:格式如:YYYY-MM-DD HH:MM:SS,北京时间 例如:2022-05-31 02:00:00 备注:开始时间与结束时间要一起使用
  • URI DELETE /v1/{user_id}/messages/callback 表1 路径参数 参数 是否必选 参数类型 描述 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK章节 表2 Query参数 参数 是否必选 参数类型 描述 subscription_type 是 String 订阅类型字段 枚举值: DEVICE_ALARM 智能告警消息(含第三方告警),该消息的数据推送结构体设备智能告警消息结构体 DEVICE_EXCEPTION 设备异常消息,该消息的数据推送结构体设备异常告警消息结构体 DEVICE_UNBIND 设备解绑、套餐解绑数据,该消息的数据推送结构体设备解绑消息结构体 TARGET_DATA 目标TLV数据,该消息的数据推送结构体目标数据消息结构体 THIRD_DATA 第三方TLV数据,该消息的数据推送结构体三方数据消息结构体 VEHICLE_DATA 机非人TLV数据,该消息的数据推送结构体机非人消息结构体 HEAD_SHOULDER_DATA 头肩业务TLV数据,该消息的数据推送结构体头肩业务消息结构体 BEHAVIOR_ANALYSIS_DATA 行为分析TLV数据,该消息的数据推送结构体行为分析与人车物分离消息结构体 MICRO_CHECKPOINT_DATA 微卡口TLV数据,该消息的数据推送结构体微卡口数据推送结构体
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 subscription_type String 订阅类型字段 枚举值: DEVICE_ALARM 智能告警消息(含第三方告警),该消息的数据推送结构体设备智能告警消息结构体 DEVICE_EXCEPTION 设备异常消息,该消息的数据推送结构体设备异常告警消息结构体 DEVICE_UNBIND 设备解绑、套餐解绑数据,该消息的数据推送结构体设备解绑消息结构体 TARGET_DATA 目标TLV数据,该消息的数据推送结构体目标数据消息结构体 THIRD_DATA 第三方TLV数据,该消息的数据推送结构体三方数据消息结构体 VEHICLE_DATA 机非人TLV数据,该消息的数据推送结构体机非人消息结构体 HEAD_SHOULDER_DATA 头肩业务TLV数据,该消息的数据推送结构体头肩业务消息结构体 BEHAVIOR_ANALYSIS_DATA 行为分析TLV数据,该消息的数据推送结构体行为分析与人车物分离消息结构体 MICRO_CHECKPOINT_DATA 微卡口TLV数据,该消息的数据推送结构体微卡口数据推送结构体
  • 消息结构体介绍 表1 message_type为device_unbind时,data结构体如下: 字段名 类型 说明 message_type(Json内层) String 消息类型 枚举值: DELETE_DEVICE 设备删除 UNBIND_DEVICE 设备解绑 UNBIND_MANAGE 接入调阅解绑 UNBIND_MOTION 动检 云存储 解绑 UNBIND_NORMAL 连续云存储解绑 UNBIND_DATAFLOW 行业数据流解绑 devices Array of Device Objects 设备对象,包含一或多个设备的对象 表2 Device 字段名 类型 说明 device_id String 设备ID channel_id String 通道ID message Message Object 套餐解绑时的详细信息 表3 Message 字段名 类型 说明 resource_id String 套餐ID 示例一、删除设备 { "message_id": 1676624636867660931, "message_type": "device_unbind", "data": { "message_type": "DELETE_DEVICE", "devices": [ { "device_id": "11111111111111111111", "channel_id": "", "message": null } ] }, "test": false} 示例二、解绑套餐 { "message_id": 1676624334098133709, "message_type": "device_unbind", "data": { "message_type": "UNBIND_MANAGE", "devices": [ { "device_id": "210123456SMY***", "channel_id": "0", "message": { "resource_id": "791afbac769f4edea98fea92bc5fcc7d" } } ] }, "test": false}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证AccessToken:从获取用户北向接口认证AccessToken中获取 表3 请求Body参数 参数 是否必选 参数类型 描述 device_org_name 是 String 设备组织名称:支持数字、中文(一个汉字算两个字符)、英文、空格、-、_,长度范围[1,50] parent_org_id 是 String 父级组织ID:由数字组成,长度范围[1,25],可以从查询子级设备组织获取,根节点无法添加子级组织
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Access-Token 是 String 用户认证AccessToken:从获取用户北向接口认证AccessToken中获取 表3 请求Body参数 参数 是否必选 参数类型 描述 device_ids 是 Array of strings 要移动设备ID集合:数组长度范围[1,100] 单个设备: 好望设备:大小写字母、数字组成,长度范围[8,32],可在设备外壳或者设备web页面上获取 国标设备:由数字组成,长度为20个字符长度,由客户自行设置,其中第11-13位,必须是以下之一132(IPC)、111(DVR)、118(NVR),用来区分设备类型
  • 响应示例 状态码: 200 OK { "failed_num" : 1, "results" : [ { "device_id" : "952352DJNR***", "result" : { "code" : "IVM.0", "msg" : "Success" } }, { "device_id" : "952352LWXT***", "result" : { "code" : "IVM.10022037", "msg" : "Move device is not exist" } } ]}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 failed_num Integer 移动失败设备数 results Array of northMoveDevicesResult objects 设备移动结果详细信息 表5 northMoveDevicesResult 参数 参数类型 描述 device_id String 设备ID,设备唯一标识符 result ResultInfo object 错误或正确信息 表6 ResultInfo 参数 参数类型 描述 code String 单个结果码 msg String 单个结果信息
  • URI POST /v1/{user_id}/device-orgs/{device_org_id}/move-devices 表1 路径参数 参数 是否必选 参数类型 描述 device_org_id 是 String 设备分组ID:由数字组成,长度范围[1,25],可以从查询子级设备组织获取,根节点下不允许添加设备 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK章节
  • URI GET /v1/{user_id}/device-orgs/tree 表1 路径参数 参数 是否必选 参数类型 描述 user_id 是 String 用户ID:由数字组成,长度范围[15,25],获取方式参考获取user ID与下载AK/SK章节 表2 Query参数 参数 是否必选 参数类型 描述 device_org_name 是 String 设备组织名称:支持数字、中文(一个汉字算两个字符)、英文、空格、-、_,长度范围[1,50]
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全