智能家居统一资源管理服务

概述

本文档描述了批量设备管理的云端开放接口。整体业务流程描述如下:

  1. 首先通过dnakit/app后台创建企业帐号以及系统超级管理员

  2. 系统超级管理员使用OAuth implicit方式登录帐号

  3. 通过用户分组接口创建管理用户组并可以管理分组下的用户列表

  4. 管理组下的用户通过接口创建资源分组,同时可以添加资源到分组中

  5. 系统默认创建一个管理组(supermanager)进行管理

  6. 系统以唯一手机号确定一个用户

  7. 所有数据以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}
    }