接口列表

请先阅读接口总体规范,再阅读此文档

获取token(基础应用、专业版)

接口功能

该接口用于应用根据appid和secret获取accessToken。

注意

获取到的accessToken有效期是7天,请在即将过期或者接口报错11504时重新获取,请勿频繁调用,频繁调用将会被拉入限制黑名单。

  • 应用token:拥有该应用的所有资源的权限,应用token有效期比较长。
  • 自定义token:用于申请获应用的部分资源的权限,每个自定义token互相独立,有效期比较短暂。

请求地址

https://open.andmu.cn/v3/open/api/token

请求方式

POST,无需鉴权(header参数无需token)

请求参数

参数名称 参数类型 是否必需 参数含义 说明
operatorType int Y 获取token类型 1:应用token(拥有该应用全部权限),2:自定义token(拥有该应用部分权限)。
sig String Y 签名(32位小写字符串) MD5(appId+secret)
action String N 行为 read:只读,write:可读可写,获取应用token时不传。
targetType String N 资源类型 2:设备,获取应用token时不传。
target String N 目标资源 多个设备id以逗号拼接,获取应用token时不传。

签名方法

try{
        String appid = "dfgd5115";
        String secret = "dgfds41d5sf1g5sdfgd";
        String sig =  Hex.encodeHexString(MessageDigest.getInstance("MD5").digest(StringUtils.getBytesUtf8(appid+secret)));
}catch (Exception e){}

请求示例

申请应用token:
{
    "operatorType":1,
    "sig":"d41d8cd98f00b204e9800998ecf8427e"
}

申请设备xxxxS_abcde的只读权限的自定义token:
{
    "operatorType":2,
    "action":"read",
    "targetType":2,
    "target":"xxxxS_abcde",
    "sig":"d41d8cd98f00b204e9800998deca120"
}

响应参数

参数名称 参数类型 参数含义 说明
resultCode string 响应码 返回错误码。0:success
resultMsg string 响应描述 简单错误信息说明
data obj 响应数据 返回结果内容(JSON格式→ String),详情参照data数据模型

data数据模型

名称 类型 说明 备注
expires_in int token失效时间,单位:秒
token String token
tokenNum String token号

响应示例

{
    "resultCode": "000000",
    "resultMsg": "成功",
    "data": {
        "expires_in": 604800,
        "token": "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzNDIzOTU3Mzk4NTcyMyIsImFwcGlkIjoiMzQyMzk1NzM5ODU3MjMiLCJvcGVyYXRvclR5cGUiOjEsImV4cCI6MTU2MDMyMjk0MCwiYXBwUmVnaW9uIjoxLCJpYXQiOjE1NTk3MTgxNDAsIm9wZXJhdG9yIjoiMzQyMzk1NzM5ODU3MjMiLCJqdGkiOiIxNTU5NzE4MTQwNzk2In0.G4JRsjlAZQefgfwX8W953VH6pJusXpjkwQHXMDX2PU4"
        "tokenNum":"1165410984518"
    }
}

获取token(家庭版)

家庭版获取token相关接口无需遵循总体规范

家庭版应用采用 OAuth 2.0 标准定义的方式来完成应用授权,目前仅支持 Authorization Code Grant 模式

授权页链接(authorization endpoint):

https://open.andmu.cn/oauth/authorize?response_type=code&client_id={appid}&redirect_uri={xxx}&state={xxx}

redirect_uri 回调时携带的参数:

  • code
  • state

获取访问令牌链接(token endpoint):

https://open.andmu.cn/oauth/token

post 参数:

  • grant_type : 授权类型,固定值 authorization_coderefresh_token
  • client_id : 应用ID,在应用信息里面查看
  • client_secret : 应用密码,在应用信息里面查看
  • redirect_uri : 重定向网址,获取code时传入的redirect_uri
  • code : 授权码,来源于通过redirect_uri回调时携带的code
  • refresh_token: 刷新 access_token 时传参

响应报文:

