速转发API 文档

速转发 开放 API

用你自己的程序查询产品和流量、增删端口转发规则、下单续费。所有接口都是 HTTPS + JSON,和网站客户中心用的是同一套接口,权限和你登录网站一样。

接口地址https://www.suzhuanfa.com/api/v1
数据格式application/json; charset=utf-8
时间北京时间 YYYY-MM-DD HH:mm:ss
金额字符串,单位元,如 "110.00"
  1. 登录网站,进入 客户中心 → API 接口,点“新建密钥”,复制保存(只显示一次)。
  2. 每个请求带上请求头 Authorization: Bearer 你的密钥。
  3. 看返回的 code:0 是成功,结果在 data 里;不是 0 时 message 写着原因。
试一下:查看账户余额
curl https://www.suzhuanfa.com/api/v1/me \
  -H "Authorization: Bearer szf_你的密钥"

认证

API 密钥以 szf_ 开头,共 52 位。两种传法任选一种:

请求头
Authorization: Bearer szf_0123456789abcdef0123456789abcdef0123456789abcdef
# 或者
X-API-Key: szf_0123456789abcdef0123456789abcdef0123456789abcdef
  • 每个账号最多 5 个密钥,可以给不同程序各用一个,哪个不用了单独删掉。
  • 密钥和登录网站的权限相同:能下单、用余额付款、增删规则。只放在自己的服务器上,不要写进网页前端、App 或发给别人。
  • 修改或找回登录密码后,所有密钥自动作废;账号被停用期间密钥不能用。
  • 密钥泄露了:马上在“API 接口”页删掉,再建一个新的。
  • 接口只给服务器端程序用,不支持在别的网站的浏览器页面里直接调用(不返回跨域 CORS 头)。

返回格式与错误码

请求体用 JSON:POST / PUT / DELETE 带参数时,请求头加 Content-Type: application/json,请求体是一个 JSON 对象。JSON 写错会直接返回 4001,不会执行。

所有接口返回同样的结构,HTTP 状态码表示大类,code 表示具体情况:

成功
{
  "code": 0,
  "message": "success",
  "data": {
    "id": 9001
  }
}
失败
{
  "code": 4001,
  "message": "目标地址必须是公网 IP 或域名",
  "data": null
}
codeHTTP含义
0200成功
4001400参数错误,或业务不允许(例如余额不足、目标地址不合法),看 message
4010401没带密钥、密钥错误或已删除
4030403账号已停用,或这个接口不能用密钥调用
4040404产品 / 规则 / 订单不存在(别人的也按不存在处理)
4050405请求方法不对
4090409状态冲突,例如产品暂停中不能改规则、订单已支付
4290429调用太频繁,稍等再试
5001502转发服务暂时不可用,稍后重试
5000500系统繁忙,稍后重试

分页接口的 data 是 {"items": [...], "total": 总数, "page": 页码, "pageSize": 每页条数},用 page、pageSize(最大 100)翻页。

频率限制

范围上限
每个账号(所有 API 密钥加起来),所有接口合计每分钟 120 次
其中要实时读取转发数据的查询:产品列表、产品详情、规则列表、移动规则每分钟 30 次;带 live=1 的产品列表一次算 10 次
单条规则的新建 / 修改 / 启停 / 删除每个账号每分钟 20 次
批量新建、批量删除每批最多 50 条,每分钟最多 20 批
测自己的产品每分钟 10 次
批量检测外部代理每批 10 个,每小时 100 批

超过返回 HTTP 429、code 4290,等一会儿再试。规则的增删改和网站共用同一个额度:脚本用完了,网站上改规则也要等一分钟。

省额度的写法:要一次建很多规则用“批量新建”;查流量不要每秒轮询,一两分钟查一次就够;产品列表只在需要实时流量时才加 live=1。

防重复下单

调用“下单”时带上请求头 Idempotency-Key(8–64 位字母、数字、下划线或横线,每次新订单用一个新值)。网络超时后用同一个值重试,只会返回第一次建的那张订单,不会重复扣款。

示例
curl -X POST https://www.suzhuanfa.com/api/v1/orders \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Idempotency-Key: renew-501-20261103" \
  -H "Content-Type: application/json" \
  -d '{"type": "renew", "serviceId": 501}'

账户

GET/api/v1/me

账户信息

当前账户的 ID、余额等。

请求示例
curl https://www.suzhuanfa.com/api/v1/me \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": {
    "id": 100123,
    "phone": "138****0001",
    "email": "dev@example.com",
    "credit": "88.00",
    "createdAt": "2026-10-01 12:00:00"
  }
}
GET/api/v1/credit/ledger

