API接口介绍及使用说明

使用说明

API密钥获取

API密钥获取请前往【角色管理】【管理员及API】页面,显示管理员对应的API密钥列。

管理员所在权限分组,需具备对应接口的请求授权才可使用,请注意提前分配好需要的权限。

API密钥获取

接口使用

所有接口使用form-data接收您提交的数据,使用json返回请求结果。

其中api_key为接口密钥,必须提交。接口有提交频率限制,请勿高频调用。

复数形式参数支持多数据传入,使用英文逗号间隔,如lists,可以使用 "114.114.114.114,223.5.5.5,119.29.29.29"同时传入多个ip规则。

认证方式

所有接口均需要提供api_key参数进行认证。api_key需要在RosZ后台"管理员账号"页面中创建并配置相应权限。

权限配置说明:

端口转发相关接口需要:查看及管理主账号端口转发配置(API)、添加端口转发(API)、修改端口转发(API)、删除端口转发(API)、绑定端口转发(API)

组网架构查询接口需要:查看及管理主账号智能组网配置(API)

通道信息查询接口需要:查看智能组网通道信息(API)

路由信息查询接口需要:查看智能组网全部路由配置(API)

错误码说明

code=0:请求成功

code=1:请求失败,msg字段包含详细错误信息

常见错误:

"请求受限,请联系管理员!":IP访问频率超限

"API密钥错误 或 未授权,请联系管理员!":api_key无效或权限不足

"XXX不能为空":缺少必需参数

"XXX格式错误":参数格式不符合要求

"XXX不存在或无权限操作":资源不存在或无权限

使用注意事项

1. 所有接口均有访问频率限制,请合理控制调用频率

2. api_key需要妥善保管,避免泄露

3. 端口转发数量受VIP等级限制,超限时需要升级或清理

4. 参数支持模糊匹配的接口,使用LIKE方式查询

5. 参数支持逗号分隔的接口,可同时查询多个值

6. 时间格式统一为:2006-01-02 15:04:05

7. 所有地址支持CIDR格式(如192.168.1.0/24)

8. 建议在正式使用前先在测试环境验证接口功能

调用示例(curl)

示例1:查询端口转发

curl -X POST https://rosz.cn/api/vpn/port_info \
  -F "api_key=your_api_key_here" \
  -F "protocol=tcp"

示例2:添加端口转发

curl -X POST https://rosz.cn/api/vpn/port_add \
  -F "api_key=your_api_key_here" \
  -F "dst_port=8080" \
  -F "to_address=192.168.1.100" \
  -F "to_port=80" \
  -F "protocol=tcp" \
  -F "comment=测试端口转发"

示例3:查询组网架构

curl -X POST https://rosz.cn/api/vpn/group_info \
  -F "api_key=your_api_key_here" \
  -F "group_name=测试组网"

示例3-2:查询组网架构(包含端口转发域名)

curl -X POST https://rosz.cn/api/vpn/group_info \
  -F "api_key=your_api_key_here" \
  -F "group_name=测试组网" \
  -F "port_forwarding_domain=example.com"

示例4:绑定端口转发到组网架构

curl -X POST https://rosz.cn/api/vpn/port_bind \
  -F "api_key=your_api_key_here" \
  -F "vpn_group_id=123" \
  -F "port_ids=1,2,3"

示例5:查询通道信息

curl -X POST https://rosz.cn/api/vpn/tunnel_info \
  -F "api_key=your_api_key_here" \
  -F "search_type=正常通道"

示例6:查询路由信息

curl -X POST https://rosz.cn/api/vpn/route_info \
  -F "api_key=your_api_key_here" \
  -F "search_type=普通路由"

 

网络安全

安全组接口

安全组查询接口

用途:获取安全组信息

路径:https://rosz.cn/api/sec/group_info

请求:POST

参数:

api_key:请求密钥

groups:查询的安全组名称,支持同时多个数据传入;为空时返回所有信息

names:查询的安全组别名,支持同时多个数据传入;为空时返回所有信息

comment:查询的安全组备注

返回示例:

{
    "code": 0,
    "msg": "ok",
    "count": 2,
    "data": [
        {
            "group": "test2",
            "name": "别名1",
            "comment": "备注1",
            "created_at": "2023-05-01 09:16:14"
        },
        {
            "group": "test",
            "name": "别名2",
            "comment": "备注2",
            "device_ids": "4252",
            "created_at": "2023-04-30 00:18:07"
        }
    ]
}

 

安全规则查询接口

