REST API文档

维护

操作日志

操作日志查询支持按时间、操作员、资源、动作等精确查询。

请求参数说明:

参数说明
page查询哪页数据
perPage每页查询条数
operator按操作员查询
resource按资源查询
action按动作查询
startDate按起始时间查询

返回参数说明:

参数说明
page当前页
pageCount总页数
rowCount返回总数
resource资源
user_id操作用户 ID
source_ip来源 IP
message操作信息
user_name操作用户名称
action操作动作
summary摘要

获取系统操作日志

  • 请求 URL/api/logs

  • 请求 URL/api/logs?page=1&perPage=500&operator=Admin

  • 请求方式GET

  • 参数: 参考上述参数说明

  • 返回系统操作日志(示例)

{
	"page": 1,
	"pageCount": 4,
    "rowCount": 637,
    "data": [
        {
            "id": "11",
            "resource": "XUI",
            "source_ip": "192.168.65.1",
            "user_id": "0",
            "message": "{\"DEVER\": \"1.11.44\"}",
            "summary": "1.11.44",
            "action": "UPDATE",
            "user_name": "SYSTEM",
            "created_at": "2020-08-03 11:25:18"
        },
        {
            "id": "10",
            "resource": "XUI",
            "source_ip": "192.168.65.1",
            "user_id": "0",
            "message": "{\"DEVER\": \"1.11.43\"}",
            "summary": "1.11.43",
            "action": "UPDATE",
            "user_name": "SYSTEM",
            "created_at": "2020-08-03 11:25:17"
        }
		...
    ]
}

按照条件查询操作日志

对于按照按时间、操作员、资源、动作等查询,查询方式一致,仅对URL 进行调整:

  • 操作员:/api/logs?page=1&perPage=500&operator=1000
  • 资源:/api/logs?page=1&perPage=500&operator=1000
  • 动作:/api/logs?page=1&perPage=500&action=POST
  • 查询时间:/api/logs?page=1&perPage=500&startDate=2025-09-04%2009:44:16

下面以“按动作查询”为例:

  • 请求 URL/api/logs?page=1&perPage=500&action=DELETE

  • 请求方式GET

  • 返回值: code(200 即为正常),msg

  • 参数: 参考上述参数说明

  • 返回系统操作日志(示例)

{
	"pageCount":	1,
	"data":	[{
			"action":	"DELETE",
			"id":	"98",
			"message":	"",
			"created_at":	"2025-09-03 09:45:12",
			"resource":	"/ais/2",
			"user_id":	"1",
			"user_name":	"Admin",
			"summary":	"",
			"source_ip":	"192.168.0.197"
		}, {
			"action":	"DELETE",
			"id":	"97",
			"message":	"",
			"created_at":	"2025-09-03 09:44:19",
			"resource":	"/ais/2/settings/3589",
			"user_id":	"1",
			"user_name":	"Admin",
			"summary":	"",
			"source_ip":	"192.168.0.197"  
        }
        ...
    ],
	"rowCount":	16,
	"page":	1
}

导出操作日志

  • 请求 URL/api/logs/download
  • 请求 URL/api/logs/download?page=1&perPage=500
  • 请求方式GET
  • 返回系统操作日志(示例)
[
    [
        "ID",
        "操作员",
        "动作",
        "资源",
        "摘要",
        "创建时间",
        "来源IP",
        "详细信息"
    ],
    [
        1,
        "SYSTEM",
        "",
        "XUI",
        "insert_conference_number1",
        "2025-09-03 01:42:50",
        "",
        "{\"DETAIL\": \"insert into conference_number1 from 7000000 to 7099999\"}"
    ]
    ...
]

系统日志

查看系统日志

  • 请求 URL/api/logfile_profiles
  • 请求方式GET
  • 返回系统日志(示例)
[
    {
		"created_at":	"2025-09-03 01:42:52",
		"updated_at":	"2025-09-03 01:42:52",
		"id":	1,
		"disabled":	0,
		"deleted_at":	"",
		"name":	"default",
		"description":	"default"
	}
]

查看指定系统日志

  • 请求 URL/api/logfile_profiles/:id
  • 请求方式GET
  • 返回系统日志(示例)
{
	"name":	"text1",
	"disabled":	0,
	"params":	[{
			"k":	"logfile",
			"disabled":	0,
			"created_at":	"2025-09-04 02:07:15",
			"updated_at":	"2025-09-04 02:38:09",
			"ref_id":	2,
			"deleted_at":	"",
			"id":	3595,
			"realm":	"LOGFILE-PARAMS",
			"v":	"/var/log/freeswitch.log"
		}...],
	"created_at":	"2025-09-04 02:07:15",
	"maps":	[{
			"k":	"all",
			"disabled":	0,
			"created_at":	"2025-09-04 02:07:15",
			"updated_at":	"2025-09-04 02:07:15",
			"ref_id":	2,
			"deleted_at":	"",
			"id":	3593,
			"realm":	"LOGFILE-MAPS",
			"v":	"console,debug,info,notice,warning,err,crit,alert"
		}],
	"updated_at":	"2025-09-04 02:07:15",
	"id":	2,
	"deleted_at":	"",
	"description":	"default"
}

