智能家居统一资源管理服务
概述
本文档描述了批量设备管理的云端开放接口。整体业务流程描述如下:
首先通过dnakit/app后台创建企业帐号以及系统超级管理员
系统超级管理员使用OAuth implicit方式登录帐号
通过用户分组接口创建管理用户组并可以管理分组下的用户列表
管理组下的用户通过接口创建资源分组,同时可以添加资源到分组中
系统默认创建一个管理组(supermanager)进行管理
系统以唯一手机号确定一个用户
所有数据以base64进行编码
整体框图如下所示:
本文档描述统一资源管理前端的对外接口。
统一资源管理的数据存储方式:
术语说明
license: 从dnakit申请的license
资源: 目前我们系统设备,云定时,场景,联动和私有五种资源。
orgName: 企业名字
资源格式定义
{
"name": ""
"attributes":[],
"type":"device"|"scene"|"timer"|"ifttt"|"private"|"whitelist"|"privatescene",
"version":"",#添加时云端返回,之后修改都要携带,device"|"scene暂时不考虑
"data":{
}
}
设备类资源定义
{
"did":"",
"pid":"",
"gatewayId":"",
...
}
签名校验
所有接口的访问都需要在http的header中添加签名和时间戳
关键字: signature和timestamp
signature计算方法: sha1(body+timestamp+license).hexstring(),其中body,timestamp和license表示字符串拼接
创建企业附属信息
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/organization/subinfo/add
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"subinfo":{
"key":"",
"value":""//base64
}
}
Response:
{
"status":0,
"msg":"success",
}
修改企业附属信息
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/organization/subinfo/modify
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"subinfo":{
"key":"",
"value":""
}
}
Response:
{
"status":0,
"msg":"success",
}
删除企业附属信息
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/organization/subinfo/delete
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"subinfo":{
"key":""
}
}
Response:
{
"status":0,
"msg":"success",
}
查询企业附属信息
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/organization/subinfo/query
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"subinfo":{
"key":""
}
}
Response:
{
"status":0,
"msg":"success",
"subinfo":{
"key":"",
"value":""
}
}
创建资源分组接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/resource/group/add
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"usergroup":{
"name":""#为空则默认选择一个成员身份
},
"groups":[{"name":"","attributes":[],"additional":{"room":{"action":"add|modify|del","roomlist":[{"roomid":"","name":"","order":0}]}}}]
}
Response:
{
"status":0,
"msg":"success",
}
说明:room add时roomid为空;房间无变动时,room中roomlist和action可置为空
示例
Body:
{"identity":{"accessToken":"","orgName":"OrgName"},"group":[{"name":"rgname1","attributes":["a","b"]},{"name":"rgname2","attributes":["a","b","c"]}]}
Resonse:
{"status":0,"msg":"ok"}
修改资源分组接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/resource/group/modify
Body:
{
"identity":{
"accessToken":"",
"orgName":""
},
"groups":[{"name":"","version":"","attributes":[],"additional":{"room":{"action":"add|modify|del","roomlist":[{"roomid":"","name":"","order":0}]}}}]
}
Response:
{
"status":0,
"msg":"success"
"version":""
}
说明:room add时roomid为空;房间无变动时,room中roomlist和action可置为空
举例:
Body:
{"identity":{"accesstoken":"","orgName":"OrgName3"},"group":[{"name":"xxx4","version":"2018-01-09 11:15:45","attributes":["a","b"],"additional":{"room":{"action":"","roomlist":[]}}}]}
Resonse:
{"status":0,"msg":"ok","version":"2018-01-09 17:43:33"}
删除资源分组接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/resource/group/delete
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": [{
"name":""
}]
}
Response:
{
"status":0,
"msg":"success"
}
示例
Body:
{"identity":{"accessToken":"","orgName":"OrgName"},"group":[{"name":"rgname1"}]}
Resonse:
{"status":0,"msg":"ok"}
查询资源分组列表接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/resource/group/query
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":"",
"attributes":[]
} //name和attributes必须有一个非空
}
Response:
{
"status":0,
"msg":"success",
"data":{
"total":0,
"index":0,
"groups":[{"name":"","id":"","version":"","attributes":[],"additional":{"room":{"roomlist":[{"roomid":"","name":"","order":0}]}}}]
}
}
示例
Body:
{"identity":{"accesstoken":"","orgName":"OrgName2"},"group":{"name":""}}
Resonse:
{"status":0,"msg":"","data":{"total":4,"index":0,"groups":[{"name":"xxx1","id":"010031a6027a8b2375c00feaafb041e2","version":"2018-01-08 14:49:00","attributes":["a","b"],"additional":{"room":{"roomlist":null}}},{"name":"xxx4","id":"0105e3b6a204de094280123430e55889","version":"2018-01-08 15:01:20","attributes":["a","b"],"additional":{"room":{"roomlist":[{"roomid":"2008736887849551792","name":"name2","order":2}]}}},{"name":"xxx3","id":"011210089810421125c936fe4220b3ac","version":"2018-01-08 14:59:54","attributes":["a","b"],"additional":{"room":{"roomlist":[{"roomid":"2008694649357416695","name":"name1","order":0}]}}},{"name":"xxx2","id":"01176aa72c952f70c8f2d1a3c008d653","version":"2018-01-08 14:52:54","attributes":["a","b"],"additional":{"room":{"roomlist":null}}}]}}
增加资源接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/resource/add
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":"",
"version":"",//非私有资源会校验
"attributes":["A1","A2",...] //不使用
},
"resource": [
{
"type":"",//可选择device(设备)/scene(场景)/linkage(联动,9.13新增)/privatescene(情景面板)/whitelist(ihg白名单);
"name":"",
"relatedid":"",//privatescene(情景面板)/whitelist(ihg白名单)携带(新增)
"id":"",//增加为空
"version":"",
"data":"",
"attributes":["xx"]
}
]
}
Response:
{
"status":0,
"msg":"success",
"version":""
"data":{"idList":["",""]}
}
说明:非私有资源会校验resourcegroup version,私有资源修改校验内部version
privatescene/whitelist data格式云端不关心
示例一:
Body:
{"identity":{"accesstoken":"","orgName":"OrgName3"},"group":{"name":"xxx5","attributes":null},"resource":[{"name":"0000000000000000000034ea34478baa_scene","attributes":["a"],"type":"privatescene","id":"","data":"W3sibGlzdCI6W3siZGlkIjoiMTIzIiwicGlkIjoiMTIzIn1dfV0="}]}
Resonse:
{"error":0,"status":0,"msg":"ok","version":"2018-01-09 14:26:05","data":{"resource":[{"name":"0000000000000000000034ea34478bac_scene","attributes":["a"],"type":"privatescene","id":"3008081405930448912","version":"2018-01-09 14:26:05","data":"W3sibGlzdCI6W3siZGlkIjoiMTIzIiwicGlkIjoiMTIzIn1dfV0="}],"version":"2018-01-09 14:26:05"}}
示例二
Body:
{"identity":{"accesstoken":"","orgName":"OrgName3"},"group":{"name":"xxx5","version":"2018-01-10 09:41:22","attributes":null},"resource":[{"name":"module2","attributes":["a"],"type":"device","id":"","data":"eyJtb2R1bGVpbmZvIjp7Im1vZHVsZWlkIjoiIiwidXNlcmlkIjoiIiwiZmFtaWx5aWQiOiIiLCJ2ZXJzaW9uIjoiIiwicm9vbWlkIjoiMTIiLCJuYW1lIjoibW9kdWxlMiIsImljb24iOiIiLCJmbGFnIjowLCJtb2R1bGVkZXYiOlt7ImRpZCI6IjExMjIzMzQ0NTU2NiIsInNkaWQiOiIiLCJvcmRlciI6MCwiY29udGVudCI6Inh4eCJ9XSwib3JkZXIiOjAsIm1vZHVsZXR5cGUiOjMsInNjZW5ldHlwZSI6IiIsImZvbGxvd2RldiI6MCwiZXh0ZW5kIjoiYWJjIn0sImRldmluZm8iOnsidXNlcmlkIjoiIiwiZmFtaWx5aWQiOiIiLCJ2ZXJzaW9uIjoiIiwicm9vbWlkIjoiMTIiLCJkaWQiOiIxMTIyMzM0NDU1NjYiLCJtYWMiOiIxMTIyMzM0NDU1NjYiLCJwYXNzd29yZCI6MCwiZGV2dHlwZSI6MTAxNDksInBpZCI6IjAwMTIzIiwibmFtZSI6InNwIiwibG9jayI6ZmFsc2UsImFlc2tleSI6IjEyMyIsInRlcm1pbmFsaWQiOjAsInN1YmRldmljZW51bSI6MCwibG9uZ2l0dWRlIjowLCJsYXRpdHVkZSI6MCwiZXh0ZW5kIjoiZXh0ZW5kIiwid2lmaW1hYyI6IiJ9LCJzdWJkZXZpbmZvIjp7InVzZXJpZCI6IiIsImZhbWlseWlkIjoiIiwidmVyc2lvbiI6IiIsInJvb21pZCI6IiIsImRpZCI6IiIsInNkaWQiOiIiLCJtYWMiOiIiLCJwYXNzd29yZCI6MCwiZGV2dHlwZSI6MCwicGlkIjoiIiwibmFtZSI6IiIsImxvY2siOmZhbHNlLCJhZXNrZXkiOiIiLCJ0ZXJtaW5hbGlkIjowLCJzdWJkZXZpY2VudW0iOjAsImxvbmdpdHVkZSI6MCwibGF0aXR1ZGUiOjAsImV4dGVuZCI6IiIsIndpZmltYWMiOiIifX0="}]}
Resonse:
{"status":0,"msg":"ok","version":"2018-01-09 14:26:05","data":{"resource":[{"name":"module2","attributes":["a"],"type":"device","id":"3008525954115657420","version":"2018-01-10 09:46:40","data":"eyJtb2R1bGVpbmZvIjp7Im1vZHVsZWlkIjoiIiwidXNlcmlkIjoiIiwiZmFtaWx5aWQiOiIiLCJ2ZXJzaW9uIjoiIiwicm9vbWlkIjoiMTIiLCJuYW1lIjoibW9kdWxlMiIsImljb24iOiIiLCJmbGFnIjowLCJtb2R1bGVkZXYiOlt7ImRpZCI6IjExMjIzMzQ0NTU2NiIsInNkaWQiOiIiLCJvcmRlciI6MCwiY29udGVudCI6Inh4eCJ9XSwib3JkZXIiOjAsIm1vZHVsZXR5cGUiOjMsInNjZW5ldHlwZSI6IiIsImZvbGxvd2RldiI6MCwiZXh0ZW5kIjoiYWJjIn0sImRldmluZm8iOnsidXNlcmlkIjoiIiwiZmFtaWx5aWQiOiIiLCJ2ZXJzaW9uIjoiIiwicm9vbWlkIjoiMTIiLCJkaWQiOiIxMTIyMzM0NDU1NjYiLCJtYWMiOiIxMTIyMzM0NDU1NjYiLCJwYXNzd29yZCI6MCwiZGV2dHlwZSI6MTAxNDksInBpZCI6IjAwMTIzIiwibmFtZSI6InNwIiwibG9jayI6ZmFsc2UsImFlc2tleSI6IjEyMyIsInRlcm1pbmFsaWQiOjAsInN1YmRldmljZW51bSI6MCwibG9uZ2l0dWRlIjowLCJsYXRpdHVkZSI6MCwiZXh0ZW5kIjoiZXh0ZW5kIiwid2lmaW1hYyI6IiJ9LCJzdWJkZXZpbmZvIjp7InVzZXJpZCI6IiIsImZhbWlseWlkIjoiIiwidmVyc2lvbiI6IiIsInJvb21pZCI6IiIsImRpZCI6IiIsInNkaWQiOiIiLCJtYWMiOiIiLCJwYXNzd29yZCI6MCwiZGV2dHlwZSI6MCwicGlkIjoiIiwibmFtZSI6IiIsImxvY2siOmZhbHNlLCJhZXNrZXkiOiIiLCJ0ZXJtaW5hbGlkIjowLCJzdWJkZXZpY2VudW0iOjAsImxvbmdpdHVkZSI6MCwibGF0aXR1ZGUiOjAsImV4dGVuZCI6IiIsIndpZmltYWMiOiIifX0="}],"version":"2018-01-10 09:46:40"}}
修改资源接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/resource/modify
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":""
"version":"",
},
"resource": [
{
"id":"",//根据id修改
"type":"",
"name":"",//之前按name修改
"relatedid":"",//privatescene(情景面板)/whitelist(ihg白名单)携带
"version":"",
"data":"",
"attributes":["xx"]
}
]
}
Response:
{
"status":0,
"msg":"success",
}
说明:非私有资源会校验resourcegroup version,私有资源修改校验内部version
示例一:
Body:
{"identity":{"accesstoken":"","orgName":"OrgName3"},"group":{"name":"xxx5","version":"2018-01-10 09:41:22","attributes":null},"resource":[{"name":"0000000000000000000034ea34478bae_scene","version":"2018-01-10 09:41:22","attributes":["a"],"type":"privatescene","id":"","data":"W3sibGlzdCI6W3siZGlkIjoiMTIzIiwicGlkIjoiMTIzIixjY2N9XX1d"}]}
Resonse:
{"status":0,"msg":"ok","version":"2018-01-10 10:08:56"}
示例二
dy:
{"identity":{"accessToken":"","orgName":"OrgName"},"group":{"name":"name1","version":"2018-01-10 09:41:22","attributes":null},"resource":[{"name":"module2","attributes":["a","b"],"type":"device","id":"","data":"eyJtb2R1bGVpbmZvIjp7Im1vZHVsZWlkIjoiIiwidXNlcmlkIjoiIiwiZmFtaWx5aWQiOiIiLCJ2ZXJzaW9uIjoiIiwicm9vbWlkIjoicm9vbWlkMSIsIm5hbWUiOiJtb2R1bGUyIiwiaWNvbiI6IiIsImZsYWciOjAsIm1vZHVsZWRldiI6W3siZGlkIjoiMTEyMjMzNDQ1NTc3Iiwic2RpZCI6IiIsIm9yZGVyIjowLCJjb250ZW50IjoieHh4In1dLCJvcmRlciI6MCwibW9kdWxldHlwZSI6Mywic2NlbmV0eXBlIjoiIiwiZm9sbG93ZGV2IjowLCJleHRlbmQiOiJhYmMifSwiZGV2aW5mbyI6eyJ1c2VyaWQiOiIiLCJmYW1pbHlpZCI6IiIsInZlcnNpb24iOiIiLCJyb29taWQiOiIiLCJkaWQiOiIiLCJtYWMiOiIiLCJwYXNzd29yZCI6MCwiZGV2dHlwZSI6MCwicGlkIjoiIiwibmFtZSI6IiIsImxvY2siOmZhbHNlLCJhZXNrZXkiOiIiLCJ0ZXJtaW5hbGlkIjowLCJzdWJkZXZpY2VudW0iOjAsImxvbmdpdHVkZSI6MCwibGF0aXR1ZGUiOjAsImV4dGVuZCI6IiIsIndpZmltYWMiOiIifSwic3ViZGV2aW5mbyI6eyJ1c2VyaWQiOiIiLCJmYW1pbHlpZCI6IiIsInZlcnNpb24iOiIiLCJyb29taWQiOiIiLCJkaWQiOiIiLCJzZGlkIjoiIiwibWFjIjoiIiwicGFzc3dvcmQiOjAsImRldnR5cGUiOjAsInBpZCI6IiIsIm5hbWUiOiIiLCJsb2NrIjpmYWxzZSwiYWVza2V5IjoiIiwidGVybWluYWxpZCI6MCwic3ViZGV2aWNlbnVtIjowLCJsb25naXR1ZGUiOjAsImxhdGl0dWRlIjowLCJleHRlbmQiOiIiLCJ3aWZpbWFjIjoiIn19"}]}
Resonse:
{"status":0,"msg":"ok","version":"2018-01-10 10:38:35"}
删除资源接口(暂时不支持组根据attributes)
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/resource/delete
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":""
"version":"version"
},
"resource": [
"id":"",//根据id删除
"type":"",
"name":"",//(之前老版本按照名称修改)
] //名字、属性数组
}
Response:
{
"status":0,
"msg":"success",
}
说明:非私有资源会校验resourcegroup version,私有资源修改校验内部version
示例
Body:
{"identity":{"accessToken":"","orgName":"OrgName"},"group":{"name":"name1","attributes":null},"resource":[{"name":"module2","type":""},{"name":"moduleprivate1","type":""}]}
Resonse:
{"status":0,"msg":"ok"}
查询分组资源详情接口(不支持组根据attributes)
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/resource/query
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":"", //可选
"attributes":["A1","A2",...] //可选
},
"resource":{ //可选
"name":""
"attributes":["A1","A2",...], //可选
"type":"" //可选
}
}
Response:
{
"status":0,
"msg":"success",
"data":{
"name":"",
"version":"",
"attributes":["A1","A2",...],
"resource":[
{//同修改,增加
},
]
}
}
创建用户分组接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL:https://[LID]batchjob.ibroadlink.com/v1/user/group/add
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":"",
"attributes":["A1","A2",...]
}
}
Response:
{
"status":0,
"msg":"success",
}
示例
Body:
{"identity":{"accessToken":"xx","orgName":"OrgName"},"group":{"name":"ugname3","attributes":["a","b"]}}
Resonse:
{"status":0,"msg":"ok"}
修改用户分组接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/user/group/modify
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":"",
"attributes":["A1","A2",...]
}
}
Response:
{
"status":0,
"msg":"success",
}
示例
Body:
{"identity":{"accessToken":"xx","orgName":"OrgName"},"group":{"name":"ugname3","attributes":["a","b"]}}
Resonse:
{"status":0,"msg":"ok"}
删除用户分组接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/user/group/delete
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":""
}
}
Response:
{
"status":0,
"msg":"success"
}
查询用户分组列表接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/user/group/query
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":"", //可选
"attributes":["A1","A2",...] //可选
},
}
Response:
{
"status":0,
"msg":"success",
"data":{
"total":xx,
"index":xx,
"groups":[{"name":"","attributes":[]}]
}
}
举例
Body:
{"identity":{"accessToken":"","orgName":"OrgName"},"group":{"name":"","attributes":[]}}
Resonse:
{"status":0,"msg":"","data":{"total":5,"index":0,"groups":[{"name":"ugname2","attributes":["a","b"]},{"name":"ugname1","attributes":["d","e"]},{"name":"ugname1111","attributes":["a","b"]},{"name":"ugname111123","attributes":["a","b"]},{"name":"ugname3","attributes":["a","b"]}]}}
增加用户接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/user/add
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":""
},
"user": [
{
"phone":"",
"attributes":["A1","A2",...]
}
]
}
Response:
{
"status":0,
"msg":"success",
}
举例
Body:
{"identity":{"accessToken":"","orgName":"OrgName"},"group":{"name":"ugname3"},"user":[{"phone":"183","attributes":["a","b"]},{"phone":"184","attributes":["a","b"]}]}
Resonse:
{"status":0,"msg":"ok"}
修改用户接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL:https://[LID]batchjob.ibroadlink.com/v1/user/modify
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":""
},
"user": [
{
"phone":"",
"data":{}
}
]
}
Response:
{
"status":0,
"msg":"success",
}
示例
Body:
{"identity":{"accessToken":"","orgName":"OrgName"},"group":{"name":"ugname3"},"user":[{"phone":"183","attributes":["b","c"]},{"phone":"184","attributes":["a","d"]}]}
Resonse:
{"status":0,"msg":"ok"}
删除用户接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL:https://[LID]batchjob.ibroadlink.com/v1/user/delete
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":""
},
"user": [{"phone":""}]
}
Response:
{
"status":0,
"msg":"success",
}
示例
Body:
{"identity":{"userid":"","accessToken":"","orgName":"OrgName"},"group":{"name":"ugname3"},"user":[{"phone":"183"}]}
Resonse:
{"status":0,"msg":"ok"}
22 查询分组用户列表接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL:https://[LID]batchjob.ibroadlink.com/v1/user/query
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":""
},
}
Response:
{
"status":0,
"msg":"success",
"data":{
"total":xx,
"index":xx,
"users":[{"phone":"","attribute":[]}]
}
}
示例
Body:
{"identity":{"accessToken":"","orgName":"OrgName"},"group":{"name":"ugname3"}}
Resonse:
{"status":0,"msg":"","data":{"total":1,"index":0,"users":[{"phone":"183","userid":"","attributes":["a","b"]}]}}
增加用户组-资源组关联关系接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL: https://[LID]batchjob.ibroadlink.com/v1/usergroup/resourcegroup/add
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"usergroup": {
"name":""
},
"resourcegroup": [
{
}
]
}
Response:
{
"status":0,
"msg":"success",
}
示例
Body:
{"identity":{"accessToken":"","orgName":"OrgName"},"usergroup":{"name":"ugname4"},"resourcegroup":[{"name":"name1"},{"name":"name2"}]}
Resonse:
{"status":0,"msg":"ok"}
删除用户组-资源组关联关系接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL:https://[LID]batchjob.ibroadlink.com/v1/usergroup/resourcegroup/delete
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"usergroup": {
"name":""
},
"resourcegroup": []
}
Response:
{
"status":0,
"msg":"success",
}
示例
Body:
{"identity":{"accessToken":"","orgName":"OrgName"},"usergroup":{"name":"ugname4"},"resourcegroup":[{"name":"name1"},{"name":"name2"}]}
Resonse:
{"status":0,"msg":"ok"}
查询用户组关联的资源组列表接口
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL:https://[LID]batchjob.ibroadlink.com/v1/usergroup/resourcegroup/query
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"usergroup": {
"name":""
},
}
Response:
{
"status":0,
"msg":"success",
"data":{
"total":xx,
"index":xx,
"resourceGroup":[]
}
}
示例
Body:
{"identity":{"accessToken":"","orgName":"OrgName"},"usergroup":{"name":"ugname4"}}
Resonse:
{"status":0,"msg":"","data":{"total":0,"index":0,"resourcegroup":["name2","name1"]}}
生成资源组的授权码
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
Body:
{
"identity": {
"accessToken": "",
"orgName": ""
},
"group": {
"name":""
},//资源组名称
"user":{
"phone":""//invited user
"type":"member|master"
}
}
Response:
{
"status":0,
"msg":"success",
"qrcode":""
}
说明:当action=force时,可强制替换管理员身份;action=force时,phone不为空;type为空时,默认为member
示例
Body:
{"identity":{"accessToken":"","orgName":"OrgName"},"group":{"name":"ugname4"},"user":{"phone":"18357159526","type":"member"}}
Resonse:
{"status":0,"msg":"","qrcode":""}
企业创建(kit调用)
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL:https://[LID]batchjob.ibroadlink.com/v1/organization/add
Body:
{
"org": {
"companyid": "",
"orgname": ""
},
"manager": {
"phone":"",
"extend":""
}
}
Response:
{
"status":0,
"msg":"success"
}
示例
Body:
{"org": {"companyid": "x1x1x1x2x3","orgname": "OrgName3"},"manager": {"phone":"18868876799","extend":"18868876799_1"}}
Resonse:
{"status":0,"msg":""}
企业管理员修改(kit调用)
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
Body:
{
"org": {
"companyid": "",
"orgname": ""
},
"manager": {
"phone":"",
"extend":""
}
}
Response:
{
"status":0,
"msg":"success"
}
示例
Body:
{"org": {"companyid": "x1x1x1x2x3","orgname": "OrgName3"},"manager": {"phone":"18868876799","extend":"18868876799_1"}}
Resonse:
{"status":0,"msg":""}
企业删除(kit调用,暂时不提供)
暂不提供
企业查询(kit调用)
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
Body:
{
"org": {
"companyid": ""
}
}
Response:
{
"status":0,
"msg":"success"
"data":{
"org": {
"companyid": "",
"orgname": ""
},
"manager": {
"phone":"",
"extend":""
}
}
}
示例
Body:
{"org": {"companyid": "x1x1x1x2x3"}}
Resonse:
{"status":0,"msg":"","data":{"org":{"companyid":"x1x1x1x2x3","orgname":"OrgName3"},"manager":{"phone":"15158094882","extend":"modify_1"}}}
用户查询企业列表
Header:
license:"",
signature: 你的签名 Signature
timestamp: 你的unix时间戳
Method: POST
URL:https://[LID]batchjob.ibroadlink.com/v1/user/queryorg
Body:
{
"identity": {
"accessToken": ""
}
}
Response:
{
"status":0,
"msg":"success",
"data":{"orglist":["A"]}
}
示例
Body:
{"identity":{"accessToken":""}}
Resonse:
{"status":0,"msg":"","data":{"orglist":[{"name":OrgName"}]}}
查询私有资源列表(非device,scene,linkage)
Header:
userid:"",
familyid:"",
loginsession:""
Method: POST
URL:https://[LID]bizihcv0.ibroadlink.com/ec4/v1/resource/querylist
Body(家庭接口加密方式):
{
"type":"",type为空,则返回所有
}
Response:
{
"status":0,
"msg":"success",
"data":{"resourcelist":[{"type":"","name":"","id":""}]}
}
查询私有资源列表(非device,scene,linkage)
Header:
userid:"",
familyid:"",
loginsession:""
等;
家庭接口校验方式
Method: POST
URL:https://[LID]bizihcv0.ibroadlink.com/ec4/v1/resource/queryinfo
Body(家庭接口加密方式):
{
"resource":{
"id":""
"name":""//两者有一个不为空
}
}
Response:
{
"status":0,
"msg":"success",
"data":{"resource":{"type":"","name":"","id":"","version":"","attributes":["A"],"data":""}}
}
增加私有资源接口(非device,scene,linkage)
Header:
userid:"",
familyid:"",
loginsession:""
等;
家庭接口校验方式
Method: POST
URL: https://[LID]bizihcv0.ibroadlink.com/ec4/v1/resource/add
Body(家庭接口加密方式):
{
"resource":{"type":"","name":"","attributes":["A"],"data":""}
}
Response:
{
"status":0,
"msg":"success",
"version":"",
"id":""
}
修改私有资源接口(非device,scene,linkage)
Header:
userid:"",
familyid:"",
loginsession:""
等;
家庭接口校验方式
Method: POST
URL: https://[LID]bizihcv0.ibroadlink.com/ec4/v1/resource/modify
Body(家庭接口加密方式):
{
"resource":{"type":"","name":"","id":"","version":"","attributes":["A"],"data":""}
}
Response:
{
"status":0,
"msg":"success",
"version":""
}
设备资源获取接口
Header:
userid:"",
familyid:"",
reqticket:"",
reqdid:"",
timestamp:"",
signature:"",
校验方式md5(timestamp+body+"IHG*(^%"),timestamp前后1小时
Method: POST
URL:https://[devtype]bizihcv0.ibroadlink.com/v1/resource/dev/query
Body(家庭接口加密方式,aes):
{
"resourcetype":["linkage","whitelist","privatescene"]
}
Response:
{
"status":0,
"msg":"success",
"data":{"linkage":xxxx,"whitelist":xxx,"privatescene":xxx}
}