第三方API 接口是提供互联网能否访问的的 API。(本文档将主要描述服务器接口调用)
供应商: 门禁设备提供商,包括访问门禁数据的软件服务提供商
我方:我家云,物业系统集成商, 请求门禁数据的客户端开发者
供应商提供 signature、token, 以用于我家云访问接入
signature 签名认证我家云接入。
token为访问接口授权唯一 ID。
(1)供应商提供API接口,接口按以下说明提供
(2)该接口使用 http 技术对外发布接口
(1)该接口请求参数名为 MESSAGE(区分大小写),参数格式为一个 JSON 字符串
(2)请求实际参数:requestParam
(3)附带头参数:header
(4)开发者签名:signature
(5)开发者令牌:token
(6)例子:
{
requestParam:
{
telephone:"xxxx"
},
header:
{
signature:"xxx",
token:"xxx"
}
}
后面描述的参数都是放在 requestParam 里面的,例如这个例子的实际参数是 telephone,
非必须参数可以不传,或者传""
(1)实际返回参数:responseResult
(2)调用接口名字:methodName
(3)状态码:statusCode
状态码说明:
1:成功;
0:失败;
10001:登陆/激活成功,但是没有关联到设备;
90001:参数个数错误;
90002:参数名称错误;
90003:openToken 错误;
(4)例子
{
statusCode:"1",
methodName:"queryServerAddr",
responseResult:
{
addr:"xxxx"
}
}
后面描述的参数都是放在 responseResult 里面的,例如这个例子的实际参数是 addr 如果
responseResult 返回文字是说明,说明返回为空
3.1.1. 作用
设备注册到服务器(认证设备是否合法,合法范围设备ID)
3.1.2. 请求方法
POST http://www.test.com/ device/addDevice
3.1.3. 请求参数说明
名称 类型 是否必填 说明
deviceName String 是 设备名称
deviceCode String 是 设备的 SN 码
3.1.4. 返回参数说明
名称 类型 说明
deviceId int 设备 ID(注册返回的设备 ID,用来操作设备的主键)
3.1.5. 请求示例
MESSAGE:
{
requestParam:
{
deviceName:"xxx",
deviceCode:"xxx"
},
header:
{
signature:"XXXX-XX-XX-XXXX",
token:"xxxxxxxx"
}
}
3.1.6. 返回示例
{
statusCode:"1",
methodName:"addDevice",
responseResult:
{
deviceId:xxx
}
}
3.2.1. 作用
删除指定的设备
3.2.2. 请求方法
POST http://www.test.com/device/delDevice
3.2.3. 请求参数说明
名称 类型 是否必填 说明
deviceId int 是 设备 ID
3.2.4. 返回参数说明
null
3.2.5. 请求示例
MESSAGE:
{
requestParam:
{
deviceId:xxx
},
header:
{
signature:"XXXX-XX-XX-XXXX",
token:"xxxxxxxx"
}
}
3.2.6. 返回示例
{
statusCode:"1",
methodName:" delDevice",
responseResult:
{
}
}
3.3.1. 作用
更新设备的 SN 码或名称
3.3.2. 请求方法
POST http://www.test.com/device/updateDevice
3.3.3. 请求参数说明
名称 类型 是否必填 说明
deviceId int 是 设备 ID
newDeviceName String 否 新设备的名称(不填则不更改)
newDeviceCode String 否 新设备的SN 码(不填则不更改)
3.3.4. 返回参数说明
null
3.3.5. 请求示例
MESSAGE:
{
requestParam:
{
deviceId: xxx,
newDeviceName:"xxx",
newDeviceCode:"xxx"
},
header:
{
signature:"XXXX-XX-XX-XXXX",
token:"xxxxxxxx"
}
}
3.3.6. 返回示例
{
statusCode:"1",
methodName:"updateDevice",
responseResult:
{
}
}
3.5.1. 作用
生成我家云分配给业主所使用的开门密钥,该开门密钥可以放到APP开门使用
3.5.2. 请求方法
POST http://www.test.com/key/makeSdkKey
3.5.3. 请求参数说明
名称 类型 是否必填 说明
deviceIds Array 是 设备 ID 数组
3.5.4. 返回参数说明
名称 类型 说明
deviceId int 设备 ID
sdkKey String 对应 deviceId 的sdkKey,开门密钥
3.5.5. 请求示例
MESSAGE:
{
requestParam:
{
deviceIds:[xxx, xxx,xxx]
},
header:
{
signature:"XXXX-XX-XX-XXXX",
token:"xxxxxxxx"
}
}
3.5.6. 返回示例
{
statusCode:"1",
methodName:"makeSdkKey",
responseResult:
{
xxx:xxx,
xxx:xxx,
xxx:xxx
}
}
3.5.1. 作用
生成我家云分配给业主所使用的开门密钥,该开门密钥可以放到APP开门使用
3.5.2. 请求方法
POST http://www.test.com/key/openDoor
3.5.3. 请求参数说明
名称 类型 是否必填 说明
deviceId int 设备 ID
sdkKey String 对应 deviceId 的sdkKey,开门密钥
3.5.4. 返回参数说明
名称 类型 说明
success Boolean true
3.5.5. 请求示例
MESSAGE:
{
requestParam:
{
deviceId: xxx,
sdkKey:"xxx",
},
header:
{
signature:"XXXX-XX-XX-XXXX",
token:"xxxxxxxx"
}
}
3.5.6. 返回示例
{
statusCode:"1",
methodName:"makeSdkKey",
responseResult:
{
success:true
}
}
3.11.1. 作用
开门日志查询
3.11.2. 请求方法
POSThttp://www.test.com/openDoorLog/selectOpenDoorLog
3.11.3. 请求参数说明
名称 类型 是否必填 说明
page int 否 分页的第几页(不填默认为 1)
rows int 否 每页几行数据(不填默认为 10)
3.11.4. 返回参数说明
名称 类型 说明
total int 日志总条数
rows Array 日志的数据
deviceId int 设备 ID
openTime long 开门的时间(时间戳)
3.11.5. 请求示例
MESSAGE:
{
requestParam:
{
page:xxx,
rows:xxx
},
header:
{
signature:"XXXX-XX-XX-XXXX",
token:"xxxxxxxx"
}
}
33
3.11.6. 返回示例
{
statusCode:"1",
methodName:" selectOpenDoorLog",
responseResult:
[
total:xxx,
rows:[
{openTime:xxx,openType:xxx,deviceId:xxx},
{openTime:xxx,openType:xxx,deviceId:xxx}
]
]
}
流程图