跳到主要内容

REST API

概述

Rest API

返回值接口规范

名称位置类型说明
request_idbodystring请求唯一标识符id
statusbodystring请求是否成功Success/Failed
error_codebodystring异常码,status为Failed时存在
error_messagebodystring异常消息,status为Failed时存在
detail_messagebodystring详细异常信息,status为Failed时可能存在
databodyobject返回结果数据,一般在status为Success时存在

登录认证

POST 令牌刷新

POST /oauth2/token

请求参数

名称位置类型必选说明
bodybodyobjectnone
» refresh_tokenbodystringnone
» grant_typebodystringnone
» client_idbodystringnone
» client_secretbodystringnone
» usernamebodystringnone
» passwordbodystringnone

Body 请求参数

refresh_token: string
grant_type: password
client_id: iab
client_secret: milesight*iab
username: string
password: string

返回结果

状态码状态码含义说明数据模型
200OK成功Inline

返回示例

200 Response

{
"access_token": "string",
"expires_in": 0,
"refresh_token:":"string"
}

POST 用户注册

POST /user/register

请求参数

名称位置类型必选说明
bodybodyobjectnone
» emailbodystringnone
» nicknamebodystringnone
» passwordbodystringnone

Body 请求参数

{
"email": "string",
"nickname": "string",
"password": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK成功Inline

返回示例

200 Response

{}

GET 获取用户信息

GET /user

返回结果

状态码状态码含义说明数据模型
200OK成功Inline

返回示例 200 Response

{
"data": {
"tenant_id": "string",
"user_id": "string",
"nickname": "string",
"email": "string",
"created_at": "string",
"roles": [{
"role_id": "string",
"role_name": "string"
}],
"menus": [
{
"menu_id": "",
"code": "",
"name": "",
"type": "",
"parent_id":""
}
],
"super_admin": true
}
}

GET 获取用户状态信息

GET /user/status

返回结果

状态码状态码含义说明数据模型
200OK成功Inline

返回示例

200 Response

{
"data": {
"init": true
}
}

Post 获取用户列表(分页)

Post /user/members/search

请求参数

名称位置类型必选说明
bodybodyObjectnone
» keywordbodystring模糊匹配nickname或email

Body 请求参数

{
"keyword": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK成功Inline

返回示例 200 Response

{
"data": {
"tenant_id": "string",
"user_id": "string",
"nickname": "string",
"email": "string",
"created_at": "string",
"roles": [{
"role_id": "string",
"role_name": "string"
}]
}
}

POST 创建用户

POST /user/members

请求参数

名称位置类型必选说明
bodybodyobjectnone
» emailbodystringnone
» nicknamebodystringnone
» passwordbodystringnone

Body 请求参数

{
"email": "string",
"nickname": "string",
"password": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK成功Inline

返回示例

200 Response

{}

PUT 修改用户信息

PUT /user/members/{userId}

请求参数

名称位置类型必选说明
userIdpathstringnone
bodybodyobjectnone
» emailbodystringnone
» nicknamebodystringnone

Body 请求参数

{
"email": "string",
"nickname": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK成功Inline

返回示例

200 Response

{}

PUT 重置用户密码

PUT /user/members/{userId}/change-password

请求参数

名称位置类型必选说明
userIdpathstringnone
bodybodyobjectnone
» passwordbodystringnone

Body 请求参数

{
"password": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK成功Inline

返回示例

200 Response

{}

DELETE 删除用户

DELETE /user/members/{user_id}

请求参数

名称位置类型必选说明
user_idpathstringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{

}
}

POST 批量删除用户

POST /user/batch-delete

请求参数

名称位置类型必选说明
bodybodyobjectnone
» user_id_listbodyArraynone

Body 请求参数

{
"user_id_list": []
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{

}
}

PUT 修改密码(自己)

PUT /user/password

请求参数

名称位置类型必选说明
bodybodyobjectnone
» old_passwordbodystringnone
» new_passwordbodystringnone

Body 请求参数

{
"old_password": "string",
"new_password": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK成功Inline

返回示例

200 Response

{}

GET 获取用户下的菜单列表

GET /user/members/{user_id}/menus

请求参数

名称位置类型必选说明
user_idpathstringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data": [
{
"menu_id": "",
"code": "",
"name": "",
"type": "",
"parent_id":""
}
]
}

Post 获取是否包含某个资源权限

Post /user/members/{userId}/permission

请求参数

名称位置类型必选说明
userIdpathstringnone
bodybodyobjectnone
» resource_typebodystringnone
» resource_idbodystringnone

Body 请求参数

{
"resource_type": "string",
"resource_id": "string"
}

请求参数

名称位置类型必选说明
userIdpathstringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Inline

返回示例

200 Response

{
"has_permission": true
}

POST 创建角色

POST /user/roles

请求参数

名称位置类型必选说明
bodybodyObjectnone
» namebodystringnone
» descriptionbodystringnone

Body 请求参数

{
"name": "string",
"description": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{
"role_id": ""
}
}

PUT 更新角色

PUT /user/roles/{role_id}

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» namebodystringnone
» descriptionbodystringnone

Body 请求参数

{
"name": "string",
"description": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{

}
}

DELETE 删除role

DELETE /user/roles/{role_id}

请求参数

名称位置类型必选说明
role_idpathstringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{

}
}

Post 获取角色列表(分页)

Post /user/roles/search

返回结果

状态码状态码含义说明数据模型
200OK成功Object
dataArraynoneArray
» role_idstringnoneString
» namestringnoneString
» descriptionstringnoneString
» created_atstringnoneString
» user_role_countstringnoneString
» role_integration_countstringnoneString

返回示例

成功

{
"data": [
{
"role_id": "",
"name": "",
"description": "",
"created_at": "",
"user_role_count": "",
"role_integration_count": ""
}
]
}

Post 获取角色下的用户列表

Post /user/roles/{role_id}/members

请求参数

名称位置类型必选说明
role_idpathstringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data": [
{
"user_id": "",
"user_email": "",
"user_nickname": "",
"role_id":""
}
]
}