余额流水

余额的每一笔变动,按时间倒序分页。

参数类型必填说明
page整数否页码,默认 1
pageSize整数否每页条数 1–100,默认 20
请求示例
curl https://www.suzhuanfa.com/api/v1/credit/ledger \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": {
    "items": [
      {
        "amount": "-110.00",
        "balanceAfter": "88.00",
        "type": "payment",
        "note": "订单 20261103120000123456",
        "createdAt": "2026-11-03 12:00:05"
      }
    ],
    "total": 1,
    "page": 1,
    "pageSize": 20
  }
}

商品与报价

GET/api/v1/products

商品列表

可购买的商品、周期价格、可选配置和可选节点。不需要密钥。

cycles 里的周期:month 月付、quarter 季付、half_year 半年付、year 年付。delivery = zk 是端口转发,static_ip 是静态 IP(静态 IP 请在网站上选购)。

请求示例
curl https://www.suzhuanfa.com/api/v1/products \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "id": 3,
      "groupName": "网络加速",
      "name": "黑铁套餐",
      "cycles": {
        "month": "110.00",
        "quarter": "330.00"
      },
      "trafficGb": 1000,
      "bandwidthMbps": 10,
      "ruleLimit": 5,
      "options": {
        "bandwidth": [
          {
            "value": 10,
            "price": "0.00"
          },
          {
            "value": 30,
            "price": "20.00"
          }
        ]
      },
      "delivery": "zk",
      "nodes": [
        {
          "id": 2,
          "name": "香港 BGP",
          "region": "HK"
        }
      ]
    }
  ]
}
GET/api/v1/product-groups

商品分组

两级分组。不需要密钥。

请求示例
curl https://www.suzhuanfa.com/api/v1/product-groups \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "id": 2,
      "parentId": 0,
      "name": "端口转发",
      "sort": 1
    },
    {
      "id": 1,
      "parentId": 2,
      "name": "网络加速",
      "sort": 1
    }
  ]
}
GET/api/v1/flow-packs

流量包

可给产品加购的流量包。不需要密钥。

请求示例
curl https://www.suzhuanfa.com/api/v1/flow-packs \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "id": 1,
      "name": "1T 流量包",
      "capacityGb": 1000,
      "price": "100.00"
    }
  ]
}
POST/api/v1/quote

报价

按配置算价格。带密钥时按你账户的专属折扣报价,不带按原价。

参数类型必填说明
productId整数是商品 ID
cycle字符串是month / quarter / half_year / year
nodeId整数是节点 ID(商品的 nodes 里选)
traffic整数否流量 GB(商品有流量选项时)
bandwidth整数否带宽 Mbps(商品有带宽选项时)
ruleLimit整数否规则数(商品有规则数选项时)
请求示例
curl -X POST https://www.suzhuanfa.com/api/v1/quote \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"productId": 3, "cycle": "month", "nodeId": 2, "bandwidth": 30}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": {
    "amount": "130.00",
    "renewAmount": "130.00",
    "listAmount": "130.00",
    "discount": null,
    "trafficGb": 1000,
    "bandwidthMbps": 30,
    "ruleLimit": 5,
    "months": 1
  }
}

我的产品

GET/api/v1/services

产品列表

你名下的所有产品(不含已删除的)。加 ?live=1 同时返回实时流量和规则数(最多前 20 个产品)。

参数类型必填说明
live0 / 1否是否带实时流量和规则数

status:provisioning 开通中 · provision_failed 开通失败(客服处理中)· active 正常 · suspended 已暂停(到期或流量用完)。

请求示例
curl https://www.suzhuanfa.com/api/v1/services \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "id": 501,
      "product": "黑铁套餐",
      "node": "香港 BGP",
      "delivery": "zk",
      "status": "active",
      "cycle": "month",
      "renewAmount": "110.00",
      "autoRenew": true,
      "trafficGb": 1000,
      "bandwidthMbps": 10,
      "ruleLimit": 5,
      "dueAt": "2026-12-03 12:00:05",
      "connectHost": "hk1.example.com",
      "notes": "主力线路",
      "renewable": true,
      "deleteAt": null
    }
  ]
}
GET/api/v1/services/{id}

产品详情

单个产品,带实时流量。静态 IP 产品额外返回 ip(地址、端口、账号、密码)。

读取实时流量失败时 traffic 为 null,其他字段照常返回。

