资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

EM-BOX接口说明

本文档提供了EM-BOX单机版的接口文档,支持进行二次开发。

接口整体说明

  1. 每个接口的完整调用地址由 IP:端口+接口地址 拼接而成。默认端口为:8000
  2. 下文将讲述的接口列表总体分为这几类:

    • 事件相关接口:用于查询事件列表与事件详情,配置事件推送方案
    • 设备管理接口:用于添加设备、设置抽帧功能、以及进行设备的增删改
    • 技能管理接口:用于设置以及查看某个技能的配置详情
    • 图片管理接口:用于上传图片给模型进行分析
    • 人脸库相关接口:用于进行人脸库的管理,进行用户的增删改查
    • 系统设置相关接口:用于对系统进行设置

接口列表

以下为全部接口的列表以及详情信息。

事件相关接口

查询事件列表

  • /rpc/2.0/cvsaas/v1/event/list [POST]

    请求格式:header应为Content-Type:application/json

    接口说明:查询事件列表

    请求说明

    参数名称 类型 是否必填 说明
    edgeToken String 盒子token
    deviceToken String 设备token
    skillId int 技能ID
    pageNo int 页码
    pageSize int 单页记录数
    startTime int 开始时间 "yyyy-MM-dd HH: mm:ss"
    endTime int 结束时间 "yyyy-MM-dd HH: mm:ss"

    请求示例

    {
      "edgeToken":"xxxxx",
      "deviceToken": "XXXX-XXXX-XXXX-XXXX",
      "skillId": 10,
      "pageNo": 1,
      "pageSize": 20,
      "startTime":"2021-9-12 0:0:0",
      "endTime":"2021-9-13 0:0:0"
    }

    返回说明

    字段名 类型 是否一定存在 说明
    log_id Long 调用唯一ID
    error_code Int 服务调用提示码,失败才返回,成功不返回
    error_msg String 服务调用提示信息,失败才返回,成功不返回
    result JSON 返回结果
    +pageNo int 页码
    +pageSize int 单页记录数
    +totalCount int 总记录数
    +totalPage int 总页数
    +data JSONArray 数据
    ++eventId string 事件ID
    ++skillId Long 技能ID
    ++skillName String 技能名称(中文)
    ++deviceToken String 设备token
    ++originResourceFileKey String 原始资源fileKey,
    http://盒子ip:8000/app/data/storage/拼接上fileKey 即可得到完整的访问地址,下同
    注意:如果您想永久保存该图片,请将图片下载到服务器单独保存,由于盒子存储空间有限,会定期删除图片(删除策略见"系统设置-事件设置-事件保存时长"),图片被删后,地址将无法访问。
    ++originImageFileKey String 原始图片fileKey,
    originImageFileKey与originResourceFileKey的关系及区别:
    资源包含图片及视频,当资源类型是图片时,image==resource;
    当资源类型是视频时,image代表视频的封面图片,resource为真正视频;由于目前资源都是图片,所以目前image字段和resource字段是相同的。
    ++renderResourceFileKey String 渲染资源fileKey,为节省盒子计算及存储资源,渲染图没有在后端生成渲染图,因此renderResourceFileKey==originResourceFileKey
    ++renderImageFileKey String 渲染图片fileKey,renderImageFileKey==renderResourceFileKey
    ++requestTime String 抓拍时间 毫秒时间戳
    ++createTime String 事件发生时间 毫秒时间戳
    ++isFalseAlarm byte 事件是否是误报事件,0:否 1:是

    返回示例

    {
        "error_code": 0,
        "log_id": 1603933898182943,
        "trace_id": "38d33531c0f24a21a6e10980f80fcba7",
        "result": {
            "pageNo": 1,
            "pageSize": 20,
            "totalCount": 1,
            "totalPage": 1,
            "data": [
                {
                    "eventId": 1,
                    "skillId": 19,
                    "title": "烟火检测",
                    "skillName": "烟火检测",
                    "deviceToken": "QDHG-LWMS-8DHY-G09F",
                    "deviceName": "test",
                    "originImageFileKey": "/resource/event/QDHG-LWMS-8DHY-G09F/1603920042988_48548396908690.jpg",
                    "originResourceFileKey": "/resource/event/QDHG-LWMS-8DHY-G09F/1603920042988_48548396908690.jpg",
                    "renderImageFileKey": "/resource/event/4fab59ed79049e1f82fe5ab54809a513/QDHG-LWMS-8DHY-G09F/1603920045286_662456897570735.jpg",
                    "renderResourceFileKey": "/resource/event/4fab59ed79049e1f82fe5ab54809a513/QDHG-LWMS-8DHY-G09F/1603920045286_662456897570735.jpg",
                    "requestTime": 1603920043000,
                    "createTime": 1603920045000,
                  	"isFalseAlarm":0
                }
            ]
        }
    }

事件详情接口

接口描述: 查询事件详情

接口地址: /rpc/2.0/cvsaas/v1/event/detail

请求方式: POST

请求格式: application/json

参数说明:

参数名称 数据类型 是否必须 备注 样例
id(或eventId) Int 事件id

请求示例

{
  "id": 1
}

返回结果说明:以json格式返回。