新建系统日志

  • 请求 URL/api/logfile_profiles
  • 请求方式POST
  • 请求参数
参数名类型必填描述
namestring系统日志名称
descriptionstring系统日志描述
templatestring系统日志模板
  • Body 信息
{
    "name": "text",
    "description": "text",
    "template": "default"
}
  • 返回系统日志(示例)
{
	"data":	2,
	"message":	"success",
	"code":	200
}

修改系统日志启用状态

  • 请求 URL/api/logfile_profiles/:id
  • 请求方式PUT
  • 请求参数
参数名类型必填描述
disabledint系统日志启用状态
  • Body 信息
{
    "disabled": 0
}
  • 返回系统日志(示例)
{
	"data":	2,
	"message":	"success",
	"code":	200
}

修改系统日志

  • 请求 URL/api/logfile_profiles/:id
  • 请求方式PUT
  • 请求参数
参数名类型必填描述
namestring系统日志名称
descriptionstring系统日志描述
idint系统日志 ID
  • Body 信息
{
    "name": "text",
    "description": "text",
    "id": 2
}
  • 返回系统日志(示例)
{
	"data":	2,
	"message":	"success",
	"code":	200
}

新建指定系统日志 Param 参数

  • 请求 URL/api/logfile_profiles/:id/param
  • 请求方式POST
  • 请求参数
参数名类型必填描述
kstring系统日志参数
vstring系统日志参数值
  • Body 信息
{
    "k": "text",
    "v": "text",
}
  • 返回系统日志(示例)
{
	"code":	200,
	"message":	"success",
	"data":	3599
}

新建指定系统日志 Map 参数

  • 请求 URL/api/logfile_profiles/:id/map
  • 请求方式POST
  • 请求参数
参数名类型必填描述
idint系统日志 ID
kstring系统日志参数
vstring系统日志参数值
  • Body 信息
{
    "k":"text",
    "v":"text"
}
  • 返回系统日志(示例)
{
	"message":	"success",
	"data":	3602,
	"code":	200
}

修改指定系统日志指定参数

  • 请求 URL/api/logfile_profiles/:id/params/:param_id
  • 请求方式PUT
  • 请求参数
参数名类型必填描述
idint系统日志 ID
param_idint系统日志参数 ID
  • Body 信息
{
    "k": "text",
    "v": "text",
}
  • 返回系统日志(示例)
{
	"code":	200,
	"message":	"success",
	"data":	3599
}

修改指定系统日志指定参数启用状态

  • 请求 URL/api/logfile_profiles/:id/params/:param_id
  • 请求方式PUT
  • 请求参数
参数名类型必填描述
idint系统日志 ID
param_idint系统日志参数 ID
  • Body 信息
{
    "k":"text",
    "v":"text11",
    "action":"toggle"
}
  • 返回系统日志(示例)
{
	"message":	"success",
	"data":	"3601",
	"code":	200
}

删除指定系统日志指定参数

  • 请求 URL/api/logfile_profiles/:id/params/:param_id
  • 请求方式DELETE
  • 请求参数
参数名类型必填描述
idint系统日志 ID
param_idint系统日志参数 ID
  • Body 信息:无
  • 返回系统日志(示例)
{
	"code":	200,
	"message":	"success",
	"data":	3599
}

查看系统日志 Setting 参数

  • 请求 URL/api/logfile_profiles/settings
  • 请求方式GET
  • 返回系统日志(示例)
[
    {
		"v":	"true",
		"disabled":	0,
		"deleted_at":	"",
		"k":	"rotate-on-hup",
		"created_at":	"2025-09-03 01:42:54",
		"realm":	"LOGFILE-SETTINGS",
		"updated_at":	"2025-09-03 01:42:54",
		"id":	2516,
		"ref_id":	0
	}
]

新建系统日志 Setting 参数

  • 请求 URL/api/logfile_profiles/setting
  • 请求方式POST
  • 请求参数
参数名类型必填描述
kstring系统日志参数
vstring系统日志参数值
realmstring系统日志参数域
  • Body 信息
{
    "k": "text",
    "v": "text",
    "realm": "UNIMRCP-SETTINGS"
}
  • 返回系统日志(示例)
{
	"id":	3598
}

修改系统日志 Setting 参数

  • 请求 URL/api/logfile_profiles/setting/:id
  • 请求方式PUT
  • 请求参数
参数名类型必填描述
idintSetting 参数 ID
kstring系统日志参数
vstring系统日志参数值
  • Body 信息
{
    "k": "text",
    "v": "text"
}
  • 返回系统日志(示例)
{
	"code":	200,
	"message":	"success",
	"data":	"3598"
}

修改系统日志 Setting 参数启用状态

  • 请求 URL/api/logfile_profiles/setting/:id
  • 请求方式PUT
  • 请求参数