请求示例
curl https://www.suzhuanfa.com/api/v1/services/501 \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": {
    "id": 501,
    "product": "黑铁套餐",
    "status": "active",
    "dueAt": "2026-12-03 12:00:05",
    "connectHost": "hk1.example.com",
    "traffic": {
      "usedGb": 12.5,
      "limitGb": 1000,
      "packGb": 0,
      "exhausted": false
    }
  }
}
PUT/api/v1/services/{id}/auto-renew

开关自动续费

开启后,到期前自动用余额续费。

参数类型必填说明
enabled布尔是true 开启,false 关闭。必须传,没传或不是布尔值会报错
请求示例
curl -X PUT https://www.suzhuanfa.com/api/v1/services/501/auto-renew \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"enabled": true}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": null
}
PUT/api/v1/services/{id}/notes

产品备注

给产品起个名字,显示在网站产品卡片上。传空字符串清除。

参数类型必填说明
notes字符串是最多 100 字;传空字符串清除
请求示例
curl -X PUT https://www.suzhuanfa.com/api/v1/services/501/notes \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"notes": "主力线路"}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": null
}

转发规则

GET/api/v1/services/{id}/rules

规则列表

这个产品下的全部端口转发规则。

connect 就是客户端要连的地址:端口。status:active 运行中 · stopped 已停用 · 其他值表示被系统暂停(流量用完、到期等)。

请求示例
curl https://www.suzhuanfa.com/api/v1/services/501/rules \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "id": 9001,
      "listenPort": 30001,
      "connect": "hk1.example.com:30001",
      "remoteAddress": "203.0.113.10",
      "remotePort": 443,
      "protocol": "tcp+udp",
      "status": "active",
      "trafficUsedGb": 3.27,
      "remark": "美国-443",
      "expiryAt": null,
      "groupId": null
    }
  ]
}
POST/api/v1/services/{id}/rules

新建规则

新建一条转发:把 connect 收到的流量转发到你的目标地址。加速端口由系统分配。

参数类型必填说明
remoteAddress字符串是目标公网 IP 或域名
remotePort整数是目标端口 1–65535
protocol字符串否tcp / udp / tcp+udp,默认 tcp+udp
remark字符串否备注,最多 100 字
groupId整数否放进哪个分组
请求示例
curl -X POST https://www.suzhuanfa.com/api/v1/services/501/rules \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"remoteAddress": "203.0.113.10", "remotePort": 443, "remark": "美国-443"}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": {
    "id": 9001,
    "listenPort": 30001,
    "connect": "hk1.example.com:30001",
    "groupId": null
  }
}
POST/api/v1/services/{id}/rules/batch

批量新建

一次最多 50 条,逐条创建,某一条失败不影响其他条,返回每条的结果(用 index 对应你提交的第几条)。转发服务暂时连不上时会停在那一条,后面的不再尝试,所以返回的条数可能比提交的少,没返回的请稍后重试。

参数类型必填说明
items数组是每项:remoteAddress、remotePort,可选 protocol、remark、groupId、listenPort(指定加速端口)、autoRemark(true 时备注留空自动生成“国家-端口”)
请求示例
curl -X POST https://www.suzhuanfa.com/api/v1/services/501/rules/batch \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items": [{"remoteAddress": "203.0.113.10", "remotePort": 443}, {"remoteAddress": "203.0.113.11", "remotePort": 8443, "autoRemark": true}]}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "index": 0,
      "ok": true,
      "id": 9001,
      "listenPort": 30001,
      "connect": "hk1.example.com:30001",
      "remark": null
    },
    {
      "index": 1,
      "ok": false,
      "error": "规则数已达上限"
    }
  ]
}
PUT/api/v1/services/{id}/rules/{rid}

修改目标或备注

传 remoteAddress + remotePort 改转发目标;只传 remark 改备注。两样都没传会报错。

参数类型必填说明
remoteAddress字符串否新的目标地址
remotePort整数否新的目标端口(和 remoteAddress 一起传)
remark字符串否新备注,传空字符串清空
请求示例
curl -X PUT https://www.suzhuanfa.com/api/v1/services/501/rules/9001 \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"remoteAddress": "203.0.113.20", "remotePort": 443}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": null
}
PUT/api/v1/services/{id}/rules/{rid}/expiry

规则到期时间

到时间这条规则自动停用。传空字符串清除。套餐到期时所有规则都会停,跟这里无关。

参数类型必填说明
expiryAt字符串是格式 2026-12-31 23:59:59;传空字符串清除
请求示例
curl -X PUT https://www.suzhuanfa.com/api/v1/services/501/rules/9001/expiry \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"expiryAt": "2026-12-31 23:59:59"}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": {
    "status": "active",
    "note": ""
  }
}
POST/api/v1/services/{id}/rules/{rid}/enable

