消息类型定义
消息类型 | 消息定义 |
---|---|
open_event_access | 门禁事件消息 |
open_idcard_event | 人证比对事件 |
open_access_qrcode_event | 门禁二维码事件 |
open_passengerFlow | 客流消息 |
open_face_capture | 人脸抓拍消息 |
open_event_access_batch_delivered | 门禁批量下发消息 |
open_event_super_brain_faces_delivered | 边缘人脸下发消息 |
open_event_super_brain_faces_comparison | 边缘人脸比对消息 |
open_ezviz_detector_alarm | 萤石探测器报警消息 |
open_device_alarm | 设备报警消息 |
open_device_onoffline | 设备上下线消息 |
open_channel_onoffline | 通道上下线消息 |
open_message_anpr | 车辆抓拍消息 |
open_message_tma | 测温报警消息 |
open_tem_humi_detection | 温湿度报警消息 |
open_person_queue_counting | 区域人数超限报警消息 |
open_access_auth_sync_result | 门禁权限下发结果消息 |
open_async_notification_event | 异步通知事件 |
open_safety_helmet_detection | 安全帽检测事件 |
open_city_management_event | 智慧城管事件 |
open_objects_thrown_detection | 高空抛物检测事件 |
open_visitor_event | 访客事件 |
ai_message_task_result | AI任务执行结果消息 |
open_event_user_info_collect | 人员信息采集消息 |
open_mixed_target_detection | 混合目标检测 |
open_message_parking | 停车检测 |
open_message_people_num_change | 人数变化(人数异常检测) |
open_message_faildown | 人员倒地 |
open_message_retention | 人员滞留 |
open_message_smoke_and_fire | 烟火检测事件 |
open_person_density_detection | 人员密度检测 |
open_socket_status | 插座用电量 |
open_socket_switch_status | 插座开关状态 |
open_switch_status | 智能开关状态 |
open_play_cellphone | 玩手机检测事件 |
open_leave_position | 离岗检测事件 |
open_person_queue_timing_statistics | 区域定时人数统计事件 |
open_person_queue_realtime | 区域实时人数检测事件 |
open_person_queue_time | 区域人员停留时长检测事件 |
open_device_drop | 设备坠落事件 |
open_device_not_moved | 设备静止事件 |
open_device_status | 设备状态上报事件 |
open_local_button_snapshot | 设备按键触发抓图事件 |
open_ai_video_task_detection | AI视频任务检测事件 |
门禁事件消息
open_event_access消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
eventId | 事件ID | String | 是 |
dateTime | 事件时间(UTC时间) | String | 是 |
employeeNo | 人员ID | String | 否 |
cardNo | 卡号 | String | 否 |
deviceSerial | 设备序列号 | String | 是 |
deviceName | 设备名称 | String | 是 |
channelNo | 触发报警的设备通道号 | String | 否 |
channelName | 触发报警的设备通道名称 | String | 否 |
cardReaderKind | 读卡器类型:1-IC读卡器,2-身份证读卡器,3-二维码读卡器 | Integer | 否 |
cardReaderNo | 读卡器编号 | Integer | 否 |
doorNo | 门编号 | Integer | 否 |
eventType | 事件类型 | String | 是 |
eventCode | 事件码 | String | 是 |
eventDescription | 事件描述 | String | 是 |
eventSource | 事件来源(目前暂未使用) | String | 否 |
pictureURL | 图片URL | String | 否 |
bodyMaxTemperatureValue | 人体温度 | Integer | 否,需要设备支持测温功能 |
currTemperature | 人脸温度 | Float | 否,需要设备支持测温功能 |
healthInfo | 健康信息 | Object | 否,需要设备支持健康码功能 |
eventRemark | 备注 | String | 否 |
healthInfo格式
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
healthCode | 健康码状态,0#未请求,1#未申领,2#绿码,3#黄码,4#红码,5#无此人员,6#其他错误信息(如接口异常导致查询失败),7#查询健康码超时 | int | 否 |
NADCode | 核酸检测结果,0#未查询到核酸检测结果,1#核酸检测阴性(代表正常),2#核酸检测阳性(代表确诊),3#核酸检测有效期已过,4#查询核酸结果失败 | int | 否 |
travelCode | 行程编码,0#14天内一直在当地,1#14天内离开过当地,2#14天内到过疫区,3#其他,4#查询行程信息失败 | int | 否 |
travelInfo | 行程信息,空表示查询到行程信息失败 | String | 否 |
vaccineStatus | 打疫苗状态, 0#未打疫苗,1#部分注射疫苗,2#已完成疫苗,3#查询疫苗信息失败,4#已完成加强针疫苗 | int | 否 |
vaccineNum | 打疫苗针数 | int | 否 |
open_event_access消息示例:
{
"eventId": "6514484bc11397508cab7870c633216b",
"dateTime": "2019-04-10T16:32:42+08:00",
"employeeNo": "12345",
"cardNo": "512369",
"deviceSerial": "123456789",
"deviceName": "一单元的门口机",
"channelNo": "1",
"channelName": "第一通道",
"eventType": "AccessEvent",
"eventCode": "10100",
"eventDescription": "刷卡开锁",
"eventSource": "active",
"pictureURL": "https://xxx.jpg",
"bodyMaxTemperatureValue": 37000,
"currTemperature": 37.0,
"healthInfo":{
"healthCode": 1,
"NADCode": 1,
"travelCode": 1,
"travelInfo": "test",
"vaccineStatus": 1,
"vaccineNum": 1
},
"eventRemark": "我是备注信息"
}
eventeventCode事件码对照表:
事件码 | 事件描述 |
---|---|
10101 | 刷卡开锁 |
10102 | 组合认证刷卡加密码开锁 |
10103 | 组合认证刷卡加指纹开锁 |
10104 | 指纹开锁 |
10105 | 组合认证刷卡加指纹加密码开锁 |
10106 | 组合认证指纹加密码开锁 |
10107 | 组合认证人脸加指纹开锁 |
10108 | 组合认证人脸加密码开锁 |
10109 | 组合认证人脸加刷卡开锁 |
10110 | 组合认证人脸加密码加指纹开锁 |
10111 | 组合认证人脸加刷卡加指纹开锁 |
10112 | 组合认证工号加指纹开锁 |
10113 | 组合认证工号加指纹加密码开锁 |
10114 | 人脸开锁 |
10115 | 组合认证工号加人脸开锁 |
10116 | 户主开锁 |
10117 | 组合认证工号加密码开锁 |
10118 | 人证开锁 |
10119 | 蓝牙开锁 |
10120 | 密码开锁 |
10121 | 组合认证 |
10122 | 二维码开锁 |
10123 | 户主开锁 |
10124 | 中心平台开锁 |
10125 | 人脸认证失败 |
10126 | 黑名单人员事件 |
10127 | 门锁常开开始 |
10128 | 门锁常开结束 |
10129 | 门异常打开(门磁) |
10130 | 无效时段 |
10131 | 门锁打开 |
10132 | 门锁关闭 |
10133 | 不属于多重认证群组 |
10134 | 不在多重认证时间段内 |
10135 | 多重认证成功 |
10136 | 多重认证重复认证事件 |
10137 | 多重认证超时 |
51034 | 胁迫报警 |
人证比对事件
open_idcard_event格式定义:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
eventType | 人证比对结果,105:人证比对通过 112:人证比对失败 | Integer | 是 |
eventTime | 事件时间:yyyy-MM-ddTHH:mm:ss+Z | String | 是 |
currentEvent | 是否实时事件 | Boolean | 是 |
pictureURL | 抓拍图片url | String | 否 |
idcardPicURL | 身份证图片url | String | 是 |
idcardInfo | 身份证信息 | Object | 是 |
healthInfo | 健康信息 | Object | 否,需要设备支持健康码功能 |
idcardInfo字段格式定义:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
name | 姓名 | String | 是 |
sex | 性别,male-男,female-女 | String | 是 |
birth | 生日,格式yyyy-MM-dd | String | 是 |
addr | 地址 | String | 是 |
idcardNo | 身份证号 | String | 是 |
issuingAuthority | 签发机关 | String | 是 |
startDate | 起始日期,格式yyyy-MM-dd | String | 是 |
endDate | 结束日期,格式yyyy-MM-dd | String | 是 |
isLongTermEffective | 是否长期有效 | String | 是 |
nation | 民族,1-“汉”,2-“蒙古”,3-“回”,4-“藏”,5-“维吾尔”,6-“苗”,7-“彝”,8-“壮”,9-“布依”,10-“朝鲜”,11-“满”,12-“侗”,13-“瑶”,14-“白”,15-“土家”,16-“哈尼”,17-“哈萨克”,18-“傣”,19-“黎”,20-“傈僳”,21-“佤”,22-“畲”,23-“高山”,24-“拉祜”,25-“水”,26-“东乡”,27-“纳西”,28-“景颇”,29-“柯尔克孜”,30-“土”,31-“达斡尔”,32-“仫佬”,33-“羌”,34-“布朗”,35-“撒拉”,36-“毛南”,37-“仡佬”,38-“锡伯”,39-“阿昌”,40-“普米”,41-“塔吉克”,42-“怒”,43-“乌孜别克”,44-“俄罗斯”,45-“鄂温克”,46-“德昂”,47-“保安”,48-“裕固”,49-“京”,50-“塔塔尔”,51-“独龙”,52-“鄂伦春”,53-“赫哲”,54-“门巴”,55-“珞巴”,56-“基诺”,57及之后为未知 | String | 是 |
healthInfo格式
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
healthCode | 健康码状态,0#未请求,1#未申领,2#绿码,3#黄码,4#红码,5#无此人员,6#其他错误信息(如接口异常导致查询失败),7#查询健康码超时 | int | 否 |
NADCode | 核酸检测结果,0#未查询到核酸检测结果,1#核酸检测阴性(代表正常),2#核酸检测阳性(代表确诊),3#核酸检测有效期已过,4#查询核酸结果失败 | int | 否 |
travelCode | 行程编码,0#14天内一直在当地,1#14天内离开过当地,2#14天内到过疫区,3#其他,4#查询行程信息失败 | int | 否 |
travelInfo | 行程信息,空表示查询到行程信息失败 | String | 否 |
vaccineStatus | 打疫苗状态, 0#未打疫苗,1#部分注射疫苗,2#已完成疫苗,3#查询疫苗信息失败,4#已完成加强针疫苗 | int | 否 |
vaccineNum | 打疫苗针数 | int | 否 |
open_idcard_event示例:
{
"deviceSerial": "123456789",
"eventType": 112,
"eventTime": "2019-07-26T16:06:12+08:00",
"currentEvent": false,
"idcardPicURL": "https://open.ys7.com/api/lapp/mq/downloadurl?appKey=***&fileKey=ISAPI_FILES/D03920393_2/20190726163814955-D03920393-2-10000$encrypt=2,2019-07-26T16:35:59,***",
"idcardInfo": {
"name": "张三",
"sex": "male",
"birth": "1995-07-03",
"addr": "XX省XX市XX县XX镇XX村XX号",
"issuingAuthority": "重庆市公安局永川分局",
"startDate": "2016-04-14",
"endDate": "2026-04-14",
"nation": 1,
"isLongTermEffective": "false",
"idcardNo": "123456789xx"
},
"healthInfo":{
"healthCode": 1,
"NADCode": 1,
"travelCode": 1,
"travelInfo": "test",
"vaccineStatus": 1,
"vaccineNum": 1
}
}
门禁二维码事件
open_access_qrcode_event 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
dateTime | 事件时间(UTC时间) | String | 是 |
serialNo | 事件流水号 | Integer | 是 |
deviceName | 设备名称 | String | 是 |
QRCodeInfo | 二维码信息 | String | 是 |
thermometryUnit | 测温单位:celsius-摄氏度(默认),fahrenheit-华氏度,kelvin-开尔文 | String | 否 |
currTemperature | 人脸温度:精确到小数点后一位 | Float | 否 |
regionCoordinates | 人脸温度坐标 | Object | 否 |
remoteCheck | 是否需要远程核验:true-需要,false-不需要(默认) | Boolean | 否 |
visibleLightURL | 热成像相机可见光图片URL | String | 否 |
thermalURL | 热成像图片URL | String | 否 |
pictureURL | 抓拍图片URL | String | 否 |
healthInfo | 健康信息 | Object | 否,需要设备支持健康码功能 |
regionCoordinates字段格式
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
positionX | X坐标,归一化坐标0-1000 | Integer | 否 |
positionY | Y坐标,归一化坐标0-1000 | Integer | 否 |
healthInfo格式
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
healthCode | 健康码状态,0#未请求,1#未申领,2#绿码,3#黄码,4#红码,5#无此人员,6#其他错误信息(如接口异常导致查询失败),7#查询健康码超时 | int | 否 |
NADCode | 核酸检测结果,0#未查询到核酸检测结果,1#核酸检测阴性(代表正常),2#核酸检测阳性(代表确诊),3#核酸检测有效期已过,4#查询核酸结果失败 | int | 否 |
travelCode | 行程编码,0#14天内一直在当地,1#14天内离开过当地,2#14天内到过疫区,3#其他,4#查询行程信息失败 | int | 否 |
travelInfo | 行程信息,空表示查询到行程信息失败 | String | 否 |
vaccineStatus | 打疫苗状态, 0#未打疫苗,1#部分注射疫苗,2#已完成疫苗,3#查询疫苗信息失败,4#已完成加强针疫苗 | int | 否 |
vaccineNum | 打疫苗针数 | int | 否 |
open_access_qrcode_event消息示例:
{
"deviceSerial": "123456789",
"dateTime": "2020-03-05T14:53:19+08:00",
"serialNo": 159,
"deviceName": "一单元门口机",
"QRCodeInfo": "https://xxx.com/123.jpg",
"thermometryUnit": "celsius",
"currTemperature": "36.4",
"regionCoordinates": {
"positionX": 362,
"positionX": 500
},
"remoteCheck": true,
"pictureURL": "https://xxx.com/123.jpg",
"healthInfo":{
"healthCode": 1,
"NADCode": 1,
"travelCode": 1,
"travelInfo": "test",
"vaccineStatus": 1,
"vaccineNum": 1
}
}
客流消息
open_passengerFlow消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
id | 客流消息id | String | 是 |
deviceSerial | 设备序列号 | String | 是 |
startTime | 统计开始时间 | String | 是 |
endTime | 统计结束时间 | String | 是 |
enterNum | 进入人数 | Integer | 是 |
leaveNum | 离开人数 | Integer | 是 |
passNum | 经过人数 | Integer | 否 |
messsagTime | 消息处理时间 | String | 是 |
消息示例:
{
"id": "12345",
"deviceSerial": "123456789",
"startTime": "2019-02-28T13:30:00",
"endTime": "2019-02-28T13:35:00",
"enterNum": 1,
"leaveNum": 0,
"passNum": 0,
"messageTime": "2019-02-28T13:37:22"
}
人脸抓拍消息
open_face_capture消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
faceCapture | 人脸抓拍数据 | List | 是 |
faceCapture格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
faceTime | 抓拍时间,格式yyyy-MM-ddTHH:mmZ | String | 是 |
bkgUrl | 背景图地址 | String | 是 |
thermalURL | 热成像图片地址 | String | 否 |
faces | 人脸数据 | List | 是 |
faces格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
faceRect | 人脸坐标 | Object | 是 |
faceScore | 人脸评分 | Integer | 是 |
stayDuration | 停留时长,单位毫秒 | Integer | 否 |
faceUrl | 人脸图地址 | String | 是 |
mask | 口罩检测 | Object | 否 |
targetID | 人脸关联ID | String | 否 |
faceSnapThermometryEnabled | 人脸抓拍测温使能 | Boolean | 否 |
currTemperature | 人脸温度 | Double | 否 |
isAbnomalTemperature | 人脸温度是否异常 | Boolean | 否 |
thermometryUnit | 测温单位,celsius:摄氏度,fahrenheit:华氏度,kelvin:开尔文 | String | 否 |
faceRect格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
x | 横坐标 | Double | 是 |
y | 纵坐标 | Double | 是 |
width | 人脸宽度 | Double | 是 |
height | 人脸高度 | Double | 是 |
注:坐标均为相对比例值
mask字段格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
confidence | 置信度 | Double | 否 |
value | yes-戴口罩,no-不戴口罩,unknown-未知 | String | 否 |
open_face_capture消息示例:
{
"deviceSerial": "123456789",
"faceCapture": [{
"faceTime": "2019-08-05T18:43Z",
"bkgUrl": "https://bkgUrl",
"faces": [{
"faceRect": {
"x": 0.843,
"y": 0.3,
"width": 0.065,
"height": 0.136
},
"faceScore": 20,
"stayDuration": 2000,
"faceUrl": "https://faceUrl",
"mask": {
"confidence":99.99,
"value": "yes"
},
"faceSnapThermometryEnabled": true,
"currTemperature": 36.1,
"isAbnomalTemperature": false,
"thermometryUnit": "celsius"
}]
}]
}
门禁批量下发消息
消息协议字段说明:
字段名 | 描述 | 类型 | 是否为空 |
---|---|---|---|
taskId | 任务ID,对应下发时返回的任务ID | String | 否 |
taskName | 任务名称,由系统生成 | String | 否 |
isusedTime | 下发时间 | LocalDateTime | 否 |
totalPersonNum | 下发总人数 | Integer | 否 |
totalDeviceNum | 下发总设备数 | Integer | 否 |
taskStatus | 任务状态(2:下发中;3:已完成;4:中断) | Integer | 否 |
门禁批量下发消息协议:
{
"taskId": "9514484bc14397508cab7870c6332162",
"taskName": "批量下发结果_20200910",
"isusedTime": "2019-02-28T13:37:22",
"totalPersonNum": 1,
"totalDeviceNum": 1,
"taskStatus": 2
}
边缘人脸下发消息
人脸下发结果消息字段说明:
{
deviceSerial:设备序列号
customFaceLibId:自定义人脸库ID
taskId:任务ID
status:状态(success-成功,failure-失败)
message:状态描述(失败原因等)
}
人脸下发结果消息协议:
{
"deviceSerial": "xxxxxxxxxx",
"customFaceLibId": "888888",
"taskId": "xxxxxxxxxx",
"status": "success/failure",
"message": "xxxxxxxx"
}
边缘人脸比对消息
协议字段说明:
- code: 当人脸图片分析失败时,会返回对应的错误码,int。!!!该字段仅对定制设备生效,标准设备不返回该字段
- msg: 当人脸图片分析失败时,会返回对应的错误信息,string。!!!该字段仅对定制设备生效,标准设备不返回该字段
- dateTime:事件时间,格式:2004-05-03T17:30:08+08:00
- deviceSerial: 设备序列号
- channelNo:通道号,Integer类型
- targetAttrs: 目标属性
- faceTime:抓拍时间,格式:2004-05-03T17:30:08+08:00
- bkgUrl:背景大图URL, string类型, 最大长度为256
- faces:人脸信息包括检测结果、属性、建模和匹配名单, 一张图片中的可能多个人脸结果, array数组
- url:人脸小图URL,最大长度为256
- prompt:人脸库比对提示语
- contrastStatus:比对结果,boolean类型。true表示比对成功,false表示比对失败
- realTimeContrast:是否实时比对,boolean类型
- faceRect:人脸小图矩形框,用于参数建模
- height:高度, float类型
- width:宽度, float类型
- x:X坐标, float类型
- y:Y坐标, float类型
- identify:
- maxsimilarity:可选, 所有匹配人员比对结果中的最大相似度, 取值范围: 0~1, 精确到小数点后两位, float类型
- similarityRange:可选, 相似度范围,integer,0:低于min, 1:min-max之间, 2:大于max
- candidate:匹配的人员名单信息列表, 同一个布防关联对应多个匹配人员, array数组
- similarity:该人员所有匹配人脸图片结果中的最大相似度, 取值范围:0~1, 精确到小数点后两位, float类型
- faceLibName:人脸库名称
- faceLibThreshold:人脸库检测阈值,范围[0-100]
- customFaceLibId:自定义人脸库ID
- employeeNo: 自定义人员ID
- reserveField:保留字节(透传数据), 最大不超过256字节, 若下发的数据超过此会产生截断
- name:姓名, string类型, 最大长度为96字节
- gender:性别: male-男, female-女, unknown-未知, string类型, 最大长度为10
- bornTime:出生日期, ISO8601 time格式, string类型, 最大长度为32
- city:人员出生城市编号(详见:全国各省份城市列表), string类型, 最大长度为32
- certificateType:证件类型: officerID-军官证, ID-身份证, passport-护照, other-其他, string类型, 最大长度为10
- certificateNumber:证件号, string类型, 最大长度为32
- ageGroup:年龄段: unknown-未知, 详见属性参数取值字典, string类型, 最大长度为32
- phoneNumber:电话号码, string类型, 最大长度为64
- humanData:人员数据,array数组
- facePicUrl:人脸图片url,最大长度为256
- similarity:人脸图片最大相似度, 取值范围:0~1, 精确到小数点后两位, float类型
- faceId:人脸ID,可以为空
- faceRect:矩形框,用于参数建模
- height:高度, float类型
- width:宽度, float类型
- x:X坐标, float类型
- y:Y坐标, float类型
- faceProperties:人脸属性信息
- age:年龄,可选
- range:可选, 年龄偏差, 年龄偏差值存在时年龄值必填, integer32类型
- value:可选, 年龄, integer32类型
- ageGroup:可选, 年龄段: unknown-未知, child-少年, young-青年, middle-中年, old-老年, string类型, 最大长度为32
- gender:可选, 性别
- confidence:可选, 置信度, float类型
- value:可选, 性别: male-男, female-女, unknown-未知, string类型, 最大长度为32
- glass:可选, 是否戴眼镜
- confidence:可选, 置信度, float类型
- value:可选, 是否戴眼镜: no-不戴眼镜, yes-戴眼镜-sunglasses-戴墨镜, string类型, 最大长度为32
- smile:可选, 是否微笑
- confidence:可选, 置信度, float类型
- value:可选, 是否微笑: no-不微笑, yes-微笑, string类型, 最大长度为32
- ethnic:可选, 是否少数民族
- confidence:可选, 置信度, float类型
- value:可选, 是否少数民族: no-不是, yes-是, string类型, 最大长度为32
- beard:可选, 是否大胡子
- confidence:可选, 置信度, float类型
- value:可选, 是否大胡子: no-不是, yes-是, string类型, 最大长度为32
- mask:可选, 是否戴口罩
- confidence:可选, 置信度, float类型
- value:可选, 是否戴口罩: no-不是, yes-是, string类型, 最大长度为32
- faceExpression:可选, 表情
- confidence:可选, 置信度, float类型
- value:可选, 表情类型: 详见数据字典, string类型, 最大长度为32
- race:可选, 人种
- confidence:可选, 置信度, float类型
- value:可选, 人种类型: 亚洲人:asians;黑人:black;白人: white;未知:unknown, string类型, 最大长度为32
- hat:可选, 帽子
- confidence:可选, 置信度, float类型
- value:可选, 不戴帽子:no;带帽子:yes;未知:unknown, string类型, 最大长度为32
- age:年龄,可选
- temperature:人脸测温信息
- faceSnapThermometryEnabled:可选, 人脸抓拍测温使能,boolean类型
- currTemperature:可选, 人脸温度(-20.0℃~150.0℃,精确到小数点后1位),float类型
- thermometryUnit:可选,测温单位(”celsius”摄氏度,”fahrenheit”华氏度,”kelvin”开尔文), string类型
- isAbnomalTemperature:可选,人脸抓拍测温是否温度异常(true-是,false-否), boolean类型
人脸比对消息协议:
[
{
"code": 1,
"msg": "ok",
"dateTime": "2020-10-03T17:30:08+08:00",
"deviceSeiral": "123456789",
"channelNo": 1,
"targetdAttrs": {
"faceTime": "2020-10-03T17:30:08+08:00",
"bkgUrl": "http://absddsdfsdfsdk"
},
"faces": [
{
"faceId": 1,
"faceRect": {
"height": 1,
"width": 1,
"x": 0,
"y": 0
},
"url": "http://absddsdfsdfsdk",
"identify": [
{
"maxsimilarity": 60,
"similarityRange": 1,
"candidate": [
{
"reserveField": {
"name": "张三",
"gender": "male",
"bornTime": "2004-05-03",
"city": "130100",
"certificateType": "ID",
"certificateNumber": "xxxxxxxxxx",
"ageGroup": "old",
"phoneNumber": "ssssssssssss"
},
"similarity": 0.78,
"faceLibName": "faceLib1",
"faceLibThreshold": 50,
"customFaceLibId": "",
"employeeNo": "",
"humanData": [
{
"facePicUrl": "http://absddsdfsdfsdk-58264-D59555425-1-10000",
"similarity": 0.98
}
]
}
]
}
],
"faceProperties": {
"age": {
"ageGroup": "young"
},
"gender": {
"value": "male"
},
"glass": {
"value": "yes"
},
"smile": {
"value": "yes"
},
"mask": {
"value": "no"
}
},
"temperature": {
"faceSnapThermometryEnabled": true,
"currTemperature": 36.3,
"thermometryUnit": "celsius",
"isAbnomalTemperature": false
}
}
]
}
]
萤石探测器报警消息
open_ezviz_detector_alarm消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
alarmTime | 报警时间 | String | 是 |
channel | 通道号 | Integer | 是 |
channelType | 通道类型 | Integer | 是 |
relationId | 关联ID | String | 是 |
customInfo | 定制信息 | String | 是 |
requestTime | 请求时间 | Long | 是 |
devSerial | 设备序列号 | String | 是 |
alarmType | 报警类型 | String | 是 |
customType | 定制类型 | String | 是 |
alarmId | 报警ID | String | 是 |
channelName | 通道名称 | String | 是 |
location | 探测器名称 | String | 是 |
describe | 描述 | String | 是 |
pictureList | 报警图片(由探测器关联的IPC上报) | String | 是 |
status | 状态 | Integer | 是 |
消息示例:
{
"alarmTime": "2019-10-16T17:20:43",
"channel": 0,
"channelType": 1,
"relationId": "",
"customInfo": "sn=099336174^cn=1",
"requestTime": 1571217644756,
"devSerial": "718152937",
"alarmType": "infrared",
"customType": "CS-A1C-32W_01",
"alarmId": "49d10f48-1dd2-11b2-837c-b783b0443e29",
"channelName": "A1C(718152937) 测试红外探测器Aa",
"location": "测试红外探测器Aa",
"describe": "infrared",
"pictureList": [],
"status": 1
}
设备报警消息
open_device_alarm消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
alarmTime | 报警时间 | String | 是 |
channel | 通道号 | Integer | 是 |
channelType | 通道类型 | Integer | 是 |
relationId | 关联ID | String | 否 |
customInfo | 定制信息 | String | 否 |
requestTime | 请求时间 | Long | 是 |
devSerial | 设备序列号 | String | 是 |
alarmType | 报警类型 | String | 是 |
customType | 定制类型 | String | 否 |
alarmId | 报警ID | String | 是 |
channelName | 通道名称 | String | 是 |
location | 位置信息 | String | 否 |
describe | 描述 | String | 否 |
pictureList | 报警图片 | List | 是 |
status | 状态 | Integer | 是 |
pictureList字段:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
shortUrl | 图片路径 | String | 否 |
id | 图片ID | String | 是 |
url | 图片完整路径 | String | 是 |
消息示例:
{
"alarmTime": "2019-09-20T17:14:06",
"channel": 1,
"channelType": 1,
"relationId": "",
"customInfo": "",
"requestTime": 1568970848568,
"devSerial": "D59999804",
"alarmType": "leftdetection",
"customType": "",
"alarmId": "0d95ece8-dbca-11e9-8000-ec685df39ac6",
"channelName": "DS-2CD2626FWDA2-IZS(D59999804)",
"location": "",
"describe": "leftdetection",
"pictureList": [
{
"shortUrl": "https://i.ys7.com/c/e2HsqF6_e",
"id": "20190920171407-D59999804-1-10023-2-1",
"url": "https://i.ys7.com/xxxx"
}
],
"status": 1
}
设备上下线消息
open_device_onoffline消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
groupId | 组ID | String | 是 |
deviceId | 设备ID | String | 是 |
deviceSerial | 设备序列号 | String | 是 |
devType | 设备类型 | String | 是 |
regTime | 注册时间 | String | 是 |
natIp | 设备IP | String | 是 |
msgType | 消息类型:ONLINE-上线,OFFLINE-下线 | String | 是 |
subSerial | 子序列号 | String | 是 |
occurTime | 事件发生时间 | String | 是 |
deviceName | 设备名称 | String | 是 |
消息示例:
{
"groupId":"xxx",
"deviceId":"XXX",
"deviceSerial":"xxx",
"devType": "CS-A1C-32W",
"regTime": "2019-10-14 19:51:24",
"natIp": "115.236.50.15",
"msgType": "ONLINE",
"subSerial": "718152937",
"occurTime": "2019-10-14 19:51:24",
"deviceName": "A1C(718152937)"
}
通道上下线消息
open_channel_onoffline 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
superDevice | NVR设备序列号 | String | 是 |
type | 类型:VIDEO-视频 | String | 是 |
sendTime | 发送时间 | String | 是 |
slaves | 通道信息 | String | 是 |
slaves字段说明
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
devType | 设备型号 | String | 是 |
selfDevSerial | IPC完整设备序列号 | String | 是 |
superDevChannel | NVR通道号 | int | 是 |
selfDevSubserial | IPC设备序列号 | String | 是 |
superDevSerial | NVR设备序列号 | String | 是 |
type | 通道类型:V-视频 | String | 是 |
status | 在线状态:0-离线,1-在线 | int | 是 |
消息示例:
{
"slaves": [
{
"devType": "DS-2CD2646FWDA2-IZS",
"selfDevSerial": "DS-2CD2646FWDA2-IZS20190424AACHD13455058",
"superDevChannel": 1,
"selfDevSubserial": "D13455058",
"superDevSerial": "C14842557",
"type": "V",
"status": 1
},
{
"devType": "other",
"selfDevSerial": "C14842557-2",
"superDevChannel": 2,
"selfDevSubserial": "C14842557-2",
"superDevSerial": "C14842557",
"type": "V",
"status": 0
},
{
"devType": "DS-2CD7127FWD/H-IZ",
"selfDevSerial": "DS-2CD7127FWD/H-IZ20180802AACHC39747644",
"superDevChannel": 3,
"selfDevSubserial": "C39747644",
"superDevSerial": "C14842557",
"type": "V",
"status": 1
},
{
"devType": "other",
"selfDevSerial": "C14842557-4",
"superDevChannel": 4,
"selfDevSubserial": "C14842557-4",
"superDevSerial": "C14842557",
"type": "V",
"status": 0
}
],
"superDevice": "C14842557",
"type": "VIDEO",
"sendTime": "2019-10-28 15:42:23"
}
车辆抓拍消息
open_message_anpr消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
dateTime | 抓拍时间 | String | 是 |
anpr | 车辆识别数据 | Object | 是 |
uuid | 通用唯一识别码 | String | 否 |
picNum | 图片数量 | Integer | 否 |
deviceName | 设备名称 | String | 否 |
monitoringSiteID | 监测点编号 | String | 否 |
anpr格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
licensePlate | 车牌号码 | String | 是 |
line | 识别车道号 | Integer | 是 |
confidenceLevel | 置信度等级,[0,100] | Integer | 是 |
plateType | 车牌类型 | String | 否 |
plateColor | 车牌颜色 | String | 否 |
licenseBright | 车牌亮度值[0~255] | Integer | 否 |
plateCharBelieve | 各个识别字符的置信度 | String | 否 |
speedLimit | 限速上限,超速时有效 | Integer | 否 |
vehicleType | 车辆类型 | String | 是 |
detectType | 检测方式,0-车辆检测,1-地感触发,2-视频触发,3-多帧识别,4-雷达触发,5-混行检测 | Integer | 否 |
dwIllegalTime | 违法持续时间(ms)=抓拍最后一张图片的时间-抓拍第一张图片的时间 | Integer | 否 |
vehicleInfo | 车辆信息 | Object | 是 |
pictureInfoList | 抓拍图片信息 | List | 是 |
vehicleInfo格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
index | 车辆序号 | Integer | 是 |
vehicleType | 车辆类型,0 表示其它车型,1 表示小型车,2 表示大型车,3表示行人触发,4表示二轮车触发,5表示三轮车触发 6表示机动车触发 | Integer | 否 |
colorDepth | 车身颜色深浅,0-深色,1-浅色 | Integer | 是 |
color | 车身颜色 | String | 是 |
speed | 车辆速度,单位km/h | Integer | 否 |
length | 前一辆车的车身长度,单位分米dm | Integer | 是 |
vehicleLogoRecog | 车辆主品牌 | Integer | 是 |
vehileSubLogoRecog | 车辆子品牌 | Integer | 否 |
vehileModel | 车辆子品牌年款 | Integer | 否 |
pictureInfoList格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
fileName | 图片名称 | String | 是 |
type | 图片类型 | String | 是 |
dataType | 0,数据上传;1,URL上传 | Integer | 是 |
absTime | 绝对时间点,格式:yyyyMMddHHmmssxxx,e.g.20090810235959999 最后三位为毫秒数 | String | 否 |
plateRect | 车牌坐标,数值为当前画面的百分比大小*1000,精度为小数点后三位,当type=detectionPicture时生效 | Object | 否 |
vehicelRect | 车辆坐标,数值为当前画面的百分比大小*1000,精度为小数点后三位,当type=detectionPicture时生效 | Object | 否 |
pictureURL | 图片URL | String | 否 |
plateRect、vehicelRect格式
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
x | 横坐标 | Integer | 是 |
y | 纵坐标 | Integer | 是 |
width | 人脸宽度 | Integer | 是 |
height | 人脸高度 | Integer | 是 |
open_message_anpr消息示例:
{
"deviceSerial": "123456789",
"dateTime": "2019-11-26T11:08:22+08:00",
"anpr": {
"licensePlate": "蓝浙A12345",
"line": 1,
"confidenceLevel": 0,
"plateType": "unknown",
"plateColor": "blue",
"licenseBright": 0,
"plateCharBelieve": "",
"speedLimit": 0,
"vehicleType": "vehicle",
"detectType": 0,
"dwIllegalTime": 0,
"vehicleInfo": {
"index": 1090,
"vehicleType": 0,
"colorDepth": 1,
"color": "white",
"speed": 0,
"length": 0,
"vehicleLogoRecog": 1083,
"vehileSubLogoRecog": 59,
"vehileModel": 1
},
"pictureInfoList": [
{
"fileName": "licensePlatePicture.jpg",
"type": "licensePlatePicture",
"dataType": 0,
"absTime": "20191126110822334",
"pictureURL": "https://xxxxxxxxx"
},
{
"fileName": "detectionPicture.jpg",
"type": "detectionPicture",
"dataType": 0,
"absTime": "20191126110822334",
"plateRect": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"pictureURL": "https://xxxxxxxx"
}
]
},
"uuid": "xxxxxxxxx",
"picNum": 2,
"deviceName": "Camera 01",
"monitoringSiteID": ""
}
测温报警消息
open_message_tma格式定义:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
dateTime | 事件时间:yyyy-MM-ddTHH:mm:ss+Z | String | 是 |
detectionRegionList | 检测区域列表 | List | 否 |
channelName | 通道名称 | String | 否 |
detectionPicturesNumber | 图片个数 | Integer | 否 |
visibleLightURL | 可见光图片URL | String | 否 |
thermalURL | 热成像图片URL | String | 否 |
detectionRegionList内对象格式定义:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
regionID | 规则区域ID | Integer | 是 |
regionCoordinatesList | 规则区域坐标 | List | 是 |
tma | 测温信息 | Object | 是 |
regionCoordinatesList内对象格式定义:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
positionX | X坐标 归一化坐标0-1000 | Integer | 是 |
positionY | Y坐标 归一化坐标0-1000 | Integer | 是 |
tma格式定义:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
thermometryUnit | 测温单位 “celsius”摄氏度,”fahrenheit”华氏度,”kelvin”开尔文 | String | 否 |
ruleTemperature | 配置规则温度 | Double | 否 |
currTemperature | 当前温度 | Double | 否 |
ruleCalibType | 规则标定类型 “region”区域(框),”line”线,”point”点 | String | 否 |
ruleType | 报警类型:”highest temp is higher than”高温大于 “lowest temp is higher than”低温大于 “average temp is higher than”平均温大于 “temp diff is higher than”温差大于 “highest temp is lower than”高温小于 “lowest temp is lower than”低温小于 “average temp is lower than”平均温小于 “temp diff is lower than”温差小于 | String | 否 |
maximumTemperaturePoint | 线、框测温最高温度位置坐标 | Object | 否 |
absoluteHigh | 设备PTZ值 | Object | 否 |
maximumTemperaturePoint格式定义:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
regionCoordinates | 坐标信息,格式同regionCoordinatesList内对象 | Object | 否 |
absoluteHigh格式定义:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
elevation | T值,方位角 | Float | 否 |
azimuth | P值,俯仰角 | Float | 否 |
absoluteZoom | Z值,变倍值 | Float | 否 |
open_message_tma示例:
{
"deviceSerial": "123456789",
"dateTime": "2020-02-16T00:30:28+08:00",
"activePostCount": 5918,
"detectionRegionList": [
{
"regionID": 2,
"regionCoordinatesList": [
{
"positionX": 478,
"positionY": 933
},
{
"positionX": 497,
"positionY": 933
},
{
"positionX": 497,
"positionY": 975
},
{
"positionX": 478,
"positionY": 975
}
],
"tma": {
"thermometryUnit": "celsius",
"ruleTemperature": 30,
"currTemperature": 35.9,
"ruleCalibType": "region",
"ruleType": "highest temp is higher than",
"maximumTemperaturePoint": {
"regionCoordinates": {
"positionX": 484,
"positionY": 975
}
},
"absoluteHigh": {
"elevation": 0,
"azimuth": 0,
"absoluteZoom": 0.1
}
}
}
],
"channelName": "Camera 02",
"detectionPicturesNumber": 2,
"visibleLightURL": "https://xxx",
"thermalURL": "https://xxx"
}
温湿度报警消息
open_tem_humi_detection消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
dateTime | 检测时间 | String | 是 |
temHumiDetection | 温湿度信息 | List | 是 |
temHumiDetection格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
byTempOverlimitType | 温度超阀类型,0-没有超阀 1-超上阀 2-超下阀 | Integer | 否 |
byHumiOverlimitType | 湿度超阀类型,0-没有超阀 1-超上阀 2-超下阀 | Integer | 否 |
currTemperature | 温度值,单位摄氏度,实际值精确到0.1,这里传输的值是乘以10后的值 | Double | 否 |
currHumidity | 湿度值,实际值精确到0.1,这里传输的值是乘以10后的值 | Double | 否 |
ImageURL | 温湿度图URL,超阀报警时有,实时报警时无 | String | 否 |
open_tem_humi_detection消息示例:
{
"deviceSerial": "C81133734",
"dateTime": "2020-10-15T17:30:08+08:00",
"temHumiDetection":[
{
"byTempOverlimitType":0,
"byHumiOverlimitType":0,
"currTemperature": 297,
"currHumidity": 497,
"ImageURL":""
}
]
}
区域人数超限报警
open_person_queue_counting消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
header | Object | 是 | |
body | Object | 是 |
header字段说明
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
body字段说明
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
payload | Object | 是 |
payload字段说明
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
channelNo | 通道号 | Integer | 是 |
dateTime | 时间 | String | 是 |
deviceName | 设备名称 | String | 是 |
RegionCapture | 区域热度信息 | Object | 是 |
RegionCapture字段说明
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
humanCounting | Object | 是 | |
rule | Object | 是 |
humanCounting字段说明
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
count | 统计人数 | Integer | 是 |
rule字段说明
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
ruleID | 规则ID | Integer | 是 |
alarmCount | 报警人数 | Integer | 是 |
regionColor | 区域颜色 | String | 是 |
Region | 区域坐标信息 | Object | 是 |
消息示例:
{
"header": {
"deviceSerial": "C39747644"
},
"body": {
"payload": {
"channelNo": 1,
"dateTime": "2019-06-03T15:45Z",
"deviceName": "test0123",
"RegionCapture": {
"humanCounting": {
"count": 5
},
"rule": {
"ruleID": 1,
"alarmCount": 1,
"regionColor": "yellow",
"Region": [
{
"x": 0.059,
"y": 0.046
},
{
"x": 0.104,
"y": 0.925
},
{
"x": 0.931,
"y": 0.945
},
{
"x": 0.924,
"y": 0.093
}
]
}
},
"contentID": "background_image"
}
}
}
门禁权限下发结果消息
open_access_auth_sync_result 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
statisticsId | 结果统计ID | String | 是 |
permissionGroupId | 权限组ID(如果同步方式为0-按租户同步所有权限,那么permissionGroupId为空字符串) | String | 是 |
syncType | 同步类型(0-自动同步,1-手动同步) | Integer | 是 |
syncMode | 同步方式(0-按租户同步所有权限,1-按权限组同步权限) | Integer | 是 |
syncStatus | 同步状态(0-同步成功,1-同步失败) | Integer | 否 |
syncTime | 下发(同步)时间(+8:00时区时间) | String | 否 |
finishTime | 完成时间 | String | 是 |
totalDeviceNum | 设备数量 | Integer | 是 |
totalPersonNum | 人员数量 | Integer | 否 |
open_access_auth_sync_result 消息示例:
{
"statisticsId": "71764e91152b44ef8be77b5e525102a9",
"permissionGroupId": "d14260d4e134406db585e1d06166cce9",
"syncType": 0,
"syncStatus": 0,
"syncMode":0,
"syncTime": "2020-05-24T17:20:21+08:00",
"finishTime": "2020-05-24T17:21:16+08:00",
"totalDeviceNum": 1,
"totalPersonNum": 1
}
广告素材下发成功失败消息
open_async_notification_event 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
dateTime | 事件时间:yyyy-MM-ddTHH:mm:ss+Z | String | 是 |
eventType | 事件类型:asyncNotification | String | 是 |
syncTime | 下发(同步)时间(+8:00时区时间) | String | 否 |
channelNo | 通道号 | Integer | 是 |
currentEvent | 是否为实时事件,ture-是(实时事件),false-否(离线事件) | Boolean | 否 |
serialNo | 事件流水号 | Integer | 否 |
frontSerialNo | 上一条事件流水号(若设备没返回该字段,平台根据serialNo判断是否丢失事件;若设备返回该字段,平台根据该字段和serialNo字段共同判断是否丢失事件)(主要用于解决报警订阅后导致serialNo不连续的情况) | Integer | 否 |
details | 通知详情 | Object | 是 |
details 字段说明
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
operation | materialUpload –素材上传 | String | 是 |
requestURL | 请求URL | String | 是 |
id | 素材ID | Integer | 是 |
status | 状态:opt=”timeout,failed,success” | String | 是 |
open_async_notification_event 消息示例:
{
"deviceSerial": "D54593713",
"dateTime": "2004-05-03T17:30:08+08:00",
"eventType": "asyncNotification",
"channelNo": 1,
"currentEvent": true,
"serialNo": 2,
"frontSerialNo": 1,
"details": {
"operation": "materialUpload",
"requestURL": "/ISAPI/Publish/MaterialMgr/material",
"id": 1,
"status": "success"
}
}
安全帽检测事件
open_safety_helmet_detection消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
channelNo | 通道号 | Integer | 是 |
dateTime | 抓拍时间 | String | 是 |
target | 安全帽检测数据 | List | 是 |
imageURL | 背景大图 | String | 否 |
target格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
recognitionType | 识别类型, safetyHelmet—安全帽检测 | String | 是 |
TargetInfo | 安全帽检测信息 | Object | 是 |
rect | 安全帽矩形框 | List | 否 |
safetyHelmetURL | 未佩戴安全帽小图url | String | 否 |
pId | 事件唯一ID | String | 否 |
Face | 人脸信息 | Object | 否 |
FaceList | 人脸信息列表 | List | 否 |
TargetInfo格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
recognition | 识别类型, safetyHelmet—安全帽检测 | String | 是 |
dataSource | 检测数据来源[timing:定时,trigger:触发(超过设置的等级限制)] | String | 是 |
rect格式
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
x | 横坐标 | Integer | 是 |
y | 纵坐标 | Integer | 是 |
width | 人脸宽度 | Integer | 是 |
height | 人脸高度 | Integer | 是 |
Face格式
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
FDID | 人脸库ID | String | 是 |
FPID | 人脸记录ID | String | 是 |
contentID | 抓拍人脸匹配到的库图片contentID | String | 是 |
pId | 抓拍人脸匹配到的库图片ID | String | 是 |
libFacePicURL | 抓拍人脸匹配到的库图片url | String | 是 |
FaceList
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
FDID | 人脸库ID | String | 是 |
FPID | 人脸记录ID | String | 是 |
contentID | 抓拍人脸匹配到的库图片contentID | String | 是 |
pId | 抓拍人脸匹配到的库图片ID | String | 是 |
name | 人员姓名 | String | 是 |
certificateType | 证件类型 | String | 是 |
certificateNumber | 证件号 | String | 是 |
open_safety_helmet_detection消息示例:
{
"deviceSerial": "123456789",
"channelNo": 1,
"dateTime": "2019-11-26T11:08:22+08:00",
"imageURL": "https://xxxxxxxxx",
"target": [
{
"recognitionType": "safetyHelmet",
"TargetInfo": {
"recognition": "safetyHelmet",
"dataSource": "trigger"
},
"rect": [
{
"height": 0.237748,
"width": 0.125098,
"x": 0.75215,
"y": 0.312826
}
],
"safetyHelmetURL": "",
"pId": "123456789",
"Face":{
"FDID":"1123",
"FPID":"test",
"contentID":"faceLibPic",
"pId":"F4F665D6A18E41308CE9934DCDDD3333",
"libFacePicURL":"test"
},
"FaceList":[
{
"FDID":"1123",
"FPID":"test",
"contentID":"faceLibPic",
"pId":"F4F665D6A18E41308CE9934DCDDD3333",
"name":"test",
"certificateType":"passportID",
"certificateNumber":"test"
}
]
}
]
}
智慧城管事件
open_city_management_event消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
channelID | 通道号 | Integer | 是 |
dateTime | 事件触发时间 | String | 是 |
channelName | 通道名称 | String | 是 |
isDataRetransmission | 重传数据标记:true-重传数据,false-实时数据 | Boolean | 否 |
Result | 智慧城管检测结果 | List | 是 |
Result格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
ruleID | 规则ID | String | 是 |
rectID | 规则区域ID | String | 否 |
subEventType | 子事件类型 | String | 是 |
Target | 目标信息,目前仅上报1个目标 | List | 是 |
backgroundImageURL | 背景大图URL | String | 否 |
ruleName | 规则名称 | String | 是 |
triggerTime | 触发报警时间:0-1800秒,默认30秒;城管事件持续出现时间超过该阈值后,算法开始推送事件报警 | Integer | 否 |
confidence | 置信度,0-100,默认10;置信度越高,该事件触发报警的可信度越高 | Integer | 否 |
percentage | 占比,0-100,默认50;报警目标落在规则区域内的面积占规则区域总面积的比例来判断,当比例大于占比时,该报警目标属于该规则 | Integer | 否 |
subEventType类型列表:
subEventType | 类型 |
---|---|
unregisteredStreetVendor | 非法摆摊(游摊小贩) |
stallOutsideShop | 店外经营 |
stallOccupyingRoad | 占道经营 |
illegalHeap | 乱堆物堆料 |
illegalParkingofNon-MotorVehicle | 非机动车乱停放 |
illegalOutdoorAdvertisement | 户外广告 |
packGarbage | 打包垃圾 |
stallUnderUmbrella | 违规撑伞 |
dustbinOverflow | 垃圾箱满溢 |
exposeGarbage | 暴露垃圾 |
hangClothingAlongStreet | 沿街晾晒 |
Target格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
targetID | 目标ID | String | 否 |
Rect | 目标矩形框 | Object | 是 |
targetImageURL | 目标小图URL | String | 否 |
rect格式
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
x | 左上角点横坐标 | Integer | 是 |
y | 左上角点纵坐标 | Integer | 是 |
width | 宽度 | Integer | 是 |
height | 高度 | Integer | 是 |
open_city_management_event消息示例:
{
"deviceSerial": "C81133734",
"channelID": 1,
"dateTime": "2020-10-15T17:30:08+08:00",
"channelName": "ABC",
"deviceID": "test0123",
"isDataRetransmission": "true",
"targetAttrs": {
"deviceId": "1",
"deviceChannel": 1,
"deviceName": "shebei"
},
"taskID": "",
"algorithmInfo": {
"algorithmId": "",
"algoVendorId": "",
"algoVersionId": "",
"algoChipType": "",
"algoModelVersion": ""
},
"Result": [
{
"ruleID": 1,
"rectID": "",
"subEventType": "unregisteredStreetVendor",
"backgroundImageURL": "https://open.ys7.com/big.jpg",
"ruleName": "name1",
"triggerTime": 30,
"confidence": 10,
"percentage": 50,
"Target": [
{
"targetID": 1,
"targetImageURL": "https://open.ys7.com/small.jpg",
"detectRect": {
"polygon": [
{
"x": 0.12,
"y": 0.12
}
]
},
"Rect": {
"x": 0,
"y": 0,
"width": 1,
"height": 1
}
}
],
"AbsoluteHigh": {
"elevation": 11,
"azimuth": 22,
"absoluteZoom": 33
},
"DeviceGPS": {
"divisionEW": "E",
"longitude": 100,
"divisionNS": "N",
"latitude": 100,
"direction": 100,
"speed": 100
}
}
]
}
高空抛物检测事件
open_objects_thrown_detection消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
channelID | 通道号 | Integer | 是 |
dateTime | 抓拍时间 | String | 是 |
channelName | 通道名称 | String | 是 |
isDataRetransmission | 重传数据标记,true-重传数据,false-实时数据 | Boolean | 是 |
ObjectsThrownDetection | 高空抛物检测数据 | Object | 否 |
ObjectsThrownDetection格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
startTime | 开始对抛出物体进行检测的时间 | String | 是 |
endTime | 结束对抛出物体进行检测的时间 | String | 是 |
RuleInfo | 规则信息 | Object | 否 |
Image | 高空抛物事件检测图片 | Object | 否 |
Video | 高空抛物事件检测小视频 | Object | 否 |
RuleInfo格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
ruleID | 规则ID | String | 是 |
ruleName | 规则名称 | String | 否 |
sensitive | 目标灵敏度,范围1-100,高灵敏度对应低漏报;低灵敏度对应低误报 | Integer | 否 |
confidence | 事件上报置信度,范围1-100,算法判定报警置信度高于配置值后;进行报警上报 | Integer | 否 |
uploadPicEnabled | 事件是否联动图片上报 | Boolean | 否 |
overlayPicEnabled | 是否对事件图片中做抛物线OSD叠加 | Boolean | 否 |
uploadVideoEnabled | 事件是否联动小视频数据上报 | Boolean | 否 |
Image、Video格式
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
resourcesContentType | 资源类型 | String | 否 |
resourcesContent | 当resourcesContentType为url时;该节点填写具体的url | String | 否 |
open_objects_thrown_detection消息示例:
{
"deviceSerial": "C13032017",
"channelID": 1,
"dateTime": "2021-03-03T10:56:59+08:00",
"channelName": "Camera 01",
"isDataRetransmission": false,
"ObjectsThrownDetection": [
{
"startTime": "2021-03-03T10:56:58+08:00",
"endTime": "2021-03-03T10:56:59+08:00",
"RuleInfo": {
"ruleID": "1",
"ruleName": "test2",
"sensitive": 74,
"confidence": 60,
"uploadPicEnabled": true,
"overlayPicEnabled": true,
"uploadVideoEnabled": true
},
"Image": {
"resourcesContentType": "url",
"resourcesContent": "https://open.ys7.com/api/lapp/mq/downloadurl******"
}
}
]
}
访客事件
open_visitor_event格式定义:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
dateTime | 事件时间:格式yyyy-MM-ddTHH:mm:ss+Z | String | 是 |
VisitorEvent | 访客事件 | Object | 是 |
VisitorEvent格式定义:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
uuid | 由设备生成,全局唯一标识符,访客一次登记/签离/预约唯一 | String | 是 |
name | 姓名 | String | 否 |
sex | 性别,male-男,female-女 | String | 否 |
certificateType | 证件类型(ID-身份证) | String | 否 |
IDNum | 身份证号 | String | 否 |
phoneNo | 手机号 | String | 否 |
registerType | 登记类型(appointment-预约、noAppointment-非预约、goTogether-预约随行) | String | 否 |
registerStatus | 人员登记状态(registered-已登记,notRegister-未登记,signOff-已签离,overdueAutoSignOff-超期自动签离,overdueNotRegister-超期未登记(预约访客预约当天没有进行登记,登记作废)) | String | 否 |
reason | 来访事由 | String | 否 |
receptionistName | 接待人员姓名 | String | 否 |
receptionistDepartment | 接待人员部门 | String | 否 |
plateNo | 车牌号 | String | 否 |
company | 访客单位 | String | 否 |
belongings | 携带物品 | String | 否 |
ORCodeEnabled | 是否生成二维码 | String | 否 |
currentEvent | 是否为实时事件,true-是(实时事件),false-否(离线事件) | boolean | 否 |
VisitorImage | 访客图片 | Object | 否 |
VisitorImage格式定义:
字段名 | 描述 | 类型 | 是否必传 |
---|---|---|---|
resourcesContentType | 资源传输类型,当报文中带有图片时,该节点必须返回:url-url方式传输,binary-二进制方式传输 | String | 否 |
resourcesContent | 当resourcesContentType为url时,该节点填写具体的url | String | 否 |
open_visitor_event示例:
{
"deviceSerial": "220252990",
"dateTime": "2020-11-09T11:09:30+08:00",
"VisitorEvent": {
"uuid": "77ef3ff15dae4777b6656f396e843edc",
"name": "张三",
"sex": "male",
"certificateType": "ID",
"phoneNo": "",
"registerType": "noAppointment",
"registerStatus": "registered",
"reason": "",
"receptionistName": "",
"receptionistDepartment": "",
"plateNo": "",
"company": "",
"belongings": "",
"remark": "",
"currentEvent": true,
"IDNum": "333333333333333333",
"ORCodeEnabled": false,
"VisitorImage": {
"resourcesContentType": "url",
"resourcesContent": "https://open.ys7.com/api/lapp/mq/downloadurl?"
}
}
}
AI任务执行结果消息
ai_message_task_result消息格式:
属性名称 | 属性描述 | 类型 |
---|---|---|
traceId | 消息链路id | String |
taskInfo | 任务信息 | Object |
captureDestination | 抓图目标 | Object |
captureResult | 抓图结果 | Object |
deviceRuleResult | 设备规则结果 | Object |
algorithmResult | 算法结果 | Object |
ruleResult | 消息规则 | Object |
… | 定制属性 | Object |
taskInfo:
属性名称 | 属性描述 | 类型 |
---|---|---|
taskId | 任务id | String |
taskName | 任务名称 | String |
taskType | 任务类型,CLOUD,IPCH7,NVR | String |
trainId | 训练版本id | String |
captureDestination:
属性名称 | 属性描述 | 类型 |
---|---|---|
channelId | 通道id | String |
deviceId | 设备Id | String |
deviceSerial | 设备序列号 | String |
deviceName | 设备名称 | String |
channelNo | 通道号 | Integer |
channelName | 通道名称 | String |
groupId | 分组id | String |
groupName | 分组名称 | String |
captureResult:
属性名称 | 属性描述 | 类型 |
---|---|---|
captureTime | 抓图时间 | Long |
resultUrl | 抓图地址 | String |
algorithmResult:
属性名称 | 属性描述 | 类型 |
---|---|---|
width | 必填,图片宽 | String |
height | 必填,图片高 | String |
modelID | 模型id ,对应算法描述中的modelId | String |
id | 目标id,图片选填,视频必填 | int |
type | 对应labelInfo中的type | int |
confidence | 检测结果置信度range=[0,1000] | int |
name | 检测结果的名称,对应描述中labelInfo中的名称 | String |
rect | 目标框,百分比表示,x,y为左上点坐标,w,h为宽高 | Object |
polygon | 多边形目标框,百分比,左上表示(0,0),使用坐标点表示, | Object |
properties | 分类结果 | Object |
classify | 分类结果详情 | Object |
attrType | 分类类型,对应labelInfo中的类别id | int |
typeName | 对应类别名称 | string |
attrValue | 分类属性,对应labelInfo中的属性id | int |
valueName | 分类属性的名称,对应labelInfo中的属性名称 | String |
attrConf | 分类结果置信度range=[0,1000] | int |
deviceRuleResult:
属性名称 | 属性描述 | 类型 |
---|---|---|
alertInfo | 报警信息 | Array |
—target | 目标 | Object |
—ruleInfo | 规则信息 | Object |
消息示例:
deviceRuleResult = {
alertInfo :[
{
target: {
"id": 190,
"type": 3,
"confidence": 451,
"region": {"rect": {"x": "0.558594", "y": "0.708333", "w": "0.111719", "h": "0.123611"}}
},
ruleInfo: {
"ruleID": 1,
"triggerType": 1073774593,
"movDir": 0,
"region": {
"polygon": [{"x": "0.010000", "y": "0.010000"}, {
"x": "0.010000",
"y": "0.990000"
}, {"x": "0.990000", "y": "0.990000"}, {"x": "0.990000", "y": "0.010000"}]
}
}
}
]
}
ruleResult:
属性名称 | 属性描述 | 类型 |
---|---|---|
ruleId | 规则id | String |
ruleName | 规则名称 | String |
消息示例:
{
"traceId": "d166b9db7ebe4c86993cdef70c564277",
"taskInfo": {
"taskId": "40a0be7d50bd4e3fb09ecabe6d60b4cf",
"taskName": "顾客行为分析",
"taskType": "CLOUD",
"trainId": "eaa438a2d4604270881d3a44f9a4f330"
},
"captureDestination": {
"channelId": "f24f6d5956ce40559808e87d4b91f4a7",
"deviceId": "d587f1a418e841bf9a1c81364ddb76b0",
"deviceSerial": "C87503883",
"deviceName": "DS-2XA8A45-LZS(C87503883)",
"channelNo": 1,
"channelName": "DS-2XA8A45-LZS(C87503883)",
"groupId": "9b8df196b93146d387ce0199c1128012",
"groupName": "郝洲新光店"
},
"captureResult": {
"captureTime": "2019-05-31 10:02:41",
"resultUrl": "https://abc.xx.xx"
},
"algorithmResult": {
"width": "2560",
"height": "1440",
"targets": [
{
"obj": {
"confidence": 845,
"id": 0,
"type": 1,
"name": "人",
"modelID": "a1c0908e729b4455a322609e455a6036",
"rect": {
"x": "0.058594",
"y": "0.376389",
"w": "0.060156",
"h": "0.108333"
},
"polygon": [{
"x" : "0.058594",
"y" : "0.376389"
},{
"x" : "0.058594",
"y" : "0.376389"
},{
"x" : "0.058594",
"y" : "0.376389"
},{
"x" : "0.058594",
"y" : "0.376389"
}]
},
"properties": [
{
"modelID": "c68ba8e442bc49e48c0138646ffad68a",
"classify": {
"attrConf": 999,
"attrType": 0,
"typeName": "行为",
"attrValue": 2,
"valueName": "坐着"
}
},
{
"modelID": "c68ba8e442bc49e48c0138646ffad68a",
"classify": {
"attrConf": 632,
"attrType": 1,
"typeName": "是否戴眼镜",
"attrValue": 1,
"valueName": "不戴眼镜"
}
}
]
}
]
},
"ruleResult": {
"ruleId": "bcc6c9dc06cc46199600678fb1dc78c0",
"ruleName": "顾客戴眼镜报警"
}
}
人员信息采集消息
协议字段说明:
- deviceSerial:字符串,不为空;设备序列号
- channelNo:整数,不为空;通道号
- dateTime:字符串,不为空;事件时间,格式为”2021-01-03T17:30:08+08:00”
- activePostCount:整数,不为空;同一个事件上传的次数
- userInfo:对象,不为空;用户信息
- lastCaptureNo:整数,不为空;上一个采集序号,判断数据是否丢失
- captureNo:整数,不为空;当前采集序号
- dataType:字符串,可以为空;数据类型状态,值为:[new-新增的数据,modified-修改过的数据,normal-未变更]
- riskDataMark:布尔,可以为空;取值:[true-标记数据为风险数据,人证比对失败;false-或者不返回表示数据正常]
- name:字符串,可以为空;人员名称
- employeeNo:字符串,不为空;人员编(工)号
- faceUrl:字符串,可以为空;人脸图片地址
- idcardNo:字符串,可以为空;人员身份证号
- identityInfo:对象,可以为空;身份证信息
- chnName:字符串,可以为空;中文名称
- enName:字符串,可以为空;英文名称
- gender:字符串,可以为空;性别,取值:[male-男,female-女]
- birth:字符串,可以为空;出生日期,格式为”20121224”
- addr:字符串,可以为空;住址
- idcardNo:字符串,可以为空;身份证号
- issuingAuthority:字符串,可以为空;签发机关
- startDate:字符串,可以为空;有效期起始时间,格式为”20121224”
- endDate:字符串,可以为空;有效期截止时间,格式为”20121224”
- nation:整数,可以为空;民族,取值:[1-“汉”,2-“蒙古”,3-“回”,4-“藏”,5-“维吾尔”,6-“苗”,7-“彝”,8-“壮”,9-“布依”,10-“朝鲜”,11-“满”,12-“侗”,13-“瑶”,14-“白”,15-“土家”,16-“哈尼”,17-“哈萨克”,18-“傣”,19-“黎”,20-“傈僳”,21-“佤”,22-“畲”,23-“高山”,24-“拉祜”,25-“水”,26-“东乡”,27-“纳西”,28-“景颇”,29-“柯尔克孜”,30-“土”,31-“达斡尔”,32-“仫佬”,33-“羌”,34-“布朗”,35-“撒拉”,36-“毛南”,37-“仡佬”,38-“锡伯”,39-“阿昌”,40-“普米”,41-“塔吉克”,42-“怒”,43-“乌孜别克”,44-“俄罗斯”,45-“鄂温克”,46-“德昂”,47-“保安”,48-“裕固”,49-“京”,50-“塔塔尔”,51-“独龙”,52-“鄂伦春”,53-“赫哲”,54-“门巴”,55-“珞巴”,56-“基诺”,57及之后为未知]
- passNo:字符串,可以为空;通行证号码
- issueNumber:字符串,可以为空;签发次数
- certificateType:字符串,可以为空;证件类型识别
- permanentResidenceCardNo:字符串,可以为空;永久居留证号码
- nationalityOrAreaCode:字符串,可以为空;国籍或地区代码
- version:字符串,可以为空;证件版本号
- receivingAuthorityCode:字符串,可以为空;受理机关代码
- faceData:字符串,可以为空;身份证人脸照片数据,base64编码
- fingerprints:字符串数组,可以为空;身份证指纹
- fingerprints:对象数组,可以为空;指纹信息
- fingerprintNo:整数,不为空;指纹编号
- fingerprintData:字符串,不为空;指纹数据
- cards:对象数组,可以为空;卡片信息
- cardNo:字符串,不为空;卡号
- cardType:字符串,不为空;卡类型,取值:[TypeA_M1, TypeA_CPU, TypeB, ID_125K, FelicaCard,DesfireCard]
人员信息采集消息:
{
"deviceSerial": "X34289430",
"channelNo": 1,
"dateTime": "2021-01-03T17:30:08+08:00",
"activePostCount": 1,
"userInfo": {
"lastCaptureNo": 0,
"captureNo": 1,
"dataType": "new",
"riskDataMark": false,
"name": "王大锤",
"employeeNo": "1234567",
"faceUrl": "https://xxxxx.jpg",
"idcardNo": "000000000000000000",
"identityInfo": {
"chnName": "王大锤",
"enName": "wangdachui",
"gender": "male",
"birth": "20121224",
"addr": "杭州市滨江区xxx街道0号",
"idcardNo": "000000000000000000",
"issuingAuthority": "杭州市滨江区公安局",
"startDate": "20201224",
"endDate": "20301224",
"nation": 1,
"passNo": "",
"issueNumber": "",
"certificateType": "",
"permanentResidenceCardNo": "",
"nationalityOrAreaCode": "",
"version": "",
"receivingAuthorityCode": "",
"faceData": "/9j/2wCEAAIBAQEBAQIBAQECAgICAgQ...",
"fingerprints": [
"QwEHEgELUQAAAAAAAAAAAAAAAB4BmniwAP///////0U1xf",
"QwEHEgELUQAAAAAAAAAAAAAAAB4BmniwAP///////601C/z"
]
},
"fingerprints": [{
"fingerprintNo": 1,
"fingerprintData": "QwEHEgELUQAAAAAAAAAAAAAAAB4BmniwAP///////0U1xf"
}],
"cards": [{
"cardNo": "101112",
"cardType": "TypeA_CPU"
}]
}
}
混合目标检测
open_mixed_target_detection 格式定义:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
channelID | 通道号 | Integer | 否 |
dateTime | 事件时间:格式yyyy-MM-ddTHH:mm:ss+Z | String | 是 |
channelName | 通道名称 | String | 否 |
isDataRetransmission | 数据重传标识,true表示是重传的数据 | Boolean | 否 |
captureResultTargetNum | 本次报警信息上报的目标数量 | Integer | 否 |
CaptureResult | 抓拍结果 | Object | 是 |
CaptureResult 格式定义:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
targetID | 抓拍目标ID,表明在一次抓拍中识别目标的唯一性 | String | 是 |
sid | 场景ID | String | 否 |
sceneName | 场景名称 | String | 否 |
uid | 事件唯一标识 | String | 否 |
targetType | 目标类型:vehicle-机动车,human-人,nonMotor-非机动车 | String | 否 |
Face | 人脸属性 | Object | 否 |
Human | 人体属性 | Object | 否 |
Face 格式定义:
字段名 | 描述 | 类型 | 是否必传 |
---|---|---|---|
faceImageURL | 人脸小图地址 | String | 否 |
faceBackgroundImageURL | 人脸背景大图URL,当设备对该目标同时检测到人体和人脸属性的情况下,将会共用一张背景大图 | String | 否 |
snapTime | 抓拍时间 | String | 否 |
Rect | 人脸小图(特征图)矩形框,人脸特征图坐标 | Object | 否 |
FacePictureRect | 人脸矩形框,该坐标为头肩照坐标,按照这个坐标抠出来的图片,等同于设备上传的人脸小图(faceImageURL) | Object | 否 |
Property | 人脸属性 | List | 否 |
Human 格式定义:
字段名 | 描述 | 类型 | 是否必传 |
---|---|---|---|
humanImageURL | 人体小图URL | String | 否 |
humanBackgroundImageURL | 人体背景图URL,当设备对该目标同时检测到人体和人脸属性的情况下,将会共用一张背景大图 | String | 否 |
snapTime | 抓拍时间 | String | 否 |
Rect | 人体小图矩形框 | Object | 否 |
Property | 人体属性 | List | 否 |
open_mixed_target_detection 示例:
{
"deviceSerial": "F02042655",
"channelID": 1,
"dateTime": "2021-03-24T17:30:08+08:00",
"channelName": "ABC",
"isDataRetransmission": true,
"captureResultTargetNum": 10,
"CaptureResult": [
{
"targetID": 1,
"sid": "123",
"sceneName": "场景1",
"uid": "",
"Face": {
"faceImageURL": "",
"faceBackgroundImageURL": "",
"snapTime": "2015-06-04T19:25:16-07:00",
"Rect": {
"x": 0,
"y": 0,
"width": 1,
"height": 1
},
"Property": [
{
"description": "age",
"value": "23"
},
{
"description": "ageGroup",
"value": "old"
},
{
"description": "gender",
"value": "male"
},
{
"description": "glass",
"value": "yes"
},
{
"description": "smile",
"value": "yes"
},
{
"description": "mask",
"value": ""
},
{
"description": "faceExpression",
"value": "unknown"
},
{
"description": "hat",
"value": "unknown"
},
{
"description": "score",
"value": "65"
}
],
"FacePictureRect": {
"x": 0,
"y": 0,
"width": 1,
"height": 1
}
},
"Human": {
"modeldata": "",
"humanImageURL": "",
"humanBackgroundImageURL": "",
"snapTime": "2015-06-04T19:25:16-07:00",
"Rect": {
"x": 0,
"y": 0,
"width": 1,
"height": 1
},
"Property": [
{
"description": "jacketColor",
"value": "white"
},
{
"description": "trousersColor",
"value": "white"
},
{
"description": "glass",
"value": "unknown"
},
{
"description": "ageGroup",
"value": "unknown"
},
{
"description": "ride",
"value": "unknown"
},
{
"description": "gender",
"value": "unknown"
},
{
"description": "bag",
"value": "unknown"
},
{
"description": "things",
"value": "unknown"
},
{
"description": "hat",
"value": "unknown"
},
{
"description": "jacketType",
"value": "unknown"
},
{
"description": "trousersType",
"value": "unknown"
},
{
"description": "mask",
"value": "unknown"
},
{
"description": "hairStyle",
"value": "unknown"
},
{
"description": "cyclingPersonNumber",
"value": "unknown"
},
{
"description": "motionStatus",
"value": "unknown"
},
{
"description": "direction",
"value": "up"
},
{
"description": "hatStyle",
"value": "unknown"
},
{
"description": "cyclingType",
"value": "unknown"
}
]
}
}
]
}
停车检测
open_message_parking 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
dateTime | 事件时间(UTC时间) | String | 是 |
deviceSerial | 设备序列号 | String | 是 |
channelID | 触发报警的设备通道号 | String | 否 |
channelName | 触发报警的设备通道名称 | String | 否 |
detectionPicturesNumber | 图片数量 | Integer | 否 |
plateNum | 车牌号 | String | 否 |
bkgUrl | 背景大图 | String | 否 |
plateUrl | 车牌地址 | String | 否 |
timeStamp | 触发报警的帧时间戳 | String | 否 |
open_message_parking 消息示例:
{
"deviceSerial": "123456789",
"channelID": "1",
"dateTime": "2020-10-22T14:07:53+08:00",
"channelName": "Camera 01",
"detectionPicturesNumber": "2",
"plateNum": "蓝浙E378VQ",
"bkgUrl": "https://open.ys7.com/xxxx",
"plateUrl": "https://open.ys7.com/xxxx",
"timeStamp": "2020-10-22T14:07:53+08:00"
}
人数变化
open_message_people_num_change 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
dateTime | 事件时间(UTC时间) | String | 是 |
deviceSerial | 设备序列号 | String | 是 |
channelID | 触发报警的设备通道号 | String | 否 |
channelName | 触发报警的设备通道名称 | String | 否 |
detectionPicturesNumber | 图片数量 | Integer | 否 |
bkgUrl | 背景大图 | String | 否 |
personCount | 人数 | Integer | 否 |
timeStamp | 触发报警的帧时间戳 | String | 否 |
open_message_people_num_change 消息示例:
{
"deviceSerial": "123456789",
"channelID": "1",
"dateTime": "2020-10-22T14:07:53+08:00",
"channelName": "Camera 01",
"detectionPicturesNumber": "1",
"bkgUrl": "https://open.ys7.com/xxxx",
"personCount": 1,
"timeStamp": "2020-10-22T14:07:53+08:00"
}
人员倒地
open_message_faildown 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
dateTime | 事件时间(UTC时间) | String | 是 |
deviceSerial | 设备序列号 | String | 是 |
channelID | 触发报警的设备通道号 | String | 否 |
channelName | 触发报警的设备通道名称 | String | 否 |
detectionPicturesNumber | 图片数量 | Integer | 否 |
bkgUrl | 背景大图 | String | 否 |
timeStamp | 触发报警的帧时间戳 | String | 否 |
open_message_faildown 消息示例:
{
"deviceSerial": "123456789",
"channelID": "1",
"dateTime": "2020-10-22T14:07:53+08:00",
"channelName": "Camera 01",
"detectionPicturesNumber": "1",
"bkgUrl": "https://open.ys7.com/xxxx",
"timeStamp": "2020-10-22T14:07:53+08:00"
}
人员滞留
open_message_retention 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
dateTime | 事件时间(UTC时间) | String | 是 |
deviceSerial | 设备序列号 | String | 是 |
channelID | 触发报警的设备通道号 | String | 否 |
channelName | 触发报警的设备通道名称 | String | 否 |
detectionPicturesNumber | 图片数量 | Integer | 否 |
bkgUrl | 背景大图 | String | 否 |
open_message_retention 消息示例:
{
"deviceSerial": "123456789",
"channelID": "1",
"dateTime": "2020-10-22T14:07:53+08:00",
"channelName": "Camera 01",
"detectionPicturesNumber": "1",
"bkgUrl": "https://open.ys7.com/xxxx"
}
烟火检测
open_message_smoke_and_fire 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
dateTime | 事件时间(UTC时间) | String | 是 |
deviceSerial | 设备序列号 | String | 是 |
channelID | 触发报警的设备通道号 | String | 否 |
channelName | 触发报警的设备通道名称 | String | 否 |
detectionRegionList | 检测区域列表 | Array | 否 |
detectionPicturesNumber | 图片数量 | Integer | 否 |
visibleLightURL | 可见光图片 | String | 否 |
thermalURL | 热成像图片 | String | 否 |
detectionRegionList 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
regionID | 区域ID | Integer | 是 |
regionCoordinatesList | 区域点列表 | Array | 否 |
fireDetection | 火点检测信息 | Object | 否 |
smokeDetection | 烟雾检测信息 | Object | 否 |
fireDetection 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
fireRegion | 火点框 | Object | 否 |
highestPoint | 火点框内最高温度点坐标 | Object | 否 |
temperatureUnit | 温度单位:degreeCentigrade-摄氏度,degreeFahrenheit-华氏度,degreeKelvin-开尔文 | String | 否 |
fireMaxTemperature | 火点最高温度值 | Integer | 否 |
targetDistance | 目标距离 | Integer | 否 |
absoluteHigh | PTZ位置信息 | Object | 否 |
lookDownUpAngle | 设备高精度俯仰角 | Float | 否 |
smokeDetection 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
smokeRegion | 烟雾检测区域 | Object | 否 |
absoluteHigh | PTZ位置信息 | Object | 否 |
lookDownUpAngle | 设备高精度俯仰角 | Float | 否 |
open_message_smoke_and_fire 消息示例:
{
"deviceSerial": "E18424764",
"channelID": "1",
"dateTime": "2004-05-03T17:30:08+08:00",
"channelName": "null",
"detectionRegionList": [
{
"regionID": "1",
"regionCoordinatesList": [
{
"positionX": "0.123",
"positionY": "0"
}
],
"fireDetection": {
"fireRegion": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"highestPoint": {
"x": 0,
"y": 0
},
"temperatureUnit": "degreeCentigrade",
"fireMaxTemperature": 300,
"targetDistance": 100,
"absoluteHigh": {
"elevation": 1,
"azimuth": 0,
"absoluteZoom": 0
},
"lookDownUpAngle": 180
},
"smokeDetection": {
"smokeRegion": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"absoluteHigh": {
"elevation": 1,
"azimuth": 0,
"absoluteZoom": 0
},
"lookDownUpAngle": 0
}
}
],
"detectionPicturesNumber": "1",
"visibleLightURL": "https://open.ys7.com/xxx",
"thermalURL": "https://open.ys7.com/xxx"
}
人员密度检测
open_person_density_detection 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
dateTime | 事件时间(UTC时间) | String | 是 |
deviceSerial | 设备序列号 | String | 是 |
channelID | 触发报警的设备通道号 | String | 否 |
channelName | 触发报警的设备通道名称 | String | 否 |
personDensityResult | 人员密度检测结果 | Object | 否 |
personDensityResult 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
imageURL | 背景图地址 | String | 是 |
Target | 目标列表 | Array | 否 |
Target 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
recognitionType | 识别目标类型 | String | 是 |
TargetInfo | 目标信息 | Object | 否 |
TargetInfo 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
recognition | 识别事件类型 | String | 是 |
dataSource | 检测数据来源:timing-定时统计,trigger-人员密度等级(拥堵等级)变化触发上传(超过设置的等级限制),PDC-当任何一个检测区域的人数发生变化时上报报警,PQA-当区域内人数异常时则上报报警,DSA-当区域内人员停留时间异常时则上报报警 | String | 否 |
framesPeopleCounting_number | 单帧画面人数统计 | Integer | 否 |
densityLevel | 密度等级值[1,3] 在定时统计的模式下,如果统计的结果没有达到设置的等级限制,该字段不上传 | Integer | 否 |
personCnt | 密度等级中的统计人数限制,在定时统计的模式下,如果统计的结果没有达到设置的等级限制,该字段不上传 | Integer | 否 |
customName | 密度等级配置自定义信息,在定时统计的模式下,如果统计的结果没有达到设置的等级限制,该字段不上传 | String | 否 |
densityLevelChangeType | 人员密度等级变化类型[highToLow:由高到低,lowToHigh:由低到高] | String | 否 |
regionName | 人员密度检测区域名称,与人员密度配置保持一致,若只支持单个区域配置的设备则无需返回该字段 | Float | 否 |
regionID | 设备高精度俯仰角 | Float | 否 |
occupancyRatio | 占空比,区域中人员所占像素占整个区域面积的比例,0-100,单位:% | Float | 否 |
targetID | 目标ID | String | 否 |
DSA | 人员停留时间报警 | Object | 否 |
PQA | 人数异常报警 | Object | 否 |
DSA 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
alarmTime | 该规则区域中人员等待时长报警值,范围为0~3600s | Integer | 是 |
timeTriggerType | 等待时间报警触发类型:greater-大于,less-小于,equal-等于,unequal-不等于。该节点若不支持,设备的报警触发类型默认当大于来处理 | String | 否 |
Region | 规则区域坐标 | Array | 否 |
PQA 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
alarmCount | 规则区域统计人数报警值,范围为0~60个 | Integer | 是 |
countTriggerType | 等待人数报警触发类型:greater-大于,less-小于,equal-等于,unequal-不等于,range-在范围内,outOfRange-不在范围内 | String | 否 |
Region | 规则区域坐标 | Array | 否 |
Region 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
x | x坐标,范围为0.000~1 | float | 是 |
y | y坐标,范围为0.000~1 | float | 是 |
open_person_density_detection 消息示例:
{
"deviceSerial": "E00430928",
"channelID": 1,
"dateTime": "2021-08-04T10:20:58+08:00",
"channelName": "测试通道",
"personDensityResult": {
"imageURL": "https://open.ys7.com/xxxx",
"Target": [
{
"recognitionType": "human",
"TargetInfo": {
"recognition": "personDensityDetection",
"dataSource": "PQA",
"regionName": "区域1",
"regionID": 1,
"PQA": {
"alarmCount": 3,
"Region": [
{
"x": 0.264,
"y": 0.172
},
{
"x": 0.916,
"y": 0.386
},
{
"x": 0.694,
"y": 0.981
},
{
"x": 0.03,
"y": 0.718
}
]
}
}
}
]
}
插座用电量
open_socket_status 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
data | 消息内容 | Array | 是 |
type | 消息类型 | String | 是 |
data 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
data | 插座用电量 | String | 是 |
time | 消息上报时间 | String | 是 |
open_socket_status 消息示例:
{"deviceSerial":"G07030165","data":[{"data":"082","time":"2021-09-28 14"}],"type":"ElectricData"}
插座开关状态
open_socket_switch_status 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
switchEnables | 消息内容 | Array | 是 |
type | 消息类型 | String | 是 |
switchEnables 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
enable | 插座开关 | Integer | 是 |
channel | 通道号 | Integer | 是 |
type | 插座消息类型 | Integer | 是 |
open_socket_switch_status 消息示例:
{"deviceSerial":"G07030165","switchEnables":[{"enable":1,"channel":0,"type":14}],"type":"SWITCHENABLE"}
智能开关状态
open_switch_status 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
reported | 消息内容 | Array | 是 |
type | 消息类型 | String | 是 |
reported 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
channel | 通道号 | Integer | 是 |
status | 状态 | Integer | 是 |
{"deviceSerial":"G07030165","reported":[{"status":1,"channel":0}],"type":"10"}
玩手机检测事件
open_play_cellphone 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
dateTime | 报警触发时间 | String | 是 |
channelID | 设备通道号 | Integer | 否 |
channelName | 通道名称 | String | 否 |
deviceID | 设备名称 | String | 否 |
PlayCellphone | 玩手机检测结果 | Object | 否 |
PlayCellphone 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
TaskInfo | 任务信息 | Object | 否 |
BackgroundImage | 事件触发时的背景图 | Object | 否 |
timeStamp | iso8601时间格式 | String | 否 |
ruleID | 规则序号 | Integer | 否 |
ruleName | 规则名称 | String | 否 |
TaskInfo 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
taskID | 任务ID | String | 是 |
algorithmType | 算法类型,1#hightQualityVehicle(高质量车),2#hightPerformanceVehicle(高性能车),3#personStructModel(人员结构化建模),4#vehicleAndPersonStructModel(人和车结构化建模),5#videoFaceDetect(视频人脸检测),6#videoFaceDetectModel(视频人脸检测和建模),7#smart(人脸侦测(输出坐标框) | Integer | 否 |
taskName | 任务名称 | String | 否 |
algorithmID | 算法包ID | String | 否 |
monitorPointID | 监控点编号 | String | 否 |
monitorPointName | 监控点名称 | String | 否 |
streamType | 流类型,realtime#实时流,historyvideo#历史流,localvideo#本地流 | String | 否 |
ruleID | 规则ID | String | 否 |
ruleCustomName | 用户自定义事件名称 | String | 是 |
algorithmInfo | 二次分析数据 | Object | 否 |
algorithmInfo 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
algorithmId | 算法包Id | String | 否 |
algoVendorId | 厂商id | Integer | 否 |
algoVersionId | 算法版本号id | String | 否 |
algoChipType | 芯片类型 | String | 否 |
algoModelVersion | 模型版本 | String | 否 |
BackgroundImage 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
resourcesContentType | 资源传输类型,url | String | 否 |
resourcesContent | 资源标识ID | Integer | 否 |
{
"deviceSerial": "D11111111",
"channelID": 1,
"dateTime": "2004-05-03T17:30:08+08:00",
"channelName": "ABC",
"deviceID": "test0123",
"PlayCellphone": {
"TaskInfo": {
"taskID": "test",
"algorithmType": 1,
"taskName": "test",
"algorithmID": "test",
"monitorPointID": "test",
"monitorPointName": "test",
"streamType": "realtime",
"ruleID": "1",
"ruleCustomName": "ruleName",
"algorithmInfo": {
"algorithmId": "test",
"algoVendorId": "test",
"algoVersionId": "test",
"algoChipType": "test",
"algoModelVersion": "test"
}
},
"BackgroundImage": {
"resourcesContentType": "url",
"resourcesContent": "test"
},
"timeStamp": "2019-12-30T15:29:23+08:00",
"ruleID": 0,
"ruleName": "test"
}
}
离岗检测事件
open_leave_position 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
dynChannelID | 数字通道号 | string | 否 |
channelID | 设备通道号 | Integer | 否 |
releatedChannelList | 报警关联通道列表,用于平台收到报警时展示预览或回放,多个通道号用逗号隔开 | string | 否 |
dateTime | 报警触发时间 | String | 是 |
channelName | 通道名称 | String | 否 |
deviceID | 设备名称 | String | 否 |
detectionPictureTransType | 图片传输方式,url | String | 否 |
detectionPicturesNumber | 接收报警中包含的图片数量 | Integer | 否 |
bkgUrl | 背景侦测图片的URL | String | 否 |
urlCertificationType | 图片url认证方式,no#无(这个是针对武汉云存储协议),digest#摘要认证 | String | 否 |
pid | 图片ID | String | 否 |
mode | 事件类型,leave#离岗事件,sleep#睡岗事件,leaveAndSleep#离睡岗事件,onPosition#在岗(当离岗人员回到岗位) | String | 否 |
bkgUrl | 背景侦测图片的URL | String | 否 |
TaskInfo | 任务信息 | Object | 否 |
timeStamp | 触发报警的帧的时间戳 | String | 否 |
detectionRegionList | 检测区域列表 | Array | 否 |
ruleID | 规则序号 | Integer | 否 |
ruleName | 规则名称 | String | 否 |
TaskInfo 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
taskID | 任务ID | String | 是 |
algorithmType | 算法类型,1#hightQualityVehicle(高质量车),2#hightPerformanceVehicle(高性能车),3#personStructModel(人员结构化建模),4#vehicleAndPersonStructModel(人和车结构化建模),5#videoFaceDetect(视频人脸检测),6#videoFaceDetectModel(视频人脸检测和建模),7#smart(人脸侦测(输出坐标框) | Integer | 是 |
taskName | 任务名称 | String | 否 |
algorithmID | 算法包ID | String | 否 |
monitorPointID | 监控点编号 | String | 否 |
monitorPointName | 监控点名称 | String | 否 |
streamType | 流类型,realtime#实时流,historyvideo#历史流,localvideo#本地流 | String | 否 |
ruleID | 规则ID | String | 否 |
ruleCustomName | 用户自定义事件名称 | String | 是 |
algorithmInfo | 二次分析数据 | Object | 否 |
algorithmInfo 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
algorithmId | 算法包Id | String | 否 |
algoVendorId | 厂商id | Integer | 否 |
algoVersionId | 算法版本号id | String | 否 |
algoChipType | 芯片类型 | String | 否 |
algoModelVersion | 模型版本 | String | 否 |
detectionRegionList下对象DetectionRegionEntry格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
regionID | 区域ID | String | 是 |
sensitivityLevel | 灵敏度 | String | 否 |
regionCoordinatesList | 目标区域 | Array | 否 |
targetRect | 目标框 | Object | 否 |
ruleName | 规则名称 | String | 否 |
regionCoordinatesList下对象RegionCoordinates格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
positionX | 区域点X坐标 | String | 是 |
positionY | 区域点Y坐标 | String | 是 |
targetRect 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
x | 目标x坐标 | Integer | 是 |
y | 目标y坐标 | Integer | 是 |
width | 目标宽 | Integer | 是 |
height | 目标高 | Integer | 是 |
{
"deviceSerial": "D11111111",
"dynChannelID": "test",
"channelID": 1,
"releatedChannelList": "1,2,3",
"dateTime": "2004-05-03T17:30:08+08:00",
"channelName": "test",
"deviceID": "12345",
"detectionPictureTransType": "url",
"detectionPicturesNumber": 1,
"bkgUrl": "test",
"urlCertificationType": "no",
"pid": "test",
"mode": "leave",
"taskInfo": {
"taskID": "test",
"algorithmType": 1,
"taskName": "test",
"algorithmID": "test",
"monitorPointID": "test",
"monitorPointName": "test",
"streamType": "realtime",
"ruleID": "test",
"ruleCustomName": "test",
"algorithmInfo": {
"algorithmId": "test",
"algoVendorId": "test",
"algoVersionId": "test",
"algoChipType": "test",
"algoModelVersion": "test"
}
},
"timeStamp": "test",
"detectionRegionList": [
{
"regionID": "test",
"sensitivityLevel": "1",
"regionCoordinatesList": [
{
"positionX": "50",
"positionY": "50"
}
],
"targetRect": {
"x": 0,
"y": 0,
"width": 0,
"height": 0
},
"ruleName": "test"
}
],
"ruleID": 0,
"ruleName": "test"
}
区域定时人数统计事件
open_person_queue_timing_statistics 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
dateTime | 报警触发时间 | String | 是 |
channelID | 设备通道号 | Integer | 否 |
channelName | 通道名称 | String | 否 |
deviceID | 设备名称 | String | 否 |
PersonQueueTimingStatistics | 区域定时人数统计数据 | Object | 否 |
PersonQueueTimingStatistics 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
startTime | 开始统计时间 | String | 是 |
endTime | 结束统计时间 | String | 是 |
QueueTimeCounting | 区域定时人数统计 | Array | 是 |
QueueTimeCounting 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
ruleID | 规则ID | Integer | 是 |
QueueTime | 区域定时人数统计区间 | Array | 是 |
ruleCount | 该规则内(包含各个时间区间)统计的实际人数值 | Integer | 是 |
ruleAverageQueueTime | 该规则内(包含各个时间区间)平均排队时长 | Integer | 否 |
QueueTime 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
minQueueTime | 最小排队时长,单位:秒 | Integer | 是 |
maxQueueTime | 最大排队时长,单位:秒,最大排队时长的值必须大于最小排队时长 | Integer | 否 |
count | 该区间内统计的实际人数值 | Integer | 是 |
averageQueueTime | 区域定时人数统计区间 | Integer | 否 |
{
"deviceSerial": "D11111111",
"channelID": 1,
"dateTime": "2004-05-03T17:30:08+08:00",
"channelName": "ABC",
"deviceID": "test0123",
"PersonQueueTimingStatistics": {
"startTime": "2004-05-03T17:30:08+08:00",
"endTime": "2004-05-03T17:30:10+08:00",
"QueueTimeCounting": [
{
"ruleID": 1,
"ruleCount": 5,
"ruleAverageQueueTime": 3600,
"QueueTime": [
{
"minQueueTime": 1,
"maxQueueTime": 1,
"count": 5,
"averageQueueTime": 3600
}
]
}
]
}
}
区域实时人数检测事件
open_person_queue_realtime 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
dateTime | 报警触发时间 | String | 是 |
channelID | 设备通道号 | Integer | 否 |
releatedChannelList | 报警关联(同源)通道列表,子类型Integr类型 | Array | 否 |
deviceID | 设备名称 | String | 否 |
PersonQueueRealTimeData | 区域实时人数检测事件数据 | Object | 否 |
PersonQueueRealTimeData 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
targetID | 目标ID | Integer | 是 |
ruleID | 该人员对应的规则区域ID | Integer | 是 |
personState | 人员状态类型,enter#进入区域,leave#离开区域 | String | 是 |
waitTime | 人员排队实际等待时长,单位:秒 | Integer | 否 |
peopleNum | 此刻该区域内总人数 | Integer | 是 |
enterTime | 目标进入时间 | String | 否 |
{
"deviceSerial": "D11111111",
"dateTime": "2018-03-13T19:42:27+08:00",
"channelID": 1,
"releatedChannelList": [
1,
2,
3
],
"deviceID": "test0123",
"PersonQueueRealTimeData": {
"targetID": 1,
"ruleID": 1,
"personState": "enter",
"waitTime": 600,
"peopleNum": 6,
"enterTime": "2018-03-13T19:42:27+08:00"
}
}
区域人员停留时长检测事件
open_person_queue_time 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
dateTime | 报警触发时间 | String | 是 |
channelID | 设备通道号 | Integer | 否 |
releatedChannelList | 报警关联(同源)通道列表,子类型Integr类型 | Array | 否 |
deviceID | 设备名称 | String | 否 |
humanCapture | 人体属性 | Object | 否 |
backgroundImageURL | 背景图URL | String | 否 |
contentID | 背景图 | String | 否 |
humanCapture 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
human | 人体属性 | Object | 是 |
rule | 规则属性 | Object | 否 |
human 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
targetID | 超过报警等待时间的人员目标ID | Integer | 是 |
waitTime | 人员排队实际等待时长,单位:秒 | Integer | 是 |
Region | 该人员目标位置区域坐标 | Array | 是 |
humanImageURL | 人体子图URL | String | 否 |
contentID | 人体子图 | String | 否 |
Region 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
x | x坐标 | Float | 是 |
y | y坐标 | Float | 否 |
rule 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
ruleID | 该人员对应的规则区域ID | Integer | 是 |
alarmTime | 该规则区域中排队时长报警值 | Integer | 是 |
regionColor | 规则区域颜色,blue#蓝色,red#红色,yellow#黄色 | String | 是 |
Region | 规则区域坐标,属性同human对应Region | Array | 是 |
timeTriggerType | 等待时间报警触发类型,greater#大于,less#小于,equal#等于,unequal#不等于 | String | 否 |
{
"deviceSerial": "D11111111",
"channelID": 1,
"releatedChannelList": [
1,
2,
3
],
"dateTime": "2018-03-13T19:42:27+08:00",
"deviceID": "test0123",
"humanCapture": {
"human": {
"targetID": 1,
"waitTime": 600,
"humanImageURL": "test",
"contentID": "human_image",
"Region": [
{
"x": 0.12,
"y": 0.12
}
]
},
"rule": {
"ruleID": 1,
"alarmTime": 10,
"regionColor": "blue",
"timeTriggerType": "greater",
"Region": [
{
"x": 0.12,
"y": 0.12
}
]
}
},
"backgroundImageURL": "test",
"contentID": "background_image"
}
设备坠落事件
open_device_drop 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
channelId | 设备通道号 | Integer | 是 |
dateTime | 触发时间 | String | 是 |
eventType | 事件类型 | String | 是 |
deviceDrop | 事件检测结果 | Array | 否 |
deviceDrop内Location格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
location | 设备本地位置信息 | Object | 否 |
location 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
longitudeType | 经度 ([E#东经,W#西经]) | String | 是 |
latitudeType | 纬度(S#南纬,N#北纬) | String | 是 |
longitude | 经度 | Object | 是 |
latitude | 纬度 | Object | 是 |
longitude 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
degree | 度,范围[0,180] | Integer | 是 |
minute | 分,范围[0,59] | Integer | 是 |
sec | 秒,范围[0.000000,60.000000] | String | 是 |
latitude 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
degree | 度,范围[0,180] | Integer | 是 |
minute | 分,范围[0,59] | Integer | 是 |
sec | 秒,范围[0.000000,60.000000] | String | 是 |
{
"deviceSerial":"test0123",
"channelId":1,
"dateTime":"2004-05-03T17:30:08+08:00",
"eventType":"deviceDrop",
"deviceDrop":[
{
"location":{
"longitudeType":"E",
"latitudeType":"S",
"longitude":{
"degree":80,
"minute":13,
"sec":0
},
"latitude":{
"degree":80,
"minute":13,
"sec":0
}
}
}
]
}
设备静止事件
deviceNotMoved 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
channelId | 设备通道号 | Integer | 是 |
dateTime | 触发时间 | String | 是 |
eventType | 事件类型 | String | 是 |
deviceNotMoved | 事件检测结果 | Array | 否 |
deviceNotMoved内Location格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
location | 设备本地位置信息 | Object | 否 |
location 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
longitudeType | 经度 ([E#东经,W#西经]) | String | 是 |
latitudeType | 纬度(S#南纬,N#北纬) | String | 是 |
longitude | 经度 | Object | 是 |
latitude | 纬度 | Object | 是 |
longitude 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
degree | 度,范围[0,180] | Integer | 是 |
minute | 分,范围[0,59] | Integer | 是 |
sec | 秒,范围[0.000000,60.000000] | String | 是 |
latitude 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
degree | 度,范围[0,180] | Integer | 是 |
minute | 分,范围[0,59] | Integer | 是 |
sec | 秒,范围[0.000000,60.000000] | String | 是 |
{
"deviceSerial":"test0123",
"channelId":1,
"dateTime":"2004-05-03T17:30:08+08:00",
"eventType":"deviceDrop",
"deviceNotMoved":[
{
"location":{
"longitudeType":"E",
"latitudeType":"S",
"longitude":{
"degree":80,
"minute":13,
"sec":0
},
"latitude":{
"degree":80,
"minute":13,
"sec":0
}
}
}
]
}
设备状态上报事件
open_device_status 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
channelID | 设备通道号 | Integer | 是 |
dateTime | 触发时间 | String | 是 |
eventType | 事件类型 | String | 是 |
deviceStatus | 设备状态 | Object | 否 |
deviceStatus格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceUpTime | 设备已运行时间, 范围:[0,2147483647], 单位:秒, | Integer | 否 |
dataPrealarm | 流量信息 | Object | 否 |
abnormalStaticStatus | 设备是否处于异常静止状态 | Boolean | 否 |
TemperatureList | 温度数据列表,范围:[0,100] | Array | 否 |
CPUList | CPU数据列表 | Array | 否 |
MemoryList | 内存数据列表 | Array | 否 |
recordStatusList | 录像状态列表 | Array | 否 |
lightStatusList | 灯光状态列表 | Array | 否 |
dialStatusList | 无线拨号状态列表 | Array | 否 |
wifiStatusList | wifi状态列表 | Array | 否 |
batteryList | 电池状态列表 | Array | 否 |
scannerStatus | 扫码状态 | Array | 否 |
dataPrealarm 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
usedTrafficValue | 当月已使用流量, 范围:[0.000,1073741824.000], 单位:MB, 保留三位小数 | Float | 是 |
TemperatureList内Object 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
tempSensorDescription | 温度描述 | String | 是 |
temperature | 温度值,范围:[0,1000], 单位:℃, 保留三位小数 | Float | 是 |
CPUList内Object 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
cpuDescription | CPU描述 | String | 是 |
cpuUtilization | CPU使用率,范围[0,100] | Integer | 是 |
MemoryList内Object 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
memoryDescription | 内存描述 | String | 是 |
memoryUsage | 已用内存大小, 范围:[0.0,1048576.0], 单位:MB,保留一位小数 | Float | 是 |
memoryAvailable | 可用内存大小, 范围:[0.0,1048576.0], 单位:MB,保留一位小数 | Float | 是 |
recordStatusList内Object 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
channelID | 视频通道号 | Integer | 是 |
recordStatus | 录像状态, notRecorded表示未录像,recording表示录像中 | String | 是 |
recordremainingDuration | 录制剩余时长, 范围:[0,10000], 单位:min | Integer | 否 |
lightStatusList内Object 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
lightType | 灯光类型, supplementLight表示补光灯,laserLight表示激光灯 | String | 是 |
lightStatus | 拨号状态, open表示开启,close表示关闭 | String | 是 |
dialStatusList内Object 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
networkStatus | 网络状态[2G#2G,3G#3G,4G#4G,Unknown#未知,5G#5G] | String | 是 |
dialStatus | 拨号状态,[notDial#无拨号,dialing#拨号中,finishDial#拨号完成] | String | 是 |
dialSignalStrength | 信号强度, 范围:[1,5] | Integer | 是 |
wifiStatusList内Object 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
ssid | ssid信息 | String | 是 |
wifiState | 网络状态[disabled#未启用Wi-Fi,enable#启用Wi-Fi,disconnected#Wi-Fi断开,enableHotspot#启用Wi-Fi热点,fail#wifi连接失败,success#wifi连接成功,connecting#wifi连接中,nomodule#无wifi模块 | String | 是 |
dialSignalStrength | 信号强度, 范围:[1,5] | Integer | 是 |
batteryList内Object 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
id | 电池id | Integer | 是 |
state | 网络状态[discharging#未充电(放电中),charing#充电中,idle#空闲,abnormal#异常] | String | 是 |
remainingBattery | 剩余电量, 范围:[0,10000], 单位:mA, | Integer | 是 |
remainingDuration | 电量剩余使用时长, 范围:[0,10000], 单位:min | Integer | 是 |
scannerStatus内Object 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
scannerFrequency | 扫码频次, 范围:[0,10000], 单位:次/小时 | Integer | 是 |
{
"deviceSerial":"test0123",
"channelId":1,
"dateTime":"2004-05-03T17:30:08+08:00",
"eventType":"deviceStatus",
"DeviceStatus":{
"deviceUpTime":1200,
"TemperatureList":[
{
"tempSensorDescription":"test",
"temperature":1
}
],
"CPUList":[
{
"cpuDescription":"test",
"cpuUtilization":1
}
],
"MemoryList":[
{
"memoryDescription":"test",
"memoryUsage":100,
"memoryAvailable":100
}
],
"recordStatusList":[
{
"channelID":1,
"recordStatus":"recording",
"recordremainingDuration":5
}
],
"lightStatusList":[
{
"lightType":"supplementLight",
"lightStatus":"open"
}
],
"dialStatusList":[
{
"networkStatus":"4G",
"dialStatus":"notDial",
"dialSignalStrength":5
}
],
"wifiStatusList":[
{
"ssid":"1234",
"wifiState":"success",
"dialSignalStrength":5
}
],
"batteryList":[
{
"id":1,
"state":"discharging",
"remainingBattery":5,
"remainingDuration":5
}
],
"scannerStatus":[
{
"scannerFrequency":5
}
],
"dataPrealarm":{
"usedTrafficValue":26
},
"abnormalStaticStatus":true
}
}
按键触发抓图事件
open_local_button_snapshot 消息格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
deviceSerial | 设备序列号 | String | 是 |
channelID | 设备通道号 | Integer | 是 |
dateTime | 触发时间 | String | 是 |
eventType | 事件类型 | String | 是 |
LocalButtonSnapshot | 设备本地按键触发抓图信息上报 | Object | 否 |
LocalButtonSnapshot:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
ButtonSnapshot | 设备本地按键手动触发抓取的图片 | Object | 否 |
ButtonSnapshot 格式:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
resourcesContentType | 资源传输类型[url#url方式传输], desc:当设备返回的报警报文中带有额外资源(比如图片)时,该节点必须返回,url-url方式传输 | String | 是 |
resourcesContent | 资源标识ID, 范围:[1,1024], 当设备返回的报警报文中带有额外资源(比如图片)时,该节点必须返回;当resourcesContentType为url时,该节点填写具体的ur) | String | 是 |
{
"deviceSerial":"test0123",
"channelId":1,
"dateTime":"2004-05-03T17:30:08+08:00",
"eventType":"localButtonSnapshot",
"LocalButtonSnapshot":{
"ButtonSnapshot":{
"resourcesContentType":"url",
"resourcesContent":"http://10.13.50.100:6120/pic?=d63i0872ed611i89-5p3009--26b43e17f9eafi5b2*=2d9i0s1*=idp1*=*d176t=a-9m55b3d25b4"
}
}
}
AI视频任务检测事件
消息协议字段说明:
字段名 | 描述 | 类型 | 是否必填 |
---|---|---|---|
dateTime | 事件时间 | String | 是 |
deviceSerial | 设备序列号 | String | 是 |
channelId | 设备通道号 | String | 是 |
aiopData | 由算法库直接输出;具体的结构体参考算法库提供 | Object | 否 |
AI视频任务检测消息协议:
{
"channelID": 1,
"dateTime": "2009-11-14T15:27:12+08:00",
"deviceSerial": 1,
"aiopData": {}
}