一、应用场景
物联云平台提供将各个应用产生的信息,以事件的形式上报至事件中心。通过事件中心进行统一查看和统计。由各个应用上报的具体事件,称之为事件实例。在应用上报事件实例前,需要在物联云平台定义各个事件的类型。应用根据事件类型上报对应的事件实例。
物联云平台提供事件实例的数量统计,用于通过数据分析排查问题原因和寻找优化方向。统计需要确保事件实例已上报对应信息,例如涉及到项目统计则需要事件实例上报项目id。
- 企业应用上报事件实例。
- 企业使用事件实例进行数据统计和分析。
二、功能说明
企业可通过物联云平台管理台设置事件类型,平台存在多个入口,请根据实际使用场景进行添加。完成事件类型的添加后,应用可以将事件实例上报至对应的事件类型中。事件实例上报后不提供更改、删除等功能。事件实例上报时,如果存在基础信息无法满足业务场景的情况下,可自定义不同的拓展属性。
平台支持统计项目事件实例涉及到的项目总数、事件实例涉及到的区域总数,各个事件等级所涉及到的事件实例总数。
三、前提条件
1.事件实例上报前需要定义事件类型。
2.事件实例需要根据已定义的事件类型进行上报。
3.统计需要事件实例已上报对应项目id、区域id。
四、关键流程
4.1 事件实例生命周期
流程说明:
- 首先,事件实例产生系统 向物联网中台发起 获取平台访问授权 请求,得到物联网中台的平台访问授权级调用凭证Empower。
- 其次,事件实例产生系统 在产生事件时向物联网中台发起 事件实例上报 请求,将事件实例存储在物联网中台。
- 再次,事件实例产生系统 在需要查看事件实例列表时向物联网中台发起 应用下事件实例列表 或者 全量事件实例列表 请求,从而获得历史事件实例列表用于展示或者分析。
- 接着,事件实例产生系统 在感知事件实例发生变化时向物联网中台发起 设置事件实例拓展属性 或者 事件实例上报 请求,从而来更新事件实例的相关信息。
- 最后,事件实例产生系统 在感知事件实例被处理后向物联网中台发起 设置事件实例已处理 请求,物联网中台将事件实例状态设置为已处理状态,从此事件实例变成完结状态。
4.2 企业管理台管理事件实例
流程说明:
- 首先,B端成员 登录到企业管理台,得到物联网中台的成员级级调用凭证。
- 其次,B端成员 在需要查看事件实例列表时向物联网中台发起 应用下事件实例列表 或者 全量事件实例列表 请求,从而获得历史事件实例列表用于展示。
- 再次,B端成员 企业管理台查看到事件实例信息后,可以为事件实例设置相关拓展信息,此时可向物联网中台发起 设置事件实例拓展属性 请求,从而来更新事件实例的相关信息。
- 最后,B端成员 通过各种方式得知事件实例被处理后向物联网中台发起 设置事件实例已处理 请求,物联网中台将事件实例状态设置为已处理状态,从此事件实例变成完结状态。
4.3 事件实例统计
流程说明:
- 首先,B端成员 登录到企业管理台,得到物联网中台的成员级级调用凭证。
- 其次,B端成员 根据企业管理台展示需求向物联网中台发起 统计需求 请求。
- 最后,物联网中台接收到 统计需求 请求后,根据不同的请求类型执行不同的统计逻辑进而返回不同的统计数据。
五、API列表
5.1 事件实例
5.1.1 获取平台访问授权
接口描述
第三方系统利用在企业管理台处获取平台访问的访问标识和访问秘钥,利用标识和秘钥请求物联网中台从而获得平台访问授权凭证。
请求方式
POST
请求地址
/v2/accesskey_auth
请求头
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
Content-Type | true | String | application/json |
请求参数
名称 | 位置 | 必填 | 类型 | 备注 |
---|---|---|---|---|
id | body | true | String | 平台访问授权标识 |
secret | body | true | String | 平台访问授权秘钥 |
请求示例:
{
"id":"4561321655663",
"secret":"1234654fds464fsd4f"
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
access_token | true | String | 调用凭证 |
返回示例:
{
"access_token": "32112456326sdfsdfewfdsafdsads3sf"
}
错误码:
错误码 | 描述 |
---|---|
4001001 | 请求数据字段验证不通过 |
4001002 | 请求数据必须字段不可为空 |
4031001 | 调用凭证权限被禁止访问 |
4031003 | 无效的调用凭证 |
4031002 | 需要调用凭证 |
4041001 | 接口不存在 |
5031001 | 系统错误 |
4031024 | 权限不足 |
4031023 | 权限不足 |
4041024 | 平台访问授权不存在 |
4001071 | 平台访问授权被禁用 |
4001072 | 平台访问授权秘钥错误 |
5.1.2 事件实例上报
接口描述
在事件中心提供了两种方式上报事件实例,分别是消息队列和HTTP接口;其中消息队列主要用于内部各个SaaS,而HTTP接口主要用于外部系统.
请求方式
POST
请求地址
/v2/service/events/instance-create
请求头
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
Access-Token | true | String | 调用凭证 企业成员 平台权限 Empower |
Content-Type | true | String | application/json |
Corp-ID | false | String | 企业标识 |
请求参数
名称 | 位置 | 必填 | 类型 | 备注 |
---|---|---|---|---|
id | body | true | String | 事件实例标识 |
base | body | true | Object | 事件实例基础信息 |
base.definition_id | body | true | Object | 事件实例归属定义标识 |
base.name | body | false | String | 事件实例名称 |
base.device_name | body | false | String | 事件实例关联设备名称 |
base.device_mac | body | false | String | 事件实例关联设备mac |
base.project_id | body | false | String | 事件实例归属项目标识 |
base.project_name | body | false | String | 事件实例归属项目名称 |
base.create_time | body | false | String | 事件实例发生时间,格式为yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
base.desc | body | false | String | 事件实例描述 |
base.device_id | body | false | String | 事件实例关联设备标识 |
base.product_id | body | false | String | 事件实例关联设备产品标识 |
base.space_location | body | false | String | 事件实例所在空间位置 |
base.address | body | false | String | 事件实例所在位置描述 |
base.trigger_condition | body | false | String | 事件实例关联触发条件规则 |
extend | body | false | Object | 事件实例拓展信息 |
extend.source_id | body | false | Object | 事件实例拓展源标识 |
extend.source_type | body | false | Object | 事件实例拓展源蕾西 |
extend.source_name | body | false | Object | 事件实例拓展源名称 |
extend.process_url | body | false | Object | 事件实例拓展源处理地址 |
extend.capture_url | body | false | Object | 事件实例拓展源抓拍图片地址 |
请求示例:
{
"id": "1235646s5fsfasafsdafdsfs",
"base": {
"definition_id": "sfsfsafsafs1f23sfsfsd56",
"name": "道岔故障",
"device_name": "1号门道闸",
"device_mac": "ACBDED1235D",
"project_id": "123546sdafsd12sarew12d",
"project_name": "天宫一号",
"create_time": "2019-12-16T16:00:00.000Z",
"desc": "1号门道闸,持续时长10秒",
"device_id": "1566255645226",
"product_id": "12365s4dff1sd23f1sd65fsd15f",
"space_location": "A区域",
"address": "A区域19栋",
"trigger_condition":"123565ewdsddddf126"
},
"extend": {
"source_id": "source",
"source_type": "type",
"source_name": "A区域19栋",
"process_url": "http://www.baidu.com",
"capture_url": "http://www.baidu.com"
}
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
status | true | Int | HTTP状态码 |
code | true | Int | 业务错误码 |
msg | false | String | 业务错误信息 |
data | false | Object | 业务数据 |
返回示例:
{
"status": 200,
"code": 200,
"msg": "访问成功",
"data": {}
}
错误码:
错误码 | 描述 |
---|---|
4001001 | 请求数据字段验证不通过 |
40010001 | 请求数据字段验证不通过 |
4001002 | 请求数据必须字段不可为空 |
4031001 | 调用凭证权限被禁止访问 |
4031003 | 无效的调用凭证 |
4031002 | 需要调用凭证 |
4041001 | 接口不存在 |
5031001 | 系统错误 |
4031024 | 权限不足 |
40029004 | 事件定义标识长度超过限制 |
40029001 | 应用类型未知 |
40029002 | 设置优先级时事件定义标识长度超过限制 |
40029003 | 事件优先级未知 |
40429001 | 事件分类不存在 |
40429002 | 事件等级不存在 |
40429003 | 事件定义不存在 |
5.1.3 应用下事件实例列表
接口描述
企业成员或者SaaS系统通过应用以及相关条件查询事件实例列表,其中时间实例的拓展信息会随着不同事件实例而不同
请求方式
POST
请求地址
/v2/service/events/instances?application=xxx
请求头
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
Access-Token | true | String | 调用凭证 企业成员 |
Content-Type | true | String | application/json |
请求参数
名称 | 位置 | 必填 | 类型 | 备注 |
---|---|---|---|---|
application | query | true | String | 事件分类从属应用,枚举 VideoSecurity: 视频安防 DeviceDevOps: 设备运维 Parkinglot: 停车 AccessControl: 门禁 |
offset | body | false | Int | 偏移量 |
limit | body | false | Int | 查询量 |
statisticsed | body | false | Boolean | 是否作为统计请求, 统计请求时不会返回list中的具体数据, 只会返回count |
sort | body | false | Object | 排序字段 |
query | body | false | Object | 查询条件 |
query.logic | body | true | String | 当出现query时,此字段必填,条件逻辑关系, and 或 or |
query.where | body | false | Object | 查询条件集合 |
请求示例:
{
"offset": 0,
"limit": 10,
"statisticsed": false,
"sort": {
"name": "desc"
},
"query": {
"logic": "and",
"where": {
"name": {
"$eq": "视频安防"
},
"base.project_id": {
"$in": ["452877796"]
}
}
}
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
status | true | Int | HTTP状态码 |
code | true | Int | 业务错误码 |
msg | false | String | 业务错误信息 |
data | false | Object | 业务数据 |
data.count | false | Int | 事件实例总数 |
data.list | false | Array | 事件实例列表 |
data.list.id | true | String | 事件实例标识 |
data.list.application | true | String | 事件实例从属应用 |
data.list.storage_time | true | String | 事件实例存储时间,格式为yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
data.list.base | true | Object | 事件实例基础信息 |
data.list.base.create_time | true | String | 事件实例创建时间, 格式为yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
data.list.base. process_time | false | String | 事件实例被处理时间, 格式为yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
data.list.base. corp_id | true | String | 事件实例归属企业 |
data.list.base.status | true | Int | 事件实例状态 1: 待处理 2: 处理中 3: 已处理 |
data.list. base.classification_id | true | String | 事件实例归属事件分类标识 |
data.list.base.rank_id | false | String | 事件实例归属事件等级标识 |
data.list.base.name | false | String | 事件实例名称 |
data.list.base.desc | false | String | 事件实例描述 |
data.list.base.project_id | false | String | 事件实例归属项目标识 |
data.list.base.area_id | false | String | 事件实例归属片区标识 |
data.list.base.definition_id | true | String | 事件实例归属事件定义标识 |
data.list.base.biz_organization_id | false | String | 事件实例归属业务组织标识 |
data.list.base.source | false | String | 事件实例源 |
data.list.base.regions | false | String | 事件实例发生所在区域列表 |
data.list.base.full_biz_organization_id | false | String | 事件实例归属业务组织全标识,A:B:C:D:E:F:G |
data.list.base.tag_id | false | String | 事件实例归属标签标识 |
data.list.base.space_group_location | false | String | 事件实例所属管理区域(空间分组)位置名称,所有管理区域名称,以分隔符/拼接 |
data.list.base.space_location | false | String | 事件实例所属空间位置名称,全名称,以分隔符/拼接 |
data.list.base.product_id | false | String | 事件实例关联产品标识 |
data.list.base.device_id | false | String | 事件实例关联设备标识 |
data.list.base.device_name | false | String | 事件实例关联设备名称 |
data.list.base.device_mac | false | String | 事件实例关联设备mac |
data.list.base.trigger_condition | false | String | 事件实例关联触发条件规则 |
data.list.base.project_name | false | String | 事件实例所属项目名称 |
data.list.base.address | false | String | 事件实例发生详细地址 |
data.list.base.rank_name | false | String | 事件实例归属等级名称 |
data.list.base.processed_way | false | Int | 事件实例已处理处理方式,枚举: -1: 未处理 1: 设备调试 2: 真实故障 3: 误报 4: 其他 5: 转工单 6: 抑制 |
data.list.base.first_expire | false | Boolean | 事件实例一级是否超时 |
data.list.base.second_expire | false | Boolean | 事件实例二级是否超时 |
data.list.base.third_expire | false | Boolean | 事件实例三级是否超时 |
data.list.extend | true | Object | 事件实例拓展信息 |
data.list.extend.work_order_id | false | String | 事件实例关联工单标识 |
data.list.processed | false | Object | 事件实例被处理信息 |
data.list.processed.opinion | false | String | 事件实例被处理意见 |
data.list.processed.operator_type | false | String | 事件实例被处理类型 1: 自动恢复 2: 物联平台处理 3: 工单系统处理 |
data.list.processed.operator_id | false | String | 事件实例被处理人标识,唯一标识,可用于调用接口查询详细信息 1.物联平台建议存储成员标识 2.外部系统可以为外部系统标识或账号 |
data.list.processed.operator_account | false | String | 事件实例被处理人账号,账号,用于展示 1.物联平台建议存储成员Account或者Email 2.外部系统可以为外部系统账号 |
data.list.processed.operator_name | false | String | 事件实例被处理人名称 |
data.list.processed.way | false | String | 事件已处理处理方式,枚举: -1: 未处理 1: 设备调试 2: 真实故障 3: 误报 4: 其他 5: 转工单 6: 抑制 |
返回示例:
{
"status": 200,
"code": 200,
"msg": "访问成功",
"data": {
"count": 1,
"list": [{
"id": "12356ewsdfsdwefcdads",
"storage_time": "2019-12-16T16:00:00.000Z",
"application": "VideoSecurity",
"base": {
"status": 1,
"create_time": "2019-12-16T16:00:00.000Z",
"process_time": "2019-12-17T16:00:00.000Z",
"corp_id": "1235645dsfsew232ew1d",
"classification_id": "123sd56fsdwe3232ffdf",
"rank_id": "123s65f23e23dwef1ffd",
"priority": 1,
"name": "道闸失灵",
"desc": "道闸失灵,即时处理",
"project_id": "12354fasdfdf489we55sdfd2f",
"definition_id": "1254s5ffefdsf2dsr23afd",
"area_id": "f12135af4sfg23sdfdf",
"source": "A区19栋",
"biz_organization_id": "dsafds1dsf5ds6f4dsf2d",
"regions": ["A", "B"],
"full_biz_organization_id":"dsafds1dsf5dsf2d:dsafds1dsf5ddsf22",
"tag_id": "123sfsdf42f2s4sgsdfd",
"space_group_location": "广州/海珠",
"space_location": "广州/海珠/黄埔",
"product_id": "123sdfaf24f5sdfsdfsdg",
"device_id": "23564621",
"device_name": "道闸",
"device_mac": "ACDBCFEF12DF",
"trigger_condition": "1265sfwefdfdsfds",
"project_name": "天宫一号",
"address": "广州/海珠/黄埔",
"rank_name": "1级事件",
"processed_way": 1,
"first_expire": true,
"second_expire": true,
"third_expire": true
},
"extend": {
"work_order_id": "ee12365465sdfewddd5d"
},
"processed": {
"opinion": "测试事件,不予以关注",
"operator_type": 1,
"operator_id": "12356sdf2e111d2f1df",
"operator_account": "liqinghua@xlink.cn",
"operator_name": "李清华",
"way": 1
}
}]
}
}
错误码:
错误码 | 描述 |
---|---|
4001001 | 请求数据字段验证不通过 |
40010001 | 请求数据字段验证不通过 |
4001002 | 请求数据必须字段不可为空 |
4031001 | 调用凭证权限被禁止访问 |
4031003 | 无效的调用凭证 |
4031002 | 需要调用凭证 |
4041001 | 接口不存在 |
5031001 | 系统错误 |
4031024 | 权限不足 |
40029004 | 事件定义标识长度超过限制 |
40029001 | 应用类型未知 |
40029002 | 设置优先级时事件定义标识长度超过限制 |
40029003 | 事件优先级未知 |
40429001 | 事件分类不存在 |
40429002 | 事件等级不存在 |
40429003 | 事件定义不存在 |
5.1.4 全量事件实例列表
接口描述
企业成员或者SaaS系统通过通过相关条件查询事件实例列表, 不区分应用
请求方式
POST
请求地址
/v2/service/events/all-instances
请求头
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
Access-Token | true | String | 调用凭证 企业成员 |
Content-Type | true | String | application/json |
请求参数
名称 | 位置 | 必填 | 类型 | 备注 |
---|---|---|---|---|
offset | body | false | Int | 偏移量 |
limit | body | false | Int | 查询量 |
applications | body | false | Array |
应用类型列表, 需要查询全部应用时,不传该字段 |
classification_ids | body | false | Array |
事件分类标识列表, 需要查询全部分类时,不传该字段 |
tag_ids | body | false | Array |
事件标签标识列表, 需要查询全部标签时,不传该字段 |
rank_ids | body | false | Array |
事件等级标识列表, 需要查询全部等级时,不传该字段 |
project_ids | body | false | Array |
事件发生的项目标识列表 |
device_name | body | false | String | 事件中设备名称, 以like查询 |
trigger_condition | body | false | String | 事件中触发条件,以like查询 |
gt_create_time | body | false | String | 大于事件触发时间条件,格式为2019-11-13T14:54:00.00Z |
lt_create_time | body | false | String | 小于事件触发时间条件,格式为2019-11-13T14:54:00.00Z |
name | body | false | String | 事件名称,以like查询 |
status | body | false | Array |
事件状态 1: 待处理 2: 处理中 3: 已处理 |
event_ids | body | false | Array |
事件标识列表,需要查询全部等级时,不传该字段 |
processed_ways | body | false | Array |
事件处理类型列表,枚举 -1: 未处理 1: 设备调试 2: 真实故障 3: 误报 4: 其他 5: 转工单 6: 抑制 |
请求示例:
{
"offset": 0,
"limit": 10,
"applications": ["VideoSecurity"],
"classification_ids": ["12356sewdf2d1fsdf"],
"tag_ids": ["123s56aeef1d23fdsfds"],
"rank_ids": ["1235awef12dsf5f"],
"project_ids": ["1215aw3df2r3"],
"device_name": "道闸",
"trigger_condition": "道闸告警",
"gt_create_time": "2019-12-16T16:00:00.000Z",
"lt_create_time": "2019-12-17T16:00:00.000Z",
"name": "道闸失灵",
"status": [1],
"event_ids": ["1213256ecd12f3df"],
"processed_ways": [1]
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
status | true | Int | HTTP状态码 |
code | true | Int | 业务错误码 |
msg | false | String | 业务错误信息 |
data | false | Object | 业务数据 |
data.count | false | Int | 事件实例总数 |
data.list | false | Array | 事件实例列表 |
data.list.id | true | String | 事件实例标识 |
data.list.application | true | String | 事件实例从属应用 |
data.list.storage_time | true | String | 事件实例存储时间,格式为yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
data.list.base | true | Object | 事件实例基础信息 |
data.list.base.create_time | true | String | 事件实例创建时间, 格式为yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
data.list.base. process_time | false | String | 事件实例被处理时间, 格式为yyyy-MM-dd’T’HH:mm:ss.SS’Z’ |
data.list.base. corp_id | true | String | 事件实例归属企业 |
data.list.base.status | true | Int | 事件实例状态 1: 待处理 2: 处理中 3: 已处理 |
data.list. base.classification_id | true | String | 事件实例归属事件分类标识 |
data.list.base.rank_id | false | String | 事件实例归属事件等级标识 |
data.list.base.name | false | String | 事件实例名称 |
data.list.base.desc | false | String | 事件实例描述 |
data.list.base.project_id | false | String | 事件实例归属项目标识 |
data.list.base.area_id | false | String | 事件实例归属片区标识 |
data.list.base.definition_id | true | String | 事件实例归属事件定义标识 |
data.list.base.biz_organization_id | false | String | 事件实例归属业务组织标识 |
data.list.base.source | false | String | 事件实例源 |
data.list.base.regions | false | String | 事件实例发生所在区域列表 |
data.list.base.full_biz_organization_id | false | String | 事件实例归属业务组织全标识,A:B:C:D:E:F:G |
data.list.base.tag_id | false | String | 事件实例归属标签标识 |
data.list.base.space_group_location | false | String | 事件实例所属管理区域(空间分组)位置名称,所有管理区域名称,以分隔符/拼接 |
data.list.base.space_location | false | String | 事件实例所属空间位置名称,全名称,以分隔符/拼接 |
data.list.base.product_id | false | String | 事件实例关联产品标识 |
data.list.base.device_id | false | String | 事件实例关联设备标识 |
data.list.base.device_name | false | String | 事件实例关联设备名称 |
data.list.base.device_mac | false | String | 事件实例关联设备mac |
data.list.base.trigger_condition | false | String | 事件实例关联触发条件规则 |
data.list.base.project_name | false | String | 事件实例所属项目名称 |
data.list.base.address | false | String | 事件实例发生详细地址 |
data.list.base.rank_name | false | String | 事件实例归属等级名称 |
data.list.base.processed_way | false | Int | 事件实例已处理处理方式,枚举: -1: 未处理 1: 设备调试 2: 真实故障 3: 误报 4: 其他 5: 转工单 6: 抑制 |
data.list.base.first_expire | false | Boolean | 事件实例一级是否超时 |
data.list.base.second_expire | false | String | 事件实例二级是否超时 |
data.list.base.third_expire | false | String | 事件实例三级是否超时 |
data.list.extend | true | Object | 事件实例拓展信息 |
data.list.extend.work_order_id | false | String | 事件实例关联工单标识 |
data.list.processed | false | Object | 事件实例被处理信息 |
data.list.processed.opinion | false | String | 事件实例被处理意见 |
data.list.processed.operator_type | false | String | 事件实例被处理类型 1: 自动恢复 2: 物联平台处理 3: 工单系统处理 |
data.list.processed.operator_id | false | String | 事件实例被处理人标识,唯一标识,可用于调用接口查询详细信息 1.物联平台建议存储成员标识 2.外部系统可以为外部系统标识或账号 |
data.list.processed.operator_account | false | String | 事件实例被处理人账号,账号,用于展示 1.物联平台建议存储成员Account或者Email 2.外部系统可以为外部系统账号 |
data.list.processed.operator_name | false | String | 事件实例被处理人名称 |
data.list.processed.way | false | String | 事件已处理处理方式,枚举: -1: 未处理 1: 设备调试 2: 真实故障 3: 误报 4: 其他 5: 转工单 6: 抑制 |
返回示例:
{
"status": 200,
"code": 200,
"msg": "访问成功",
"data": {
"count": 1,
"list": [{
"id": "12356ewsdfsdwefcdads",
"storage_time": "2019-12-16T16:00:00.000Z",
"application": "VideoSecurity",
"base": {
"status": 1,
"create_time": "2019-12-16T16:00:00.000Z",
"process_time": "2019-12-17T16:00:00.000Z",
"corp_id": "1235645dsfsew232ew1d",
"classification_id": "123sd56fsdwe3232ffdf",
"rank_id": "123s65f23e23dwef1ffd",
"priority": 1,
"name": "道闸失灵",
"desc": "道闸失灵,即时处理",
"project_id": "12354fasdfdf489we55sdfd2f",
"definition_id": "1254s5ffefdsf2dsr23afd",
"area_id": "f12135af4sfg23sdfdf",
"source": "A区19栋",
"biz_organization_id": "dsafds1dsf5ds6f4dsf2d",
"regions": ["A", "B"],
"full_biz_organization_id": "dsafds1dsf5dsf2d:dsafds1dsf5ddsf22",
"tag_id": "123sfsdf42f2s4sgsdfd",
"space_group_location": "广州/海珠",
"space_location": "广州/海珠/黄埔",
"product_id": "123sdfaf24f5sdfsdfsdg",
"device_id": "23564621",
"device_name": "道闸",
"device_mac": "ACDBCFEF12DF",
"trigger_condition": "1265sfwefdfdsfds",
"project_name": "天宫一号",
"address": "广州/海珠/黄埔",
"rank_name": "1级事件",
"processed_way": 1,
"first_expire": true,
"second_expire": true,
"third_expire": true
},
"extend": {
"work_order_id": "ee12365465sdfewddd5d"
},
"processed": {
"opinion": "测试事件,不予以关注",
"operator_type": 1,
"operator_id": "12356sdf2e111d2f1df",
"operator_account": "liqinghua@xlink.cn",
"operator_name": "李清华",
"way": 1
}
}]
}
}
错误码:
错误码 | 描述 |
---|---|
4001001 | 请求数据字段验证不通过 |
40010001 | 请求数据字段验证不通过 |
4001002 | 请求数据必须字段不可为空 |
4031001 | 调用凭证权限被禁止访问 |
4031003 | 无效的调用凭证 |
4031002 | 需要调用凭证 |
4041001 | 接口不存在 |
5031001 | 系统错误 |
4031024 | 权限不足 |
40029004 | 事件定义标识长度超过限制 |
40029001 | 应用类型未知 |
40029002 | 设置优先级时事件定义标识长度超过限制 |
40029003 | 事件优先级未知 |
40429001 | 事件分类不存在 |
40429002 | 事件等级不存在 |
40429003 | 事件定义不存在 |
5.1.5 设置事件实例已处理
接口描述
企业成员或者SaaS系统指定应用类型以及事件实例标识设置事件实例为已处理,处理之后会通过主题 persistent://public/default/event-translate/{corp_id}/{application}/{classification}/{definition} 发布到消息队列
请求方式
PUT
请求地址
/v2/service/events/instances-processed?application=xxxx
请求头
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
Access-Token | true | String | 调用凭证 企业成员 Empower |
Content-Type | true | String | application/json |
请求参数
名称 | 位置 | 必填 | 类型 | 备注 |
---|---|---|---|---|
application | query | true | String | 事件分类从属应用,枚举 VideoSecurity: 视频安防 DeviceDevOps: 设备运维 Parkinglot: 停车 AccessControl: 门禁 |
processeds | body | true | Array | 处理事件实例列表 |
processeds.id | body | true | String | 处理事件实例标识 |
processeds.opinion | body | true | String | 处理建议,最大长度300 |
processeds.operator_type | body | true | Int | 处理人类型 2:物联平台 3:工单系统 |
processeds.operator_id | body | false | String | 处理人标识 物联平台建议存储成员标识 外部系统可以为外部系统标识或账号 |
processeds.operator_account | body | false | String | 处理人账号 物联平台建议存储成员Account或者Email 外部系统可以为外部系统账号 |
processeds.operator_name | body | false | String | 处理人名称 |
processeds.way | body | false | Int | 事件已处理处理方式,枚举 -1: 未处理 1: 设备调试 2: 真实故障 3: 误报 4: 其他 5: 转工单 6: 抑制 |
请求示例:
{
"processeds": [{
"id": "1235ewfd5f6dfdf",
"opinion": "测试事件",
"operator_type": 2,
"operator_id": "1235ewfdfdsfefdf",
"operator_account": "liqinguha@xlink.cn",
"operator_name": "李清华",
"way": 1
}]
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
status | true | Int | HTTP状态码 |
code | true | Int | 业务错误码 |
msg | false | String | 业务错误信息 |
data | false | Object | 业务数据 |
返回示例:
{
"status": 200,
"code": 200,
"msg": "访问成功",
"data": null
}
错误码:
错误码 | 描述 |
---|---|
4001001 | 请求数据字段验证不通过 |
40010001 | 请求数据字段验证不通过 |
4001002 | 请求数据必须字段不可为空 |
4031001 | 调用凭证权限被禁止访问 |
4031003 | 无效的调用凭证 |
4031002 | 需要调用凭证 |
4041001 | 接口不存在 |
5031001 | 系统错误 |
4031024 | 权限不足 |
40029004 | 事件定义标识长度超过限制 |
40029001 | 应用类型未知 |
40029002 | 设置优先级时事件定义标识长度超过限制 |
40029003 | 事件优先级未知 |
40429001 | 事件分类不存在 |
40429002 | 事件等级不存在 |
40429003 | 事件定义不存在 |
5.1.6 设置事件实例拓展属性
接口描述
企业成员或者SaaS系统指定应用类型以及事件实例标识设置事件实例拓展属性,设置之后会通过主题 persistent://public/default/event-translate/{corp_id}/{application}/{classification}/{definition} 发布到消息队列
请求方式
PUT
请求地址
/v2/service/events/instances/{id}/extends?application=xxxx
请求参数
名称 | 位置 | 必填 | 类型 | 备注 |
---|---|---|---|---|
application | query | true | String | 事件分类从属应用,枚举 VideoSecurity: 视频安防 DeviceDevOps: 设备运维 Parkinglot: 停车 AccessControl: 门禁 |
extend | body | true | Object | 拓展信息 |
extend.work_order_id | body | false | String | 事件实例关联工单标识 |
extend.work_order_create_time | body | false | String | 事件关联工单时间 |
extend.status | body | false | Int | 状态,目前只支持传2,处理中若有此字段会同步更新到base.status中 |
extend.processing_opinion | body | false | String | 状态转为处理中时, 处理意见 |
extend.processing_operator_type | body | false | Int | 状态转为处理中时, 处理人类型, 2:物联平台 3: 工单系统 |
extend.processing_operator_id | body | false | String | 状态转为处理中时, 处理人标识 |
extend.processing_operator_account | body | false | String | 状态转为处理中时, 处理人账号 |
extend.processing_operator_name | body | false | String | 状态转为处理中时, 处理人名字 |
请求示例:
{
"extend": {
"work_order_id": "12356ewdfdfdf",
"work_order_create_time": "2019-12-16T16:00:00.000Z",
"status": 2,
"processing_opinion": "测试事件,不用在意",
"processing_operator_type": 2,
"processing_operator_id": "12365sdfdf12ed2f1fdsfdsf",
"processing_operator_account": "liqinghua@xlink.cn",
"processing_operator_name": "李清华"
}
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
status | true | Int | HTTP状态码 |
code | true | Int | 业务错误码 |
msg | false | String | 业务错误信息 |
data | false | Object | 业务数据 |
返回示例:
{
"status": 200,
"code": 200,
"msg": "访问成功",
"data": null
}
错误码:
错误码 | 描述 |
---|---|
4001001 | 请求数据字段验证不通过 |
40010001 | 请求数据字段验证不通过 |
4001002 | 请求数据必须字段不可为空 |
4031001 | 调用凭证权限被禁止访问 |
4031003 | 无效的调用凭证 |
4031002 | 需要调用凭证 |
4041001 | 接口不存在 |
5031001 | 系统错误 |
4031024 | 权限不足 |
40029004 | 事件定义标识长度超过限制 |
40029001 | 应用类型未知 |
40029002 | 设置优先级时事件定义标识长度超过限制 |
40029003 | 事件优先级未知 |
40429001 | 事件分类不存在 |
40429002 | 事件等级不存在 |
40429003 | 事件定义不存在 |
5.2 事件实例统计
5.2.1 统计事件实例涉及项目总数
接口描述
企业成员或者SaaS系统指定应用类型统计符合条件的事件实例涉及的项目总数,此时需要上报事件的时候上报了project_id字段。
请求方式
POST
请求地址
/v2/service/events/statistics/instance-projects?application=xxxx
请求头
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
Access-Token | true | String | 调用凭证 企业成员 |
Content-Type | true | String | application/json |
请求参数
名称 | 位置 | 必填 | 类型 | 备注 |
---|---|---|---|---|
application | query | true | String | 事件分类从属应用,枚举 VideoSecurity: 视频安防 DeviceDevOps: 设备运维 Parkinglot: 停车 AccessControl: 门禁 |
query | body | true | Object | 查询条件 |
query.logic | body | true | String | 条件逻辑关系, and 或 or |
query.where | body | true | Object | 查询条件集合 |
请求示例:
{
"query": {
"logic": "and",
"where": {
"name": {
"$eq": "视频安防"
},
"id": {
"$in": ["452877796"]
}
}
}
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
status | true | Int | HTTP状态码 |
code | true | Int | 业务错误码 |
msg | false | String | 业务错误信息 |
data | false | Object | 业务数据 |
data.projects | false | Int | 符合条件事件实例涉及的项目数 |
返回示例:
{
"status": 200,
"code": 200,
"msg": "访问成功",
"data": {
"projects": 20
}
}
错误码:
错误码 | 描述 |
---|---|
4001001 | 请求数据字段验证不通过 |
40010001 | 请求数据字段验证不通过 |
4001002 | 请求数据必须字段不可为空 |
4031001 | 调用凭证权限被禁止访问 |
4031003 | 无效的调用凭证 |
4031002 | 需要调用凭证 |
4041001 | 接口不存在 |
5031001 | 系统错误 |
4031024 | 权限不足 |
40029004 | 事件定义标识长度超过限制 |
40029001 | 应用类型未知 |
40029002 | 设置优先级时事件定义标识长度超过限制 |
40029003 | 事件优先级未知 |
40429001 | 事件分类不存在 |
40429002 | 事件等级不存在 |
40429003 | 事件定义不存在 |
5.2.2 统计事件实例涉及片区总数
接口描述
企业成员或者SaaS系统指定指定应用类型统计符合条件的事件实例涉及的片区总数,此时需要上报事件的时候上报了area_id字段。
请求方式
POST
请求地址
/v2/service/events/statistics/instance-areas?application=xxxx
请求参数
名称 | 位置 | 必填 | 类型 | 备注 |
---|---|---|---|---|
application | query | true | String | 事件分类从属应用,枚举 VideoSecurity: 视频安防 DeviceDevOps: 设备运维 Parkinglot: 停车 AccessControl: 门禁 |
query | body | true | Object | 查询条件 |
query.logic | body | true | String | 条件逻辑关系, and 或 or |
query.where | body | true | Object | 查询条件集合 |
请求示例:
{
"query": {
"logic": "and",
"where": {
"name": {
"$eq": "视频安防"
},
"id": {
"$in": ["452877796"]
}
}
}
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
status | true | Int | HTTP状态码 |
code | true | Int | 业务错误码 |
msg | false | String | 业务错误信息 |
data | false | Object | 业务数据 |
data.areas | false | Int | 符合条件事件实例涉及的片区数 |
返回示例:
{
"status": 200,
"code": 200,
"msg": "访问成功",
"data": {
"areas": 15
}
}
错误码:
错误码 | 描述 |
---|---|
4001001 | 请求数据字段验证不通过 |
40010001 | 请求数据字段验证不通过 |
4001002 | 请求数据必须字段不可为空 |
4031001 | 调用凭证权限被禁止访问 |
4031003 | 无效的调用凭证 |
4031002 | 需要调用凭证 |
4041001 | 接口不存在 |
5031001 | 系统错误 |
4031024 | 权限不足 |
40029004 | 事件定义标识长度超过限制 |
40029001 | 应用类型未知 |
40029002 | 设置优先级时事件定义标识长度超过限制 |
40029003 | 事件优先级未知 |
40429001 | 事件分类不存在 |
40429002 | 事件等级不存在 |
40429003 | 事件定义不存在 |
5.2.3 统计事件实例涉及片区排行
接口描述
企业成员或者SaaS系统指定应用类型统计符合条件的事件实例涉及的片区排行,此时需要上报事件的时候上报了area_id字段。
请求方式
POST
请求地址
/v2/service/events/statistics/instance-top-areas?application=xxxx
请求头
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
Access-Token | true | String | 调用凭证 企业成员 |
Content-Type | true | String | application/json |
请求参数
名称 | 位置 | 必填 | 类型 | 备注 |
---|---|---|---|---|
application | query | true | String | 事件分类从属应用,枚举 VideoSecurity: 视频安防 DeviceDevOps: 设备运维 Parkinglot: 停车 AccessControl: 门禁 |
limit | body | true | Int | 排行前几,默认前十 |
query | body | true | Object | 查询条件 |
query.logic | body | true | String | 条件逻辑关系, and 或 or |
query.where | body | true | Object | 查询条件集合 |
请求示例:
{
"limit": 10,
"query": {
"logic": "and",
"where": {
"name": {
"$eq": "视频安防"
},
"id": {
"$in": ["452877796"]
}
}
}
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
status | true | Int | HTTP状态码 |
code | true | Int | 业务错误码 |
msg | false | String | 业务错误信息 |
data | false | Object | 业务数据 |
data.tops | false | Array | 符合条件事件实例涉及的片区排行 |
data.tops.count | false | Int | 符合条件事件实例涉及的片区排行—事件数 |
data.tops.area_id | false | String | 符合条件事件实例涉及的片区排行—片区标识 |
返回示例:
{
"status": 200,
"code": 200,
"msg": "访问成功",
"data": {
"tops": [{
"count": 10,
"area_id": "123sdfa5e612df0df54"
}]
}
}
错误码:
错误码 | 描述 |
---|---|
4001001 | 请求数据字段验证不通过 |
40010001 | 请求数据字段验证不通过 |
4001002 | 请求数据必须字段不可为空 |
4031001 | 调用凭证权限被禁止访问 |
4031003 | 无效的调用凭证 |
4031002 | 需要调用凭证 |
4041001 | 接口不存在 |
5031001 | 系统错误 |
4031024 | 权限不足 |
40029004 | 事件定义标识长度超过限制 |
40029001 | 应用类型未知 |
40029002 | 设置优先级时事件定义标识长度超过限制 |
40029003 | 事件优先级未知 |
40429001 | 事件分类不存在 |
40429002 | 事件等级不存在 |
40429003 | 事件定义不存在 |
5.2.4 统计每个等级涉及的事件数
接口描述
企业成员或者SaaS系统指定应用类型统计符合条件的等级涉及事件数。
请求方式
POST
请求地址
/v2/service/events/statistics/instance-ranks?application=xxxx
请求参数
名称 | 位置 | 必填 | 类型 | 备注 |
---|---|---|---|---|
application | query | true | String | 事件分类从属应用,枚举 VideoSecurity: 视频安防 DeviceDevOps: 设备运维 Parkinglot: 停车 AccessControl: 门禁 |
query | body | true | Object | 查询条件 |
query.logic | body | true | String | 条件逻辑关系, and 或 or |
query.where | body | true | Object | 查询条件集合 |
请求示例:
{
"query": {
"logic": "and",
"where": {
"name": {
"$eq": "视频安防"
},
"id": {
"$in": ["452877796"]
}
}
}
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
status | true | Int | HTTP状态码 |
code | true | Int | 业务错误码 |
msg | false | String | 业务错误信息 |
data | false | Object | 业务数据 |
data.total | false | String | 符合条件总事件 |
data.ranks | false | Array<Object> | 符合条件的等级事件数列表 |
data.ranks.count | false | Int | 等级事件数 |
data.ranks.rank_id | false | String | 等级标识 |
data.ranks.rank_name | false | String | 等级名称 |
data.ranks.application | false | String | 等级所属应用 |
返回示例:
{
"status": 200,
"code": 200,
"msg": "访问成功",
"data": {
"total": "总事件数",
"ranks": [{
"count": 20,
"rank_id": "12356ewfds2fds5f64gdf",
"rank_name": "1等级",
"application": "VideoSecurity"
}]
}
}
错误码:
错误码 | 描述 |
---|---|
4001001 | 请求数据字段验证不通过 |
40010001 | 请求数据字段验证不通过 |
4001002 | 请求数据必须字段不可为空 |
4031001 | 调用凭证权限被禁止访问 |
4031003 | 无效的调用凭证 |
4031002 | 需要调用凭证 |
4041001 | 接口不存在 |
5031001 | 系统错误 |
4031024 | 权限不足 |
40029004 | 事件定义标识长度超过限制 |
40029001 | 应用类型未知 |
40029002 | 设置优先级时事件定义标识长度超过限制 |
40029003 | 事件优先级未知 |
40429001 | 事件分类不存在 |
40429002 | 事件等级不存在 |
40429003 | 事件定义不存在 |
5.2.5 统计事件实例涉及项目排行
接口描述
企业成员或者SaaS系统指定指定应用类型统计符合条件的事件实例涉及的项目排行,此时需要上报事件的时候上报了project_id字段。
请求方式
POST
请求地址
/v2/service/events/statistics/instance-top-projects?application=xxxx
请求头
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
Access-Token | true | String | 调用凭证 企业成员 |
Content-Type | true | String | application/json |
请求参数
名称 | 位置 | 必填 | 类型 | 备注 |
---|---|---|---|---|
application | query | true | String | 事件分类从属应用,枚举 VideoSecurity: 视频安防 DeviceDevOps: 设备运维 Parkinglot: 停车 AccessControl: 门禁 |
limit | body | true | Int | 排行前几,默认前十 |
query | body | true | Object | 查询条件 |
query.logic | body | true | String | 条件逻辑关系, and 或 or |
query.where | body | true | Object | 查询条件集合 |
请求示例:
{
"limit": 10,
"query": {
"logic": "and",
"where": {
"name": {
"$eq": "视频安防"
},
"id": {
"$in": ["452877796"]
}
}
}
}
返回参数说明
名称 | 必填 | 类型 | 备注 |
---|---|---|---|
status | true | Int | HTTP状态码 |
code | true | Int | 业务错误码 |
msg | false | String | 业务错误信息 |
data | false | Object | 业务数据 |
data.tops | false | String | 符合条件事件实例涉及的项目排行 |
data.tops.count | false | Int | 符合条件事件实例涉及的片区排行—事件数 |
data.tops.project_id | false | String | 符合条件事件实例涉及的片区排行—片区标识 |
返回示例:
{
"status": 200,
"code": 200,
"msg": "访问成功",
"data": {
"tops": [{
"count": 8,
"project_id": "12356safewfddfgdsg"
}]
}
}
错误码:
错误码 | 描述 |
---|---|
4001001 | 请求数据字段验证不通过 |
40010001 | 请求数据字段验证不通过 |
4001002 | 请求数据必须字段不可为空 |
4031001 | 调用凭证权限被禁止访问 |
4031003 | 无效的调用凭证 |
4031002 | 需要调用凭证 |
4041001 | 接口不存在 |
5031001 | 系统错误 |
4031024 | 权限不足 |
40029004 | 事件定义标识长度超过限制 |
40029001 | 应用类型未知 |
40029002 | 设置优先级时事件定义标识长度超过限制 |
40029003 | 事件优先级未知 |
40429001 | 事件分类不存在 |
40429002 | 事件等级不存在 |
40429003 | 事件定义不存在 |