用途:获取安全组规则信息

路径:https://rosz.cn/api/sec/list_info

请求:POST

参数:

api_key:请求密钥

groups:查询的安全组名称,支持同时多个数据传入;为空时返回所有信息

lists:查询的安全组规则信息,支持同时多个数据传入;为空时返回所有信息

comment:查询的安全规则备注

expire:安全规则到期时间

返回示例:

{
    "code": 0,
    "msg": "ok",
    "count": 1,
    "data": [
        {
            "group": "test",
            "lists": "baidu.com",
            "range": 16,
            "created_at": "2023-04-30 00:42:13",
            "expire": "2099-12-31 23:59:59"
        }
    ]
}

 

新增安全规则接口

用途:新增安全规则

路径:https://rosz.cn/api/sec/list_add

请求:POST

参数:

api_key:请求密钥

groups:关联的安全组名称,支持同时多个数据传入;不可为空

lists:安全规则信息,IP或者域名,也可以为CIDR格式IP段,支持同时多个数据传入;不可为空

range:包容度,仅对域名规则有效,范围1-65536,不可为空,如使用256代表间隔256个ip以内的作为连续IP规则使用,建议16;不可为空

comment:安全规则备注;可为空

expire:安全规则到期时间,格式为"2024-09-05 14:01:27";为空则设置为永久有效

返回示例:

{
    "code": 0,
    "data": {},
    "msg": "成功添加6条IP规则!"
}

 

安全规则删除接口

用途:删除安全组规则

路径:https://rosz.cn/api/sec/list_del

请求:POST

参数:

api_key:请求密钥

groups:删除的安全组名称,支持同时多个数据传入;不可为空

lists:删除的安全组规则信息,支持同时多个数据传入;不可为空

返回示例:

{
    "code": 0,
    "data": {},
    "msg": "安全组规则删除完成!"
}

 

智能组网

组网架构接口

组网架构信息查询接口

用途:获取组网架构详细信息

路径:https://rosz.cn/api/vpn/group_info

请求:POST

参数:

api_key:请求密钥

group_name:组网名称(模糊匹配)

comment:备注(模糊匹配)

created_at:创建时间起始值(格式:2024-01-01 00:00:00)

port_forwarding_domain:端口转发域名(传入后在返回的bound_ports中显示该字段)

返回示例:

{
  "code": 0,
  "msg": "ok",
  "count": 1,
  "data": [
    {
      "id": 1,
      "group_name": "测试组网",
      "vpn_mode": "wireguard",
      "vpn_zone": 1,
      "vpn_zone_str": "国内",
      "comment": "测试用组网架构",
      "isolation_mode": 1,
      "isolation_mode_str": "隔离",
      "distance": 240,
      "center_port_start": 30001,
      "center_port_end": 50000,
      "interface_ip_cidr": "10.0.0.0/24",
      "created_at": "2024-01-01 10:00:00",
      "operator_info": "主账号",
      "center_devices": [
        {
          "device_id": 100,
          "identity": "Center-Router",
          "custom_name": "中心路由器",
          "comment": "主机房设备",
          "ip_info": "中国 上海",
          "connected_ips": ["1.2.3.4", "5.6.7.8"],
          "connected_pools": ["192.168.1.0/24", "192.168.2.0/24"]
        }
      ],
      "edge_devices": [
        {
          "device_id": 200,
          "identity": "Edge-Router",
          "custom_name": "边缘路由器",
          "comment": "分支机构设备",
          "ip_info": "中国 北京",
          "connected_pools": ["172.16.1.0/24"]
        }
      ],
      "bound_ports": [
        {
          "port_id": 1,
          "protocol": "tcp",
          "dst_port": "8080",
          "to_address": "192.168.1.100",
          "to_port": "80",
          "src_address_list": "test_list",
          "comment": "Web服务转发",
          "bound_devices": [100, 200],
          "port_forwarding_domain": "example.com"
        }
      ]
    }
  ]
}

字段说明:

vpn_zone:1=国内,2=海外,3=全球

isolation_mode:1=隔离,2=互通,3=全通

center_devices:中心节点设备详细信息,包含对接IP和互联网段

edge_devices:边缘节点设备详细信息,包含互联网段

bound_ports:绑定的端口转发配置,包含绑定的设备列表

port_forwarding_domain:端口转发域名(仅在传入该参数时显示)

 

通道与路由接口

通道信息查询接口

用途:获取组网通道连接状态和网络质量信息