GET 获取角色下的菜单列表

GET /user/roles/{role_id}/menus

请求参数

名称位置类型必选说明
role_idpathstringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data": [
{
"menu_id": "",
"code": "",
"name": "",
"type": "",
"parent_id":""
}
]
}

Post 获取角色下的资源列表

Post /user/roles/{role_id}/resources

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» resource_typebodystringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data": [
{
"resource_id": "",
"resource_type":""
}
]
}

Post 获取角色下的集成列表

Post /user/roles/{role_id}/integrations

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» keywordbodystringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data": [
{
"integration_id": "",
"integration_name":"",
"device_num":"",
"entity_num": ""
}
]
}

Post 获取角色下的设备列表

Post /user/roles/{role_id}/devices

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» keywordbodystringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data": [
{
"device_id": "",
"device_name":"",
"created_at": "",
"integration_id": "",
"integration_name":"",
"user_id":"",
"user_email": "",
"user_nickname":"",
"role_integration": "boolean"
}
]
}

Post 获取角色下的dashboard列表

Post /user/roles/{role_id}/dashboards

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» keywordbodystringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data": [
{
"dashboard_id": "",
"dashboard_name":"",
"created_at": "",
"user_id":"",
"user_email": "",
"user_nickname":""
}
]
}

Post 获取所有未分配的dashboard(用于分配资源)

Post /user/roles/{role_id}/undistributed-dashboards

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» keywordbodystringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data": [
{
"dashboard_id": "",
"dashboard_name":"",
"created_at": "",
"user_id":"",
"user_email": "",
"user_nickname":""
}
]
}

Post 获取所有未分配的用户列表(用于分配资源)

Post /user/roles/{role_id}/undistributed-users

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» keywordbodystringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data": [
{
"email": "",
"nickname":"",
"user_id":""
}
]
}

Post 获取未分配的集成列表

Post /user/roles/{role_id}/undistributed-integrations

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» keywordbodystringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data": [
{
"integration_id": "",
"integration_name":""
}
]
}

Post 获取未分配的设备列表

Post /user/roles/{role_id}/undistributed-devices

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» keywordbodystringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data": [
{
"device_id": "",
"device_name":"",
"created_at": "",
"integration_id": "",
"integration_name":"",
"user_id":"",
"user_email": "",
"user_nickname":""
}
]
}

POST 添加用户到角色