字段名 类型 是否必须 备注 样例
log_id Long 调用唯一ID
error_code Int 服务调用提示码,失败才返回,成功不返回
error_msg String 服务调用提示信息,失败才返回,成功不返回
result JSON 返回结果
+eventId Int 事件id
+title String 事件标题
+deviceToken String 设备token
+deviceName String 设备名称
+skillId Int 技能id
+skillName String 技能名称
+mediaType Int 媒体类型,0:图片,1:视频,目前都是0
+requestTime Long 请求时间
+createTime Long 事件生成时间
+originResourceFileKey String 原始资源fileKey,
http://盒子ip:8000/app/data/storage/拼接上fileKey 即可得到完整的访问地址,下同
注意:如果您想永久保存该图片,请将图片下载到服务器单独保存,由于盒子存储空间有限,会定期删除图片(删除策略见"系统设置-事件设置-事件保存时长"),图片被删后,地址将无法访问。
+originImageFileKey String 原始图片fileKey,
originImageFileKey与originResourceFileKey的关系及区别:
资源包含图片及视频,当资源类型是图片时,image==resource;
当资源类型是视频时,image代表视频的封面图片,resource为真正视频;由于目前资源都是图片,所以目前image字段和resource字段是相同的。
+renderResourceFileKey String 渲染资源fileKey,为节省盒子计算及存储资源,渲染图没有在后端生成渲染图,因此renderResourceFileKey==originResourceFileKey
+renderImageFileKey String 渲染图片fileKey,renderImageFileKey==renderResourceFileKey
+skillInput JSON 启动技能时的入参
++resource JSON 启动技能时的资源(比如图片)
+++areas Array 框选的检测区域
++++nodes Array 框选的检测节点
++customParameter JSON 自定义技能参数,比如模型的阈值
+skillOutput JSON 技能执行完成后的输出
++result JSON 技能执行返回的模型结果,每个技能有区别,参考下文技能执行结果
+isFalseAlarm byte 事件是否是误报事件,0:否 1:是

返回示例

{
    "error_code": 0,
    "log_id": 1632300250782065,
    "trace_id": "9b12dbee66d743808d056706cb839129",
    "result": {
        "eventId": 743234,
        "title": "电子围栏",
        "deviceToken": "OAAN-4DLE-SFKH-LYVS",
        "deviceName": "2",
        "skillId": 10,
        "skillName": "电子围栏",
        "mediaType": 0,
        "requestTime": 1631879809000,
        "createTime": 1631879810000,
        "originResourceFileKey": "/resource/event/OAAN-4DLE-SFKH-LYVS/1631879808684_795328448709808.jpg",
        "originImageFileKey": "/resource/event/OAAN-4DLE-SFKH-LYVS/1631879808684_795328448709808.jpg",
        "renderImageFileKey": "/resource/event/OAAN-4DLE-SFKH-LYVS/1631879810477_795330242209336.jpg",
        "renderResourceFileKey": "/resource/event/OAAN-4DLE-SFKH-LYVS/1631879810477_795330242209336.jpg",
        "skillInput": {
            "skillName": "电子围栏",
            "ext": {
                "alarmContext": {
                    "mode": "INSTANT"
                },
                "skillModel": {
                    "0:1:0": {
                        "vendorModelId": 1,
                        "vendorModelVersionId": 0,
                        "vendor": 0,
                        "name": "人体检测",
                        "serviceAddress": "http://localhost:8082",
                        "id": 1,
                        "userId": "system",
                        "runEnvironment": 0
                    }
                }
            },
            "requestTime": 1631879808686,
            "skillId": 10,
            "debug": false,
            "resource": {
                "path": "/resource/origin/OAAN-4DLE-SFKH-LYVS/1631879808684_795328448709808.jpg",
                "areas": [
                    {
                        "nodes": [
                            [
                                66,
                                85
                            ],
                            [
                                1888,
                                76
                            ],
                            [
                                1883,
                                1048
                            ],
                            [
                                23,
                                1046
                            ]
                        ],
                        "name": "area0"
                    }
                ],
                "type": "object_storage"
            },
            "appId": "10000_0",
            "customParameter": {
                "skillId": 10,
                "modelThresholds": {
                    "bodyProbabilityThreshold": {
                        "lowerLimit": 0.3
                    }
                },
                "skillVersion": 1,
                "alarmSetting": {
                    "bodyFrameAlarmControl": 0
                }
            },
            "deviceName": "2",
            "userId": "10000_0",
            "sync": false,
            "deviceToken": "OAAN-4DLE-SFKH-LYVS"
        },
        "skillOutput": {
            "persons": [
                {
                    "score": 0.3154655396938324,
                    "top": 766,
                    "left": 1086,
                    "width": 268,
                    "height": 308
                }
            ],
            "normal": false
        },
        "isFalseAlarm": 1
    }
}

事件删除接口

接口描述: 查询事件列表,技能分析的结果

接口地址: /rpc/2.0/cvsaas/v1/event/delete

接口说明:删除未被标记为误报事件的事件

请求方式: POST

请求格式: application/json,请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

(YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

参数说明:如果都为空,则删除所有事件

参数名称 数据类型 是否必须 备注 样例
edgeToken String 盒子token
skillId Int 技能id
deviceToken String 设备token
startTime String 起始时间 2020-11-20 11:11:11
endTime String 终止时间 2020-11-20 11:11:11

请求示例

{
  "edgeToken":"xxxxxxx",
  "skillId": 10,
  "deviceToken":"ABCD-ABCD-DFDF-DFDF",
  "startTime":"2020-11-19 11:11:11",
  "endTime":"2020-11-20 11:11:11"
}

返回结果说明:以json格式返回。

字段名 类型 是否必须 备注 样例
log_id Long 调用唯一ID
error_code Int 服务调用提示码,失败才返回,成功不返回
error_msg String 服务调用提示信息,失败才返回,成功不返回
result JSON 返回结果
+successCount Int 成功删除记录条数
+failureCount Int 失败删除条数

返回示例

{
    "error_code": 0,
    "log_id": 1607341423989015,
    "trace_id": "49c03db9fbbb41238f613f57e6711db2",
    "result": {
        "successCount": 0,
        "failureCount": 0
    }
}

下载事件相关图片

  • /rpc/2.0/cvsaas/v1/event/downloadImage [GET]

    请求格式:form表单,key=value的键值对形式

    接口说明:下载事件相关图片,对http://盒子ip:8000/app/data/storage/图片fileKey访问的图片下载。

    请求说明

    参数名称 类型 是否必填 说明
    fileKey String 待下载图片fileKey

    请求示例

    fileKey:/resource/event/YMXN-BXCF-H5IB-YIWY/1637064321733_965087935020196.jpg

    返回说明

    ​ 文件流,下载指定图片。

设备管理接口

添加设备

  • /rpc/2.0/cvsaas/v1/device/add [POST]

    请求格式:header应为Content-Type:application/json,

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:添加设备

    请求说明

    参数名称 类型 是否必填 说明
    deviceName String 设备名称。长度不超过30。
    rtspAddress String 视频流地址。长度不超过1000。
    remark String 备注。长度不超过255。
    edgeToken String 盒子token
    tags List 设备tag
    deviceType Byte 设备类型
    0:视频设备,1:虚拟设备,2:视频文件(用于图片上传接口使用)
    默认是0
    deviceProtocol Byte 设备协议
    controlTransport Byte 信令控制协议
    mediaTransport Byte 媒体数据协议

    请求示例

    {
        "deviceName":"守护小猪窝",
        "rtspAddress":"rtsp://admin:admin123456@172.20.76.10:8888//Streaming/Channels/1",
        "remark":"监控小猪窝",
      	"edgeToken":"xxxxxx"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long logid,调用唯一ID
    error_code int 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "error_code": 0,
        "log_id": 1632310147794716,
        "trace_id": "f9b8b227a3414299a00838305eedfa4d",
        "result": {
            "deviceToken": "FZXA-C2PS-LRRK-AFXZ"
        }
    }

删除设备

  • /rpc/2.0/cvsaas/v1/device/delete [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:删除设备

    请求说明

    参数名称 类型 是否必填 说明
    deviceToken String 设备token

    请求示例

    {
        "deviceToken": "KYAX-AOJ0-21DE-5853"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long logid,调用唯一ID
    error_code int 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "error_code": 0,
        "log_id": 1632312459307804,
        "trace_id": "8916f9f287b649c3b95914c8c80f18f9"
    }

查询设备详情

  • /rpc/2.0/cvsaas/v1/device/detail [POST]

    请求格式:header应为Content-Type:application/json

    接口说明:查询设备详情

    请求说明

    参数名称 类型 是否必填 说明
    deviceToken String 设备token

    请求示例

    {
        "deviceToken": "KYAX-AOJ0-21DE-5853"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    logId Long logid,调用唯一ID
    error_code int 服务调用提示码,0表示成功,非0表示失败
    errorMsg String 服务调用提示信息,失败时返回
    result jsonObject 返回结果体
    +edgeToken String 盒子token
    +deviceType byte 设备类型
    0:视频设备,1:虚拟设备,2:视频文件
    +rtspAddress String 视频流地址
    +deviceToken String 设备token
    +deviceName String 设备名称
    +deviceStatus int 设备状态码。
    0:设备已离线
    1:未配置技能
    2: 抽帧成功
    3:抽帧失败
    4:图片上传成功
    5:图片上传失败
    6:抽帧暂停
    7:不在配置的运行时间
    8:(因为磁盘空间不足)抽帧停止
    +updateTime Date 设备更新时间
    +remark String 备注
    +skills List 技能列表
    +deviceProtocol Byte 设备协议
    +controlTransport Byte 信令控制协议
    +mediaTransport Byte 媒体数据协议

    返回示例

    {
      "error_code": 0,
      "log_id": 1581236800659916,
      "result": {
        "edgeToken": "16049721218a",
        "deviceType": 0,
        "rtspAddress": "rtsp://admin:admin123456@10.255.129.41:8880//Streaming/Channels/1",
        "deviceToken": "TYEG-ZGPL-ABC6-TDIH",
        "deviceName": "xkb-test--",
        "deviceStatus": 2,
        "updateTime": 1578898920000,
        "remark": "",
        "skills": [
            "电子围栏"
        ],
        "deviceProtocol": 0,
        "controlTransport": 0,
        "mediaTransport": 0
      }
    }

查询设备列表

  • /rpc/2.0/cvsaas/v1/device/list [POST]

    请求格式:header应为Content-Type:application/json

    接口说明:查询设备列表

    请求说明

    参数名称 类型 是否必填 说明
    edgeToken String 盒子token
    pageNo int 页码。默认为1。
    pageSize int 单页记录数。默认为20。

    请求示例

    {
      	"edgeToken":"xxxxxx",
        "pageNo":1,
        "pageSize":20
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    logId Long logid,调用唯一ID
    error_code int 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回
    result jsonObject 返回结果体
    +pageNo int 页码
    +pageSize int 每页记录数
    +totalCount int 总记录数
    +totalPage int 总页数
    +data jsonArray 设备列表
    ++edgeToken String 盒子token
    ++deviceType byte 设备类型
    0:视频设备
    1:虚拟设备
    2:视频文件
    ++rtspAddress String 视频流地址
    ++deviceToken String 设备token
    ++deviceName String 设备名称
    ++deviceStatus int 设备状态码。
    0:设备已离线
    1:未配置技能
    2: 抽帧成功
    3:抽帧失败
    4:图片上传成功
    5:图片上传失败
    6:抽帧暂停
    7:不在配置的运行时间
    8:(因为磁盘空间不足)抽帧停止
    ++updateTime Date 设备更新时间
    ++remark String 备注
    ++deviceProtocol Byte 设备协议
    ++controlTransport Byte 信令控制协议
    ++mediaTransport Byte 媒体数据协议

    返回示例

    {
        "error_code": 0,
        "log_id": 1632313448890845,
        "trace_id": "68f0651e67914ec098868717e39fc800",
        "result": {
            "pageNo": 1,
            "pageSize": 20,
            "totalCount": 3,
            "totalPage": 1,
            "data": [
                {
                    "edgeToken": "16049721218a",
                    "deviceType": 0,
                    "rtspAddress": "rtsp://admin:Aa123456@192.168.1.9:554",
                    "deviceToken": "AOPU-2XCV-XS0E-EFIF",
                    "deviceName": "守护小猪窝",
                    "deviceStatus": 1,
                    "updateTime": 1632313320000,
                    "remark": "监控小猪窝",
                    "deviceProtocol": 0,
                    "controlTransport": 0,
                    "mediaTransport": 0
                },
                {
                    "edgeToken": "16049721218a",
                    "deviceType": 0,
                    "rtspAddress": "rtsp://admin:Aa123456@192.168.1.9:554",
                    "deviceToken": "OAAN-4DLE-SFKH-LYVS",
                    "deviceName": "2",
                    "deviceStatus": 6,
                    "updateTime": 1631856257000,
                    "remark": "",
                    "deviceProtocol": 0,
                    "controlTransport": 0,
                    "mediaTransport": 0
                }
            ]
        }
    }

更新设备信息

  • /rpc/2.0/cvsaas/v1/device/update [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:更新设备信息

    请求说明

    参数名称 类型 是否必填 说明
    deviceToken String 设备token
    deviceName String 设备名称。长度不超过30。
    rtspAddress String 视频流地址。长度不超过1000。
    deviceType Byte 设备类型
    0:视频设备,1:虚拟设备,2:视频文件(用于图片上传接口使用)
    默认是0
    deviceStatus Byte 设备状态码。
    0:设备已离线
    1:未配置技能
    2: 抽帧成功
    3:抽帧失败
    4:图片上传成功
    5:图片上传失败
    6:抽帧暂停
    7:不在配置的运行时间
    8:(因为磁盘空间不足)抽帧停止
    remark String 备注。长度不超过255。
    tags List 设备tag
    deviceProtocol Byte 设备协议
    controlTransport Byte 信令控制协议
    mediaTransport Byte 媒体数据协议

    请求示例

    {
        "deviceToken":"4REQ-XOQV-T5TV-0NDP",
        "deviceName":"守护小猪窝",
        "rtspAddress":"rtsp://admin:admin123456@172.20.76.10:8888//Streaming/Channels/1",
        "deviceType":0,
        "deviceStatus":6,
        "remark":"监控小猪窝是都有陌生人进入"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long logid,调用唯一ID
    error_code int 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "error_code": 0,
        "log_id": 1632365564644903,
        "trace_id": "fa3ddeae6dac458bbacebfe06cd150fa"
    }

获取设备所绑定的技能列表

  • /rpc/2.0/cvsaas/v1/device/skill/bind/list [POST]

    请求格式:header应为Content-Type:application/json

    接口说明:查询设备上绑定了哪些技能

    请求说明

    参数名称 类型 是否必填 说明
    deviceToken String 设备token
    pageNo int 页码
    pageSize Int 单页记录数

    请求示例

    {
        "deviceToken":"4REQ-XOQV-T5TV-0NDP"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long logid,调用唯一ID
    error_code int 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回
    result List 技能id数组

    返回示例

    {
        "error_code": 0,
        "log_id": 1579088750143069,
      	"result": [
            13,
            10
        ]
    }

设备绑定技能

  • /rpc/2.0/cvsaas/v1/device/skill/bind [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:将设备配置上对应的技能,注意该接口为增量的绑定,即假如设备A已经绑定了技能10,此时调用该接口将设备A再与技能11绑定,则最终结果是设备A绑定了[10,11]

    请求说明

    参数名称 类型 是否必填 说明
    deviceToken String 设备token
    skillId Long 技能id,请参考技能id列表

    请求示例

    {
        "deviceToken":"4REQ-XOQV-T5TV-0NDP",
        "skillId":10
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long logid,调用唯一ID
    error_code int 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "error_code": 0,
        "log_id": 1632370038056165,
        "trace_id": "808e924c71cb418c904a241159f24ccb"
    }

设备绑定多技能

  • /rpc/2.0/cvsaas/v1/device/skills/bind [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:将设备配置上对应的技能,注意该接口为全量的绑定,即假如设备A已经绑定了技能10,此时调用该接口将设备A再与技能11,12绑定,则最终结果是设备A绑定了[11,12],之前的10会自动解绑

    请求说明

    参数名称 类型 是否必填 说明
    deviceToken String 设备token
    skills List 技能id列表,请参考技能id列表

    请求示例

    {
        "deviceToken":"4REQ-XOQV-T5TV-0NDP",
        "skills":[11,12]
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long logid,调用唯一ID
    error_code int 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "error_code": 0,
        "log_id": 1632370172661180,
        "trace_id": "e24ad5b1a31c47158f1b43f910204bf0"
    }

设备解绑技能

  • /rpc/2.0/cvsaas/v1/device/skill/unbind [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:将设备与技能解除绑定

    请求说明

    参数名称 类型 是否必填 说明
    deviceToken String 设备token
    skillId Long 技能id,请参考技能id列表

    请求示例

    {
        "deviceToken":"4REQ-XOQV-T5TV-0NDP",
        "skillId":10
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long logid,调用唯一ID
    error_code int 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "error_code": 0,
        "log_id": 1632370413547229,
        "trace_id": "9f27d20cf5bb465d9c8227a54d04667c"
    }

获取设备绑定的技能的配置

  • /rpc/2.0/cvsaas/v1/device/skill/config/get [POST]

    请求格式:header应为Content-Type:application/json

    接口说明:在此先要说明一点,每个技能有一套默认的配置模板,当设备与技能进行绑定时,会根据技能的配置模版复制出一套配置与设备相关联。也就是说,同一个技能,在与不同的设备绑定时,可以有不同的配置。这个接口就是查询某技能在与某设备绑定时的配置。

    请求说明

    参数名称 类型 是否必填 说明
    deviceToken String 设备token
    skillId Long 技能id,请参考技能id列表

    请求示例

    {
        "deviceToken":"4REQ-XOQV-T5TV-0NDP",
        "skillId":10
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long logid,调用唯一ID
    error_code int 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回
    result Object 结果
    +deviceToken String 请求参数中的deviceToken原样返回
    +skillId Long 请求参数中的skillId原样返回
    +configInfo String 技能配置,是String类型,值是json的格式,每一个技能的configInfo格式不同,格式参考文档技能配置说明
    +extraction Object 抽帧配置
    ++timePeriods[] Array 运行时间段
    +++startTime String 开始时间,例如11:00
    +++endTime String 结束时间,如果结束时间等于开始时间,则表示全天抽帧
    ++image Object 图片抽帧配置
    +++frames Int 帧数
    +++duration Int 时间段
    +++durationUnit Int 时间段单位,0:秒,1:分钟
    +++durationInSeconds Int 时间段(换算成秒),fps即frames/durationInSeconds
    +areas[] Array 技能分析区域,如果为空,则表示分析区域为全图
    ++name String 区域名称
    ++nodes Array 顶点,参考返回示例
    +createTime Date 创建时间
    +updateTime Date 更新时间

    返回示例

    {
        "error_code": 0,
      "log_id": 1607341754739206,
        "trace_id": "fae1dbab65d24ab3be5f03f7f7303dad",
        "result": {
            "deviceToken": "NRVO-59QL-PUBM-BJVL",
            "skillId": 10,
            "configInfo": "{\"skillId\":10,\"skillVersion\":1,\"faceSet\":{},\"modelThresholds\":{\"faceScoreThreshold\":{\"lowerLimit\":80},\"faceQualityControl\":0,\"bodyProbabilityThreshold\":{\"lowerLimit\":0.3}},\"alarmSetting\":{\"bodyFrameAlarmControl\":0}}",
            "extraction": {
                "timePeriods": [
                    {
                        "startTime": "00:00",
                        "endTime": "00:00"
                    }
                ],
                "image": {
                    "frames": 1,
                    "duration": 2,
                    "durationUnit": 0,
                    "durationInSeconds": 2
                }
            },
            "areas": [
                {
                  	"name":"area0",
                    "nodes": [
                        [
                            114,
                            141
                        ],
                        [
                            1168,
                            83
                        ],
                        [
                            1195,
                            596
                        ],
                        [
                            131,
                            666
                        ]
                    ]
                }
            ],
            "createTime": 1607340692000,
            "updateTime": 1607391091000
        }
    }

设置设备绑定的技能的配置

  • /rpc/2.0/cvsaas/v1/device/skill/config/set [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:在此先要说明一点,每个技能有一套默认的配置模板,当设备与技能进行绑定时,会根据技能的配置模版复制出一套配置与设备相关联。也就是说,同一个技能,在与不同的设备绑定时,可以有不同的配置。这个接口就是设置某技能在与某设备绑定时的配置。

    请求说明

    参数名称 类型 是否必填 说明
    deviceToken String 设备token
    skillId Long 技能id,请参考技能id列表
    configInfo String 技能配置,是String类型,值是json的格式,每一个技能的configInfo格式不同
    extraction Object 抽帧配置,具体格式请参考上个接口中的返回即可
    areas Array 分析区域,具体格式请参考上个接口中的返回即可
    createTime Date 创建时间
    updateTime Date 更新时间

    注:configInfo/extraction/areas不需要一起传,比如只传extraction,则只更新extraction部分,configInfo和areas则保持不变。

    请求示例

    {
          "deviceToken": "NRVO-59QL-PUBM-BJVL",
            "skillId": 10,
          "configInfo": "{\"skillId\":10,\"skillVersion\":1,\"faceSet\":{},\"modelThresholds\":{\"faceScoreThreshold\":{\"lowerLimit\":80},\"faceQualityControl\":0,\"bodyProbabilityThreshold\":{\"lowerLimit\":0.3}},\"alarmSetting\":{\"bodyFrameAlarmControl\":0}}",
            "extraction": {
                "timePeriods": [
                    {
                        "startTime": "00:00",
                        "endTime": "00:00"
                    }
                ],
                "image": {
                    "frames": 1,
                  	"duration": 2,
                    "durationUnit": 0,
                  	"durationInSeconds": 2
                }
            },
            "areas": [
                {
                    "nodes": [
                        [
                            114,
                            141
                        ],
                        [
                            1168,
                            83
                        ],
                        [
                          1195,
                            596
                        ],
                        [
                            131,
                            666
                        ]
                    ]
                }
            ]
        }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long logid,调用唯一ID
    error_code int 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "error_code": 0,
        "log_id": 1603345106274424,
        "trace_id": "a8fd8896f0bd48209d94171b0909a40c"
    }

设备暂停

  • /rpc/2.0/cvsaas/v1/device/pause [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:让设备暂停抽帧

    请求说明

    参数名称 类型 是否必填 说明
    deviceToken String 设备token

    请求示例

    {
       "deviceToken": "NRVO-59QL-PUBM-BJVL"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long logid,调用唯一ID
    error_code int 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "error_code": 0,
        "log_id": 1603345106274424
    }

设备恢复

  • /rpc/2.0/cvsaas/v1/device/resume [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:让设备重新开始抽帧

    请求说明

    参数名称 类型 是否必填 说明
    deviceToken String 设备token

    请求示例

    {
       "deviceToken": "NRVO-59QL-PUBM-BJVL"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long logid,调用唯一ID
    error_code int 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "error_code": 0,
        "log_id": 1603345106274424
    }

上传图片

  • /rpc/2.0/cvsaas/v1/resource/upload [POST]

    请求格式:header应为Content-Type:application/json

    接口说明:上传设备图片

    请求说明

    参数名称 类型 是否必填 说明
    resource String 图片base64(不包含协议头) ,图片大小不能超过4M,
    图片类型支持:jpeg、jpg、png、bmp
    resourceType String 资源类型:base64
    deviceToken String 设备token
    correlation String 业务方关联信息,默认为图片hash值

    请求示例

    {
        "resource":"XXXX",
        "resourceType":"base64",
        "deviceToken":"XXXX-XXXX-XXXX-XXXX",
        "correlation":"class_id_1"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long log_id,请求唯一标识。
    error_code String 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "error_code":0,
        "log_id":15525510868630003,
    }

人脸库相关接口

添加用户人脸

  • /rpc/2.0/cvsaas/v1/faceset/face/add [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:增加用户的人脸图片信息

    请求说明

    参数名称 类型 是否必填 说明
    image String 用户图片信息(总数据大小应小于10M)。
    图片的base64值,base64编码后的图片数据(编码后的图片大小不超过2M)。
    groupId String 用户组ID,标识一组用户组(由数字、字母、下划线组成,长度:1~48(数据库长度为1024))。
    userId String 用户ID(由数字、字母、下划线组成,长度1~20(数据库长度为1024))

    请求示例

    {
        "image":"/9j/4AAQSkZJRgABAQAAAQABAADs...",
        "groupId":"pig_face",
        "userId":"pig_1"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long log_id,请求唯一标识。
    error_code String 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "log_id":1572936858518049,
        "error_code":0
    }

删除用户人脸

  • /rpc/2.0/cvsaas/v1/faceset/face/del [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:删除用户人脸图片(删除用户的某一张人脸,如果该用户只有一张人脸图片,则同时删除用户)

    请求说明

    参数名称 类型 是否必填 说明
    groupId String 用户组ID,标识一组用户组(由数字、字母、下划线组成,长度:1~48(数据库长度为1024))。
    userId String 用户ID(由数字、字母、下划线组成,长度1~20(数据库长度为1024))
    faceToken String 人脸图片token,人脸图片的唯一标识

    请求示例

    {
        "groupId":"pig_face",
        "userId":"pig_2",
        "faceToken":"86b8e1ed31bf87b661f31887cdfc1677"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long log_id,请求唯一标识。
    error_code String 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "log_id":1572937218173051,
        "error_code":0
    }

查询用户人脸列表

  • /rpc/2.0/cvsaas/v1/faceset/face/getlist [POST]

    请求格式:header应为Content-Type:application/json;

    接口说明:查询用户人脸列表

    请求说明

    参数名称 类型 是否必填 说明
    groupId String 用户组ID,标识一组用户组(由数字、字母、下划线组成,长度:1~48(数据库长度为1024))。
    userId String 用户ID(由数字、字母、下划线组成,长度1~20(数据库长度为1024))

    请求示例

    {
        "groupId":"pig_face",
        "userId":"pig_1"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long log_id,请求唯一标识。
    error_code String 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回
    result jsonObject 人脸图片信息列表
    +faceImage String 人脸图片
    +faceToken String 人脸token,人脸图片的唯一标识
    +createTime String 人脸创建时间

    返回示例

    {
        "log_id":1572936303776047,
        "error_code":0,
        "result":[
            {
                "faceImage":"/9j/4AAQSkZJRgABAQAAAQABAAD...",
                "faceToken":"86b8e1ed31bf87b661f31887cdfc1677",
                "createTime":"2019-11-22 00:00:00"
            }
        ]
    }

创建用户组

  • //rpc/2.0/cvsaas/v1/faceset/group/add [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:创建用户组

    请求说明

    参数名称 类型 是否必填 说明
    groupId String 用户组ID,标识一组用户组(由数字、字母、下划线组成,长度:1~48(数据库长度为1024))
    groupName jsonArray 用户组名称(长度:1~32(数据库长度为1024))
    groupRemark String 用户组备注(长度:0~128(数据库长度为1024))

    请求示例

    {
        "groupId":"pig_user",
        "groupName":"小猪组",
        "groupRemark":"小猪用户"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long log_id,请求唯一标识。
    error_code String 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "log_id":1572937218173051,
        "error_code":0
    }

删除用户组

  • /rpc/2.0/cvsaas/v1/faceset/group/del [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:删除用户组

    请求说明

    参数名称 类型 是否必填 说明
    groupId String 用户组ID,标识一组用户组(由数字、字母、下划线组成,长度:1~48(数据库长度为1024))。

    请求示例

    {
        "groupId":"pig_face"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long log_id,请求唯一标识。
    error_code String 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "log_id":1572937372320054,
        "error_code":0
    }

查询全量用户组

  • /rpc/2.0/cvsaas/v1/faceset/group/getall [POST]

    请求格式:header应为Content-Type:application/json

    接口说明:查询所有用户组,按照创建时间倒序排列

    请求说明

    参数名称 类型 是否必填 说明
    edgeToken String 盒子token

    请求示例

    {
      	"edgeToken":"xxxxxxx"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long log_id,请求唯一标识。
    error_code String 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回
    result jsonObject 查询结果
    +groupId String 用户组ID
    +groupName String 用户组名称
    +groupRemark String 用户组备注
    +createTime String 用户组创建时间
    +version Long 用户组版本

    返回示例

    {
        "error_code": 0,
        "log_id": 1632388347387203,
        "trace_id": "3403a278b49249688152c8489722f173",
        "result": [
            {
                "groupId": "pig_user",
                "groupName": "小猪组",
                "groupRemark": "小猪用户",
                "createTime": "2021-09-23 09:12:25",
                "version": 0
            },
            {
                "groupId": "abc",
                "groupName": "111",
                "groupRemark": "",
                "createTime": "2021-09-23 09:02:00",
                "version": 0
            }
        ]
    }

查询用户组列表

  • /rpc/2.0/cvsaas/v1/faceset/group/getlist [POST]

    请求格式:header应为Content-Type:application/json

    接口说明:查询用户组列表(可分页查询),按照创建时间倒序排列

    请求说明

    参数名称 类型 是否必填 说明
    pageNo int 页码(默认为1)
    pageSize int 每页记录数(默认为20,最大为200)

    请求示例

    {
        "pageNo":1,
        "pageSize":20
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long log_id,请求唯一标识。
    error_code String 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回
    result jsonObject 查询结果
    +totalCount int 总记录数
    +totalPage Int 总页数
    +pageNo int 页码
    +pageSize int 每页记录数
    +data jsonArray 用户组列表
    ++groupId String 用户组ID
    ++groupName String 用户组名称
    ++groupRemark String 用户组备注
    ++createTime String 用户组创建时间
    +version Long 用户组版本

    返回示例

    {
        "error_code": 0,
        "log_id": 1632388441533206,
        "trace_id": "b11ed2a0b10544a2851fccbb6e966682",
        "result": {
            "pageNo": 1,
            "pageSize": 20,
            "totalCount": 2,
            "totalPage": 1,
            "data": [
                {
                    "groupId": "pig_user",
                    "groupName": "小猪组",
                    "groupRemark": "小猪用户",
                    "createTime": "2021-09-23 09:12:25",
                    "version": 0
                },
                {
                    "groupId": "abc",
                    "groupName": "111",
                    "groupRemark": "",
                    "createTime": "2021-09-23 09:02:00",
                    "version": 0
                }
            ]
        }
    }

查询用户列表

  • /rpc/2.0/cvsaas/v1/faceset/group/getuserlist [POST]

    请求格式:header应为Content-Type:application/json

    接口说明:查询用户组列表(可分页查询),按照创建时间倒序排列

    请求说明

    参数名称 类型 是否必填 说明
    groupId String 用户组ID,标识一组用户组(由数字、字母、下划线组成,长度:1~48(数据库长度为1024))。
    pageNo int 页码(默认为1)
    pageSize int 每页记录数(默认为20,最大为200)
    userName String 用户组name

    请求示例

    {
        "groupId":"pig_face",
        "pageNo":1,
        "pageSize":20,
      	"userName":"xxxx"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long log_id,请求唯一标识。
    error_code String 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回
    result jsonObject 查询结果
    +totalCount int 总记录数
    +totalPage Int 总页数
    +pageNo int 页码
    +pageSize int 每页记录数
    +data jsonArray 用户组列表
    ++userId String 用户ID
    ++userName String 用户名称
    ++userRemark String 用户备注
    ++createTime String 用户创建时间

    返回示例

    {
        "log_id":1572935213678040,
        "error_code":0,
        "result":{
            "totalCount":2,
            "totalPage":1,
            "pageNo":1,
            "pageSize":20,
            "data":[
                {
                    "userId":"pig_1",
                    "userName":"小猪1号",
                    "userRemark":"小猪崽",
                    "createTime":"2019-11-22 00:00:00"
                },
                {
                    "userId":"pig_2",
                    "userName":"小猪2号",
                    "userRemark":"小猪崽",
                    "createTime":"2019-11-22 00:00:00"
                }
            ]
        }
    }

注册用户

  • /rpc/2.0/cvsaas/v1/faceset/user/add [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:在用户组中新增用户信息,并保存用户人脸图片

    请求说明

    参数名称 类型 是否必填 说明
    userId String 用户ID(由数字、字母、下划线组成,长度1~20(数据库长度为1024))
    userName String 用户名称(长度:1~32(数据库长度为1024))
    userImage String 用户图片信息(总数据大小应小于10M)。
    图片的base64值,base64编码后的图片数据(编码后的图片大小不超过2M)。
    userRemark String 用户组备注(长度:0~128(数据库长度为1024))
    groupId String 用户组ID,标识一组用户组(由数字、字母、下划线组成,长度:1~48(数据库长度为1024))。

    请求示例

    {
        "userId":"pig_1",
        "userName":"小猪1号",
        "userImage":"/9j/4AAQSkZJRgABAQAAAQABAADs...",
        "userRemark":"小猪崽",
        "groupId":"pig_face"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long log_id,请求唯一标识。
    error_code String 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "log_id":1572927268813037,
        "error_code":0
    }

删除用户

  • /rpc/2.0/cvsaas/v1/faceset/user/del [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:删除用户

    请求说明

    参数名称 类型 是否必填 说明
    groupId String 用户组ID,标识一组用户组(由数字、字母、下划线组成,长度:1~48(数据库长度为1024))。
    userId String 用户ID(由数字、字母、下划线组成,长度1~20(数据库长度为1024))

    请求示例

    {
        "groupId":"pig_face",
        "userId":"pig_2"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long log_id,请求唯一标识。
    error_code String 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "log_id":1572935959767041,
        "error_code":0
    }

系统配置相关接口

获取系统配置

  • /rpc/2.0/cvsaas/v1/config/get [POST]

    请求格式:header应为Content-Type:application/json

    接口说明:获取系统配置

    请求说明

    参数名称 类型 是否必填 说明
    edgeToken String 盒子token
    group String 配置组,配置组包含了一批关联的配置,目前可选为:event-notify,event-cleaner

    请求示例

    {
      	"edgeToken":"xxxxx",
        "group":"event-notify"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long log_id,请求唯一标识。
    error_code String 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回
    result Object 各配置项的值,根据group不同而不同
    +retry-interval String 重试间隔
    +retry-times String 重试次数,如果往url推送失败,需重试几次,默认0
    +enabled String 事件通知:是否启用
    +url String 事件通知:url

    返回示例

    {
        "error_code": 0,
        "log_id": 1607343358450854,
        "trace_id": "4e2c8da82e6b49918a7960da9dee615c",
        "result": {
            "retry-interval": "6",
            "retry-times": "1",
            "enabled": "true",
            "url": "http://172.20.76.9:8002/easymonitor/edge/#/eventsetting"
        }
    }

设置系统配置

  • /rpc/2.0/cvsaas/v1/config/set [POST]

    请求格式:header应为Content-Type:application/json

    请求头headers添加 Authorization:Basic YWRtaW46YWRtaW4yMDIwIQ==

    (说明:YWRtaW46YWRtaW4yMDIwIQ==为 用户名:密码 进行base64编码后的结果)

    接口说明:获取系统配置

    请求说明

    参数名称 类型 是否必填 说明
    edgeToken String 盒子token
    group String 配置组,配置组包含了一批关联的配置,目前可选为:event-notify,event-cleaner
    name String 配置名,比如retry-times
    value String 配置值,比如11

    请求示例

    {
      	"edgeToken":"*****",
        "group":"event-notify",
        "name":"retry-interval",
        "value":"6"
    }

    返回说明

    参数名称 类型 是否一定存在 说明
    log_id Long log_id,请求唯一标识。
    error_code String 服务调用提示码,0表示成功,非0表示失败
    error_msg String 服务调用提示信息,失败时返回

    返回示例

    {
        "error_code": 0,
        "log_id": 1607343358450854,
        "trace_id": "4e2c8da82e6b49918a7960da9dee615c"
    }

配置项说明

# 配置名 默认值 说明
1 event-notify enabled false 是否启用事件推送
2 event-notify url 推送地址,系统将向该地址发起post请求
3 event-notify retry-times 0 重试次数,如果往url推送失败,需重试几次,默认0,举例:
1.如果retry-times==0,则先推送1次,失败后重试0次;
2.如果retry-times==2,则先推送1次,失败后重试2次
4 event-notify retry-interval 0 重试间隔,单位秒
5 event-cleaner max-retain-time 720 事件最大保留时间,单位小时

推送说明

当成功调用接口设置event-notify,且enabled为true时,系统中如果再产生告警事件,会向url的地址发送一个http POST请求,请求报文为json格式,携带如下参数:

参数名称 类型 是否一定存在 说明
eventId Long 事件id
skillId int 技能id
deviceToken String 设备token
deviceName String 设备名称
skillInput Map 技能输入
skillOutput Map 技能输出
originImage String 原图base64
renderImage String 渲染图片base64

推送示例

{
  	"eventId":88120,
  	"deviceToken":"PABB-03O5-JYIP-LQEU",
  	"deviceName":"test1",
  	"skillId":10,
  	"skillInput":{
      "skillName":"电子围栏",
      "ext":{
        "skillModel":{
          "0:1:0":{
            "id":1,
            "name":"人体检测",
            "userId":"system",
            "vendor":0,
            "vendorModelId":1,
            "vendorModelVersionId":0,
            "runEnvironment":0,
            "serviceAddress":"http://localhost:8082"
          }
        },
        "alarmContext":{
          "mode":"INSTANT"
        }
      },
      "requestTime":1627634242340,
      "skillId":10,
      "debug":false,
      "resource":{
        "type":"object_storage",
        "path":"/resource/origin/PABB-03O5-JYIP-LQEU/1627634242339_2406068456234.jpg",
        "areas":[
          {
            "name":"area0",
            "nodes":[
              [
                10,
                101
              ],
              [
                1838,
                98
              ],
              [
                1865,
                1001
              ],
              [
                48,
                1021
              ]
            ]
          }
        ]
      },
      "appId":"10000_0",
      "customParameter":{
        "skillId":10,
        "modelThresholds":{
          "bodyProbabilityThreshold":{
            "lowerLimit":0.3
          }
        },
        "skillVersion":1,
        "alarmSetting":{
          "bodyFrameAlarmControl":0
        }
      },
      "deviceName":"test1",
      "userId":"10000_0",
      "sync":false,
      "deviceToken":"PABB-03O5-JYIP-LQEU"
    },
  "skillOutput":{
    "persons":[
      {
        "left":1318,
        "top":671,
        "width":115,
        "height":335,
        "score":0.45007309317588806
      }
    ],
    "normal":false
  },
  "originImage":"",
  "renderImage": ""
}

业务系统接收到推送请求后,应返回(code==0表示接收推送成功):

{
    "code":0,
    "message":"success"
}

如果业务系统无响应,或者code!=0,则会根据retry-times和retry-interval进行重试推送。

上一篇
操作指南
下一篇
模型服务接口说明