REST API文档
菜单管理
主菜单
菜单信息说明如下:
参数 | 说明 |
---|---|
k | 菜单名称 |
v | 菜单值 |
leaf_flag | |
sort | 排序 |
获取菜单列表
请求 URL:
/api/system_modules
返回所有主菜单请求 URL:
/api/system_modules/$id
返回指定 ID 的菜单信息请求方式:
GET
返回值: 费率 JSON 对象,如果找不到会返回 HTTP 状态码
404
。curl 示例:
curl -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" http://192.168.1.100:8081/api/system_modules
- 返回值:
[ { "sort": 2, "module_no": "", "module_id": 6, "created_by": "system", "description": "", "updated_at": "2023-03-23 06:25:24", "created_at": "2023-03-23 06:25:24", "leaf_flag": 1, "v": "SMENUS_SYSTEM_SETTINGS", "id": 8, "level": 1, "k": "System", "icon": "ProfileOutlined" }, { "sort": 6, "module_no": "", "module_id": 6, "created_by": "system", "description": "", "updated_at": "2023-03-23 06:25:24", "created_at": "2023-03-23 06:25:24", "leaf_flag": 1, "v": "SMENUS_Modules", "id": 12, "level": 1, "k": "Modules Configuration", "icon": "DatabaseOutlined" }, { "sort": 2, "module_no": "2", "module_id": 0, "created_by": "system", "description": "", "updated_at": "2023-03-23 06:25:24", "created_at": "2023-03-23 06:25:24", "leaf_flag": 1, "v": "SMENUS_CALL", "id": 2, "level": 0, "k": "Call", "icon": "PhoneOutlined" }, ... { "sort": 9, "module_no": "13", "module_id": 0, "created_by": "system", "description": "", "updated_at": "2023-03-23 06:25:24", "created_at": "2023-03-23 06:25:24", "leaf_flag": 1, "v": "SMENUS_SYSTEM_STATUS", "id": 13, "level": 0, "k": "Status", "icon": "ProfileOutlined" } ]
获取所有菜单
- 请求 URL:
/api/system_modules/build_module_tree
- 请求方式:
GET
- 消息头:
Content-Type: application/json
- Body 信息: 无
- 返回示例:
[ { "id": "1", "leaf_flag": "1", "k": "User", "module_no": "1", "v": "SMENUS_USERS", "icon": "UserOutlined", "description": "", "spaces": "", "module_id": "", "sort": "1", "level": "0" }, { "id": "13", "leaf_flag": "1", "k": "Security", "module_no": "", "v": "SMENUS_SYSTEM_SAFE", "icon": "SafetyOutlined", "description": "", "spaces": "", "module_id": "", "sort": "2", "level": "0" }, { "id": "2", "leaf_flag": "1", "k": "Call", "module_no": "2", "v": "SMENUS_CALL", "icon": "PhoneOutlined", "description": "", "spaces": "", "module_id": "", "sort": "2", "level": "0" } ... ]
获取未关联主菜单的数据
- 请求 URL:
/api/system_modules/remain_root_modules
- 请求方式:
GET
- 消息头:
Content-Type: application/json
- Body 信息: 无
- 返回示例:
[]
获取指定领域下未关联的子菜单数据
- 请求 URL:
/api/system_modules/remain_sub_modules/:realm
- 请求方式:
GET
- 消息头:
Content-Type: application/json
- Body 信息: 无
- 示例:
GET /api/system_modules/remain_sub_modules/REALMS
- 返回示例:
[ { "k": "XUI", "d": "XUI相关的配置顶", "v": "XUI Params", "realm": "REALMS", "id": "2" }, { "k": "USERTYPE", "d": "用户类型", "v": "User Type", "realm": "REALMS", "id": "3" } ... ]
创建主菜单
- 请求 URL:
/api/system_modules
- 请求方式:
POST
- 消息头:
Content-Type: application/json
- Body 信息:
{ "module_no": "1", "k": "XUI", "v": "XUI Params", "description": "XUI相关的配置顶", "sort": "1", "icon": "SettingOutlined" }
curl 示例:
POST /api/system_modules
返回示例:
{ "message": "success", "data": 16, "code": 200 }
删除主菜单
请求 URL:
/api/system_modules/:id
请求方式:
DELETE
消息头:
Content-Type: application/json
Body 信息: 无
curl 示例:
DELETE /api/system_modules/16
返回示例:
{ "message": "success", "code": 200, "data": "16" }
修改主菜单
- 请求 URL:
/api/system_modules/$id
- 请求方式:
PUT
- 消息头:
Content-Type: application/json
- Body 信息:
{ "sort": "2" }
- curl 示例:
curl -XPUT -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" \ -H "Content-Type: application/json" \ -d '{"sort": "2"}' \ http://192.168.1.100:8081/api/system_modules/1
- 返回值:
{ "code": 200, "data": "1", "message": "success" }
子菜单
菜单信息说明如下:
参数 | 说明 |
---|---|
k | 子菜单名称 |
status_flag | 子菜单状态,0-无效 1-有效 |
url | 菜单路径 |
mod_id | 所属模块 ID |
获取所有子菜单
请求 URL:
/api/system_menus
返回所有子菜单请求 URL:
/api/system_menus/$id
返回指定 ID 的子菜单信息请求方式:
GET
返回值: 如果找不到会返回 HTTP 状态码
404
。curl 示例:
curl -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" http://192.168.1.100:8081/api/system_menus
- 返回值:
{ "data": [ { "enable_shortcut": "1", "k": "CDRs", "description": "", "id": "31", "mod_id": "5", "sort": "1", "status_flag": "1", "module_id": "5", "url": "/settings/cdrs", "created_at": "2023-03-23 06:25:24", "icon": "NumberOutlined", "mod_k": "CDR" }, ... { "enable_shortcut": "0", "k": "Call Limit Group", "description": "", "id": "14", "mod_id": "2", "sort": "14", "status_flag": "1", "module_id": "2", "url": "/settings/call_limit_groups", "created_at": "2023-03-23 06:25:24", "icon": "HddOutlined", "mod_k": "Call" } ] }
修改子菜单
- 请求 URL:
/api/system_menus/$id
- 请求方式:
PUT
- 消息头:
Content-Type: application/json
- Body 信息:
{ "sort": "2", "status_flag": "0" }
- curl 示例:
curl -XPUT -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" \ -H "Content-Type: application/json" \ -d '{"sort": "2","status_flag": "0"}' \ http://192.168.1.100:8081/api/system_menus/1
- 返回值:
{ "code": 200, "data": "1", "message": "success" }
获取所有属于指定域的子菜单
请求 URL:
/api/system_menus/remain_module_menus/:module_v
请求方式:
GET
消息头: 无
示例:
GET /api/system_menus/remain_module_menus/REALMS
返回值:
[ { "v": "/settings/departments", "id": "55", "realm": "REALMS", "d": "", "k": "/settings/departments" }, { "v": "/settings/aliyun", "id": "70", "realm": "REALMS", "d": "", "k": "/settings/aliyun" }, { "v": "/settings/devices", "id": "76", "realm": "REALMS", "d": "", "k": "/settings/devices" }, { "v": "/settings/bill_rates", "id": "84", "realm": "REALMS", "d": "", "k": "/settings/bill_rates" }, { "v": "/settings/mcasts", "id": "87", "realm": "REALMS", "d": "", "k": "/settings/mcasts" } ]
获取所有子菜单
请求 URL:
/api/system_menus/module_menus/:module_id
请求方式:
GET
消息头: 无
示例:
GET /api/system_menus/module_menus/1
返回值:
[ { "created_by": "system", "updated_at": "2025-08-19 08:52:11", "created_at": "2025-08-19 08:52:11", "sort": 1, "enable_shortcut": 0, "status_flag": 1, "icon": "UserOutlined", "description": "", "module_id": 1, "k": "Users", "id": 29, "url": "/settings/users" }, { "created_by": "system", "updated_at": "2025-08-19 08:52:11", "created_at": "2025-08-19 08:52:11", "sort": 2, "enable_shortcut": 0, "status_flag": 1, "icon": "UserOutlined", "description": "", "module_id": 1, "k": "Extensions", "id": 30, "url": "/settings/extensions" } ... ]
获取子菜单的详细信息
请求 URL:
/api/system_menus/:id
请求方式:
GET
消息头: 无
示例:
GET /api/system_menus/1
返回值:
{ "mod_k": "Call", "id": "1", "url": "/settings/routes", "status_flag": "1", "sort": "1", "module_id": "2", "mod_id": "2", "created_at": "2025-08-19 08:52:11", "description": "", "k": "Routes" }
创建子菜单
- 请求 URL:
/api/system_menus
- 请求方式:
POST
- 消息头: 无
- 示例:
POST /api/system_menus
- Body 信息: 对象,包含子菜单的详细信息
{ "module_id": "2", "system_menus": [ { "menu": { "k": "TEXT1", "v": "/settings/text1" } }, { "menu": { "k": "TEXT2", "v": "/settings/text2" } } ] }
- 返回值:
[]
删除子菜单
请求 URL:
/api/system_menus/$id
请求方式:
DELETE
消息头: 无
返回值: 对象,包含被删除的 ID
示例:
curl 示例:
curl -0 -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" -XDELETE "192.168.1.100:8081/api/system_menus/1"
返回:
{ "code": 200, "message": "success", "data": "1" }
获取菜单按钮列表
按照realm获取菜单按钮列表
- 请求 URL:
/api/system_buttons/remain_menu_buttons/realm?realm=REALMS
- 请求方式:
GET
- 消息头: 无
- 返回值: 数组,包含菜单按钮的详细信息
- 示例:
GET /api/system_buttons/remain_menu_buttons/REALMS?realm=REALMS
- 返回值:
[ { "v": "XUI Params", "d": "XUI相关的配置顶", "id": "2", "k": "XUI", "realm": "REALMS" }, { "v": "User Type", "d": "用户类型", "id": "3", "k": "USERTYPE", "realm": "REALMS" } ... ]
获取子菜单下的全部菜单按钮详情
- 请求 URL:
/api/system_buttons/menu_buttons/:menu_id
- 请求方式:
GET
- 消息头: 无
- 返回值: 对象,包含菜单按钮的详细信息
- 示例:
GET /api/system_buttons/menu_buttons/1
- 返回值:
[ { "updated_at": "2025-08-19 08:52:11", "created_by": "system", "button_no": "routes_new", "status_flag": 1, "description": "", "k": "New Route", "created_at": "2025-08-19 08:52:11", "id": 30, "menu_id": 1 }, { "updated_at": "2025-08-19 08:52:11", "created_by": "system", "button_no": "routes_get", "status_flag": 1, "description": "", "k": "Get Route", "created_at": "2025-08-19 08:52:11", "id": 31, "menu_id": 1 } ... ]
创建菜单按钮
- 请求 URL:
/api/system_buttons
- 请求方式:
POST
- 消息头: 无
- 示例:
POST /api/system_buttons
- Body 信息:
{ "menu_id": "2", "system_buttons": [ { "button": { "k": "TEXT1", "v": "gateways_text1" } }, { "button": { "k": "TEXT2", "v": "gateways_text2" } } ] }
- 返回值:
[]
删除子菜单和菜单下的全部菜单按钮
- 请求 URL:
/api/system_buttons/menu_buttons/:menu_id
- 请求方式:
DELETE
- 消息头: 无
- 示例:
DELETE /api/system_buttons/menu_buttons/1
- 返回值:
[]
删除子菜单下指定菜单按钮
请求 URL:
/api/system_buttons/$id
请求方式:
DELETE
消息头: 无
返回值: 对象,包含被删除的 ID
示例:
curl 示例:
curl -0 -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" -XDELETE "192.168.1.100:8081/api/system_buttons/300"
返回:
{ "code": 200, "message": "success", "data": "300" }
根据ID获取菜单按钮详情
- 请求 URL:
/api/system_buttons/:id
- 请求方式:
GET
- 消息头: 无
- 返回值: 对象,包含菜单按钮的详细信息
- 示例:
GET /api/system_buttons/2
- 返回值:
{ "description": "", "k": "Get User", "button_no": "users_get", "status_flag": 1, "updated_at": "2025-08-19 08:52:11", "created_by": "system", "menu_id": 29, "created_at": "2025-08-19 08:52:11", "id": 2 }