POST /user/roles/{role_id}/associate-user

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» user_idsbodyArraynone
{
"user_ids": ["",""]
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{

}
}

POST 添加资源到角色

POST /user/roles/{role_id}/associate-resource

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» resourcesbodyArraynone
»» idbodyStringnone
»» typebodyString[ENTITY, DEVICE, INTEGRATION, DASHBOARD, WORKFLOW]none
{
"resources": [
{
"id": "String",
"type": "String"
}
]
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{

}
}

POST 取消角色用户绑定

POST /user/roles/{role_id}/disassociate-user

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» user_idsbodyArraynone
{
"user_ids": ["",""]
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{

}
}

POST 取消角色资源绑定

POST /user/roles/{role_id}/disassociate-resource

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» resourcesbodyArraynone
»» idbodyStringnone
»» typebodyString[ENTITY, DEVICE, INTEGRATION, DASHBOARD, WORKFLOW]none
{
"resources": [
{
"id": "String",
"type": "String"
}
]
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{

}
}

POST 创建菜单

POST /user/menus

请求参数

名称位置类型必选说明
bodybodyObjectnone
» codebodystringnone
» namebodystringnone
» typebodystringnone
» parent_idbodystringnone

Body 请求参数

{
"code": "string",
"name": "string",
"type": "string",
"parent_id":"string"
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{
"menu_id": ""
}
}

PUT 更新菜单

PUT /user/menus/{menu_id}

请求参数

名称位置类型必选说明
menu_idpathstringnone
bodybodyObjectnone
» namebodystringnone
» typebodystring [MENU,FUNCTION]none

Body 请求参数

{
"name": "string",
"type": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{

}
}

DELETE 删除菜单

DELETE /user/menus/{menu_id}

请求参数

名称位置类型必选说明
menu_idpathstringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{

}
}

GET 获取菜单列表

GET /user/menus

返回结果

状态码状态码含义说明数据模型
200OK成功Object
dataArraynoneArray
» menu_idstringnoneString
» namestringnoneString
» codestringnoneString
» typestringnoneString
» parent_idstringnoneString
» childrenArraynoneString

返回示例

成功

{
"data": [
{
"menu_id": "",
"code": "",
"name": "",
"type": "",
"parent_id": "",
"children": []
}
]
}

POST 添加菜单到角色

POST /user/roles/{role_id}/associate-menu

请求参数

名称位置类型必选说明
role_idpathstringnone
bodybodyObjectnone
» menu_idsbodyArray全量的菜单(包含按钮)id(不包含在其中的将被删除)
{
"menu_ids": ["",""]
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{

}
}

集成

POST 获取集成列表

POST /integration/search

请求参数

名称位置类型必选说明
device_addablebodyboolean是否返回可添加设备的集成
device_deletablebodyboolean是否返回可删除设备的集成

Body 请求参数

{
"device_addable": true,
"device_deletable": true
}

返回结果

字段名字段类型说明
$object集成信息列表项
$.idstring集成id
$.iconstring集成图标地址
$.namestring集成名称
$.descriptionstring集成描述
$.add_device_service_keystring添加设备服务实体key
$.device_countnumber设备数量
$.entity_countnumber实体数量(包括设备实体和集成实体)

返回示例

成功

{
"data": [
{
"id": "",
"icon": "",
"name": "",
"description": "",
"add_device_service_key": "",
"deviceCount": 0,
"entityCount": 0
}
]
}

GET 获取集成详细信息

GET /integration/{integration_id}

请求参数

名称位置类型必选说明
integration_idpathstring集成id

返回结果

字段名字段类型说明
idstring集成id
iconstring集成图标地址
namestring集成名称
descriptionstring集成描述
add_device_service_keystring添加设备服务实体key
entity_countnumber实体数量(包括设备实体和集成实体)
entity_countnumber实体数量(包括设备实体和集成实体)
delete_device_service_keystring删除设备服务实体key
integration_entitiesarray集成的实体列表
integration_entities.$object集成的实体列表项
integration_entities.$.idstring实体id
integration_entities.$.keystring实体key
integration_entities.$.namestring实体名称
integration_entities.$.typestring实体类型 (属性PROPERTY / 服务SERVICE / 事件EVENT)
integration_entities.$.value_attributeobject实体属性
integration_entities.$.value_typestring数据类型 STRING/LONG/DOUBLE/BOOLEAN/BINARY/OBJECT
integration_entities.$.access_modstring读写 R / W / RW,只对属性类型的实体生效
integration_entities.$.parentstring父实体key
integration_entities.$.valuestring实体当前值