路径:https://rosz.cn/api/vpn/tunnel_info

请求:POST

参数:

api_key:请求密钥

vpn_group_id:组网ID,支持逗号分隔多个ID

device_keyword:设备关键字(匹配设备型号、序列号、MAC、IP、Identity、别名、备注等)

address_keyword:地址关键字(匹配通道地址、接口地址、互联网段等)

search_type:搜索类型(正常通道、断开通道、状态未知通道、边缘隔离模式、边缘互通模式、全通模式)

返回示例:

{
  "code": 0,
  "msg": "ok",
  "count": 1,
  "data": [
    {
      "id": 1,
      "vpn_group_id": 1,
      "vpn_group_name": "测试组网",
      "vpn_group_comment": "测试用组网",
      "center_device_id": 100,
      "center_device_info": "Center-Router | 中心路由器",
      "center_address": "1.2.3.4",
      "center_address_info": "中国 上海 电信 (1.2.3.4)",
      "center_interface_address": "10.0.0.1",
      "center_port": 30001,
      "center_devices_pool": "192.168.1.0/24",
      "edge_device_id": 200,
      "edge_device_info": "Edge-Router | 边缘路由器",
      "edge_address": "5.6.7.8",
      "edge_interface_address": "10.0.0.2",
      "edge_devices_pool": "172.16.1.0/24",
      "isolation_mode": 1,
      "isolation_mode_str": "隔离",
      "distance": 240,
      "auto_repair_down_seconds": "12次 | 1分钟",
      "down_seconds_now": "0次 | 0秒",
      "status": "正常",
      "ping_avg": "10.5 ms",
      "ping_min": "8.2 ms",
      "ping_max": "15.3 ms",
      "ping_lost_percentage": "0.0%",
      "rx_bit_rate": "10.5 Mbps",
      "tx_bit_rate": "8.3 Mbps",
      "all_bit_rate": "18800000 bps",
      "peer_rx_bytes": "1.2 GB",
      "peer_tx_bytes": "800.5 MB",
      "peer_all_bytes": "2.0 GB",
      "last_hand_shake": "10秒前",
      "created_at": "2024-01-01 10:00:00",
      "operator_info": "主账号"
    }
  ]
}

字段说明:

status:通道状态(正常/断开/未知)

auto_repair_down_seconds:自动修复配置(未启用或配置的中断时长)

down_seconds_now:当前中断时长

网络质量指标:延迟、丢包率、带宽、流量等

 

路由信息查询接口

用途:获取组网路由配置信息

路径:https://rosz.cn/api/vpn/route_info

请求:POST

参数:

api_key:请求密钥

vpn_group_id:组网ID,支持逗号分隔多个ID

src_device_keyword:源设备关键字

dst_device_keyword:目标设备关键字

dst_address:目的地址(模糊匹配)

gateway:网关地址(模糊匹配)

search_type:搜索类型(普通路由、互联接口、递归路由、递归子网、递归网关、中心设备、边缘设备)

返回示例:

{
  "code": 0,
  "msg": "ok",
  "count": 1,
  "data": [
    {
      "id": 1,
      "vpn_group_id": 1,
      "vpn_group_name": "测试组网",
      "vpn_group_comment": "测试用组网",
      "route_type": 0,
      "route_type_str": "普通路由",
      "src_device_id": 100,
      "src_device_info": "Center-Router (中心路由器)",
      "src_device_ip_info": "中国 上海 (1.2.3.4)",
      "src_device_type": 1,
      "src_device_type_str": "中心设备",
      "src_interface_address": "10.0.0.1",
      "distance": 240,
      "dst_device_id": 200,
      "dst_device_info": "Edge-Router (边缘路由器)",
      "dst_device_ip_info": "中国 北京 (5.6.7.8)",
      "dst_address": "172.16.1.0/24",
      "gateway_address": "10.0.0.2",
      "status": "正常",
      "ping_avg": "10.5 ms",
      "ping_lost_percentage": "0.0%",
      "rx_bit_rate": "10.5 Mbps",
      "tx_bit_rate": "8.3 Mbps",
      "peer_rx_bytes": "1.2 GB",
      "peer_tx_bytes": "800.5 MB",
      "peer_all_bytes": "2.0 GB",
      "created_at": "2024-01-01 10:00:00",
      "operator_info": "主账号"
    }
  ]
}

字段说明:

route_type:路由类型(0=普通路由,1=递归网关,2=递归子网,3=互联接口)

src_device_type:源设备类型(0=边缘设备,1=中心设备)

