海康云眸 IoT API
  1. 消息通道
海康云眸 IoT API
  • 产品介绍
  • 能力概览
  • 错误码表
  • 报警类型表
  • 常见问题
  • 示例DEMO
  • 快速入门
    • 接口调用说明
    • 生成授权凭证
      POST
  • 基础服务能力
    • 设备分组管理
      • 新增组
      • 删除组
      • 更新组
      • 获得单个组详情
      • 查询所有节点列表
      • 查找组的下级节点
    • 设备管理
      • 注册设备
      • 注销设备
      • 修改设备名称
      • 获得单个设备信息
      • 获得设备列表
      • 获取设备总数
      • 查询设备状态
    • 设备确权
      • 确权流程说明
      • 下线确认
      • 上线确认
    • 通道管理
      • 查询设备下通道列表
      • 同步设备下通道
      • 修改通道名称
    • 人员管理
      • 添加人员
      • 更新人员信息
      • 删除人员信息
      • 获得单个人员详情
      • 人脸评分标准配置接口
      • 人员人脸更新
      • 人员人脸删除
  • 报警能力管理
    • 获取报警能力列表
      GET
    • 修改报警能力状态
      POST
  • 视频服务能力
    • 视频对接指南
    • 视频参数配置
      • 视频设备码流参数配置指南
      • 接口配置
        • 获取音视频单通道编码能力
        • 获取音视频单通道编码配置
        • 设置音视频单通道编码配置
    • 视频集成方案
      • web视频控件
      • UIKIT
      • 微信小程序
      • 移动端SDK
        • Android
        • IOS
        • 错误码对照表
      • 标准流预览
        • 开通标准流预览功能
        • 获取标准流预览地址
        • 获取预览/回放地址
      • 互动直播间
        • 创建直播间
        • 编辑直播间
        • 删除直播间
        • 查询直播间列表
        • 设置直播间状态
        • 账号充值
    • 设备视频加密
      • 关闭设备视频加密
      • 开启设备视频加密
    • 云台控制
      • 开始云台控制
      • 停止云台控制
      • 3D放大
    • 预置点操作
      • 添加预置点
      • 更新预置点
      • 清除预置点
      • 调用预置点
      • 加载预置点
    • 取流认证
      GET
    • 远程抓图
      POST
  • 门禁服务能力
    • 门禁对接指南
    • 卡片操作
      • 新增卡片
      • 删除卡片
      • 根据人员编号删除卡片
    • 门禁计划
      • 计划模板管理
        • 周计划模板添加/更新
        • 周计划模板获取
        • 周计划模板删除
        • 假日计划模板添加/更新
        • 假日计划模板获取
        • 假日计划模板删除
      • 门禁计划管理
        • 周计划配置
        • 周计划获取
        • 假日计划配置
        • 假日计划获取
        • 假日组计划配置
        • 假日组计划获取
        • 门禁计划配置
        • 门禁计划聚合配置
        • 门禁计划获取
        • 清空门禁计划
    • 权限分组
      • 权限组新增
      • 权限组更新
      • 权限组删除
      • 获取权限组列表
      • 权限组绑定人员
      • 权限组解绑人员
      • 权限组获取人员编号列表
      • 权限组绑定设备
      • 权限组解绑设备
      • 权限组获取设备序列号列表
      • 人员权限信息查询
    • 权限下发
      • 根据权限组下发权限
      • 查询下发失败记录
      • 下发所有失败人员
      • 清空设备本地权限
      • 获取设备能力集
      • 人员权限信息更新
    • 远程控门
      • 远程控门
      • 远程呼梯
    • 可视对讲
      • 设置可视对讲通知地址
      • 可视对讲交互事件通知
      • 获取可视对讲通知地址
    • 人员信息采集
      • 远程采集方式
        • 规则配置
        • 获取规则配置
        • 采集身份证信息
        • 采集卡信息
        • 采集指纹信息
        • 采集人脸信息
        • 获取人脸采集进度
      • 本地采集方式
        • 规则配置
        • 获取规则配置
        • 录入人员信息
        • 查询采集数据
        • 获取采集状态信息
        • 删除全部采集数据
        • 根据人员编号删除采集数据
    • 多重认证
      • 获取群组配置
      • 群组配置
      • 清除群组配置
      • 获取多重认证配置
      • 设置多重认证配置
    • 访客二维码生成
    • 设备本地事件查询
  • 边缘人脸服务能力
    • 边缘人脸对接指南
    • 人脸库管理
      • 创建人脸库
      • 删除全部人脸库
      • 删除单个人脸库
      • 获取所有人脸库基本参数
      • 批量设置人脸库基本参数
      • 获取单个人脸库基本参数
      • 设置单个人脸库基本参数
      • 查询人脸库剩余人脸数及磁盘容量
    • 人脸库人脸管理
      • 查询单个人脸库中人脸信息
      • 删除单个人脸库中人脸
    • 人脸下发入库
      • 人脸批量异步下发
      • 查询人脸异步下发任务状态
      • 查询人脸异步下发所有任务状态
      • 人脸下发底图入库状态查询
      • 人脸异步下发任务删除
    • 设置人脸比对参数配置
      • 设置人脸比对参数配置
      • 获取人脸比对参数配置
      • 设置人脸比对/陌生人比对联动配置
    • 客流统计
      • 客流统计参数配置
      • 客流统计参数配置获取
      • 查询客流数据
  • 消息通道
    • 对接指南
    • 消息类型定义
    • 消息通道API
      • 创建消费者
      • 消费消息
      • 提交偏移量
  • 其他设备能力
    • 萤石探测器
      • 获取探测器列表
      • 关联探测器
      • 设置探测器状态
      • 删除探测器
      • 获取可关联的IPC列表
      • 获取已关联的IPC列表
      • 设置探测器与IPC的关联关系
      • 修改探测器名称
      • 一键消警
    • 区域热度
      • 获取区域关注度配置
      • 区域关注度配置
      • 生成热度图
      • 获取热度图
      • 获取热度图配置
      • 设置热度图配置
    • 设备校时
      • 获取设备校时配置
      • 配置设备校时
      • 获取NTP服务器配置
      • 配置NTP服务器
      • 获取指定NTP服务器配置
      • 配置指定NTP服务器参数
    • 萤石云储存
      • 设备开通云存储
      • 开启/关闭云存储
      • 获取设备云存储信息
    • 视频安全帽
      • 设备本地开关权限控制
      • 设备录像开关
      • 设备立即上报按键触发抓图事件
      • 设备立即上报状态信息
      • 设备补光灯开关
      • 设备激光灯开关
    • 报警主机
      • 获取子系统列表
      • 获取防区列表
      • 获取主机状态
      • 获取所有防区状态
      • 子系统布防
      • 子系统撤防
    • 设备布撤防
  • 历史接口
    • 组管理
      • 新增组
      • 修改组
      • 删除组
      • 获取所有组
      • 查找组的下级节点
    • 组管理V2
      • 新增组
      • 修改组
      • 删除组
      • 获取所有组
      • 获取单个组信息
      • 查找组的下级节点
    • 设备管理
      • 注册设备
      • 注销设备
      • 获取设备列表
      • 获取单个设备信息
      • 修改设备名称
      • 获取设备总数
      • 设备布撤防
    • 通道管理
      • 查询设备下通道列表
      • 同步设备下通道
      • 修改通道名称
      • 设备抓图
    • 标准流预览
      • 关闭设备视频加密
      • 开通标准流预览功能
      • 获取标准流预览地址
      • 获取指定有效期标准流预览地址
    • 云台操作
      • 开始云台控制
      • 停止云台控制
      • 添加预置点
      • 调用预置点
      • 清除预置点
    • 门禁管理
      • 门禁管理
        • 人员下发
        • 人员更新
        • 人员查询
        • 人员删除
        • 卡下发
        • 卡更新
        • 卡查询
        • 卡删除
        • 人脸下发
        • 人脸修改
        • 人脸查询
        • 人脸删除
        • 访客二维码生成
        • 远程控门
        • 可视对讲交互事件通知
        • 可视对讲通知地址配置
      • 门禁批量管理
        • 注册人员信息
        • 批量注册人员信息
        • 更新人员信息
        • 查询人员列表
        • 删除人员信息
        • 批量下发
        • 查询任务状态
        • 查询任务详情
      • 门禁计划
        • 计划模板管理
          • 周计划模板添加/更新
          • 周计划模板获取
          • 周计划模板删除
          • 假日计划模板添加/更新
          • 假日计划模板获取
          • 假日计划模板删除
        • 门禁计划管理
          • 周计划配置
          • 周计划获取
          • 假日计划配置
          • 假日计划获取
          • 假日组计划配置
          • 假日组计划获取
          • 门禁计划配置
          • 门禁计划聚合配置
          • 门禁计划获取
          • 清空门禁计划
    • 超脑人脸管理
      • IO管理
        • 获取设备IO端口状态
        • 获取设备指定输出口信息
        • 配置设备指定输出口信息
        • IO输出
      • 人脸管理
        • 删除人脸
        • 查询人脸信息
        • 查询人脸列表
      • 人脸库管理
        • 创建人脸库
        • 查询人脸库容量
        • 删除全部人脸库
        • 删除指定人脸库
        • 查询人脸库基本参数
        • 设置人脸库基本参数
        • 查询指定人脸库基本参数
        • 设置指定人脸库基本参数
        • 查询人脸比对参数
        • 配置人脸比对参数
      • 人员信息管理
        • 注册人员信息
        • 查询人员列表
        • 注销人员信息
      • 获取磁盘基本信息
    • 下发任务管理
      • 下发人脸
      • 任务状态查询
      • 人脸下发状态查询
      • 删除任务
  • 健康码分析能力
    • 健康码识别
    • 行程码识别
    • 核酸报告识别
  • 获取access_token
    POST
  1. 消息通道

