小鹰开放平台设备管理文档v1.1.14

版本历史(最新:v1.1.14 / 2026-06-26)
版本 更新日期 更新说明 修改人
v1.1.14 2026-06-26 用户绑定设备接口新增uid字段和部分描述 严永龙
v1.1.13 2026-06-12 修改部分接口url错误问题 严永龙
v1.1.12 2026-06-12 增加初始化设备、用户绑定接口 严永龙
v1.1.11 2026-06-05 新增获取实时设备信息接口 严永龙
v1.1.10 2026-05-29 更新接口文档字段说明 李鑫明
v1.0.9 2026-05-26 增加固件OTA升级接口 严永龙
v1.0.8 2026-05-15 增加下发绑定p2p到设备 严永龙
v1.0.7 2026-03-26 获取p2p信息增加app连接参数 严永龙
v1.0.6 2026-03-25 1. 新增获取p2p信息接口

2. 更新设备类型和型号
严永龙
v1.0.5 2026-03-24 添加宠物双目喂食器型号参数 李鑫明
v1.0.4 2026-01-16 完善接口入参备注 李鑫明
v1.0.2 2026-01-08 1、增加设备类型、型号映射表数据 李鑫明
v1.0.1 2025-12-12 1. 增加设备查询接口 严永龙
v1.0.0 2025-09-27 1. 新增设备类型、型号表

2. 新增设备创建接口
严永龙

一 、适用范围

本文档适用于所有设备

二、开发流程:

2.1、设备管理

2.1.1、设备类型、型号映射表

类型id 类型名称 型号id 型号名称
(不清楚具体型号可询问相关技术支持)
10 烟火摄像机 107 烟火摄像机(人工确认)
130 云台烟火摄像机(人工确认)
131 普通烟火摄像机
132 普通云台烟火摄像机
170 小鹰摄像机 16 QC6(wifi)
120 QD6-D(wifi+双目)
133 QC6-D(4g)
134 QD6(4g+双目)
159 拍照烟感探测器 106 感烟照相机GS2_4
110 感烟照相机GS3
179 拉绳拍照报警器 112 拉绳拍照GE1
185 一键报警器 112 拉绳拍照GE1
188 新架构摄像机 136 半低功耗摄像头
141 宠物双目喂食器
16 QC6(wifi)
120 QD6-D(wifi+双目)
133 QC6-D(4g)
134 QD6(4g+双目)

2.1.2、设备创建

通过设备id获取摄像头的播放地址,当摄像头为多目时,会返回多个地址。

POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/create
请求数据
字段名 类型 是否必填 备注
device_id string 是 设备唯一id(可以使用 IMEI)
timestamp int64 是 时间戳,单位:秒
nonce string 是 随机字符串,8~20个字符
sign string 是 具体实现方法,请参考《生成sign的示例代码》
生成sign时data字段
imei string 否 设备IMEI,可传空字符串
data string 否 自定义data,可传空字符串
password string 否 设备密码,用于推流、录像等功能
device_type_id int 是 请参考上方映射表(类型id)
model_number int 是 请参考上方映射表(型号id)
device_name string 否 不传默认试用设备类型名
state int 否 不传则默认设备为上架状态,值=1。1 上架 2 下架。
请求示例
JSON
{
    "device_id": "xxx",
    "timestamp": 1755685731,
    "nonce": "dask43hfad",
    "sign": "xxxxxxx",
}
CURL请求示例
CURL
curl 'https://open.eye4cloud.com/xxxxx/open/v1/device/getWebrtcAddress' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "device_id": "xxx",
    "timestamp": 1757472185,
    "nonce": "",
    "sign": "",
}'
返回数据
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success
data object

示例:

JSON
{
    "error_code": 0,
    "error_message": "success",
    "error_tips": "",
    "data": {}
}

2.1.4、设备更新

POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/updateDeviceInfo
请求数据
字段名 类型 是否必填 备注
device_id string 是 设备唯一id(可以使用 IMEI)
timestamp int64 是 时间戳,单位:秒
nonce string 是 随机字符串,8~20个字符
sign string 是 具体实现方法,请参考《生成sign的示例代码》
生成sign时data字段
imei string 否 设备IMEI,可传空字符串
data string 否 自定义data,可传空字符串
password string 否 设备密码,用于推流、录像等功能
device_type_id int 否 请参考上方设备类型型号映射表 类型id
model_number int 否 请参考上方设备类型型号映射表 型号id
device_name string 否 设备名称
请求示例
JSON
{
    "device_id": "xxx",
    "timestamp": 1755685731,
    "nonce": "dask43hfad",
    "sign": "xxxxxxx",
}
CURL请求示例
CURL
curl 'https://open.eye4cloud.com/xxxxx/open/v1/device/updateDeviceInfo' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "device_id": "xxx",
    "timestamp": 1757472185,
    "nonce": "",
    "sign": "",
    "password": ""
}'
返回数据
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success

示例:

JSON
{
    "error_code": 0,
    "error_message": "success",
    "error_tips": "",
    "data": {}
}

2.1.5、设备下架

POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/downShelve
请求数据
字段名 类型 是否必填 备注
device_id string 是 设备唯一id(可以使用 IMEI)
timestamp int64 是 时间戳,单位:秒
nonce string 是 随机字符串,8~20个字符
sign string 是 具体实现方法,请参考《生成sign的示例代码》
生成sign时data字段
imei string 否 设备IMEI,可传空字符串
data string 否 自定义data,可传空字符串
请求示例
JSON
{
    "device_id": "xxx",
    "timestamp": 1755685731,
    "nonce": "dask43hfad",
    "sign": "xxxxxxx",
}
CURL请求示例
CURL
curl 'https://open.eye4cloud.com/xxxxx/open/v1/device/downShelve' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "device_id": "xxx",
    "timestamp": 1757472185,
    "nonce": "",
    "sign": ""
}'
返回数据
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success

示例:

JSON
{
    "error_code": 0,
    "error_message": "success",
    "error_tips": "",
    "data": {}
}

2.1.6、设备删除

POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/delete
请求数据
字段名 类型 是否必填 备注
device_id string 是 设备唯一id(可以使用 IMEI)
timestamp int64 是 时间戳,单位:秒
nonce string 是 随机字符串,8~20个字符
sign string 是 具体实现方法,请参考《生成sign的示例代码》
生成sign时data字段
imei string 否 设备IMEI,可传空字符串
data string 否 自定义data,可传空字符串
请求示例
JSON
{
    "device_id": "xxx",
    "timestamp": 1755685731,
    "nonce": "dask43hfad",
    "sign": "xxxxxxx",
}
CURL请求示例
CURL
curl 'https://open.eye4cloud.com/xxxxx/open/v1/device/delete' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "device_id": "xxx",
    "timestamp": 1757472185,
    "nonce": "",
    "sign": ""
}'
返回数据
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success

示例:

JSON
{
    "error_code": 0,
    "error_message": "success",
    "error_tips": "",
    "data": {}
}

2.1.7、设备关联信息查询

POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/info
请求数据
字段名 类型 是否必填 备注
device_id string 是 设备唯一id(可以使用 IMEI)
timestamp int64 是 时间戳,单位:秒
nonce string 是 随机字符串,8~20个字符
sign string 是 具体实现方法,请参考《生成sign的示例代码》
生成sign时data字段
imei string 否 设备IMEI,可传空字符串
data string 否 自定义data,可传空字符串
请求示例
JSON
{
    "device_id": "AAC1170954ZGAM",
    "timestamp": 1755685731,
    "nonce": "dask43hfad",
    "sign": "",
}
  • 响应数据:
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success
data object
device_id string 设备id
linkage_device_id_list array 关联设备信息
  • 响应示例
JSON
{
    "error_code": 0,
    "error_message": "success",
    "data": {
        "device_id": "DEMO_DEVICE_001",
        "linkage_device_id_list": [
            "DEMO_DEVICE_001"
        ]
    }
}

2.1.8、查询设备列表

POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/list
请求数据
device_id string 是 设备唯一id(可以使用 IMEI)
timestamp int64 是 时间戳,单位:秒
nonce string 是 随机字符串,8~20个字符
sign string 是 具体实现方法,请参考《生成sign的示例代码》
生成sign时data字段
imei string 否 设备IMEI,可传空字符串
data string 否 自定义data,可传空字符串
device_name string 否 设备名称
page_size int 是 每页页数(默认值10)
page_index int 是 当前分页
请求示例
JSON
{
  "device_id": "xxx",
  "timestamp": 1755685731 ,
  "nonce": "dask43hfad",
  "sign": "xxxxxxx",
  "page_size": 10,
  "page_index": 1
}
CURL请求示例
CURL
curl 'https://open.eye4cloud.com/xxxxx/open/v1/device/list' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "device_id": "xxx",
    "timestamp": 1757472185,
    "nonce": "",
    "sign": "",
    "page_size": 10,
    "page_index": 1
}'
返回数据
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success
data object {}
data.page_size int 每页页数(默认值10)
data.page_index int 当前分页
data.total_number int 总页数
data.limit int
data.list int 查询结果数组

示例:

JSON
{
  "error_code": 0,
  "error_message": "success",
  "error_tips": "",
  "data": {
    "page_size": 10,
    "page_index": 1,
    "total_number": 1,
    "limit": 10,
    "list": [
      {
        "id": 14728,
        "device_name": "xxxx",
        "device_id": "xxxx",
        "position": "",
        "created_at": "2026-01-04T14:44:15+08:00"
      }
    ]
  }
}

2.1.9、设备详情

POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/getDeviceInfo
请求数据
字段名 类型 是否必填 备注
device_id string 是 设备唯一id(可以使用 IMEI)
timestamp int64 是 时间戳,单位:秒
nonce string 是 随机字符串,8~20个字符
sign string 是 具体实现方法,请参考《生成sign的示例代码》
生成sign时data字段
imei string 否 设备IMEI,可传空字符串
data string 否 自定义data,可传空字符串
请求示例
JSON
{
    "device_id": "xxx",
    "timestamp": 1755685731,
    "nonce": "dask43hfad",
    "sign": "xxxxxxx",
}
CURL请求示例
CURL
curl 'https://open.eye4cloud.com/xxxxx/open/v1/device/getDeviceInfo' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "device_id": "xxx",
    "timestamp": 1757472185,
    "nonce": "",
    "sign": ""
}'
返回数据
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success
data.password string 更新设备的密码
data.device_type_id int 设备类型id
data.model_number int 规格型号
data.device_name string 设备名称

示例:

JSON
{
    "error_code": 0,
    "error_message": "success",
    "error_tips": "",
    "data": {
      "password": "xxxx",
      "device_type_id": 170,
      "model_number": 0,
      "device_name": "测试修改设备名称"
    }
}

2.1.10、获取设备p2p信息(白名单)

  • 此接口采用白名单模式,如需访问请联系相关技术人员额外开通
POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/getP2pInfo
请求数据
字段名 类型 是否必填 备注
device_id string 是 设备唯一id(可以使用 IMEI)
timestamp int64 是 时间戳,单位:秒
nonce string 是 随机字符串,8~20个字符
sign string 是 具体实现方法,请参考《生成sign的示例代码》
生成sign时data字段
imei string 否 设备IMEI,可传空字符串
data string 否 自定义data,可传空字符串
password string 是 设备密码
请求示例
JSON
{
    "device_id": "xxx",
    "timestamp": 1755685731,
    "nonce": "dask43hfad",
    "sign": "xxxxxxx",
    "password": ""
}
CURL请求示例
CURL
curl 'https://open.eye4cloud.com/xxxxx/open/v1/device/getP2pInfo' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "device_id": "xxx",
    "timestamp": 1757472185,
    "nonce": "",
    "sign": "",
    "password": ""
}'
返回数据
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success
data.p2pid string 设备p2pid
data.initstring string p2p加密字符串
data.type int 类型(0自研,1尚云)
data.vpType int app连接使用

示例:

JSON
{
    "error_code": 0,
    "error_message": "success",
    "error_tips": "",
    "data": {
      "p2pid": "xxxx",
      "initstring": "skadjh123",
      "type": 0
      "vpType":0
    }
}

