返回首页

CG引流 API 对接文档

版本 v1.0 · 更新时间 2026-10-11 · 客服 Telegram @CGYL6

CG引流(cgyinliu.app)提供海外社媒账号(Telegram / Instagram / Facebook / X(Twitter) / TikTok / YouTube / LinkedIn / Reddit / Gmail / Discord 等)自动发货服务。本文档说明如何通过 API 绑定余额、下单、查询并获取发货账号。

1. 通用约定

认证三步:① POST /api/bind(传 key)→ ② GET /api/balance(带 Cookie 查余额)→ ③ POST /api/order_batch(带 Cookie 下单)。

2. 接口一览

方法路径说明鉴权
POST/api/bind绑定 cgyinliu.com API 密钥否
POST/api/unbind解绑当前密钥Cookie
GET/api/balance查询余额Cookie
POST/api/order下单(单商品)Cookie
POST/api/order_batch批量下单(多商品)Cookie
POST/api/track查询订单与发货账号Cookie
GET/api/section/{平台}分类下的商品(HTML 片段)否

3. 认证相关接口

3.1 绑定余额 — POST /api/bind

把 cgyinliu.com 的 API 密钥绑定到当前会话。

请求参数(application/x-www-form-urlencoded):

参数类型必填说明
keystring是cgyinliu.com API 密钥

成功响应:

{ "ok": true, "balance": 12.34 }

失败响应:

{ "ok": false, "msg": "API 密钥无效或查询失败" }

3.2 解绑 — POST /api/unbind

无参数,调用后当前会话失效。

{ "ok": true }

3.3 查询余额 — GET /api/balance

未绑定响应:

{ "ok": false, "bound": false, "balance": null }

已绑定响应:

{ "ok": true, "bound": true, "balance": 12.34 }

balance 为 cgyinliu.com 供应商账户余额(美元 USD)。

4. 下单接口

4.1 单商品下单 — POST /api/order

参数类型必填说明
product_idint是商品 ID(即 /product/{id} 中的数字)
quantityint是购买数量
contactstring否联系方式(可选,便于查单)

成功响应:

{
  "ok": true,
  "order_id": 1001,
  "query_code": "A1B2C3D4E5F6G7H8",
  "cgyl_order": 888888,
  "total": 1.04,
  "cny_total": 7.30,
  "cny": 73,
  "price": 1.04
}
字段说明
query_code / cgyl_order订单号,用于 /api/track 查询
total / price本次订单美元金额
cny_total本次订单人民币金额
cny向上游提交的数量(内部字段)

4.2 批量下单 — POST /api/order_batch

参数类型必填说明
itemsstring(JSON)是商品数组 JSON,形如 [{"id":15486,"qty":10},{"id":14978,"qty":5}]
contactstring否联系方式

items 内每个对象字段:id(商品 ID)、qty(数量)。

成功响应:

{
  "ok": true,
  "query_code": "A1B2C3D4E5F6G7H8",
  "total": 3.12,
  "cny_total": 21.84,
  "cny": 218,
  "cgyl_order": 888888,
  "count": 2
}

失败响应:

// 未绑定余额
{ "ok": false, "msg": "请先绑定余额", "need_bind": true }

// 库存不足
{ "ok": false, "msg": "某商品 库存不足(剩余 3)" }

5. 订单查询 — POST /api/track

参数类型必填说明
codestring是下单返回的 query_code 订单号
contactstring否若下单时填写了联系方式,查询时需一致

成功响应:

{
  "ok": true,
  "query_code": "A1B2C3D4E5F6G7H8",
  "status": "delivered",
  "count": 1,
  "items": [
    {
      "id": 1001,
      "product_id": 15486,
      "name": "Instagram 新号 | 邮箱验证…",
      "quantity": 10,
      "price": 0.104,
      "total": 1.04,
      "cny_total": 7.30,
      "status": "delivered",
      "delivery": "login1:pass1:2fa1\nlogin2:pass2:2fa2\n…",
      "created_at": 1765411200
    }
  ]
}
字段说明
status订单状态:delivered(已发货)/ 其他值(待发货)
items[].delivery账号数据(已发货时有内容,待发货时为空)

失败响应:

{ "ok": false, "msg": "订单不存在,请检查订单号" }

账号数据格式(delivery)

发货内容为纯文本,一行一个账号,格式:

登录名:密码:2FA密钥

部分商品不含 2FA 或含附加 Cookie/Token,字段会相应增减,以实际 delivery 内容为准。

6. 对接示例

curl

BASE="https://cgyinliu.app"

# ① 绑定密钥(-c 保存 Cookie)
curl -s -c cookies.txt -X POST "$BASE/api/bind" -d "key=你的API密钥"

# ② 查余额(-b 带 Cookie)
curl -s -b cookies.txt "$BASE/api/balance"

# ③ 批量下单:商品 15486 买 10 个,14978 买 5 个
curl -s -b cookies.txt -X POST "$BASE/api/order_batch" \
  -F 'items=[{"id":15486,"qty":10},{"id":14978,"qty":5}]'

# ④ 查订单 / 拿账号
curl -s -b cookies.txt -X POST "$BASE/api/track" -d "code=上一步返回的query_code"

Python(requests)

import requests, time

BASE = "https://cgyinliu.app"
KEY  = "你的API密钥"

s = requests.Session()

# ① 绑定
r = s.post(f"{BASE}/api/bind", data={"key": KEY}).json()
assert r["ok"], r.get("msg")
print("绑定成功,余额(USD):", r["balance"])

# ② 下单
r = s.post(f"{BASE}/api/order_batch",
           data={"items": '[{"id":15486,"qty":10}]'}).json()
assert r["ok"], r.get("msg")
code = r["query_code"]
print("订单号:", code, "人民币:", r["cny_total"])

# ③ 轮询查询,直到发货
for _ in range(30):
    r = s.post(f"{BASE}/api/track", data={"code": code}).json()
    if r["ok"] and r["status"] == "delivered":
        for it in r["items"]:
            print(it["name"], "×", it["quantity"])
            print(it["delivery"])
        break
    time.sleep(5)

7. 常见问题

现象含义处理
need_bind: true未绑定余额先调 /api/bind
API 密钥无效或查询失败key 错误 / 上游查询失败检查 key 或稍后重试
订单不存在订单号错误核对 query_code
status 非 delivered尚未发货自动发货通常秒级~数分钟,轮询等待