{
  "access_token": "xxx",
  "refresh_token": "yyy",
  "token_type": "bearer",
  "expires_in": 7200
}

获取一键登录云眼卫士链接

获取token相关接口无需遵循总体规范

授权登录云眼卫士应用采用 OAuth 2.0 标准定义的方式来完成应用授权,目前仅支持 Authorization Code Grant 模式

授权页链接(authorization endpoint):

https://open.andmu.cn/normal/oauth/authorize?response_type=code&client_id={appid}&redirect_uri={xxx}&state={xxx}

redirect_uri 回调时携带的参数:

  • code
  • state

获取访问令牌链接(token endpoint):

https://open.andmu.cn/normal/oauth/token

post 参数:

  • grant_type : 授权类型,固定值 authorization_coderefresh_token
  • client_id : 应用ID,在应用信息里面查看
  • client_secret : 应用密码,在应用信息里面查看
  • redirect_uri : 重定向网址,获取code时传入的redirect_uri
  • code : 授权码,来源于通过redirect_uri回调时携带的code
  • refresh_token: 刷新 access_token, grant_type 为refresh_token必传

响应报文:

{
  "access_token": "xxx",
  "refresh_token": "yyy",
  "token_type": "bearer",
  "expires_in": 7200,
  "url": "https://qly.andmu.cn/normal/#/login?token={xxx}"
}

获取云眼卫士登录链接:

https://open.andmu.cn/normal/oauth/getLoginUrl

post 参数:

  • accessToken : 访问令牌

响应报文:

{
  "url": "https://qly.andmu.cn/normal/#/login?token={xxx}"
}

参数token是临时的,有效期仅有5分钟,且仅能使用一次。即返回的url登录成功后立即失效。

获取设备列表

接口功能

分页获取项目下设备列表。

请求地址

https://open.andmu.cn/v3/open/api/device/list

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
page int N 页码
pageSize int N 每页大小

请求示例

{
    "page": 1,
    "pageSize": 10
}

响应参数

参数名称 参数类型 参数含义 说明
resultCode String 响应码 参考响应码定义
resultMsg String 响应描述
total Integer 记录数 分页查询时使用
page Integer 当前页 分页查询时使用
pageSize Integer 页大小 分页查询时使用
data List 响应数据 响应数据,支持分页和不分页两种方式

data数据模型

名称 类型 是否必须 说明 备注
deviceId String Y 摄像机MAC 如xxxxS_2418c624d26b, gb_45671234561324556789
deviceName String Y 摄像机名称
createTime String Y 创建时间 13位时间戳
camModelName String Y 摄像机型号名称
deviceStatus int Y 摄像机在线状态 1:在线;0:离线
deviceSwitch int Y 摄像机开关状态 1:打开;0:关闭
deviceLatitude String N 设备位置维度 非专业版设备不支持经纬度设置和查询
deviceLongitude String N 设备位置经度 非专业版设备不支持经纬度设置和查询

响应示例

专业版应用返回:

{
    "resultCode": "000000",
    "resultMsg": "成功",
    "total": 100,
    "page": 1,
    "pageSize": 2,
    "data": [
        {
            "deviceId":"xxxxS_146b9cb431f3",
            "deviceName":"C15",
            "deviceSwitch":1,
            "deviceStatus":1,
            "createTime":1626847047000,
            "camModelName":"C15",
            "deviceLatitude":"",
            "deviceLongitude":""
        },
        {
            "deviceId":"xxxxS_146b9cb431f4",
            "deviceName":"",
            "deviceSwitch":1,
            "deviceStatus":1,
            "createTime":1626225424000,
            "deviceLatitude":"3.555",
            "deviceLongitude":"1.890"
        }
    ]
}

家庭版应用返回:

{
    "resultCode":"000000",
    "resultMsg":"成功",
    "data":[
        {
            "deviceId":"xxxxS_002509827e18",
            "camId":"1716269437",
            "camMac":"002509827e18",
            "camImei":"C16-17777000008",
            "camModelName":"C16",
            "camName":"C16摄像机",
            "camState":0,
            "online":0,
            "registerTime":1560224037,
            "playAddress":"",
            "abilityPlatform":12,
            "shareId":"",
            "shareStatus":0,
            "abilitys":{
                "wifi":1,
                "fisheye":0,
                "ptz":0,
                "noMic":0,
                "motionRegion":0,
                "eventRecord":0,
                "faceDetect":0,
                "duplexAudioTalk":0,
                "personStatistic":0,
                "sdcard":0
            },
            "packageStatus":3,
            "remainingDaysToBeExpire":-1,
            "account":"17830021300",
            "token":"abd0aocdao15aobd"
        },
        {
            "deviceId":"xxxxS_002509827e14",
            "camId":"1716269429",
            "camMac":"002509827e14",
            "camImei":"C16-17777000004",
            "camModelName":"C16",
            "camName":"C16摄像机",
            "camState":1,
            "online":0,
            "registerTime":1560224038,
            "playAddress":"",
            "abilityPlatform":12,
            "shareId":"",
            "shareStatus":0,
            "abilitys":{
                "wifi":1,
                "fisheye":0,
                "ptz":0,
                "noMic":0,
                "motionRegion":0,
                "eventRecord":0,
                "faceDetect":0,
                "duplexAudioTalk":1,
                "personStatistic":0,
                "sdcard":0
            },
            "packageStatus":3,
            "remainingDaysToBeExpire":-1
        }
    ],
    "total":3,
    "page":1,
    "pageSize":2
}

基础应用返回:

{
    "resultCode":"000000",
    "resultMsg":"成功",
    "data":[
        {
            "id":1,
            "appId":"edfb7e3858a748b9b1d7d35515ee44a2",
            "deviceId":"xxxxS_00121755b2c0",
            "deviceName":"家庭版",
            "deviceSwitch":1,
            "deviceStatus":0,
            "virtualUserId":1992827879,
            "createTime":1626898683000,
            "modifyTime":1626898691000,
            "camModelName":"C21"
        }
    ]
}

获取组织机构或子节点下设备列表

接口功能

获取组织机构,分页获取子节点设备列表

请求地址

https://open.andmu.cn/v3/open/api/node/tree

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
queryType int Y 查询类型 0-节点,1-设备
nodeId String N 节点编码
1:为空时查询根节点的子节点
2:传入叶子节点时查询节点下设备列表
deviceId String N 设备mac
1:单传设备mac查询设备绑定的节点信息
2:设备只支持查询绑定的父节点
up int N 查询方向 默认向下查询,1-向上查询,只适用于查询父节点
page int N 页码,默认1 仅叶子节点查询设备列表使用
pageSize int N 分页大小,默认10 仅叶子节点查询设备列表使用
queryRegion String N 下级企业region 只通过region查询时,默认返回该企业的根节点信息。如果up传1(即向上查询)就查询该企业在上级企业的虚拟节点信息(必须保证级联关系为单链路,且最上级为开放平台企业,否则返回无权限)。

参数组合说明


1.三个参数都不传:查询根节点的下层节点
2.传了deviceId,不传其他参数,只查询设备的父节点

查询目的 nodeId deviceId up queryType queryRegion
根据最底层节点查询设备信息 × × 1 ×
查询下级组织架构节点 × × 0 ×
根据设备查询上级节点 × × 0 ×
根据节点查询上级节点 × 0 ×
根据queryRegion查询该企业根节点(用户可根据该根节点向下查询) × × × 0
根据queryRegion查询该企业在上级企业对应的虚拟节点(用户可根据该根虚拟节点向上向下查询) × × 0

子节点列表响应参数说明

参数名称 参数类型 说明 备注
nodeId String 节点编码
nodeName String 节点名称
parentId String 父节点编码
hasParent int 是否含有父节点 0-否,1-是
hasChild int 是否含有子节点 0-否,1-是
region String 下级企业reigon 当节点是下级级联企业根节点对应的虚拟节点时返回

