接口列表

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

获取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
}

获取设备列表

接口功能

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

请求地址

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 设备id
deviceName String 设备名 目前暂为空

响应示例

专业版应用返回:

{
    "resultCode": "000000",
    "resultMsg": "成功",
    "total": 100,
    "page": 1,
    "pageSize": 2,
    "data": [
        {
            "deviceId":"xxxxS_de16b0"
        },
        {
            "deviceId":"xxxxS_de16b0"
        }
    ]
}

家庭版应用返回:

{
    "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
        },
        {
            "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":[
        {
            "deviceId":"xxxxS_002509827e19",
            "channelNum":"1",
            "devPassword":"xxx",
            "devModel":"xxx",
            "devIP":"xxx",
            "imei":"xxx",
            "cameraOwner":"xxx"
        },
        {
            "deviceId":"xxxxS_002509827e20",
            "channelNum":"1",
            "devPassword":"xxx",
            "devModel":"xxx",
            "devIP":"xxx",
            "imei":"xxx",
            "cameraOwner":"xxx"
        }
    ],
     "total":2,
     "page":1,
     "pageSize":10
}

获取摄像机视频播放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"
    }
}

获取摄像机实时缩略图

接口功能

根据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时以逗号拼接

请求内容

示例

{"deviceIdList":"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位毫秒时间戳

返回数据示例

{
    "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/control

请求方式

POST,需要鉴权

请求参数

参数名称 参数类型 是否必需 参数含义 说明
deviceId String Y 设备ID
deviceSwitch int N 设备开关 1:开,0:关
deviceName String N 设备名称
hDVideo int N 高清视频开关 1:开,0:关
volumeMute int N 麦克风开关 1:开,0:关
statusLight int N 状态指示灯 1:开,0:关
nightVision int N 夜视开关 1:开,0:关,2:自动

请求内容

示例

{"status":0,"deviceName":"xxx"}

响应参数

参数名称 参数类型 参数含义 说明
resultCode String 响应码 参考响应码定义
resultMsg String 响应描述
data 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"
    }
}

解绑设备

接口功能

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

注意

解绑成功后请及时更换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": "成功"
}