API
API账号提取分发管理系统
第三方开放接口文档
进入后台

API接口文档

本文档用于第三方系统通过令牌调用账号池,完成随机提取、批量提取、渠道查询和额度消耗上报。

生产地址
https://api.qch1.cn/api.php
返回格式
application/json; charset=utf-8
鉴权方式
Authorization: Bearer access_token
用户中心
https://api.qch1.cn/user/
购买入口
https://api.qch1.cn/buy.html
计费方式
按调用提取次数扣减

鉴权方式

开放 API 请求需要携带调用令牌。管理员后台创建的令牌按后台规则限制;用户中心生成的个人令牌会按购买余额扣减调用提取次数。推荐使用 Bearer 方式,兼容性最好。

Authorization: Bearer 你的access_token

也兼容 access_token 请求头或请求参数,但部分 Nginx/PHP-FPM 环境可能不转发带下划线的请求头。

用户中心与调用余额

前台用户注册后会自动生成个人 API Token,Token 明文只展示一次;后续可在用户中心重置,重置后旧 Token 自动停用。

功能地址说明
注册/user/register.php创建前台用户并自动生成个人 API Token
登录/user/login.php登录后可购买调用次数、查看订单和余额
用户中心/user/index.php查看剩余额度、累计购买次数、最近订单和额度流水
Token 管理/user/tokens.php查看 Token 前缀、调用统计,支持生成/重置 Token
购买调用次数/buy.html按调用提取次数计费,支付成功后自动加入当前用户余额

用户个人 Token 调用 random 扣 1 次;调用 batch 按实际返回条数扣减;调用 channel 按当前页实际返回条数扣减。购买分产品额度后,接口可传 product_code 指定扣减产品余额;产品如绑定渠道,会自动限定到该渠道。余额不足时返回 403

统一返回与错误码

{
  "code": 200,
  "msg": "成功",
  "data": {}
}
code含义处理建议
200成功读取 data 字段
401令牌无效检查 access_token 是否正确、是否已停用
403调用超限、IP不在白名单、无权限或用户余额不足检查每日上限、全局限流、IP白名单、渠道权限和用户中心余额
404无可用账号或接口不存在检查渠道、额度、状态、到期时间和 action 参数
500服务器错误联系管理员查看操作日志

接口1:随机获取一条可用API密钥

GET /api.php?action=random
随机提取
参数必填说明
product_code指定产品标识,扣减对应产品余额;产品绑定渠道时会自动限定渠道
channel指定渠道;令牌绑定渠道时只能请求绑定渠道
min_quota最低剩余额度,默认 1
curl "https://api.qch1.cn/api.php?action=random&product_code=default&min_quota=1" \
  -H "Authorization: Bearer 你的access_token"
{
  "code": 200,
  "msg": "成功",
  "data": {
    "id": 1,
    "api_key": "完整API密钥",
    "channel": "default",
    "quota_remaining": 100,
    "expire_at": "2030-12-31 23:59:59"
  }
}

接口2:批量提取N条有效密钥

GET /api.php?action=batch
批量提取
参数必填说明
num提取数量,默认 10,最大 100
product_code指定产品标识,扣减对应产品余额;产品绑定渠道时会自动限定渠道
channel指定渠道
min_quota最低剩余额度,默认 1
curl "https://api.qch1.cn/api.php?action=batch&num=20&product_code=default&min_quota=1" \
  -H "Authorization: Bearer 你的access_token"
{
  "code": 200,
  "msg": "成功",
  "data": {
    "items": [
      {
        "id": 1,
        "api_key": "完整API密钥",
        "channel": "default",
        "quota_remaining": 100,
        "expire_at": "2030-12-31 23:59:59"
      }
    ],
    "count": 1
  }
}

接口3:查询指定渠道全部正常账号

GET /api.php?action=channel
分页查询
参数必填说明
product_code条件必填可用产品标识代替渠道;产品绑定渠道时会自动查询该渠道
channel条件必填指定渠道;如果令牌已绑定渠道,可省略
page页码,默认 1
page_size每页数量,默认 50,最大 100
curl "https://api.qch1.cn/api.php?action=channel&product_code=default&page=1&page_size=50" \
  -H "Authorization: Bearer 你的access_token"
{
  "code": 200,
  "msg": "成功",
  "data": {
    "items": [],
    "pagination": {
      "page": 1,
      "page_size": 50,
      "total": 0
    }
  }
}

接口4:上报密钥消耗额度