叶子节点设备列表(分页)参数说明

参数名称 参数类型 说明 备注
deviceId String 设备mac
deviceName String 设备名称
createTime long 设备绑定时间

获取摄像机视频播放WebSDK链接

接口功能

获取摄像机视频播放WebSDK链接,调用WebSDK播放视频。

请求地址

https://open.andmu.cn/v3/open/api/websdk/player

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
deviceId String Y 设备ID
endTime long N 失效时间 大于当前时间的13位毫秒时间戳

请求示例

{"deviceId":"xxxxS_de16b0","endTime":1567146061000}

响应参数

参数名称 参数类型 参数含义 说明
resultCode String 响应码 参考响应码定义
resultMsg String 响应描述
data object 响应数据

data数据模型

名称 类型 说明 备注
url String 拉取直播流的url 使用一次或到达失效时间后失效
expiresIn int 链接失效时间 单位:秒

响应示例

{
  "resultCode": "000000",
  "resultMsg": "成功",
  "data": {
    "expiresIn": 300,
    "url": "http://open.andmu.cn/websdk/player/47abe8367a7b2a8ca093cffa2c59ba91"
  }
}

获取摄像机纯视频播放WebSDK链接

接口功能

获取摄像机纯视频播放WebSDK链接,可以组合成多屏播放。

请求地址

https://open.andmu.cn/v3/open/api/websdk/live

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
deviceId String Y 设备ID
endTime long N 播放失效时间 大于当前时间的13位毫秒时间戳

请求示例

{"deviceId":"xxxxS_de16b0"}

响应参数

参数名称 参数类型 参数含义 说明
resultCode String 响应码 参考响应码定义
resultMsg String 响应描述
data object 响应数据

data数据模型

名称 类型 说明 备注
url String 拉取纯直播流的url 使用一次或到达失效时间后失效
expiresIn long 链接失效时间 单位:秒

响应示例

{
    "resultCode": "000000",
    "resultMsg": "成功",
    "data": {
        "expiresIn": 300,
        "url":"https://open.andmu.cn?websdk/player/7fb94858f9a7267a3f781c6297019b7a"
    }
}

获取摄像机纯视频回看播放链接

接口功能

获取摄像机纯视频回看链接

请求地址

https://open.andmu.cn/v3/open/api/device/hls/palyback

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
deviceId String Y 设备ID
endTime long Y 结束时间戳
startTime long Y 回放开始时间

请求示例

{"deviceId":"xxxxS_de16b0","endTime":1567146061000,"startTime":1567146021000}

响应参数

参数名称 参数类型 参数含义 说明
resultCode String 响应码 参考响应码定义
resultMsg String 响应描述
data object 响应数据

data数据模型

名称 类型 说明 备注
hlsUrl String 拉取纯回看视频流的url

响应示例

{
    "resultCode": "000000",
    "resultMsg": "成功",
    "data": {
       "hlsUrl": "http://open.andmu.cn/m3u8/83fc725118d1470863ce581ecbc21a30.m3u8"
    }
}

获取摄像机实时缩略图

接口功能

根据deviceid获取该设备的实时缩略图。

请求地址

https://open.andmu.cn/v3/open/api/camera/thumbnail/realtime

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
deviceId String Y 设备ID
size String N 缩略图尺寸 符合正则表达式 \d{1,4}x\d{1,4},如160x90
channelId String N 通道ID 0:720p

请求示例

{"deviceId":"xxxxS_de16b0"}

响应参数

参数名称 参数类型 参数含义 说明
resultCode String 响应码 参考响应码定义
resultMsg String 响应描述
data String 响应数据 响应数据,实时缩略图地址

data数据模型

名称 类型 说明 备注
url String 缩略图下载链接

响应示例

