国标下级平台相关消息格式
消息格式
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
messageId | String | 是 | 消息 ID |
messageType | String | 是 | 消息类型 |
pushTime | String | 是 | 消息推送时间,RFC3339 格式 |
messageData | Object | 是 | 消息内容(详情见各消息类型定义) |
messageType 枚举:
枚举值 | 说明 |
---|---|
platform_login | 平台登录消息 |
platform_logout | 平台登出消息 |
platform_name_notice | 平台名称变更消息 |
platform_org_add | 平台组织新增 |
platform_org_delete | 平台组织删除 |
platform_org_name_changed | 平台组织名称变更 |
platform_device_add | 平台设备新增 |
platform_device_delete | 平台设备删除 |
platform_device_name_notice | 平台设备名称变更 |
platform_device_status_notice | 平台设备状态变更 |
platform_device_resource_notice | 平台设备资源查询上报 |
platform_org_resource_notice | 平台组织资源查询上报 |
platform_resource_finish | 平台组织资源上报完毕 |
1 平台登录消息
messageData 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
platformId | String | 是 | 平台 ID |
platformName | String | 是 | 平台名称 |
platformIp | String | 是 | 平台 ip |
platformPort | int | 是 | 平台端口 |
//示例数据
{
"messageId": "1470597253546344450",
"messageType": "platform_login",
"pushTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"platformId": "12345",
"platformName": "ivs3800",
"platformIp": "192.168.1.1",
"platformPort": 1000
}
}
2 平台登出消息
messageData 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
platformId | String | 是 | 平台 ID |
platformName | String | 是 | 平台名称 |
//示例数据
{
"messageId": "1470597253546344450",
"messageType": "platform_logout",
"pushTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"platformId": "12345",
"platformName": "ivs3800"
}
}
3 平台名称变更消息
messageData 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
platformId | String | 是 | 平台 ID |
platformName | String | 是 | 平台名称 |
//示例数据
{
"messageId": "1470597253546344450",
"messageType": "platform_name_notice",
"pushTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"platformId": "12345",
"platformName": "ivs3800"
}
}
4 平台组织资源变更消息
4.1 组织新增
messageData 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
platformId | String | 是 | 平台 ID |
platformName | String | 是 | 平台名称 |
orgs | object[] | 是 | 组织列表 |
orgs 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
orgId | String | 是 | 组织 ID |
orgName | String | 是 | 组织名称 |
parentId | String | 是 | 上级组织 ID |
//示例数据
{
"messageId": "1470597253546344450",
"messageType": "platform_org_add",
"pushTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"platformId": "12345",
"platformName": "ivs3800",
"orgs": [
{
"orgId": "67890",
"orgName": "org1",
"parentId": "12345"
}
]
}
}
4.2 组织删除
messageData 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
platformId | String | 是 | 平台 ID |
platformName | String | 是 | 平台名称 |
orgs | object[] | 是 | 组织列表 |
orgs 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
orgId | String | 是 | 组织 ID |
orgName | String | 是 | 组织名称 |
parentId | String | 是 | 上级组织 ID |
//示例数据
{
"messageId": "1470597253546344450",
"messageType": "platform_org_delete",
"pushTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"platformId": "12345",
"platformName": "ivs3800",
"orgs": [
{
"orgId": "67890",
"orgName": "org1",
"parentId": "12345"
}
]
}
}
4.3 组织名称变更
messageData 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
platformId | String | 是 | 平台 ID |
platformName | String | 是 | 平台名称 |
orgs | object[] | 是 | 组织列表 |
orgs 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
orgId | String | 是 | 组织 ID |
orgName | String | 是 | 组织名称 |
parentId | String | 是 | 上级组织 ID |
//示例数据
{
"messageId": "1470597253546344450",
"messageType": "platform_org_name_changed",
"pushTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"platformId": "12345",
"platformName": "ivs3800",
"orgs": [
{
"orgId": "67890",
"orgName": "org1",
"parentId": "12345"
}
]
}
}
5 平台设备资源变更消息
5.1 设备新增
messageData 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
platformId | String | 是 | 平台 ID |
platformName | String | 是 | 平台名称 |
devices | object[] | 是 | 设备列表 |
devices 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
deviceSn | String | 是 | 设备序列号 |
deviceName | String | 是 | 设备名称 |
status | int | 是 | 设备状态 0-离线,1-在线 |
ability | String[] | 是 | 设备能力集 |
parentId | String | 是 | 上级组织 ID |
//示例数据
{
"messageId": "1470597253546344450",
"messageType": "platform_device_add",
"pushTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"platformId": "12345",
"platformName": "ivs3800",
"devices": [
{
"deviceSn": "67890",
"deviceName": "device1",
"status": 1,
"ability": ["ptz", "talk"],
"parentId": "12345"
}
]
}
}
5.2 设备删除
messageData 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
platformId | String | 是 | 平台 ID |
platformName | String | 是 | 平台名称 |
devices | object[] | 是 | 设备列表 |
devices 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
deviceSn | String | 是 | 设备序列号 |
deviceName | String | 是 | 设备名称 |
status | int | 是 | 设备状态 0-离线,1-在线 |
parentId | String | 是 | 上级组织 ID |
//示例数据
{
"messageId": "1470597253546344450",
"messageType": "platform_device_delete",
"pushTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"platformId": "12345",
"platformName": "ivs3800",
"devices": [
{
"deviceSn": "67890",
"deviceName": "device1",
"status": 1,
"parentId": "12345"
}
]
}
}
5.3 设备名称变更
messageData 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
platformId | String | 是 | 平台 ID |
platformName | String | 是 | 平台名称 |
devices | object[] | 是 | 设备列表 |
devices 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
deviceSn | String | 是 | 设备序列号 |
deviceName | String | 是 | 设备名称 |
parentId | String | 是 | 上级组织 ID |
//示例数据
{
"messageId": "1470597253546344450",
"messageType": "platform_device_name_notice",
"pushTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"platformId": "12345",
"platformName": "ivs3800",
"devices": [
{
"deviceSn": "67890",
"deviceName": "device1",
"parentId": "12345"
}
]
}
}
5.4 设备状态变更
messageData 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
platformId | String | 是 | 平台 ID |
platformName | String | 是 | 平台名称 |
devices | object[] | 是 | 设备列表 |
devices 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
deviceSn | String | 是 | 设备序列号 |
deviceName | String | 是 | 设备名称 |
status | int | 是 | 设备状态 0-离线,1-在线 |
parentId | String | 是 | 上级组织 ID |
//示例数据
{
"messageId": "1470597253546344450",
"messageType": "platform_device_status_notice",
"pushTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"platformId": "12345",
"platformName": "ivs3800",
"devices": [
{
"deviceSn": "67890",
"deviceName": "device1",
"status": 1,
"parentId": "12345"
}
]
}
}
6 平台组织/设备资源同步上报消息
需主动调用下发资源同步任务,下级平台上报组织及设备资源数据(全量),上报完成会发送上报完毕消息
6.1 设备资源上报
messageData 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
taskId | String | 是 | 同步任务 ID |
platformId | String | 是 | 平台 ID |
platformName | String | 是 | 平台名称 |
totalResourceCount | int | 是 | 此次任务应上报资源总数(组织+设备) |
devices | object[] | 是 | 设备列表 |
devices 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
deviceSn | String | 是 | 设备序列号 |
deviceName | String | 是 | 设备名称 |
status | int | 是 | 设备状态 0-离线,1-在线 |
ability | String[] | 是 | 设备能力集 |
parentId | String | 是 | 上级组织 ID |
//示例数据
{
"messageId": "1470597253546344450",
"messageType": "platform_device_resource_notice",
"pushTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"taskId": "1234",
"platformId": "12345",
"platformName": "ivs3800",
"totalResourceCount": 10,
"devices": [
{
"deviceSn": "67890",
"deviceName": "device1",
"status": 1,
"ability": ["ptz", "talk"],
"parentId": "12345"
}
]
}
}
6.2 组织资源上报
messageData 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
taskId | String | 是 | 同步任务 ID |
platformId | String | 是 | 平台 ID |
platformName | String | 是 | 平台名称 |
totalResourceCount | int | 是 | 此次任务应上报资源总数(组织+设备) |
orgs | object[] | 是 | 组织列表 |
orgs 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
orgId | String | 是 | 组织 ID |
orgName | String | 是 | 组织名称 |
parentId | String | 是 | 上级组织 ID |
//示例数据
{
"messageId": "1470597253546344450",
"messageType": "platform_org_resource_notice",
"pushTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"taskId": "1234",
"platformId": "12345",
"platformName": "ivs3800",
"totalResourceCount": 10,
"orgs": [
{
"orgId": "67890",
"orgName": "device1",
"parentId": "12345"
}
]
}
}
6.3 资源上报完毕
messageData 定义:
名称 | 类型 | 是否必须 | 备注 |
---|---|---|---|
taskId | String | 是 | 同步任务 ID |
platformId | String | 是 | 平台 ID |
platformName | String | 是 | 平台名称 |
totalResourceCount | int | 是 | 此次任务应上报资源总数(组织+设备) |
//示例数据
{
"messageId": "1470597253546344450",
"messageType": "platform_resource_finish",
"pushTime": "2020-08-27T18:32:52.000+08:00",
"messageData": {
"taskId": "1234",
"platformId": "12345",
"platformName": "ivs3800",
"totalResourceCount": 10
}
}