返回示例

成功

{
"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": {}
}
]
}
}

设备

POST 创建设备

POST /device

请求参数

名称位置类型必选说明
namebodystring设备名称
integrationbodystring集成id
param_entitiesbodyobject添加设备服务所需参数实体

Body 请求参数

{
"name": "string",
"integration": "string",
"param_entities": {
"key": "value"
}
}

返回结果

返回示例

成功

{}

POST 搜索设备

POST /device/search

请求参数

名称位置类型必选说明
namebodystring搜索的设备名称
page_numberbodynumber页数
page_sizebodynumber分页大小

Body 请求参数

{
"name": "",
"page_number": 1,
"page_size": 10
}

返回结果

返回示例

成功

{
"data": {
"page_size": 0,
"page_number": 0,
"total": 0,
"content": [
{
"id": "",
"key": "",
"name": "",
"integration": "",
"additional_data": {},
"created_at": 0,
"updated_at": 0,
"integration_name": "",
"deletable": true
}
]
}
}

PUT 更新设备信息

PUT /device/{device_id}

请求参数

名称位置类型必选说明
device_idpathstring设备id
namebodystring设备名称

Body 请求参数

{
"name": "string"
}

返回结果

返回示例

成功

{}

GET 获取设备详细信息

GET /device/{device_id}

请求参数

名称位置类型必选说明
device_idpathstring设备id

返回结果

字段名字段类型说明
idstring设备id
keystring设备key
namestring设备名称
integrationstring设备所属集成id
integration_namestring集成名称
additional_dataobject设备额外数据
created_atnumber创建时间戳
updated_atnumber修改时间戳
deletableboolean是否可删除
identifierstring标识符
entitiesarray设备的实体列表
entities.$object实体列表项
entities.$.idstring实体id
entities.$.keystring实体key
entities.$.namestring名称
entities.$.typestring实体类型
entities.$.value_attributeobject实体属性
entities.$.value_typestring实体值类型

返回示例

成功

{
"data": {
"id": "",
"key": "",
"name": "",
"integration": "",
"additional_data": {
"": {}
},
"created_at": 0,
"updated_at": 0,
"integration_name": "",
"deletable": false,
"identifier": "",
"entities": [
{
"id": "",
"key": "",
"name": "",
"type": "",
"value_attribute": {
"": {}
},
"value_type": ""
}
]
}
}

POST 批量删除设备

POST /device/batch-delete

请求参数

名称位置类型必选说明
device_id_listbodyarray请求删除的设备id列表
device_id_list.$bodystring设备id

Body 请求参数

{
"device_id_list": [
"string"
]
}

返回结果

返回示例

成功

{}

实体

POST 实体查询

POST /entity/search

请求参数

名称位置类型必选说明
bodybodyObjectnone

Body 请求参数