2.1.11、绑定设备P2P(白名单,仅开放平台新架构固件支持)

  • 此接口采用白名单模式,如需访问请联系相关技术人员额外开通,仅支持vp自研p2p
POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/bindP2p
请求数据
字段名 类型 是否必填 备注
device_id string 是 设备id
timestamp int64 是 时间戳,单位:秒
nonce string 是 随机字符串,8~20个字符
sign string 是 具体实现方法,请参考《生成sign的示例代码》
生成sign时data字段
imei string 否 设备IMEI,可传空字符串
data string 否 自定义data,可传空字符串
password string 否 设备密码
region int 否 大区:0中国(默认),1东南亚,2中东土耳其,3中东伊朗,4北美,5欧洲
请求示例
JSON
{
    "device_id": "xxx",
    "timestamp": 1755685731,
    "nonce": "dask43hfad",
    "sign": "xxxxxxx",
    "password": "",
    "region": 0
}
CURL请求示例
CURL
curl 'https://open.eye4cloud.com/xxxxx/open/v1/device/bindP2p' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "device_id": "xxx",
    "timestamp": 1757472185,
    "nonce": "",
    "sign": "",
    "password": "",
    "region": 0
}'
返回数据
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success
data.p2pid string 设备p2pid
data.initstring string p2p加密字符串
data.type int 类型(0自研)

示例:

JSON
{
    "error_code": 0,
    "error_message": "success",
    "error_tips": "",
    "data": {
      "p2pid": "xxxx",
      "initstring": "skadjh123",
      "type": 0
    }
}

2.1.12、固件OTA升级(仅开放平台新架构固件支持)

POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/firmwareOta
请求数据
字段名 类型 是否必填 备注
device_id string 是 设备id
timestamp int64 是 时间戳,单位:秒
nonce string 是 随机字符串
sign string 是 签名
imei string 否 设备IMEI,可传空字符串
data string 否 自定义data,可传空字符串
password string 否 设备密码,如果不传则使用开放平台中注册设备的密码
upgrade_host string 是 升级服务器地址
upgrade_file string 是 升级包名,需要包含 '/'
upgrade_version string 否 设备版本号(可不传,会自动从upgrade_file中解析)
upgrade_force int 是 校验版本 0->自动校验 1->不校验
请求示例
JSON
{
    "device_id": "xxx",
    "timestamp": 1755685731,
    "nonce": "dask43hfad",
    "sign": "xxxxxxx",
    "upgrade_host": "https://example.com/DEMO_RESOURCE",
    "upgrade_file": "/firmware_VP_OTA_22.212.109.7_20260520_160203_1779516167.bin",
    "upgrade_version": "1.0.0",
    "upgrade_force": 0
}
CURL请求示例
CURL
curl 'https://open.eye4cloud.com/xxxxx/open/v1/device/firmwareOta' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "device_id": "xxx",
    "timestamp": 1757472185,
    "nonce": "",
    "sign": "",
    "upgrade_host": "https://example.com/DEMO_RESOURCE",
    "upgrade_file": "/firmware_VP_OTA_22.212.109.7_20260520_160203_1779516167.bin",
    "upgrade_version": "22.212.109.7",
    "upgrade_force": 0
}'
返回数据
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success

示例:

JSON
{
    "error_code": 0,
    "error_message": "success",
    "error_tips": "",
    "data": {}
}

2.1.13、获取实时设备信息(仅开放平台新架构固件支持)

采用实时查询设备信息,必须保证设备在线才能查询成功,且密码必传

POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/getRealtimeDeviceInfo
请求数据
字段名 类型 是否必填 备注
device_id string 是 设备id
timestamp int64 是 时间戳,单位:秒
nonce string 是 随机字符串,8~20个字符
sign string 是 具体实现方法,请参考《生成sign的示例代码》
imei string 否 设备IMEI,可传空字符串
data string 否 自定义data,可传空字符串
password string 是 设备密码
请求示例
JSON
{
    "device_id": "xxx",
    "timestamp": 1755685731,
    "nonce": "dask43hfad",
    "sign": "xxxxxxx",
    "password": ""
}
CURL请求示例
CURL
curl 'https://open.eye4cloud.com/xxxxx/open/v1/device/getRealtimeDeviceInfo' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "device_id": "xxx",
    "timestamp": 1757472185,
    "nonce": "",
    "sign": "",
    "password": ""
}'
返回数据
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success
data.iccid string 物联网卡号
data.net_mode int 网络模式:0x01有线,0x02 wifi,0x03移动,0x10 wifi+移动,0x11有线+wifi,0x12有线+移动,0x13有线+wifi+移动
data.power_mode int 0=长电,1=低功耗
data.sys_ver string 固件版本号
data.area int 大区

示例:

JSON
{
    "error_code": 0,
    "error_message": "success",
    "error_tips": "",
    "data": {
        "iccid": "",
        "net_mode": 2,
        "power_mode": 0,
        "sys_ver": "1.0.1.1",
        "area": 1
    }
}

2.1.14、初始化设备(仅开放平台新架构固件支持)

必须保证设备在线,会实时下发各种配置信息到设备整个链路完成才算初始化完成,密码必传(如果需要下发私有密码,此密码最好保证和私有密码采用同一个,防止后续部分cgi操作不支持问题)

POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/initDevice
请求数据
字段名 类型 是否必填 备注
device_id string 是 设备id
timestamp int64 是 时间戳,单位:秒
nonce string 是 随机字符串,8~20个字符
sign string 是 具体实现方法,请参考《生成sign的示例代码》
imei string 否 设备IMEI,可传空字符串
data string 否 自定义data,可传空字符串
password string 是 设置开放平台模式密码
请求示例
JSON
{
    "device_id": "xxx",
    "timestamp": 1755685731,
    "nonce": "dask43hfad",
    "sign": "xxxxxxx",
    "password": ""
}
CURL请求示例
CURL
curl 'https://open.eye4cloud.com/xxxxx/open/v1/device/initDevice' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "device_id": "xxx",
    "timestamp": 1757472185,
    "nonce": "",
    "sign": "",
    "password": ""
}'
返回数据
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success

示例:

JSON
{
    "error_code": 0,
    "error_message": "success",
    "error_tips": ""
}

2.1.15、用户绑定设备(仅开放平台新架构固件支持)

必须保证设备在线,绑定用户并下发私有密码,此接口只在第一次下发生效,重复下发无效。如需再次下发要先复位设备

POSThttps://open.eye4cloud.com/{{open_id}}/open/v1/device/bindUser
请求数据
字段名 类型 是否必填 备注
device_id string 是 设备id
timestamp int64 是 时间戳,单位:秒
nonce string 是 随机字符串,8~20个字符
sign string 是 具体实现方法,请参考《生成sign的示例代码》
imei string 否 设备IMEI,可传空字符串
data string 否 自定义data,可传空字符串
password string 是 设置开放平台模式密码
uid string 是 绑定用户id
area int 是 设备区域 0 未知 1 中国 2 东南亚(含港澳台) 3 美国 4 欧洲
offset int 是 UTC加多少秒等于本地时间
timeZone string 否 时区,不传默认Asia/Shanghai
请求示例
JSON
{
    "device_id": "xxx",
    "timestamp": 1755685731,
    "nonce": "dask43hfad",
    "sign": "xxxxxxx",
    "password": "",
    "uid": "xxx",
    "area": 1,
    "offset": 28800,
    "timeZone": "Asia/Shanghai"
}
CURL请求示例
CURL
curl 'https://open.eye4cloud.com/xxxxx/open/v1/device/initDevice' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "device_id": "xxx",
    "timestamp": 1757472185,
    "nonce": "",
    "sign": "",
    "password": "",
    "uid": "xxx",
    "area": 1,
    "offset": 28800,
    "timeZone": "Asia/Shanghai"
}'
返回数据
字段名 类型 备注
error_code int 状态码:0正常,其他异常
error_message string 错误信息:正常为success

示例:

JSON
{
    "error_code": 0,
    "error_message": "success",
    "error_tips": ""
}