对接指南

简介#

开放平台消息通道,用于第三方开发者获取云眸实时性消息,用户基于消息通道可以收到各类消息,具体消息类型参见各平台消息类型定义
消息通道具有高可用分布式集群技术,具备高吞吐、消息堆积、可靠重试等特性
消息通道区别于查询接口,需要开发者轮询拉取,消息通道中的消息最多保留7天,过期没有拉取则会被清理

权限开通#

在使用消息通道功能之前,需要先开通对应消息类型的权限。开通方式如图:
img

核心概念#

**消息:**设备或平台产生的各类事件、业务数据的统称
**生产者:**也称为消息发布者,负责生产并发送消息至消息通道,一般理解为设备本身或平台作为消息的生产者
**消费者:**也称为消息订阅者,负责从消息通道消费消息,一般理解为第三方开发者作为消息的消费者
**消费组:**从消息通道从消费消息的消费者分组,目前固定为3个,即:group1,group2,group3,各个消费组之间数据的消费、偏移量的管理互相独立
**偏移量:**消息通道中某个消费组的消费者当前消费消息的位置标记
偏移量模型

核心流程#

消息通道数据模型#

消息通道模型
说明:
1.每个消费组的消息数据完全一致,各自独立消费
2.每个消费组最多支持5个消费者,只有1个消费者可以获取到消息
3.禁止多线程消费,否则会导致消息错乱