{
"keyword": "string",
"entity_type": "Array[PROPERTY, SERVICE, EVENT]",
"exclude_children": "Boolean",
"entity_value_type": "Array[STRING, LONG, DOUBLE, BOOLEAN, BINARY, OBJECT]",
"entity_access_mod": "Array[R, W, RW]"
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object
» entity_idstringnonenone
» entity_namestringnonenone
» entity_typestringnonenone
» entity_value_typestringnonenone
» entity_value_attributeobjectnonenone
» entity_access_modstringnonenone
» entity_keystringnonenone
» device_namestringnonenone
» integration_namestringnonenone

返回示例 成功

{
"data": {
"device_name": "String",
"integration_name": "String",
"entity_id": "String",
"entity_access_mod": "String",
"entity_key": "String",
"entity_name": "String",
"entity_type": "String",
"entity_value_attribute": {},
"entity_value_type": "String"
}
}

GET 获取子实体

GET /entity/{entity_id}/children

请求参数

名称位置类型必选说明
entity_idpathstringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object
dataArraynoneArray
» entity_idstringnonenone
» entity_namestringnonenone
» entity_typestringnonenone
» entity_value_typestringnonenone
» entity_value_attributeobjectnonenone
» entity_access_modstringnonenone
» integration_namestringnonenone
» device_namestringnonenone
» entity_keystringnonenone

返回示例

成功

{
"data": [
{
"device_name": "",
"integration_name": "",
"entity_id": "",
"entity_access_mod": "",
"entity_key": "",
"entity_type": "",
"entity_name": "",
"entity_value_attribute": {
"": {}
},
"entity_value_type": ""
}
]
}

POST 历史数据查询

POST /entity/history/search

请求参数

名称位置类型必选说明
bodybodyObjectnone

Body 请求参数

{
"entity_id": 0,
"start_timestamp": 0,
"end_timestamp": 0
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object
» timestampintegernonenone
» valueobjectnonenone
» value_typestringnonenone

返回示例 成功

{
"timestamp": 0,
"value": "Object",
"value_type": "String[STRING, LONG, DOUBLE, BOOLEAN, BINARY, OBJECT]"
}

POST 历史数据聚合查询

POST /entity/history/aggregate

请求参数

名称位置类型必选说明
bodybodyObjectnone

Body 请求参数

{
"entity_id": 0,
"aggregate_type": "LAST",
"start_timestamp": 0,
"end_timestamp": 0
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object
» valueobjectnonenone
» value_typestringnonenone
» count_resultArraynoneArray
»» valueobjectnonenone
»» value_typestringnonenone
»» countintegernonenone

返回示例

成功

{
"data":{
"value": {},
"value_type": "",
"count_result": [
{
"value": {},
"value_type": "",
"count": 0
}
]
}
}

GET 获取实体当前最新值

GET /entity/{entity_id}/status

请求参数

名称位置类型必选说明
entity_idpathstringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object
» valueobjectnonenone
» updated_atstringnonenone
» value_typestringnonenone

返回示例

成功

{
"data":{
"value": {},
"updated_at": "",
"value_type": ""
}
}

GET 获取实体元数据信息

GET /entity/{entity_id}/meta

请求参数

名称位置类型必选说明
entity_idpathstringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object
» keystringnonenone
» namestringnonenone
» typestringnonenone
» access_modstringnonenone
» value_attributeobjectnonenone
» value_typestringnonenone

返回示例

成功

{
"data":{
"key": "",
"name": "",
"type": "",
"access_mod": "",
"value_attribute": {
"": {}
},
"value_type": ""
}
}

Dashboard

POST 创建Dashboard

POST /dashboard

请求参数

名称位置类型必选说明
bodybodyObjectnone
» namebodystringnone

Body 请求参数

{
"name": "string"
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{
"dashboard_id": ""
}
}

PUT 更新Dashboard

PUT /dashboard/{dashboard_id}

请求参数

名称位置类型必选说明
dashboard_idpathstringnone
bodybodyObjectnone
» namebodystringnone
» widgetsbodyArraynone
»» widget_idbodystringnone
»» databodyObjectnone

Body 请求参数

{
"name": "string",
"widgets": [
{
"widget_id": "string",
"data": {
}
}
]
}

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{

}
}

DELETE 删除Dashboard

DELETE /dashboard/{dashboard_id}

请求参数

名称位置类型必选说明
dashboard_idpathstringnone

返回结果

状态码状态码含义说明数据模型
200OK成功Object

返回示例

成功

{
"data":{

}
}

GET 获取所有Dashboards

GET /dashboard/dashboards

返回结果

状态码状态码含义说明数据模型
200OK成功Object
dataArraynoneArray
» dashboard_idstringnoneString
» user_idstringnoneString
» namestringnoneString
» widgetsArraynoneArray
»» widget_idstringnoneString
»» dataObjectnoneObject
» created_atstringnoneString

返回示例

成功

{
"data": [
{
"dashboard_id": "",
"user_id":"",
"name": "",
"widgets": [
{
"widget_id": "",
"data": {
"": {}
}
}
],
"created_at": ""
}
]
}

WebSocket

WebSocket连接地址为:ws://{host}:{port}/websocket

请求参数

名称位置类型必选说明
Authorizationquerystringnone

工作流

POST 查询工作流

POST /workflow/flows/search

请求参数

名称位置类型必选说明
namebodystring搜索名称

返回结果

字段名字段类型说明
idstring流程id
namestring流程名称
remarkstring流程描述
enabledboolean流程是否启用
user_nicknamestring用户名称
created_atnumber创建时间戳
updated_atnumber修改时间戳

返回示例

成功

{
"data": {
"id": "",
"name": "",
"remark": "",
"enabled": false,
"user_nickname": "",
"created_at": 0,
"updated_at": 0
}
}

PUT 编辑工作流基本信息

PUT /workflow/flows/{flowId}

请求参数

名称位置类型必选说明
flowIdpathstring流程id
namebodystring流程名称
remarkbodystring流程描述

返回结果

POST 删除工作流

POST /workflow/flows/batch-delete

请求参数

名称位置类型必选说明
workflow_id_listbodyarray of strings流程id列表

返回结果

GET 启用工作流

GET /workflow/flows/{flowId}/enable

请求参数

名称位置类型必选说明
flowIdpathstring流程id

返回结果

GET 禁用工作流

GET /workflow/flows/{flowId}/disable

请求参数

名称位置类型必选说明
flowIdpathstring流程id

返回结果

POST 查询工作流日志

POST /workflow/flows/{flowId}/logs/search

请求参数

名称位置类型必选说明
flowIdpathstring流程id
statusbodystring状态 SUCCESS / ERROR

返回结果

字段名字段类型说明
idstring日志id
start_timenumber开始时间戳
time_costnumber耗时(ms)
statusstring状态 SUCCESS / ERROR

返回示例

成功

{
"data": [
{
"id": "",
"start_time": 0,
"time_cost": 0,
"status": "SUCCESS"
}
]
}

GET 查询日志详细信息

GET /workflow/flows/logs/{logId}

请求参数

名称位置类型必选说明
logIdpathstring日志id

返回结果

字段名字段类型说明
trace_infoarray节点跟踪信息
trace_info.$object节点跟踪信息项
trace_info.$.message_idstring消息id
trace_info.$.node_idstring节点id
trace_info.$.node_labelstring节点标签
trace_info.$.statusstring状态 SUCCESS / ERROR
trace_info.$.start_timenumber节点开始时间戳
trace_info.$.time_costnumber节点耗时(ms)
trace_info.$.error_messagestring错误信息
trace_info.$.inputstring输入参数(JSON格式字符串)
trace_info.$.outputstring输出(JSON格式字符串)

返回示例

成功

{
"data": {
"trace_info": [
{
"message_id": "",
"node_id": "",
"node_label": "",
"status": "SUCCESS",
"start_time": 0,
"time_cost": 0,
"error_message": "",
"input": "",
"output": ""
}
]
}
}

GET 获取流程设计

GET /workflow/flows/{flowId}/design?version={versionId}

请求参数

名称位置类型必选说明
flowIdpathstring流程id
versionIdquerystring版本id,不传表示获取最新版本

返回结果

字段名字段类型说明
idstring流程id
namestring流程名称
remarkstring流程描述
enabledboolean流程是否启用
versionnumber流程版本
design_datastring流程数据(JSON格式字符串)

返回示例

成功

{
"data": {
"id": "",
"name": "",
"remark": "",
"enabled": false,
"version": 0,
"design_data": ""
}
}

POST 校验工作流设计

POST /workflow/flows/design/validate

请求参数

名称位置类型必选说明
design_databodystring流程数据(JSON格式字符串)

返回结果

POST 保存流程设计

POST /workflow/flows/design

请求参数

名称位置类型必选说明
idbodystring流程id,不传入表示新建
versionbodynumber当前版本
namebodystring流程名称
enabledbodyboolean是否启用
remarkbodystring流程描述
design_databodystring流程数据(JSON格式字符串)
信息

如果id和version不传入,表示新建一个流程,否则表示更新流程id对应的数据。

也就是说,在用户新建一个流程并且保存后,页面应当存下这个接口返回的id和version。用户若在当前页面多次点击保存,每次调用都需要使用到上一次调用返回的id和version。

返回结果

字段名字段类型说明
idstring流程id
versionnumber当前版本

返回示例

成功

{
"data": {
"id": "",
"version": 0
}
}

POST 工作流整体测试

POST /workflow/flows/test

请求参数

名称位置类型必选说明
inputbodyobject输入参数
design_databodystring流程数据(JSON格式字符串)

返回结果

字段名字段类型说明
statusstring状态 SUCCESS / ERROR
flow_idstring流程id
start_timenumber开始时间戳
time_costnumber耗时(ms)
trace_infosarray节点跟踪信息
trace_infos.$object节点跟踪信息项
trace_infos.$.message_idstring消息id
trace_infos.$.node_idstring节点id
trace_infos.$.node_labelstring节点标签
trace_infos.$.statusstring状态 SUCCESS / ERROR
trace_infos.$.start_timenumber节点开始时间戳
trace_infos.$.time_costnumber节点耗时(ms)
trace_infos.$.error_messagestring错误信息
trace_infos.$.inputstring输入参数(JSON格式字符串)
trace_infos.$.outputstring输出(JSON格式字符串)

返回示例

成功

{
"data": {
"status": "SUCCESS",
"flow_id": "",
"start_time": 0,
"time_cost": 0,
"trace_infos": [
{
"message_id": "",
"node_id": "",
"node_label": "",
"status": "SUCCESS",
"start_time": 0,
"time_cost": 0,
"error_message": "",
"input": "",
"output": ""
}
]
}
}

POST 工作流单节点测试

POST /workflow/flows/node/test

请求参数

名称位置类型必选说明
node_configbodystring节点数据(JSON格式字符串)
inputbodyobject传入参数

返回结果

字段名字段类型说明
message_idstring消息id
node_idstring节点id
node_labelstring节点标签
statusstring状态 SUCCESS / ERROR
start_timenumber节点开始时间戳
time_costnumber节点耗时(ms)
error_messagestring错误信息
inputstring输入参数(JSON格式字符串)
outputstring输出(JSON格式字符串)

返回示例

成功

{
"data": {
"message_id": "",
"node_id": "",
"node_label": "",
"status": "SUCCESS",
"start_time": 0,
"time_cost": 0,
"error_message": "",
"input": "",
"output": ""
}
}

GET 返回工作流所有分组

GET /workflow/components

请求参数

返回结果

字段名字段类型说明
[section_name]array某组节点
[section_name].$object节点项
[section_name].$.namestring节点名称
[section_name].$.titlestring节点标题
[section_name].$.datastring节点定义数据

返回示例

成功

{
"data": {
"entry": [
{
"name": "timer",
"title": "timer",
"data": ""
},
{
"name": "direct",
"title": "input",
"data": ""
},
{
"name": "eventListener",
"title": "Event Listener",
"data": ""
}
],
"control": [
{
"name": "choice",
"title": "IF/ELSE",
"data": ""
}
],
"action": [
{
"name": "serviceInvocation",
"title": "Service Invocation",
"data": ""
},
{
"name": "entityAssigner",
"title": "Entity Assigner",
"data": ""
}
],
"external": [
{
"name": "email",
"title": "Email",
"data": ""
},
{
"name": "webhook",
"title": "Webhook",
"data": ""
}
]
}
}

GET 获取工作流组件数据

GET /workflow/components/{componentName}

请求参数

名称位置类型必选说明
componentNamepathstring工作流组件名称

返回结果

字段名字段类型说明
/string工作流组件数据

返回示例

成功

{
"component": {
"name": "timer",
"description": "Generate messages in specified intervals using java.util.Timer.",
"scheme": "timer",
"syntax":"timer:timerName"
// ...
},
"componentProperties":{/*...*/},
"headers":{
"CamelTimerFiredTime":{/*...*/}
// ...
},
"properties":{
"timerName": { "index": 0, "kind": "path", "displayName": "Timer Name", "group": "consumer", "label": "", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The name of the timer" },
// ...
}
}

GET 获取支持的脚本语言

GET /workflow/components/languages

请求参数

返回结果

字段名字段类型说明
codearray脚本编程语言
code.$string语言项
expressionarray表达式编程语言
expression.$string语言项

返回示例

成功

{
"code": ["groovy","javascript","python","mvel"],
"expression": ["groovy","javascript","python","mvel","jsonPath"]
}