参数名类型必填描述
idintSetting 参数 ID
actionstring系统日志参数启用状态
  • Body 信息
{
    "action": "toggle"
}
  • 返回系统日志(示例)
{
	"code":	200,
	"message":	"success",
	"data":	"2516"
}

删除系统日志 Setting 参数

  • 请求 URL/api/logfile_profiles/setting/:id
  • 请求方式DELETE
  • 请求参数
参数名类型必填描述
idintSetting 参数 ID
  • 返回系统日志(示例)
{
	"message":	"success",
	"data":	"{}",
	"code":	200
}

删除系统日志

  • 请求 URL/api/logfile_profiles/:id
  • 请求方式DELETE
  • 请求参数
参数名类型必填描述
idint系统日志 ID
  • 返回系统日志(示例)
{
	"message":	"success",
	"data":	"2",
	"code":	200
}

故障诊断

抓取指定包

  • 请求 URL/api/tcpdump
  • 请求方式POST
  • 请求参数
参数名类型必填描述
dst_ipstring目标 IP
dst_portint目标端口
src_ipstring源 IP
src_portint源端口
protostring抓包协议
  • Body 信息
{
    "src_ip":"192.168.0.198",
    "dst_ip":"192.168.0.197",
    "src_port":"8081",
    "dst_port":"8081",
    "proto":"udp"
}
  • 返回值
{
	"message":	"success",
	"code":	200,
	"data":	206
}

抓取全部包

  • 请求 URL/api/tcpdump
  • 请求方式POST
  • 请求参数:无
  • Body 信息
{}
  • 返回值
{
	"message":	"success",
	"code":	200,
	"data":	207
}

生成抓包文件

  • 请求 URL/api/media_files/:pid
  • 请求方式GET
  • 请求参数
参数名类型必填描述
pidint抓包 ID
  • 返回值
{
	"original_file_name":	"",
	"id":	207,
	"geo_position":	"",
	"mime":	"",
	"name":	"2025-09-04-11-20.pcap",
	"dir_path":	"/usr/local/freeswitch/storage/upload/",
	"rel_path":	"2025-09-04-11-20.pcap",
	"ext":	"pcap",
	"meta":	"",
	"abs_path":	"/usr/local/freeswitch/storage/upload/2025-09-04-11-20.pcap",
	"updated_at":	"2025-09-04 03:20:25",
	"description":	"Auto Backup",
	"deleted_at":	"",
	"created_at":	"2025-09-04 03:20:25",
	"channel_uuid":	"",
	"thumb_path":	"",
	"processing_flag":	0,
	"type":	"UPLOAD",
	"file_name":	"",
	"domain":	""
}

停止抓包并下载

  • 请求 URL/api/tcpdump
  • 请求方式POST
  • 请求参数
参数名类型必填描述
pidint抓包 ID
  • Body 信息
{
    "pid": 208
}
  • 返回值
{
	"message":	"success",
	"code":	200,
	"data":	208
}

IP PING

  • 请求 URL/api/ping
  • 请求方式POST
  • 请求参数
参数名类型必填描述
ipstringIP 地址
  • Body 信息
{
   "ip": "192.168.0.198"
}
  • 返回值
: hello 2025-09-04 13:37:29

: ping -c 3 192.168.0.198

ERROR: ld.so: object '/usr/local/lib/libxvad.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
PING 192.168.0.198 (192.168.0.198) 56(84) bytes of data.
64 bytes from 192.168.0.198: icmp_seq=1 ttl=64 time=2.27 ms
64 bytes from 192.168.0.198: icmp_seq=2 ttl=64 time=0.063 ms
64 bytes from 192.168.0.198: icmp_seq=3 ttl=64 time=0.066 ms

--- 192.168.0.198 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2021ms
rtt min/avg/max/mdev = 0.063/0.800/2.271/1.040 ms
��

备份/还原

数据库备份

  • 请求 URL/api/system/backup_schema
  • 请求 URL/api/system/backup_schema?cdr_backup=false 不包含话单
  • 请求 URL/api/system/backup_schema?cdr_backup=true 包含话单
  • 请求方式GET
  • 请求参数
参数名类型必填描述
cdr_backupbool是否包含话单
  • Body 信息:无
  • 返回值
{
    "code": 	200,
    "data": 	"SET\nSET\nSET\nSET\nSET\n set_config \n------------\n ... ",
    "message": 	"success"
}

获得备份文件列表

  • 请求 URL/api/system/schema
  • 请求方式GET
  • 请求参数:无
  • Body 信息:无
  • 返回值
["backup_database_2025_09_04_14_02"]

数据库还原

  • 请求 URL/api/system/switch_schema
  • 请求方式POST
  • 请求参数
参数名类型必填描述
schema_namestring备份的 SQL 文件
  • Body 信息
{
    "schema_name":"backup_database_2025_09_04_14_02"
}
  • 返回值
{
	"message":	"success",
	"data":	"backup_database_2025_09_04_14_02",
	"code":	200
}
安全