启用规则

请求示例
curl -X POST https://www.suzhuanfa.com/api/v1/services/501/rules/9001/enable \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": null
}
POST/api/v1/services/{id}/rules/{rid}/disable

停用规则

停用后规则保留,随时可以再启用。

请求示例
curl -X POST https://www.suzhuanfa.com/api/v1/services/501/rules/9001/disable \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": null
}
DELETE/api/v1/services/{id}/rules/{rid}

删除规则

删除后加速端口回收,不能恢复。

请求示例
curl -X DELETE https://www.suzhuanfa.com/api/v1/services/501/rules/9001 \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": null
}
POST/api/v1/services/{id}/rules/batch-delete

批量删除

一次最多 50 条,返回每条的结果。

参数类型必填说明
ids数组是规则 ID 列表
请求示例
curl -X POST https://www.suzhuanfa.com/api/v1/services/501/rules/batch-delete \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ids": [9001, 9002]}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "id": 9001,
      "ok": true
    },
    {
      "id": 9002,
      "ok": false,
      "error": "规则不存在"
    }
  ]
}

规则分组

GET/api/v1/services/{id}/rule-groups

分组列表

请求示例
curl https://www.suzhuanfa.com/api/v1/services/501/rule-groups \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": [
    {
      "id": 7,
      "name": "美国线路"
    }
  ]
}
POST/api/v1/services/{id}/rule-groups

新建分组

名称 1–20 字,同一产品下不能重名。

参数类型必填说明
name字符串是分组名称
请求示例
curl -X POST https://www.suzhuanfa.com/api/v1/services/501/rule-groups \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "美国线路"}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": {
    "id": 7,
    "name": "美国线路"
  }
}
PUT/api/v1/services/{id}/rule-groups/{gid}

分组改名

参数类型必填说明
name字符串是新名称
请求示例
curl -X PUT https://www.suzhuanfa.com/api/v1/services/501/rule-groups/7 \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "美西"}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": null
}
DELETE/api/v1/services/{id}/rule-groups/{gid}

删除分组

分组里的规则回到“未分组”,规则本身不受影响。

请求示例
curl -X DELETE https://www.suzhuanfa.com/api/v1/services/501/rule-groups/7 \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": null
}
POST/api/v1/services/{id}/rule-groups/move

移动规则

把规则移进分组;groupId 传 null 表示移出分组。

参数类型必填说明
ids数组是规则 ID 列表,最多 1000 个
groupId整数或 null是目标分组 ID;必须传,移出分组传 null
请求示例
curl -X POST https://www.suzhuanfa.com/api/v1/services/501/rule-groups/move \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ids": [9001, 9002], "groupId": 7}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": {
    "moved": 2
  }
}

订单与支付

POST/api/v1/orders

下单

新购、续费、加流量包、充值余额都是这个接口,用 type 区分。下单后订单是待支付状态,再调“支付”。建议带 Idempotency-Key 请求头,网络超时重试时不会重复下单。

参数类型必填说明
type字符串是new 新购 · renew 续费 · flow_pack 加流量包 · recharge 充值
productId / cycle / nodeId—否type = new 时必填,配置项同“报价”
serviceId整数否type = renew / flow_pack 时必填
serviceIds数组否type = renew 时可传多个产品 ID,一张订单续费多个
flowPackId整数否type = flow_pack 时必填
amount字符串否type = recharge 时必填,如 "100.00"

订单默认 30 分钟内不支付自动取消。

请求示例
curl -X POST https://www.suzhuanfa.com/api/v1/orders \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"type": "renew", "serviceId": 501}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": {
    "no": "20261103120000123456",
    "amount": "110.00",
    "type": "renew",
    "expiresAt": "2026-11-03 12:30:00"
  }
}
POST/api/v1/orders/pay

支付订单

gateway = balance 直接扣余额,付款成功后自动开通 / 续费;alipay_f2f 返回支付宝二维码内容,扫码后用“查询订单状态”轮询。

参数类型必填说明
no字符串是订单号(20 位数字)
gateway字符串是balance / alipay_f2f

余额不足时返回 code 4001。

请求示例
curl -X POST https://www.suzhuanfa.com/api/v1/orders/pay \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"no": "20261103120000123456", "gateway": "balance"}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": {
    "paid": true
  }
}
GET/api/v1/orders/status

查询订单状态

参数类型必填说明
no字符串是订单号

status:pending 待支付 · paid 已付款(处理中)· completed 已完成 · cancelled 已取消。