{
    "resultCode": "000000",
    "resultMsg": "成功",
    "data": {
        "url": "http://oss-open.andmu.cn/andmu/open/realtime/thumbnail/xxxxS_0012172a89d0/1570763006198.jpg?e=1570766606&token=WzQp4Ku4KwUpRz2tVysMualpmiBe9o5n-xQ6-Vyz:AwSpVjFYbU7grKpOwUPyTV4JZ3g="
    }
}

获取设备详细信息

接口功能

根据deviceId获取该设备的详细信息。

注意

该接口权限只能查询到通过开放平台绑定的设备。

请求地址

https://open.andmu.cn/v3/open/api/device/info

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
deviceId String Y 设备ID,查询多个id时以逗号拼接

请求内容

示例

{"deviceId":"xxxxS_d8gh390"}

响应参数

参数名称 参数类型 参数含义 说明
resultCode String 响应码 参考响应码定义
resultMsg String 响应描述
data String 响应数据

data数据模型

名称 类型 说明 备注
appId String 开放应用appiD
deviceId String 设备id
deviceName String 设备名称
deviceImei String 设备imei
deviceSwitch int 设备开关状态 0:关,1:开
deviceStatus int 设备在离线状态 0:离线,1:在线
createTime long 创建时间 13位毫秒时间戳
modifyTime long 修改时间 13位毫秒时间戳
camModelName String 设备型号
storeId String 设备所在节点ID
storeName String 设备所在节点名称
hdVideo int 高标清视频状态, 0:关,1:开
volumeMute int 麦克风开关状态, 0:关,1:开
statusLight int 设备指示灯状态, 0:关,1:开
nightVision int 夜视开关状态, 0:关,1:开, 2:自动
deviceLongitude String 设备经度
deviceLatitude String 设备纬度
deviceAddress String 设备位置
hasPackage Boolean 是否有绑定套餐,true:有;false:没有

返回数据示例

{
    "resultCode": "000000",
    "resultMsg": "成功",
    "data": [{
        "appId": "3c4ac4d34f20469689ef1174e0ac0e18",
        "deviceId": "xxxxS_d8gh390",
        "deviceName": "客厅",
        "deviceImei": "115161651616",
        "deviceSwitch": 0,
        "deviceStatus": 1,
        "createTime": 1583446604000,
        "modifyTime": 1583446606000
    }]
}

获取设备剪辑列表

接口功能

根据deviceId分页获取该设备的剪辑列表信息。

请求地址

https://open.andmu.cn/v3/open/api/device/clip/list

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
deviceId String Y 设备ID(MAC地址) 设备ID(MAC地址)6为16进制设备mac地址,大小写都可以,国标编码必带gb_前缀
pageSize int N 每页大小 默认为10, pageSize=10
lastClipTime long Y 上一次 clip 的时间戳 首次传当前时间戳

请求内容

示例

{
    "deviceId":"xxxxS_12341234adf",
    "lastClipTime":"16789887676"
}

响应参数

参数名称 参数类型 参数含义 说明
list List 剪辑视频列表 返回剪辑Vedio的列表
pageSize String 每页大小
deviceId String 设备Mac
lastClipTime String 时间戳毫秒
hasMore boolean 是否有下一页 true: 有下一页;false: 没有下一页

Vedio数据模型

名称 类型 说明 备注
id String 剪辑视频ID
deviceId String 设备Mac
region String 机房信息 国标/融合类型设备无该字段
name String 剪辑视频名称
thumbnailUrl String 剪辑视频缩略图地址
downloadUrl String 剪辑视频下载地址 http://www.test.com/cds/dailymotion3.mp4
duration String 剪辑视频时长 视频的长度(单位:秒)
size String 剪辑视频文件大小 单位byte, 1KB=1024B
downUrl String 文件操作地址 国标/融合类型设备无该字段
createTime String 文件创建时间 示例:1356598024000
channelId String 通道ID 只有国标/融合类型设备有该字段

返回数据示例

{
    "resultCode": "000000",
    "resultMsg": "成功"
}

获取各个节点下设备总量&在线数量

接口功能

支持统计各个节点下设备总量&在线数量,支持统计下级级联企业设备

