REST API
概述
Rest API
返回值接口规范
名称 | 位置 | 类型 | 说明 |
---|---|---|---|
request_id | body | string | 请求唯一标识符id |
status | body | string | 请求是否成功Success /Failed |
error_code | body | string | 异常码,status为Failed 时存在 |
error_message | body | string | 异常消息,status为Failed 时存在 |
detail_message | body | string | 详细异常信息,status为Failed 时可能存在 |
data | body | object | 返回结果数据,一般在status为Success 时存在 |
登录认证
POST 令牌刷新
POST /oauth2/token
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
body | body | object | 否 | none |
» refresh_token | body | string | 否 | none |
» grant_type | body | string | 否 | none |
» client_id | body | string | 否 | none |
» client_secret | body | string | 否 | none |
» username | body | string | 否 | none |
» password | body | string | 否 | none |
Body 请求参数
refresh_token: string
grant_type: password
client_id: iab
client_secret: milesight*iab
username: string
password: string
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
返回示例
200 Response
{
"access_token": "string",
"expires_in": 0,
"refresh_token:":"string"
}
POST 用户注册
POST /user/register
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
body | body | object | 否 | none |
body | string | 是 | none | |
» nickname | body | string | 是 | none |
» password | body | string | 是 | none |
Body 请求参数
{
"email": "string",
"nickname": "string",
"password": "string"
}
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
返回示例
200 Response
{}
GET 获取用户信息
GET /user
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
返回示例 200 Response
{
"data": {
"tenant_id": "string",
"user_id": "string",
"nickname": "string",
"email": "string",
"create_at": "string",
"roles": [{
"role_id": "string",
"role_name": "string"
}]
}
}
GET 获取用户状态信息
GET /user/status
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
返回示例
200 Response
{
"data": {
"init": true
}
}
GET 获取用户列表(分页)
GET /user/users
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
body | body | Object | 否 | none |
» keyword | body | string | 否 | 模糊匹配nickname或email |
Body 请求参数
{
"keyword": "string"
}
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
返回示例 200 Response
{
"data": {
"tenant_id": "string",
"user_id": "string",
"nickname": "string",
"email": "string",
"create_at": "string",
"roles": [{
"role_id": "string",
"role_name": "string"
}]
}
}
POST 创建用户
POST /user
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
body | body | object | 否 | none |
body | string | 是 | none | |
» nickname | body | string | 是 | none |
» password | body | string | 是 | none |
Body 请求参数
{
"email": "string",
"nickname": "string",
"password": "string"
}
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
返回示例
200 Response
{}
POST 修改用户信息
PUT /user/{userId}
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
userId | path | string | 是 | none |
body | body | object | 否 | none |
body | string | 是 | none | |
» nickname | body | string | 是 | none |
» password | body | string | 是 | none |
Body 请求参数
{
"email": "string",
"nickname": "string",
"password": "string"
}
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
返回示例
200 Response
{}
DELETE 删除用户
DELETE /user/{user_id}
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
user_id | path | string | 是 | none |
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data":{
}
}
POST 修改密码(自己)
PUT /user/password
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
body | body | object | 否 | none |
» old_password | body | string | 是 | none |
» new_password | body | string | 是 | none |
Body 请求参数
{
"old_password": "string",
"new_password": "string"
}
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Inline |
返回示例
200 Response
{}
GET 获取用户下的菜单列表
GET /user/{user_id}/menus
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
user_id | path | string | 是 | none |
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data": [
{
"menu_id": "",
"code": "",
"name": "",
"type": "",
"parent_id":""
}
]
}
POST 创建角色
POST /role
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
body | body | Object | 否 | none |
» name | body | string | 是 | none |
» description | body | string | 否 | none |
Body 请求参数
{
"name": "string",
"description": "string"
}
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data":{
"role_id": ""
}
}
PUT 更新角色
PUT /role/{role_id}
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
role_id | path | string | 是 | none |
body | body | Object | 否 | none |
» name | body | string | 是 | none |
» description | body | string | 否 | none |
Body 请求参数
{
"name": "string",
"description": "string"
}
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data":{
}
}
DELETE 删除role
DELETE /role/{role_id}
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
role_id | path | string | 是 | none |
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data":{
}
}
GET 获取角色列表(分页)
GET /role/roles
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
data | Array | none | Array |
» role_id | string | none | String |
» name | string | none | String |
» description | string | none | String |
» created_at | string | none | String |
» user_role_count | string | none | String |
» role_integration_count | string | none | String |
返回示例
成功
{
"data": [
{
"role_id": "",
"name": "",
"description": "",
"created_at": "",
"user_role_count": "",
"role_integration_count": ""
}
]
}
GET 获取角色下的用户列表
GET /role/{role_id}/users
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
role_id | path | string | 是 | none |
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data": [
{
"user_id": "",
"user_email": "",
"user_nickname": "",
"role_id":""
}
]
}
GET 获取角色下的菜单列表
GET /role/{role_id}/menus
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
role_id | path | string | 是 | none |
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data": [
{
"menu_id": "",
"code": "",
"name": "",
"type": "",
"parent_id":""
}
]
}
GET 获取角色下的资源列表
GET /role/{role_id}/resources
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
role_id | path | string | 是 | none |
body | body | Object | 否 | none |
» resource_type | body | string | 否 | none |
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data": [
{
"resource_id": "",
"resource_type":""
}
]
}
POST 添加用户到角色
POST /role/{role_id}/associate-user
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
role_id | path | string | 是 | none |
body | body | Object | 否 | none |
» user_ids | body | Array | 否 | 全量的用户id(不包含在其中的将被删除) |
{
"user_ids": ["",""]
}
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data":{
}
}
POST 添加资源到角色
POST /role/{role_id}/associate-resource
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
role_id | path | string | 是 | none |
body | body | Object | 否 | none |
» resources | body | Array | 否 | 对应type的全量资源数据(不包含在该type下的其它数据将被删除) |
»» id | body | String | 否 | none |
»» type | body | String[ENTITY, DEVICE, INTEGRATION, DASHBOARD] | 否 | none |
{
"resources": [
{
"id": "String",
"type": "String"
}
]
}
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data":{
}
}
POST 创建菜单
POST /menu
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
body | body | Object | 否 | none |
» code | body | string | 是 | none |
» name | body | string | 是 | none |
» type | body | string | 是 | none |
» parent_id | body | string | 否 | none |
Body 请求参数
{
"code": "string",
"name": "string",
"type": "string",
"parent_id":"string"
}
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data":{
"menu_id": ""
}
}
PUT 更新菜单
PUT /menu/{menu_id}
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
menu_id | path | string | 是 | none |
body | body | Object | 否 | none |
» name | body | string | 是 | none |
» type | body | string [MENU,BUTTON] | 是 | none |
Body 请求参数
{
"name": "string",
"type": "string"
}
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data":{
}
}
DELETE 删除菜单
DELETE /menu/{menu_id}
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
menu_id | path | string | 是 | none |
返回结果
状 态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data":{
}
}
GET 获取菜单列表
GET /menu/menus
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
data | Array | none | Array |
» menu_id | string | none | String |
» name | string | none | String |
» code | string | none | String |
» type | string | none | String |
» parent_id | string | none | String |
» children | Array | none | String |
返回示例
成功
{
"data": [
{
"menu_id": "",
"code": "",
"name": "",
"type": "",
"parent_id": "",
"children": []
}
]
}
POST 添加菜单到角色
POST /role/{role_id}/associate-menu
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
role_id | path | string | 是 | none |
body | body | Object | 否 | none |
» menu_ids | body | Array | 否 | 全量的菜单(包含按钮)id(不包含在其中的将被删除) |
{
"menu_ids": ["",""]
}
返回结果
状态码 | 状态码含义 | 说明 | 数据模型 |
---|---|---|---|
200 | OK | 成功 | Object |
返回示例
成功
{
"data":{
}
}
集成
POST 获取集成列表
POST /integration/search
请求参数
名称 | 位置 | 类 型 | 必选 | 说明 |
---|---|---|---|---|
device_addable | body | boolean | 否 | 是否返回可添加设备的集成 |
device_deletable | body | boolean | 否 | 是否返回可删除设备的集成 |
Body 请求参数
{
"device_addable": true,
"device_deletable": true
}
返回结果
字段名 | 字段类型 | 说明 |
---|---|---|
$ | object | 集成信息列表项 |
$.id | string | 集成id |
$.icon | string | 集成图标地址 |
$.name | string | 集成名称 |
$.description | string | 集成描述 |
$.add_device_service_key | string | 添加设备服务实体key |
$.device_count | number | 设备数量 |
$.entity_count | number | 实体数量(包括设备实体和集成实体) |
返回示例
成功
{
"data": [
{
"id": "",
"icon": "",
"name": "",
"description": "",
"add_device_service_key": "",
"deviceCount": 0,
"entityCount": 0
}
]
}
GET 获取集成详细信息
GET /integration/{integration_id}
请求参数
名称 | 位置 | 类型 | 必选 | 说明 |
---|---|---|---|---|
integration_id | path | string | 是 | 集成id |
返回结果
字段名 | 字段类型 | 说明 |
---|---|---|
id | string | 集成id |
icon | string | 集成图标地址 |
name | string | 集成名称 |
description | string | 集成描述 |
add_device_service_key | string | 添加设备服务实体key |
entity_count | number | 实体数量(包括设备实体和集成实体) |
entity_count | number | 实体数量(包括设备实体和集成实体) |
delete_device_service_key | string | 删除设备服务实体key |
integration_entities | array | 集成的实体列表 |
integration_entities.$ | object | 集成的实体列表项 |
integration_entities.$.id | string | 实体id |
integration_entities.$.key | string | 实体key |
integration_entities.$.name | string | 实体名称 |
integration_entities.$.type | string | 实体类型 (属性PROPERTY / 服务SERVICE / 事件EVENT ) |
integration_entities.$.value_attribute | object | 实体属性 |
integration_entities.$.value_type | string | 数据类型 STRING /LONG /DOUBLE /BOOLEAN /BINARY /OBJECT |
integration_entities.$.access_mod | string | 读写 R / W / RW ,只对属性类型的实体生效 |
integration_entities.$.parent | string | 父实体key |
integration_entities.$.value | string | 实体当前值 |
返回示例
成功
{
"data": {
"id": "",
"icon": "",
"name": "",
"description": "",
"add_device_service_key": "",
"deviceCount": 0,
"entityCount": 0,
"delete_device_service_key": "",
"integration_entities": [
{
"id": "",
"key": "",
"name": "",
"type": "",
"value_attribute": {
"": {}
},
"value_type": "",
"access_mod": "",
"parent": "",
"value": {}
}
]
}
}