请求示例
curl https://www.suzhuanfa.com/api/v1/orders/status \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": {
    "status": "completed"
  }
}
GET/api/v1/orders

订单列表

按时间倒序分页。

参数类型必填说明
page整数否页码
pageSize整数否每页条数 1–100
请求示例
curl https://www.suzhuanfa.com/api/v1/orders \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": {
    "items": [
      {
        "no": "20261103120000123456",
        "type": "renew",
        "amount": "110.00",
        "status": "completed",
        "createdAt": "2026-11-03 12:00:00",
        "paidAt": "2026-11-03 12:00:05"
      }
    ],
    "total": 1,
    "page": 1,
    "pageSize": 20
  }
}
GET/api/v1/orders/detail

订单详情

参数类型必填说明
no字符串是订单号
请求示例
curl https://www.suzhuanfa.com/api/v1/orders/detail \
  -H "Authorization: Bearer $SZF_KEY"
返回示例
{
  "code": 0,
  "message": "success",
  "data": {
    "no": "20261103120000123456",
    "type": "renew",
    "amount": "110.00",
    "status": "completed",
    "items": [
      {
        "kind": "renew",
        "serviceId": 501,
        "description": "黑铁套餐 续费 1 个月",
        "amount": "110.00"
      }
    ]
  }
}
POST/api/v1/orders/cancel

取消订单

只能取消待支付的订单。

参数类型必填说明
no字符串是订单号
请求示例
curl -X POST https://www.suzhuanfa.com/api/v1/orders/cancel \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"no": "20261103120000123456"}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": null
}

代理测试

POST/api/v1/proxy-test

测自己的产品

测静态 IP(延迟、出口、常用网站)或某条转发规则的入口连通性。每分钟最多 10 次。

参数类型必填说明
serviceId整数是产品 ID
ruleId整数否转发产品必填:要测的规则 ID
sites布尔否静态 IP:是否测常用网站
speed布尔否静态 IP:是否测 5 MB 下载速度
请求示例
curl -X POST https://www.suzhuanfa.com/api/v1/proxy-test \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"serviceId": 501, "ruleId": 9001}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": null
}
POST/api/v1/proxy-test/batch

批量检测外部代理

每批最多 10 个,每小时最多 100 批。账号密码只用于这次检测,不保存。

参数类型必填说明
items数组是每项:scheme(http / socks5,留空自动识别)、host、port、user、pass
sites布尔否是否测常用网站
请求示例
curl -X POST https://www.suzhuanfa.com/api/v1/proxy-test/batch \
  -H "Authorization: Bearer $SZF_KEY" \
  -H "Content-Type: application/json" \
  -d '{"items": [{"scheme": "socks5", "host": "198.51.100.7", "port": 1080, "user": "u1", "pass": "p1"}]}'
返回示例
{
  "code": 0,
  "message": "success",
  "data": null
}

完整示例

把密钥放进环境变量 SZF_KEY,不要直接写在代码里。

Python(requests)
import os, requests

BASE = "https://www.suzhuanfa.com/api/v1"
S = requests.Session()
S.headers["Authorization"] = "Bearer " + os.environ["SZF_KEY"]

def call(method, path, **kw):
    r = S.request(method, BASE + path, timeout=30, **kw)
    d = r.json()
    if d["code"] != 0:
        raise RuntimeError(f"{d['code']} {d['message']}")
    return d["data"]

# 1. 看看有哪些产品
for s in call("GET", "/services"):
    print(s["id"], s["product"], s["status"], "到期", s["dueAt"])

# 2. 给产品 501 新建一条转发
rule = call("POST", "/services/501/rules",
            json={"remoteAddress": "203.0.113.10", "remotePort": 443, "remark": "美国-443"})
print("连接地址:", rule["connect"])

# 3. 用余额续费(带 Idempotency-Key,重试也不会重复下单)
import uuid
order = call("POST", "/orders", json={"type": "renew", "serviceId": 501},
             headers={"Idempotency-Key": uuid.uuid4().hex})
call("POST", "/orders/pay", json={"no": order["no"], "gateway": "balance"})
print("续费成功,订单", order["no"])

不能用密钥的接口

下面这些涉及账号安全或资金提现,只能登录网站操作。用密钥调用会返回 HTTP 403:

  • 修改密码、手机号、邮箱,界面偏好设置
  • 创建、查看、删除 API 密钥
  • 推广赚钱:申请推广员、申请提现
  • 退出登录
  • 生成批量加速报告(Excel),比较耗服务器资源,只在网站上提供

工单、推广数据等其他功能请在网站客户中心使用。有问题欢迎提交工单。