POST /api.php?action=consume
额度同步
参数必填说明
id二选一密钥ID
api_key二选一完整API密钥
amount扣减额度,默认 1
curl -X POST "https://api.qch1.cn/api.php?action=consume" \
  -H "Authorization: Bearer 你的access_token" \
  -H "Content-Type: application/json" \
  -d "{\"id\":1,\"amount\":5}"
{
  "code": 200,
  "msg": "成功",
  "data": {
    "id": 1,
    "quota_remaining": 95,
    "status": "valid"
  }
}

当剩余额度扣至 0 时,系统会自动将该密钥标记为 invalid

支付接口:创建 pay.qch1.cn 支付订单

支付接口需要先登录用户中心,不使用第三方调用令牌,签名密钥只保存在服务端。创建订单后返回 pay_url,前端跳转该地址完成支付;支付成功后,订单里的调用次数会自动加入当前用户余额。

POST /payment.php?action=create
pay.qch1.cn
参数必填说明
amount普通订单金额;调用次数订单会由服务端按产品单价和次数重算
name / subject订单名称,默认 API服务订单
typealipay / wxpay,默认读取后台设置
out_trade_no自定义订单号,不传则系统自动生成
business_type业务类型,调用次数购买建议传 api_calls
product_code后台“产品调用价格”里配置的产品标识
count / business_id购买调用次数,例如 1000
business_return_url支付成功后业务跳转地址
redirect1 时直接302跳转到支付页
# 推荐登录用户中心后通过 https://api.qch1.cn/buy.html 创建订单
# 如需接口创建订单,需携带当前用户登录 Cookie
curl -X POST "https://api.qch1.cn/payment.php?action=create" \
  -b cookies.txt \
  -d "name=API调用提取 1000次调用额度" \
  -d "type=alipay" \
  -d "business_type=api_calls" \
  -d "product_code=default" \
  -d "count=1000" \
  -d "business_id=1000"
{
  "code": 200,
  "msg": "成功",
  "data": {
    "order_no": "PAY20260707123456ABCDEF12",
    "amount": "10.00",
    "type": "alipay",
    "pay_url": "https://pay.qch1.cn/submit.php?...",
    "notify_url": "https://api.qch1.cn/payment_notify.php",
    "return_url": "https://api.qch1.cn/payment_return.php"
  }
}
GET /payment.php?action=products
产品价格

公开读取后台启用的产品调用价格,购买页会自动使用该接口渲染产品和单价。

curl "https://api.qch1.cn/payment.php?action=products"
GET /payment.php?action=query
订单查询
curl -b cookies.txt "https://api.qch1.cn/payment.php?action=query&order_no=PAY20260707123456ABCDEF12"

订单查询只返回当前登录用户自己的订单。异步通知地址固定为 https://api.qch1.cn/payment_notify.php。收到 pay.qch1.cn 成功通知并验签通过后,订单状态会更新为 paid,并向网关返回 success

调用示例

const token = "你的access_token";

const res = await fetch("https://api.qch1.cn/api.php?action=random&min_quota=1", {
  headers: {
    Authorization: `Bearer ${token}`
  }
});

const json = await res.json();
console.log(json);
$token = '你的access_token';
$ch = curl_init('https://api.qch1.cn/api.php?action=random&min_quota=1');
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $token,
    ],
]);
$response = curl_exec($ch);
curl_close($ch);

$data = json_decode($response, true);
print_r($data);

导入格式附录

后台账号池支持 TXTXLSXJSON 导入。JSON 已兼容 CPA / TXT / SUB2API / Codex JSON / AT 账号格式。

{
  "CPA": [
    {
      "api_key": "sk-example-cpa",
      "channel": "default",
      "quota_remaining": 100,
      "expire_at": "2030-12-31 23:59:59",
      "status": "valid",
      "remark": "CPA账号"
    }
  ],
  "TXT": "sk-example-txt,default,100,2030-12-31 23:59:59,valid,TXT账号",
  "SUB2API": {
    "items": [
      {
        "key": "sk-example-sub2api",
        "channel": "default",
        "quota": 100
      }
    ]
  },
  "Codex JSON": [
    {
      "api_key": "sk-example-codex",
      "channel": "default",
      "quota_total": 100,
      "quota_remaining": 100
    }
  ],
  "AT": [
    {
      "access_token": "at-example-token",
      "channel": "default",
      "remaining": 100
    }
  ]
}

仅包含格式名或说明文字的 JSON 会被拦截,不会把 CPATXTSUB2APICodex JSONAT 当成密钥导入。