包含通道状态和网络质量信息

 

端口转发接口

端口转发查询接口

用途:获取端口转发配置信息

路径:https://rosz.cn/api/vpn/port_info

请求:POST

参数:

api_key:请求密钥

comment:备注(模糊匹配)

src_address_list:源地址列表名称(模糊匹配)

dst_port:目的端口(模糊匹配)

to_address:转发地址(模糊匹配)

to_port:转发端口(模糊匹配)

protocol:协议类型(精确匹配,tcp或udp)

返回示例:

{
  "code": 0,
  "msg": "ok",
  "count": 2,
  "data": [
    {
      "id": 1,
      "src_address_list": "test_list",
      "dst_port": "8080,8081",
      "to_address": "192.168.1.100",
      "to_port": "80",
      "protocol": "tcp",
      "comment": "测试端口转发",
      "created_at": "2024-01-01 10:00:00",
      "operator_info": "主账号",
      "bind_device_num": 3
    }
  ]
}

 

端口转发添加接口

用途:添加端口转发配置

路径:https://rosz.cn/api/vpn/port_add

请求:POST

必需参数:

api_key:请求密钥

dst_port:目的端口,支持单个(8080)、逗号分隔(8080,8081)、范围(8080-8090)、混合格式

to_address:转发地址,支持IP地址或CIDR格式(如192.168.1.100或192.168.1.0/24)

protocol:协议类型,tcp或udp

可选参数:

src_address_list:源地址列表名称(RouterOS地址列表名)

to_port:转发端口,支持单个或范围格式,允许为空(为空时表示与dst_port一致)

comment:备注

返回示例(成功):

{
  "code": 0,
  "msg": "ok",
  "data": {
    "id": 10,
    "message": "添加端口转发成功"
  }
}

返回示例(失败):

{
  "code": 1,
  "msg": "目的端口格式错误:端口必须在1-65535之间"
}

注意事项:

1. 端口转发数量受VIP等级限制

2. dst_port支持多种格式,to_port仅支持单个或范围

3. to_port为空时默认与dst_port一致

 

端口转发修改接口

用途:修改端口转发配置

路径:https://rosz.cn/api/vpn/port_edit

请求:POST

必需参数:

api_key:请求密钥

id:端口转发ID

可修改参数:

src_address_list:源地址列表名称

dst_port:目的端口

to_address:转发地址

to_port:转发端口

protocol:协议类型

comment:备注

返回示例:

{
  "code": 0,
  "msg": "修改端口转发成功"
}

注意事项:

1. 只需提供需要修改的字段

2. 未提供的字段保持原值不变

3. 修改的内容需通过相应的格式验证

 

端口转发删除接口

用途:删除端口转发配置

路径:https://rosz.cn/api/vpn/port_del

请求:POST

必需参数:

api_key:请求密钥

ids:端口转发ID,支持逗号分隔多个ID进行批量删除(如:1,2,3)

返回示例:

{
  "code": 0,
  "msg": "ok",
  "data": {
    "message": "删除端口转发成功",
    "deleted_count": 3,
    "deleted_ids": [1, 2, 3]
  }
}

注意事项:

1. 支持批量删除

2. 删除端口转发时会同时删除其绑定关系

3. 只能删除属于当前用户的端口转发

 

端口转发绑定接口

用途:将端口转发配置绑定到组网架构的中心设备

路径:https://rosz.cn/api/vpn/port_bind

请求:POST

必需参数:

api_key:请求密钥

vpn_group_id:组网架构ID

可选参数:

port_ids:端口ID列表,支持逗号分隔多个ID(如:1,2,3);不传或传空则清空该组网的端口绑定

返回示例(成功):

{
  "code": 0,
  "msg": "ok",
  "data": {
    "vpn_group_id": 123,
    "bound_port_count": 5,
    "affected_device_count": 3,
    "message": "绑定端口转发成功"
  }
}

返回示例(失败):

{
  "code": 1,
  "msg": "组网架构不存在或无权限操作"
}

注意事项:

1. 绑定操作会自动应用到组网架构的所有中心设备

2. 采用覆盖式绑定,不会保留旧的绑定关系

3. 传入空的port_ids或不传该参数,可清空该组网的所有端口绑定

4. 只能绑定属于当前用户的端口转发配置

5. 绑定后会自动更新设备配置并标记同步

6. 可通过组网架构查询接口(/api/vpn/group_info)查看绑定结果

 

如有问题或需要技术支持,请联系站长微信:302268