ProxyWing
浏览端点

ProxyWing 开发者 API

产品与订单

浏览固定价格的数据中心和 ISP 目录,并使用余额下单。

GET /products

列出固定价格产品

返回固定价格产品目录——覆盖所有位置的数据中心代理和 ISP 代理——可通过 POST /orders 订购。price_monthly 为月费;更长的计费周期(季度/半年/年度)通过传入 billing_cycle 订购,并按该产品每周期的折扣价计费。住宅流量(按 GB 计价)和移动代理(按时长计价)有各自的目录:请参阅 GET /residential/products 和 GET /mobile/products。

验证 · Bearer

查询参数

  • category string 可选

    按产品系列筛选,目前为 "datacenter" 或 "isp"。省略则列出全部;无法识别的值只会返回空列表。

请求 GET /products
curl -X GET "https://api.proxywing.com/v1/products" \
  -H "Authorization: Bearer pk_live_XXXXXXXX"
响应 200 · application/json
{
  "products": [
    {
      "product_id": "prod_389",
      "category": "isp",
      "group": "ISP US New York Premium",
      "name": "1 Proxy ISP US",
      "price_monthly": 3
    },
    {
      "product_id": "prod_3",
      "category": "datacenter",
      "group": "Proxy UK",
      "name": "1 Proxy DC UK",
      "price_monthly": 1.8
    }
  ]
}
POST /orders

订购产品

使用账户余额购买 GET /products 中的任意数据中心或 ISP 产品。系统会创建一张账单,如果余额足够,将自动支付——服务随即立即开通。如果余额不足,订单将保持 awaiting_payment 状态,可在控制面板中结清。可选择 monthly、quarterly、semiannually 或 annually 作为 billing_cycle——周期越长,按产品每周期的折扣价计费(与网页结算的费率相同),total 字段会准确报告实际扣费金额。住宅和移动产品使用各自的订单端点(POST /residential/orders、POST /mobile/orders),因为它们的定价方式不同。请提供 Idempotency-Key 请求头,这样超时请求的重试绝不会重复扣费。响应中的 order_id 是后续所有针对该资源的调用所使用的 ID,且仅在订单开通后才可获知——订单仍处于 awaiting_payment 状态时,该值为 null。请先支付账单,然后重新读取余额结清订单的响应,或轮询相应的列表端点以获取该资源。此端点必须提供 Idempotency-Key——省略将返回 400,且不会产生任何扣费。

验证 · Bearer Idempotency-Key

请求体参数

  • product_id string 必填

    要订购的产品,取自 GET /products。

  • billing_cycle string 可选

    计费周期:"monthly"(默认)、"quarterly"、"semiannually" 或 "annually"。周期越长,按产品每周期的折扣价计费。(也接受月数 1/3/6/12 作为别名。)

  • promo_code string 可选

    可选的优惠码。通过 API 仅可使用折扣低于 100% 的百分比折扣优惠码(会使总额归零的优惠码将被拒绝)。

请求 POST /orders
curl -X POST "https://api.proxywing.com/v1/orders" \
  -H "Authorization: Bearer pk_live_XXXXXXXX" \
  -H "Idempotency-Key: b3f2a1c4-7e9d-4a2b-8c6f-1d5e9a0b3c7f" \
  -H "Content-Type: application/json" \
  -d '{"product_id":"prod_389","billing_cycle":"quarterly"}'
响应 200 · application/json
{
  "order_id": "ord_3JO0ArTC2d2keb5YTlom",
  "invoice_id": "inv_200003",
  "product_id": "prod_389",
  "category": "isp",
  "billing_cycle": "quarterly",
  "total": 8.55,
  "status": "paid"
}