请求地址

https://open.andmu.cn/v3/open/api/node/online/stastics

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
storeId String N 节点id 不传该字段会根据region查询整个企业的数据。注意:国标编码必带gb_前缀

请求内容

示例

{
    "storeId":"63445243523452345347123"
}

响应参数

参数名称 参数类型 参数含义 说明
storeId String 节点id
total int 设备总量
online int 在线总数
offline int 离线总数

返回数据示例

{
    "resultCode": "000000",
    "resultMsg": "成功"
}

修改设备设置

接口功能

根据deviceId修改摄像机设置。

请求地址

https://open.andmu.cn/v3/open/api/device/control

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
deviceId String Y 设备ID
deviceSwitch int N 摄像机开关 0.关;1.开
deviceName String N 设备名称
hDVideo int N 摄像头高清视频开关 0.关;1.开
volumeMute int N 摄像头麦克风开关 0.关;1.开
statusLight int N 摄像头状态指示灯 0.关;1.开
nightVision int N 摄像头夜视开关 0.关;1.开,2.自动
cameraImageRotate int N 旋转图像180度 0.不旋;1.旋转180°
soundSensitivity int N 声音灵敏度 1-5
motionSensitivity int N 动作灵敏度 1-5
deviceLatitude string N 设备位置维度
deviceLongitude string N 设备位置经度
deviceLocation string N 设备位置

请求内容

示例

{
    "switch":"on",
    "deviceName":"xxx",
    "wifiName":"xxx",
    "wifiPassword":"xxx"
}

响应参数

参数名称 参数类型 参数含义 说明
resultCode String 响应码 参考响应码定义
resultMsg String 响应描述

返回数据示例

{
    "resultCode": "000000",
    "resultMsg": "成功"
}

获取设备绑定参数

接口功能

获取设备绑定参数用来生成绑定二维码。

注意

绑定成功后请及时更换token

请求地址

https://open.andmu.cn/v3/open/api/device/bind

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
wifiSsid String Y WiFi名称
wifiPassword String Y WiFi密码
modelName String Y 设备型号

请求内容

示例

{"wifiSsid":"xxx","wifiPassword":"xxx","modelName":"C31"}

响应参数

参数名称 参数类型 参数含义 说明
resultCode String 响应码 参考响应码定义
resultMsg String 响应描述
data String 响应数据

data数据模型

名称 类型 说明 备注
QRCode String token QRCode:请使用二维码生成工具生成二维码供设备扫码,
当返回的列表有多个字符串时应分别生成二维码并间隔2s轮流展示
tokenNum String token号

返回数据示例

{
    "resultCode":"000000",
    "resultMsg": "成功"
    "data":{
        "QRCode": ["",""],
        "tokenNum": "1165410984518"
    }
}

有线绑定设备

接口功能

支持有线绑定的设备可通过该接口绑定到关联企业上

注意

接口返回的成功只代表有线绑定请求发起成功。设备真正绑定成功还需等待一段时间,消费方需通过查看设备列表才能真正判断设备是否绑定成功。

请求地址

https://open.andmu.cn/v3/open/api/device/wired/bind

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
deviceId String Y 设备id

请求内容

示例

{"deviceId":"xxxxS_abcd0"}

响应参数

参数名称 参数类型 参数含义 说明
resultCode String 响应码 参考响应码定义
resultMsg String 响应描述

返回数据示例

{
    "resultCode": "000000",
    "resultMsg": "成功"
}

解绑设备

接口功能

解除设备绑定与应用的绑定关系。

注意

解绑成功后请及时更换token

请求地址

https://open.andmu.cn/v3/open/api/device/unbind

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
deviceId String Y 设备id

请求内容

示例

{"deviceId":"xxxxS_abcd0"}

响应参数

参数名称 参数类型 参数含义 说明
resultCode String 响应码 参考响应码定义
resultMsg String 响应描述

返回数据示例

{
    "resultCode": "000000",
    "resultMsg": "成功"
}