接口列表
本节包含子账户相关接口等。
接口列表如下:
序号 | 接口功能 | 描述 |
---|---|---|
1 | 创建子账户 | 创建B(大账户)模式的子账户 |
2 | 获取单个子账户信息 | 获取指定子账户信息 |
3 | 获取子账户信息列表 | 分页获取应用下的子账户信息列表 |
4 | 修改子账户密码 | 修改子账户密码 |
5 | 设置子账户的授权策略 | 设置子账户的授权策略 |
6 | 增加子账户权限 | 增加子账户授权策略中的授权语句 |
7 | 删除子账户权限 | 删除子账户授权策略中某个设备的所有授权语句 |
8 | 获取子账户AccessToken | 获取子账户AccessToken |
9 | 删除子账户 | 删除子账户 |
code | msg | 备注 |
---|---|---|
200 | 操作成功 | |
10001 | 参数错误 | 参数为空或格式不正确 |
10002 | accessToken过期或异常 | 重新获取accessToken |
10005 | appKey异常 | appKey被冻结 |
10013 | 无权限调用 | |
10031 | 子账户或萤石用户没有权限 | |
10032 | 子账户名不存在 | |
10033 | 子账号未设置授权策略 | |
10034 | 子账号已存在 | |
10035 | 获取子账户AccessToken异常 | 子账户不存在或子账户不属于该开发者 |
10036 | 子账号被禁用 | |
50000 | 服务器异常 |
创建子账户
接口功能
创建B(大账户)模式的子账户。(子账户功能说明)
请求地址
https://open.ys7.com/api/lapp/ram/account/create
请求方式
POST
请求参数
Key | 类型 | 描述 | 是否必选 |
---|---|---|---|
accessToken | String | 授权过程获取的access_token | Y |
accountName | String | 子账户名,4-40位英文字母、阿拉伯数字或下划线 | Y |
password | String | 子账户密码,LowerCase(MD5(AppKey#密码明文)) |
Y |
LowerCase(MD5(AppKey#密码明文))
:对AppKey、#和明文密码拼接起来的字符串进行MD5加密,并转成小写
- HTTP请求报文
POST /api/lapp/ram/account/create HTTP/1.1
Host: open.ys7.com
Content-Type: application/x-www-form-urlencoded
accessToken=at.9307p5ye4yilog2f9apn82368j9g62g1-2rs1w3h0k0-092yx3m-ysd3i9cg9&accountName=test&password=5305b671da2d66785f7e6dd24c117370
- 返回数据
{
"data": {
"accountId": "b3ad7ba927524b748e557572024d4ac2"
},
"code": "200",
"msg": "操作成功!"
}
- 返回字段
字段名 | 类型 | 描述 |
---|---|---|
accountId | String | 子账户Id |
- 返回码
参见 公共返回码
获取单个子账户信息
接口功能:
该接口用于获取指定子账户信息。(子账户功能说明)
请求地址
https://open.ys7.com/api/lapp/ram/account/get
请求方式
POST
请求参数
参数名 | 类型 | 描述 | 是否必选 |
---|---|---|---|
accessToken | String | 授权过程获取的access_token | Y |
accountId | String | 子账户Id | N |
accountName | String | 子账户Name | N |
如果accessToken参数是子账户类型的AccessToken,accountId和accountName参数可为空;否则accountId和accountName其中一个必须不为空;如果两个都不为空,接口返回accountId的子账户信息
- HTTP请求报文
POST /api/lapp/ram/account/get HTTP/1.1
Host: open.ys7.com
Content-Type: application/x-www-form-urlencoded
accessToken=at.9307p5ye4yilog2f9apn82368j9g62g1-2rs1w3h0k0-092yx3m-ysd3i9cg9&accountId=b3ad7ba927524b748e557572024d4ac2
- 返回数据
{
"data": {
"accountId": "b3ad7ba927524b748e557572024d4ac2",
"accountName": "test",
"appKey": "ae1b9af9dcac4caeb88da6dbbf2dd8d5",
"accountStatus": 1,
"policy": {
"Statement": [
{
"Permission": "GET,UPDATE,REAL",
"Resource": [
"dev:469631729",
"dev:519928976",
"cam:544229080:1"
]
},
{
"Permission": "GET",
"Resource": [
"dev:470686804"
]
}
]
}
},
"code": "200",
"msg": "操作成功!"
}
- 返回字段:
字段名 | 类型 | 描述 |
---|---|---|
accountId | String | 子账户Id |
accountName | String | 子账户名 |
appKey | String | 子账户所属应用的AppKey |
accountStatus | int | 子账户状态,0为停用,1为启用 |
policy | Policy | 子账户的授权策略 |
Policy类型(Policy语法结构):
字段名 | 类型 | 描述 |
---|---|---|
Statement | Array[Statement] | 授权语句 |
Statement类型:
字段名 | 类型 | 描述 |
---|---|---|
Permission | String | 权限列表 |
Resource | Array[String] | 资源列表 |
- 返回码
参见 公共返回码
获取子账户信息列表
接口功能:
该接口用于分页获取应用下的子账户信息列表。(子账户功能说明)
请求地址
https://open.ys7.com/api/lapp/ram/account/list
请求方式
POST
请求参数
参数名 | 类型 | 描述 | 是否必选 |
---|---|---|---|
accessToken | String | 授权过程获取的access_token | Y |
pageStart | int | 分页起始页,从0开始 | N |
pageSize | int | 分页大小,默认为10,最大为50 | N |
- HTTP请求报文
POST /api/lapp/ram/account/get HTTP/1.1
Host: open.ys7.com
Content-Type: application/x-www-form-urlencoded
accessToken=at.9307p5ye4yilog2f9apn82368j9g62g1-2rs1w3h0k0-092yx3m-ysd3i9cg9&pageStart=0&pageSize=2
- 返回数据
{
"page": {
"total": 15,
"page": 0,
"size": 2
},
"data": [
{
"accountId": "b3ad7ba927524b748e557572024d4ac2",
"accountName": "test",
"appKey": "ae1b9af9dcac4caeb88da6dbbf2dd8d5",
"accountStatus": 1,
"policy": {
"Statement": [
{
"Permission": "GET,UPDATE,REAL",
"Resource": [
"dev:469631729",
"dev:519928976",
"cam:544229080:1"
]
},
{
"Permission": "GET",
"Resource": [
"dev:470686804"
]
}
]
}
},
{
"accountId": "0058a3964698415d8a70a931faa48d78",
"accountName": "test2",
"appKey": "ae1b9af9dcac4caeb88da6dbbf2dd8d5",
"accountStatus": 1,
"policy": null
}
],
"code": "200",
"msg": "操作成功!"
}
- 返回字段:
字段名 | 类型 | 描述 |
---|---|---|
page | Page | 分页信息 |
data | Array[Account] | 子账户信息列表 |
code | String | 操作码 |
msg | String | 操作消息 |
Page类型
字段名 | 类型 | 描述 |
---|---|---|
total | long | 总记录数 |
page | long | 分页起始页 |
size | long | 分页大小 |
Account类型
字段名 | 类型 | 描述 |
---|---|---|
accountId | String | 子账户Id |
accountName | String | 子账户名 |
appKey | String | 子账户所属应用的AppKey |
accountStatus | int | 子账户状态,0为停用,1为启用 |
policy | Policy | 子账户的授权策略 |
Policy类型(Policy语法结构):
字段名 | 类型 | 描述 |
---|---|---|
Statement | Array[Statement] | 授权语句 |
Statement类型:
字段名 | 类型 | 描述 |
---|---|---|
Permission | String | 权限列表 |
Resource | Array[String] | 资源列表 |
- 返回码
参见 公共返回码
修改当前子账户密码
接口功能
该接口用于修改当前子账户的密码。
请求地址
https://open.ys7.com/api/lapp/ram/account/updatePassword
请求方式
POST
请求参数
Key | 类型 | 描述 | 是否必选 |
---|---|---|---|
accessToken | String | 授权过程获取的access_token | Y |
accountId | String | 子账户ID | Y |
oldPassword | String | 老的密码,LowerCase(MD5(AppKey#密码明文)) |
Y |
newPassword | String | 新的密码,LowerCase(MD5(AppKey#密码明文)) |
Y |
LowerCase(MD5(AppKey#密码明文))
:对AppKey、#和明文密码拼接起来的字符串进行MD5加密,并转成小写
- HTTP请求报文
POST /api/lapp/ram/account/updatePassword HTTP/1.1
Host: open.ys7.com
Content-Type: application/x-www-form-urlencoded
accessToken=at.9307p5ye4yilog2f9apn82368j9g62g1-2rs1w3h0k0-092yx3m-ysd3i9cg9&accountId=b3ad7ba927524b748e557572024d4ac2&oldPassword=5305b671da2d66785f7e6dd24c117370&newPassword=cc03e747a6afbbcbf8be7668acfebee5
- 返回数据
{
"code": "200",
"msg": "操作成功!"
}
- 返回码
参见 公共返回码
设置子账户的授权策略
接口功能:
该接口用于设置B模式子账户授权策略
请求地址
https://open.ys7.com/api/lapp/ram/policy/set
请求方式
POST
请求参数
参数名 | 类型 | 描述 | 是否必选 |
---|---|---|---|
accessToken | String | 授权过程获取的access_token | Y |
accountId | String | 子账户Id | Y |
policy | String | 授权策略,Policy语法结构 | Y |
- HTTP请求报文
POST /api/lapp/ram/policy/set HTTP/1.1
Host: open.ys7.com
Content-Type: application/x-www-form-urlencoded
accessToken=at.9307p5ye4yilog2f9apn82368j9g62g1-2rs1w3h0k0-092yx3m-ysd3i9cg9&policy=%7B%22Statement%22%3A%5B%7B%22Permission%22%3A+%22GET%2CUPDATE%2CREAL%22%2C%22Resource%22%3A%5B%22dev%3A469631729%22%2C%22dev%3A519928976%22%2C%22cam%3A544229080%3A1%22%5D%7D%5D%7D&accountId=b3ad7ba927524b748e557572024d4ac2
- 返回数据
{
"code": "200",
"msg": "操作成功!"
}
- 返回码
参见 公共返回码
增加子账户权限
接口功能:
该接口用于增加子账户授权策略中的授权语句
请求地址
https://open.ys7.com/api/lapp/ram/statement/add
请求方式
POST
请求参数
参数名 | 类型 | 描述 | 是否必选 |
---|---|---|---|
accessToken | String | 授权过程获取的access_token | Y |
accountId | String | 子账户Id | Y |
statement | String | 授权语句,Statement语法结构,示例:{"Permission": "GET", "Resource": ["dev:469631729"]} | Y |
- HTTP请求报文
POST /api/lapp/ram/statement/add HTTP/1.1
Host: open.ys7.com
Content-Type: application/x-www-form-urlencoded
accessToken=at.9307p5ye4yilog2f9apn82368j9g62g1-2rs1w3h0k0-092yx3m-ysd3i9cg9&statement==%7B%22Permission%22%3A+%22GET%22%2C+%22Resource%22%3A+%5B%22dev%3A547596317%22%5D%7D&accountId=b3ad7ba927524b748e557572024d4ac2
- 返回数据
{
"code": "200",
"msg": "操作成功!"
}
- 返回码
参见 公共返回码
删除子账户权限
接口功能:
该接口用于删除子账户授权策略中某个设备的所有授权语句
请求地址
https://open.ys7.com/api/lapp/ram/statement/delete
请求方式
POST
请求参数
参数名 | 类型 | 描述 | 是否必选 |
---|---|---|---|
accessToken | String | 授权过程获取的access_token | Y |
accountId | String | 子账户Id | Y |
deviceSerial | String | 设备序列号 | Y |
- HTTP请求报文
POST /api/lapp/ram/statement/delete HTTP/1.1
Host: open.ys7.com
Content-Type: application/x-www-form-urlencoded
accessToken=at.9307p5ye4yilog2f9apn82368j9g62g1-2rs1w3h0k0-092yx3m-ysd3i9cg9&deviceSerial==547596317&accountId=b3ad7ba927524b748e557572024d4ac2
- 返回数据
{
"code": "200",
"msg": "操作成功!"
}
- 返回码
参见 公共返回码
获取B模式子账户accessToken
接口功能:
该接口用于获取B模式子账户accessToken
请求地址
https://open.ys7.com/api/lapp/ram/token/get
请求方式
POST
请求参数
参数名 | 类型 | 描述 | 是否必选 |
---|---|---|---|
accessToken | String | 授权过程获取的access_token | Y |
accountId | String | 子账户Id | Y |
- HTTP请求报文
POST /api/lapp/ram/token/get HTTP/1.1
Host: open.ys7.com
Content-Type: application/x-www-form-urlencoded
accessToken=at.9307p5ye4yilog2f9apn82368j9g62g1-2rs1w3h0k0-092yx3m-ysd3i9cg9&accountId=b3ad7ba927524b748e557572024d4ac2
- 返回数据
{
"data": {
"accessToken": "ra.7jrcjmna8qnqg8d3dgnzs87m4v2dme3l-32enpqgusd-1jvdfe4-uxo15ik0s",
"expireTime": 1470810222045
},
"code": "200",
"msg": "操作成功!"
}
- 返回码
参见 公共返回码
删除子账户
接口功能:
该接口用于删除子账户
请求地址
https://open.ys7.com/api/lapp/ram/account/delete
请求方式
POST
请求参数
参数名 | 类型 | 描述 | 是否必选 |
---|---|---|---|
accessToken | String | 授权过程获取的access_token | Y |
accountId | String | 子账户Id | Y |
- HTTP请求报文
POST /api/lapp/ram/account/delete HTTP/1.1
Host: open.ys7.com
Content-Type: application/x-www-form-urlencoded
accessToken=at.9307p5ye4yilog2f9apn82368j9g62g1-2rs1w3h0k0-092yx3m-ysd3i9cg9&accountId=b3ad7ba927524b748e557572024d4ac2
- 返回数据
{
"code": "200",
"msg": "操作成功!"
}
- 返回码
参见 公共返回码