消费消息流程#

消费消息流程
说明:
【1】每个消费组最多存在5个消费者,每个消费者有效期5分钟,5分钟内未使用会被销毁;当前消费者数量达到5个时,创建消费者接口会报错,此时需要等待其他消费者失效后才可以重新创建
【2】消费者首次拉取消息时需要与消息通道建立连接(可能会耗时2-3秒),此次调用实际拉到消息列表为空,再次调用即可拉取到消息,30秒内必须再次调用拉取消息接口,否则将断开与消息通道的连接。因此拉取间隔需要在30秒以内,否则每次拉到的消息是空的
消费消息只能在单线程中进行,每个消费组只能有1个消费者可以消费到消息,禁止使用多线程消费
【3】自动提交偏移量的机制是在下一次消费时自动提交上一次消费的偏移量,这是为了避免消费者没有收到返回消息偏移量却提交了的情况
【4】消费消息接口报错的情况,除了无效的consumerId以外,其他情况均可以进行重试

常见问题#

消息通道拉取不到消息#

问题原因:
1.消息拉取方式不正确,消费者创建之后第一次消费消息时需要建立连接(可能会耗时2-3秒),此时获取到的消息列表是空的
2.拉取消息的间隔超过30秒,消费者建立连接的有效期是30秒,拉取间隔超过30秒会导致每次拉取时都需要建立连接而实际拉到消息列表是空的
3.存在多个消费者同时消费的情况,此时只有1个消费者(最早获取连接的)可以获取到消息
4.消息通道权限未开通或开通不足1小时
解决办法:
1.消费消息的接口多尝试调用几次
2.消费消息的间隔要在30秒以内
3.检查账号下是否存在多个消费者消费的情况
4.登录开发者服务进入秘钥管理页面开启对应的消息权限

消息通道消费到的消息重复#

问题原因:偏移量提交不正确
解决办法:
1.如果是采用自动提交偏移量的方式,需要保证消费间隔在30秒以内(自动提交偏移量是在下一次请求是提交上一次消费的偏移量),消费到消息之后的消息处理一定要是异步处理的,否则可能会造成间隔超过30秒,产生消息重复的现象
部分第三方开发者可能在初期数据量不多时感知不到这个问题,后期数据量大了之后如果是同步处理的,很有可能会出现处理时间超过30秒的情况
2.如果是采用手动提交偏移量的方式,需要保证消费到消息之后正确提交偏移量(未消费到消息不可以提交偏移量,可能会造成偏移量被重置)
3.可根据消息的msgID去重

demo#

demo下载地址:点击下载
demo使用说明:
1.自定义处理消息的类
         public class MyPushMessageService implements IPushMessageService {
             @Override
             public void pushMessage(List<Message> messageList) {
                 // TODO Auto-generated method stub
                 // 异步处理消费到的消息
            }
         }
        
消息异步处理非常重要,否则可能在消息量大了之后处理时间过长导致获取到重复消息
2.初始化消费者类
         // 开发者账号信息,使用云眸管理员账号登录open2.hik-cloud.com,进入秘钥管理页面获取
         String clientId = "";
         String clientSecret = "";
         MyPushMessageService myPushMessageService = new MyPushMessageService();
         Consumer consumer = new Consumer(clientId, clientSecret, myPushMessageService);
         // 启动消费线程
         consumer.run();
        

【海康云眸】API开发者 微信交流群

用微信扫右侧二维码,加入【海康云眸】API开发者 交流群,互助沟通

扫码加入交流群
上一页
查询客流数据
下一页
消息类型定义
Built with