Overview

歡迎使用 IPFast 文檔, IPFast 是一個專業的基礎網路與雲計算平臺。


基礎網路

基礎網路為您提供高質量的住宅代理和靜態住宅代理服務, 主要包含以下兩大核心產品:

住宅代理(Residential Proxy)

住宅代理服務提供來自真實住宅 IP 的代理,具有以下特點:

  • 全球覆蓋:支援全球多個國家和地區的 IP
  • 動態切換:支援自動切換 IP,避免被封禁
  • 高度定製:可根據國家、州/省、城市進行精確定位
  • 通道管理:支援創建多個獨立通道,便於業務隔離
  • 實時監控:提供詳細的流量統計和使用報告

數據中心代理(Datacenter Proxy)

數據中心服務提供來自數據中心集群的代理,具有以下特點:

  • 全球覆蓋:支援全球多個國家和地區的 IP
  • 動態切換:支援自動切換 IP,避免被封禁
  • 高度定製:可根據國家、州/省、城市進行精確定位
  • 通道管理:支援創建多個獨立通道,便於業務隔離
  • 實時監控:提供詳細的流量統計和使用報告

靜態住宅代理(Static Residential Proxy)

靜態住宅代理提供固定的住宅 IP 地址,特別適合需要穩定 IP 的場景:

  • 固定 IP:提供長期穩定的固定 IP 地址
  • 高可用性:保證 IP 地址的長期可用性
  • 商戶管理:支援商戶白名單功能
  • 靈活訂閱:支援按需訂閱和續費
  • IP 更換:支援在需要時更換 IP 地址

雲計算

雲計算也包含以下兩大核心產品:

輕量伺服器(Container VPS)

輕量伺服器業務特性除了具有靜態住宅IP的特性外,還允許用戶安裝少量輕量級的軟體,具有以下特點:

  • 靜態 IP:類似於靜態住宅IP的網路特性表現
  • 支援登入:支援用戶SSH登入伺服器後臺
  • 軟體安裝:允許用戶安裝少量輕量級的軟體
  • 資源隔離:硬體資源隔離,便於業務隔離
  • 實時監控:提供詳細的流量統計和使用報告

獨享伺服器(待上線)

獨享伺服器業務特性除了具有輕量伺服器的特性外,實現了所有的硬體資源獨享,具有以下特點:

  • 靜態 IP:類似於靜態住宅IP的網路特性表現
  • 支援登入:支援用戶SSH登入伺服器後臺
  • Windows:支援Windows操作系統
  • 資源隔離:硬體資源全隔離,便於業務高負載使用
  • 實時監控:提供詳細的流量統計和使用報告

快速開始

  1. 瞭解認證方式 - 獲取並使用 API Key
  2. 選擇適合您的代理類型:

技術支援

如果您在使用過程中遇到任何問題,或需要了解更多資訊,請通過以下方式聯絡我們:

  • 在線客服:通過網站聊天窗口
  • 技術文檔:本站點提供詳細的 API 文檔和使用指南

我們致力於為您提供最優質的代理服務和技術支援。

認證方式

IPFast API 使用 API Key 進行認證。每個請求都需要在 HTTP Header 中包含您的 API Key。

API Key 認證

在每個 API 請求的 Header 中添加CODE和TOKEN字段:

--header 'x-merchant-token: CODE'
--header 'x-merchant-code: TOKEN'

示例:

fetch('/api/ipft/simple/check', {
  headers: {
    'x-merchant-token': 'YOU TOKEN',
    'x-merchant-code': 'YOU CODE'
  }
})

示例輸出:

{"msg":"驗證成功,歡迎使用","code":200}

獲取 API Key

  1. 登入您的 IPFast 帳戶
  2. 進入控制面板的 API 設置頁面
  3. 生成新的 API Key

API Key 設置頁面

安全建議

  • 請妥善保管您的 API Key,不要洩露給他人
  • 定期更換 API Key 以提高安全性
  • 不要在客戶端代碼中硬編碼 API Key
  • 如果懷疑 API Key 洩露,請立即重新生成

動態 IP

動態 IP 核心介面說明。

開放介面與文檔

與控制檯請求一致的 URL、請求頭(x-merchant-token、x-merchant-code)即可通過開放 API 調用。訂單創建、列表與支付見 訂單服務。

服務目錄

套餐與下單

子帳號管理

地區與導出

訂單服務

獲取流量套餐列表

查詢動態流量套餐,用於下單頁展示可選套餐。

介面資訊

GET /client/ip/dynamics/planConfig

請求頭

參數名稱必選類型說明
x-merchant-token是string商戶訪問令牌
x-merchant-code是string商戶編碼

請求參數

參數名稱必選類型說明
capacity否String套餐流量容量(GB)
title否String套餐標題關鍵字
pageNum否Long頁碼,預設 1
pageSize否Long每頁條數

請求示例

const response = await fetch('/client/ip/dynamics/planConfig?pageNum=1&pageSize=10', {
  method: 'GET',
  headers: {
    'x-merchant-token': 'your-token-here',
    'x-merchant-code': 'your-merchant-code'
  }
})

const result = await response.json()

回應示例

{
  "total": 2,
  "rows": [
    {
      "id": 101,
      "title": "Dynamic 50GB",
      "capacity": 50,
      "price": 399,
      "discount": 1,
      "days": 30,
      "status": "Y"
    }
  ],
  "code": 200,
  "msg": "查詢成功"
}

回應參數說明

參數名稱類型說明
totalLong符合條件的總記錄數
rowsArray當前頁的套餐列表
codeInteger業務狀態碼
msgString提示資訊
rows[].idLong套餐設定 ID,下單時作為 configPlanId
rows[].titleString套餐標題
rows[].capacityNumber流量容量(GB)
rows[].priceNumber價格
rows[].discountNumber折扣相關數值(以實際業務為準)
rows[].daysInteger有效天數
rows[].statusString上架狀態,Y 表示可用

注意事項

  1. 介面僅返回可用套餐。
  2. 返回體不包含 tenantId、merchantId、tenantPrice、createTime、updateTime。
  3. 常用字段為 id/title/capacity/price/discount/days/status。

獲取套餐詳情

查詢當前帳號的動態流量套餐詳情,用於展示總流量、剩餘流量、到期時間等資訊。

介面資訊

GET /client/plan/detail

請求頭

參數名稱必選類型說明
x-merchant-token是string商戶訪問令牌
x-merchant-code是string商戶編碼

請求參數

無

請求示例

const response = await fetch('/client/plan/detail', {
  method: 'GET',
  headers: {
    'x-merchant-token': 'your-token-here',
    'x-merchant-code': 'your-merchant-code'
  }
})

const result = await response.json()

回應示例

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": 1001,
    "merchantId": 20001,
    "planType": "residential",
    "planTrafficGb": 50,
    "planResidueTrafficGb": 30,
    "expirationDate": "2026-12-31 00:00:00",
    "expired": 0,
    "createTime": "2026-01-01 10:00:00",
    "updateTime": "2026-04-01 12:00:00"
  }
}

回應參數說明

參數名稱類型說明
codeInteger業務狀態碼,成功一般為 200
msgString提示資訊
dataObject當前商戶的訂閱計劃;無計劃時為 null
data.idLong計劃記錄 ID
data.merchantIdLong商戶 ID(與令牌對應商戶一致)
data.planTypeString計劃類型,如 residential(住宅)、datacenter(數據中心)
data.planTrafficGbNumber套餐總流量(GB)
data.planResidueTrafficGbNumber剩餘可分配流量(GB)
data.expirationDateString套餐到期時間
data.expiredInteger是否過期:0 否,1 是
data.createTimeString創建時間
data.updateTimeString更新時間

下單流量套餐

創建動態流量訂單,返回訂單號用於後續支付。

介面資訊

POST /client/order/addDynamics

請求頭

參數名稱必選類型說明
x-merchant-token是string商戶訪問令牌
x-merchant-code是string商戶編碼
Content-Type是stringapplication/json

請求參數

參數名稱必選類型說明
configPlanId是Long動態套餐設定 ID

請求示例

const response = await fetch('/client/order/addDynamics', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-merchant-token': 'your-token-here',
    'x-merchant-code': 'your-merchant-code'
  },
  body: JSON.stringify({
    configPlanId: 101
  })
})

const result = await response.json()

回應示例

{
  "msg": "下單成功",
  "code": 200,
  "data": "N2026040100012345678"
}

回應參數說明

參數名稱類型說明
codeInteger業務狀態碼
msgString提示資訊
dataString新創建的訂單號,用於跳轉支付或查詢訂單

注意事項

  1. 本介面只創建待支付訂單並返回訂單號,不涉及支付方式;支付時在 訂單支付 中指定方式(例如餘額支付可傳 BALANCE)。
  2. 訂單數量固定為 1,流量容量以套餐設定為準。
  3. 後端會校驗套餐是否可用,並按套餐價格計算訂單金額。
  4. 下單後需要調用支付介面完成支付。

查詢流量分配訂單

查詢當前商戶分配流量記錄。用於核對套餐/流量曾向哪些子帳號做過分配及分配量、時間。

介面資訊

GET /client/plan/order/allocations

請求頭

參數名稱必選類型說明
x-merchant-token是string商戶訪問令牌
x-merchant-code是string商戶編碼

請求參數

參數名稱必選類型說明
pageNum否Integer頁碼
pageSize否Integer每頁數量

列表按 create_time 倒序(最新在前)。

回應示例

{
  "total": 2,
  "rows": [
    {
      "account_id": "384940",
      "plan_traffic_gb": 100.00,
      "create_time": "2025-07-22 11:19:40"
    },
    {
      "account_id": "384941",
      "plan_traffic_gb": 50.5,
      "create_time": "2025-07-21 09:00:00"
    }
  ],
  "code": 200,
  "msg": "查詢成功"
}

回應參數說明

參數名稱類型說明
totalLong總記錄數
rowsArray當前頁數據
codeInteger業務狀態碼
msgString提示資訊
rows[].account_idString業務子帳號ID
rows[].plan_traffic_gbNumber該筆分配的計劃流量(GB)
rows[].create_timeString創建時間,yyyy-MM-dd HH:mm:ss

代碼示例

fetch('/client/plan/order/allocations?pageNum=1&pageSize=20', {
  method: 'GET',
  headers: {
    'x-merchant-token': 'your_token',
    'x-merchant-code': 'your_code'
  }
})
  .then((r) => r.json())
  .then((data) => console.log(data));

創建子帳號

創建動態子帳號。

介面資訊

POST /client/dynamics/account

請求頭

參數名稱必選類型說明
x-merchant-token是string商戶訪問令牌
x-merchant-code是string商戶編碼
Content-Type是stringapplication/json

請求參數

參數名稱必選類型說明
label是String子帳號備註/標題
account是String子帳號登入名
password是String子帳號密碼
trafficLimit否Integer分配流量(GB),僅支援正整數,不傳預設 1

請求示例

const response = await fetch('/client/dynamics/account', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-merchant-token': 'your-token-here',
    'x-merchant-code': 'your-merchant-code'
  },
  body: JSON.stringify({
    label: '業務A帳號',
    account: 'demo_sub_user_01',
    password: 'demo_pass_01',
    trafficLimit: 2
  })
})

const result = await response.json()

回應示例

{
  "msg": "操作成功",
  "code": 200
}

回應參數說明

參數名稱類型說明
codeInteger業務狀態碼
msgString提示資訊

注意事項

  1. trafficLimit 僅支援正整數(如 1、2、3)。
  2. 創建前需確保帳號有可用流量套餐。

獲取子帳號列表

查詢動態子帳號列表。

介面資訊

GET /client/dynamics/account/list

請求頭

參數名稱必選類型說明
x-merchant-token是string商戶訪問令牌
x-merchant-code是string商戶編碼

請求參數

參數名稱必選類型說明
pageNum否Integer頁碼
pageSize否Integer每頁數量
account否String帳號關鍵字
status否String狀態

回應示例

{
  "total": 1,
  "rows": [
    {
      "accountId": "384940",
      "account": "account1234",
      "status": "active",
      "poolType": "standard",
      "trafficLimit": 1000,
      "remarks": null,
      "createTime": "2025-07-22 11:19:40"
    }
  ],
  "code": 200,
  "msg": "查詢成功"
}

回應參數說明

參數名稱類型說明
totalLong總記錄數
rowsArray當前頁子帳號列表
codeInteger業務狀態碼
msgString提示資訊
rows[].accountIdString子帳號在平臺上的 ID(部分介面入參使用)
rows[].accountString子帳號登入名
rows[].statusString狀態
rows[].poolTypeString池類型
rows[].trafficLimitNumber分配流量上限(GB)
rows[].remarksString備註(可能為 null)
rows[].createTimeString創建時間

查詢子帳號流量餘額

查詢指定子帳號的動態 IP 流量餘額(剩餘、總量、已用等)。

介面資訊

GET /client/dynamics/account/balance/info

請求頭

參數名稱類型說明
x-merchant-tokenString商戶令牌
x-merchant-codeString商戶代碼

請求參數

參數名稱必選類型說明
accountId否String子帳號 ID(與 獲取子帳號列表 中的 accountId 一致)。不傳或為空時,返回當前商戶下所有子帳號的流量餘額列表。
pageNum否Integer頁碼(與項目分頁約定一致,預設 1)。
pageSize否Integer每頁條數(預設與系統分頁設定一致)。

回應示例

{
    "total": 1,
    "rows": [
        {
          "accountId": "816219",
          "balance": 326999.978943,
          "balanceFormat": "326999.98 MB",
          "balanceTotal": 327000.000000,
          "balanceTotalFormat": "327000.00 MB",
          "balanceUsed": 0.021057,
          "balanceUsedFormat": "0.02 MB"
        }
    ],
    "code": 200,
    "msg": "查詢成功"
}

代碼示例

// 單個子帳號餘額
fetch('/client/dynamics/account/balance/info?accountId=816219', {
    method: 'GET',
    headers: {
        'x-merchant-token': 'your_token',
        'x-merchant-code': 'your_code'
    }
})
.then(response => response.json())
.then(data => console.log(data));

// 當前商戶全部子帳號餘額(分頁)
fetch('/client/dynamics/account/balance/info?pageNum=1&pageSize=10', {
    method: 'GET',
    headers: {
        'x-merchant-token': 'your_token',
        'x-merchant-code': 'your_code'
    }
})
.then(response => response.json())
.then(data => console.log(data));

回應參數說明

參數名稱類型說明
totalLong總記錄數
codeInteger業務狀態碼
msgString提示資訊
rowsArray餘額明細列表
rows[].accountIdString子帳號 ID
rows[].balanceNumber剩餘流量(MB)
rows[].balanceFormatString剩餘流量(展示用格式化字符串)
rows[].balanceTotalNumber總流量(MB)
rows[].balanceTotalFormatString總流量(展示用)
rows[].balanceUsedNumber已使用流量(MB)
rows[].balanceUsedFormatString已使用流量(展示用)

查詢接入點

查詢帳號可用的接入點列表。

介面資訊

GET /client/dynamics/account/endpoint/info

請求頭

參數名稱類型說明
x-merchant-tokenString商戶令牌
x-merchant-codeString商戶代碼

請求參數

參數名稱必選類型說明
accountId是Long用戶帳號ID

代碼示例

fetch('/client/dynamics/account/endpoint/info?accountId=1', {
    method: 'GET',
    headers: {
        'x-merchant-token': 'your_token',
        'x-merchant-code': 'your_code'
    }
})
.then(response => response.json())
.then(data => console.log(data));

回應示例

{
    "total": 1,
    "rows": [
        {
          "accountId": "384933",
          "endpointHost": "gate-us.host.io",
          "endpointPort": 13233,
          "supportedProtocol": "http"
        }
    ],
    "code": 200,
    "msg": "查詢成功"
}

回應參數說明

參數名稱類型說明
totalLong總記錄數
codeInteger業務狀態碼
msgString提示資訊
rowsArray接入點列表
rows[].accountIdString子帳號 ID
rows[].endpointHostString接入點主機
rows[].endpointPortInteger接入點端口
rows[].supportedProtocolString支援的協議(如 http、socks5 等)

編輯子帳號(流量)

編輯動態子帳號資訊,重點用於調整分配流量,支援按 GB 調整總流量。

介面資訊

PUT /client/dynamics/account

請求頭

參數名稱必選類型說明
x-merchant-token是string商戶訪問令牌
x-merchant-code是string商戶編碼
Content-Type是stringapplication/json

請求參數

參數名稱必選類型說明
accountId是String子帳號帳號ID
trafficLimit否Integer新總流量(GB),僅支援正整數

請求示例

const response = await fetch('/client/dynamics/account', {
  method: 'PUT',
  headers: {
    'Content-Type': 'application/json',
    'x-merchant-token': 'your-token-here',
    'x-merchant-code': 'your-merchant-code'
  },
  body: JSON.stringify({
    accountId: "y3i8cknw",
    trafficLimit: 8
  })
})

const result = await response.json()

回應示例

{
  "msg": "操作成功",
  "code": 200
}

回應參數說明

參數名稱類型說明
codeInteger業務狀態碼
msgString提示資訊

注意事項

  1. trafficLimit 僅支援正整數(如 1、2、3)。

刪除子帳號(回收)

回收(刪除)當前商戶下的動態子帳號:解除佔用並按規則退回未使用流量至套餐可分配額度。

介面資訊

DELETE /client/dynamics/account/{accountIds}

請求頭

參數名稱必選類型說明
x-merchant-token是string商戶訪問令牌
x-merchant-code是string商戶編碼

路徑參數

參數名稱必選類型說明
accountIds是String子帳號 accountId(與列表、詳情中字段一致)。多個時在同一路徑段內用英文逗號分隔,例如 id1,id2

請求示例

const accountId = 'y3i8cknw'
const response = await fetch('/client/dynamics/account/' + encodeURIComponent(accountId), {
  method: 'DELETE',
  headers: {
    'x-merchant-token': 'your-token-here',
    'x-merchant-code': 'your-merchant-code'
  }
})

const result = await response.json()

回應示例

{
  "msg": "操作成功",
  "code": 200
}

回應參數說明

參數名稱類型說明
codeInteger業務狀態碼
msgString提示資訊

獲取可用地區

根據動態子帳號查詢可用地區樹。

介面資訊

GET /client/dynamics/region/countries

請求頭

參數名稱必選類型說明
x-merchant-token是string商戶訪問令牌
x-merchant-code是string商戶編碼

請求參數

參數名稱必選類型說明
accountId是Long子帳號 ID

請求示例

const response = await fetch('/client/dynamics/region/countries?accountId=123', {
  method: 'GET',
  headers: {
    'x-merchant-token': 'your-token-here',
    'x-merchant-code': 'your-merchant-code'
  }
})

const result = await response.json()

回應示例

{
  "msg": "操作成功",
  "code": 200,
  "data": [
    {
      "countryCode": "US",
      "countryName": "United States",
      "states": [
        {
          "stateCode": "CA",
          "stateName": "California",
          "cities": [
            {
              "cityCode": "LosAngeles",
              "cityName": "Los Angeles"
            }
          ]
        }
      ]
    }
  ]
}

回應參數說明

參數名稱類型說明
codeInteger業務狀態碼
msgString提示資訊
dataArray國家列表,每項含下級州/城市
data[].countryCodeString國家代碼
data[].countryNameString國家名稱
data[].statesArray州/省列表
data[].states[].stateCodeString州/省代碼
data[].states[].stateNameString州/省名稱
data[].states[].citiesArray城市列表
data[].states[].cities[].cityCodeString城市代碼
data[].states[].cities[].cityNameString城市名稱

注意事項

  1. 介面返回國家/州/城市樹,前端可按需展開為三級下拉。

導出代理串

導出介面用於批量生成代理串。

介面資訊

POST /client/ip/dynamics/exportIp

請求頭

參數名稱必選類型說明
x-merchant-token是string商戶訪問令牌
x-merchant-code是string商戶編碼
Content-Type是stringapplication/json

請求參數

參數名稱必選類型說明
accountId是String動態帳號ID
endpointHost是String接入點 Host
endpointPort是String接入點 Port
count是Integer導出數量(1-1000)
formatType是Integer0~3
countryCode否String國家
stateCode否String州/省
cityCode否String城市
sessionCode否String會話標識(可用於 sticky 類需求)
sessionTime否String會話時長

請求示例

const response = await fetch('/client/ip/dynamics/exportIp', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-merchant-token': 'your-token-here',
    'x-merchant-code': 'your-merchant-code'
  },
  body: JSON.stringify({
    accountId: '816222',
    endpointHost: 'as.example.net',
    endpointPort: '2333',
    count: 3,
    formatType: 3
  })
})

const result = await response.json()

回應示例

{
  "msg": "操作成功",
  "code": 200,
  "data": [
    "host:port:username:password"
  ]
}

回應參數說明

參數名稱類型說明
codeInteger業務狀態碼
msgString提示資訊
dataArray代理串列表(每項為字符串),格式與 formatType 一致(如 host:port:user:pass)

靜態代理

靜態代理服務提供固定IP地址的代理解決方案,支援多國家地區的IP資源,具有高穩定性和獨享性特點。

服務目錄

IP管理

  • IP列表查詢
    • 查詢已購買的IP列表
    • 支援分頁和條件篩選
    • 顯示IP詳細資訊
  • 修改帳密
    • 修改已購 IP 的帳號或密碼
  • IP位置查詢
    • 查詢IP地理位置資訊
    • 實時狀態監控
    • 性能指標展示

訂單管理

  • 訂單列表
    • 訂單狀態跟蹤
    • 訂單詳情查看
  • 下單
    • 支援批量購買
    • 多種支付方式
    • 靈活的設定選項
  • 訂單支付
    • 支援多種支付方式
    • 實時支付狀態更新
    • 支付結果通知

主要特點

  • 固定的IP地址資源
  • 穩定可靠的網路質量
  • 多區域IP資源支援
  • 完善的訂單管理系統
  • 便捷的支付流程
  • 詳細的使用文檔

快速開始

  1. 查看IP資源

    • 使用IP位置查詢功能瀏覽可用資源
    • 選擇合適的IP地址
  2. 購買服務

    • 通過下單功能選擇所需IP
    • 確認訂單資訊
    • 完成支付流程
  3. 管理IP

    • 使用IP列表查詢功能管理已購IP
    • 監控IP使用狀態
    • 及時續費或升級服務

ip列表查詢

查詢已購買的靜態IP列表。

介面資訊

GET /client/ip/pool/item/merchantIpList

請求頭

參數名稱類型說明
x-merchant-tokenString商戶令牌
x-merchant-codeString商戶代碼

請求參數

參數名稱必選類型說明
ip否StringIP
status否IntegerIP狀態:1-已生效, 2-已過期 3-已退訂
type否IntegerIP類別:0廣播 1原生
ipCategory否StringIP屬性:HOST-住宅, IDC-機房
orderNo否String訂單號
pageSize否Integer每頁顯示記錄數
pageNum否Integer當前頁碼

代碼示例

/client/ip/pool/item/merchantIpList?ip=156.252&status=1&type=1&pageSize=1

回應示例

{
  "total": 58,
  "rows": [
    {
      "createBy": null,
      "createTime": "2025-03-24 20:22:31",
      "updateBy": null,
      "updateTime": "2025-03-24 23:26:14",
      "remark": null,
      "id": 147,
      "poolId": 1,
      "merchantId": 1,
      "lastOrderId": 176,
      "sourceCode": null,
      "sourceName": null,
      "account": "justinka",
      "password": "34372766",
      "port": "2340",
      "ip": "156.252.8.76",
      "protocolse": null,
      "effectiveDatetime": "2025-03-24 20:22:31",
      "expireDatetime": "2025-05-23 20:22:31",
      "status": 1,
      "type": 1,
      "ipCategory": "HOST",
      "continent": "Asia",
      "countryCode": "VN",
      "location": "",
      "bandwidth": 10,
      "hot": "N"
    }
  ],
  "code": 200,
  "msg": "查詢成功"
}

回應參數說明

參數名稱類型說明
idLong記錄ID
accountString帳號
passwordString密碼
portString端口
ipStringIP地址
effectiveDatetimeString生效時間(東八區,yyyy-MM-dd HH:mm:ss)
expireDatetimeString到期時間(東八區,yyyy-MM-dd HH:mm:ss)
statusInteger狀態:1-已生效, 2-已過期 3-已退訂
typeIntegerIP類別 0廣播 1原生
ipCategoryStringIP屬性 HOST住宅 IDC機房
continentString大洲
countryCodeString國家代碼
locationString位置
bandwidthInteger帶寬規格(Mbps),如 5、10

修改帳密

修改已購買靜態 IP 的帳號或密碼,支援批量(單次最多 10 個)。

介面資訊

POST /client/ip/pool/item/changeCredential

請求頭

參數名稱類型說明
x-merchant-tokenString商戶令牌
x-merchant-codeString商戶代碼

請求參數

參數名稱必選類型說明
ipList是Array[String]IP 列表
account否String新帳號,不修改可不傳
password否String新密碼,不修改可不傳

帳號、密碼至少填寫一項。

填寫時須滿足:首位為字母(不能為數字),長度 8-12 位,且同時包含大寫字母、小寫字母與數字。

請求示例

const response = await fetch('/client/ip/pool/item/changeCredential', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-merchant-token': 'your-token-here',
    'x-merchant-code': 'your-merchant-code'
  },
  body: JSON.stringify({
    ipList: ['156.252.8.76', '156.252.8.77'],
    account: 'newuser',
    password: 'newpass123'
  })
});

const result = await response.json();

回應示例

{
  "msg": "操作成功",
  "code": 200,
  "data": {
    "successCount": 2,
    "failCount": 0,
    "successIPList": ["156.252.8.76", "156.252.8.77"],
    "failIPList": []
  }
}

回應字段

參數名稱類型說明
data.successCountInteger成功修改的 IP 數量
data.failCountInteger修改失敗的 IP 數量
data.successIPListArray[String]成功修改的 IP 列表
data.failIPListArray[String]修改失敗的 IP 列表

說明

  • 僅支援狀態為「已生效」的 IP
  • 單次最多 10 個 IP
  • 部分 IP 可能不支援修改帳號或密碼,以介面返回為準

可購地區列表查詢

查詢可購買地區IP數量

介面資訊

GET /client/ip/pool/regionalAvailableIps

請求頭

參數名稱類型說明
x-merchant-tokenString商戶令牌
x-merchant-codeString商戶代碼

請求參數

參數名稱必選類型說明
type否IntegerIP類別 0廣播 1原生
ipCategory否StringIP屬性 IDC機房 HOST住宅
continents否Array[String]州列表
countryCodes否Array[String]國家代碼列表
locations否Array[String]省/區列表
bandwidth否Integer帶寬規格(Mbps),如 5、10;不傳時每個可購地區可能返回多條記錄,分別對應不同帶寬規格

代碼示例

/client/ip/pool/regionalAvailableIps

回應示例

{
  "total": 3,
  "rows": [
    {
      "id": 19,
      "type": 1,
      "ipCategory": "HOST",
      "continent": "asia",
      "countryCode": "hk",
      "location": "hongkong",
      "bandwidth": 10,
      "price": 30.0000,
      "ipTotals": 100
    },
    {
      "id": 19,
      "type": 1,
      "ipCategory": "HOST",
      "continent": "asia",
      "countryCode": "hk",
      "location": "hongkong",
      "bandwidth": 5,
      "price": 20.0000,
      "ipTotals": 413
    },
    {
      "id": 24,
      "type": 1,
      "ipCategory": "HOST",
      "continent": "north_america",
      "countryCode": "us",
      "location": "newyork",
      "bandwidth": 5,
      "price": 18.0000,
      "ipTotals": 200
    }
  ],
  "code": 200,
  "msg": "查詢成功"
}

同一地區 id 可能出現多條記錄,以 bandwidth 區分不同帶寬規格;price、ipTotals 均為該帶寬規格下的單價與可購數量。

回應參數說明

參數名稱類型說明
idInteger地區標識,與下單時的國家/地區組合對應
typeIntegerIP類別:0-廣播, 1-原生
ipCategoryStringIP屬性:HOST-住宅, IDC-機房
continentString大洲
countryCodeString國家代碼
locationString省/區位置
bandwidthInteger帶寬規格(Mbps),如 5、10
pricedouble該帶寬規格下的月單價(元)
ipTotalsInteger該帶寬規格下的可購數量

錢包餘額查詢

錢包餘額查詢

介面資訊

GET /client/merchant/walletInfo

請求頭

參數名稱類型說明
x-merchant-tokenString商戶令牌
x-merchant-codeString商戶代碼

回應示例

{
  "msg": "操作成功",
  "code": 200,
  "data": {
    "balance": 20.000,
    "totalAmount": 100.500
  }
}

回應參數說明

參數名稱類型說明
balancedouble餘額
totalAmountdouble總花費金額

靜態代理訂單

靜態代理訂單模塊提供了靜態IP代理服務的訂購和管理功能。通過這些介面,您可以購買靜態IP代理、管理訂單並完成支付。

功能特點

訂單管理

  • 訂單列表
    • 提供詳細的訂單資訊
  • 下單
    • 支援批量購買靜態IP
    • 自動計算訂單金額
    • 支援多種支付方式
    • 提供詳細的訂單資訊

支付處理

  • 訂單支付
    • 支援多種支付方式
    • 實時支付狀態更新
    • 自動餘額校驗
    • 支付結果通知

使用流程

  1. 創建訂單

    • 選擇購買數量和週期
    • 確認訂單金額
    • 聯絡我們確保IP庫存充足(臨時方案,後續會開發介面自主查詢庫存)
    • 提交訂單請求 調用/client/order/addStatic介面
    • 獲取訂單ID 獲取resp.data作為訂單ID
  2. 完成支付

    • 使用訂單ID發起支付 調用/client/payment/order/pay/{orderId}介面
    • 選擇支付方式 當前僅支援BALANCE
    • 確認支付結果
    • 查看訂單狀態

使用建議

  • 下單前確認所需的靜態IP數量
  • 注意檢查帳戶餘額是否充足
  • 保存訂單ID以便後續查詢
  • 及時確認支付結果狀態
  • 如遇支付失敗,查看具體錯誤資訊

新購下單

本介面用於新購下單

介面資訊

POST /client/order/addStatic

請求頭

參數名稱必選類型說明
x-merchant-token是string商戶訪問令牌
x-merchant-code是string商戶編碼

請求參數

參數名稱必選類型說明
countryNums是Array of CountryNumsItemVO國家IP數量分配列表
monthCount是Long購買幾個月

CountryNumsItemVO結構

參數名稱必選類型說明
countryCode是String國家代碼
location是String省/州/區
num是Long該國家需要的IP數量
ipType是Long0:廣播 1:原生
ipCategory是StringHOST-住宅 IDC-機房
bandwidth是Integer帶寬規格(Mbps),如 5、10;見下方「帶寬說明」

請求示例

const response = await fetch('/client/order/addStatic', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-merchant-token': 'your-token-here',
    'x-merchant-code': 'your-merchant-code'
  },
  body: JSON.stringify({
      "countryNums": [
          {
              "countryCode": "US",
              "num": "2",
              "location" : "New York",
              "ipType":1,
              "ipCategory":"HOST",
              "bandwidth":10
          }
      ],
      "monthCount":1
  })
});

const result = await response.json();

回應結果

{
    "msg": "操作成功",
    "code": 200,
    "data": "N2025032701271232584"
}

帶寬說明

countryNums 中每一項必須傳入 bandwidth(單位 Mbps,常見取值為 5、10):

  • 按指定帶寬計價、校驗庫存並開通;若該地區未設定該帶寬的售價或庫存不足,下單失敗。
  • 未傳或傳 null 時介面返回錯誤,例如:countryNums[0].bandwidth不能為空。
  • 服務端不會再按 10 Mbps → 5 Mbps 自動選檔。

建議:先調用 可購地區列表查詢,按返回記錄中的 bandwidth、price、ipTotals 下單,並與本介面傳入值保持一致。

注意事項

  1. 同一國家/地區若存在多種帶寬規格,必須為每一行 countryNums 顯式傳入目標 bandwidth。

續費下單

本介面用於續費下單,支援批量IP續費。

介面資訊

POST /client/order/renewIpList

請求頭

參數名稱必選類型說明
x-merchant-token是string商戶訪問令牌
x-merchant-code是string商戶編碼

請求參數

參數名稱必選類型說明
ipList是Array[String]IP列表
monthCount是Long續費幾個月

請求示例

const response = await fetch('/client/order/renewIpList', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-merchant-token': 'your-token-here',
    'x-merchant-code': 'your-merchant-code'
  },
  body: JSON.stringify({
      "ipList": [
          "43.255.80.100"
      ],
      "monthCount": 1
  })
});

const result = await response.json();

回應結果

{
    "msg": "下單成功",
    "code": 200,
    "data": "N2025032701271232584"
}

退訂下單

本介面用於退訂下單,支援批量IP退訂。

介面資訊

POST /client/order/unsubscribeStaticIps

請求頭

參數名稱必選類型說明
x-merchant-token是string商戶訪問令牌
x-merchant-code是string商戶編碼

請求參數

參數名稱必選類型說明
ipList是Array[String]IP列表

請求示例

const response = await fetch('/client/order/unsubscribeStaticIps', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-merchant-token': 'your-token-here',
    'x-merchant-code': 'your-merchant-code'
  },
  body: JSON.stringify({
      "ipList": [
          "43.255.80.100"
      ]
  })
});

const result = await response.json();

回應結果

{
    "msg": "操作成功",
    "code": 200,
    "data": "true"
}

帶寬監控日誌

按機器 IP 與日期範圍查詢帶寬、CPU、內存、TCP 等監控數據,用於不限量代理機器的運行監控與排查。

介面資訊

GET /client/ip/unlimited/log

請求頭

參數名稱類型說明
x-merchant-tokenString商戶令牌
x-merchant-codeString商戶代碼

請求參數

參數名稱必選類型說明
ip是String機器 IP
startDate是String開始日期,格式 yyyy-MM-dd
endDate是String結束日期,格式 yyyy-MM-dd

代碼示例

/client/ip/unlimited/log?ip=192.168.1.1&startDate=2026-02-27&endDate=2026-02-27

回應示例

{
  "bandwidth": [18, 23, 21, 21, 23, 25],
  "cpu": [13, 16, 15, 16, 16, 17],
  "dates": ["02-27 00:00", "02-27 00:01", "02-27 00:03", "02-27 00:04", "02-27 00:05", "02-27 00:06"],
  "mem": [42, 42, 42, 42, 43, 44],
  "tcp": [49240, 53572, 56375, 54897, 55624, 59692]
}

回應參數說明

參數名稱類型說明
bandwidthArray[Integer]各採樣點帶寬指標(與 dates 一一對應),單位MB
cpuArray[Integer]各採樣點 CPU 使用率(與 dates 一一對應),單位%
datesArray[String]採樣時間點,格式 MM-dd HH:mm
memArray[Integer]各採樣點內存使用率(與 dates 一一對應),單位%
tcpArray[Integer]各採樣點 TCP 連接數(與 dates 一一對應)

數組長度一致,同一索引對應同一時刻的帶寬、CPU、日期、內存、TCP 數據。

訂單服務

通用訂單能力說明。

服務目錄

訂單列表查詢

查詢已購訂單列表

介面資訊

GET /client/order/orderList

請求頭

參數名稱類型說明
x-merchant-tokenString商戶令牌
x-merchant-codeString商戶代碼

請求參數

參數名稱必選類型說明
orderNo否String訂單號
productType否Integer產品類型,2-靜態IP

回應示例

{
  "total": 1,
  "rows": [
    {
      "createTime": "2025-10-22 17:02:52",
      "remark": null,
      "id": 157,
      "merchantId": 1,
      "orderNo": "IPF2025102217025244134",
      "productName": "Static Regular",
      "productType": 2,
      "quantity": 1,
      "totalAmount": 0.010,
      "currency": "CNY",
      "status": 0,
      "paidStatus": 20,
      "payMethod": "ALIPAY",
      "orderItems": [
        {
          "password": "12345678",
          "expireDatetime": "2025-11-21 17:02:53",
          "port": "8080",
          "countryCode": "nz",
          "unsubscribeTime": null,
          "ip": "203.97.15.28",
          "effectiveDatetime": "2025-10-22 17:02:53",
          "days": 30,
          "location": "wellingtont",
          "account": "ipfast@2025",
          "status": "Y"
        }
      ]
    }
  ],
  "code": 200,
  "msg": "查詢成功"
}

回應參數說明

參數名稱類型說明
orderNoString訂單號
productNameString產品名稱
productTypeInteger產品類型,2-靜態IP
totalAmountdouble總價格
currencyString貨幣
statusInteger訂單狀態,0-未生效,10-已生效,20-已過期
paidStatusInteger支付狀態,0-已取消,10-未支付,20-已支付
payMethodString支付方式,BALANCE-餘額支付,ALIPAY-支付寶
createTimeString創建時間(東八區,yyyy-MM-dd HH:mm:ss)
orderItemsList訂單產品明細

靜態訂單orderItems

參數名稱類型說明
ipStringIP
portString端口
accountString帳號
passwordString密碼
countryCodeString國家代碼(2位)
locationString地區
statusString狀態,P-待發貨,Y-已發貨,N-已過期,T-已退訂
effectiveDatetimeString生效時間(東八區,yyyy-MM-dd HH:mm:ss)
expireDatetimeString過期時間(東八區,yyyy-MM-dd HH:mm:ss)
unsubscribeTimeString退訂時間(未退訂為 null;已退訂為東八區 yyyy-MM-dd HH:mm:ss)

訂單支付

支付訂單。

介面資訊

POST /client/payment/order/pay/{orderId}

請求頭

參數名稱類型說明
x-merchant-tokenString商戶令牌
x-merchant-codeString商戶代碼
Content-TypeStringapplication/json

路徑參數

參數名稱類型說明
orderIdString訂單ID,從下單返回值中獲取

請求參數

參數名稱類型說明
paymentString支付方式,目前僅支援"BALANCE"

請求示例

{
    "payment": "BALANCE"
}

代碼示例

fetch('/client/payment/order/pay/N2025032701271232584', {
    method: 'POST',
    headers: {
        'x-merchant-token': 'your_token',
        'x-merchant-code': 'your_code',
        'Content-Type': 'application/json'
    },
    body: JSON.stringify({
        payment: "BALANCE"
    })
})
.then(response => response.json())
.then(data => console.log(data));

回應示例

{
      "msg": "操作成功",
      "code": 200,
      "data": {
        "paymentType": "BALANCE",
        "paymentName": "餘額支付",
        "orderId": 207,
        "status": 1,
        "payMessage": "success"
      }
}

//錯誤返回
{"msg":"餘額不足","code":500}

回應參數說明

參數名稱類型說明
paymentTypeString支付方式
paymentNameString支付方式名稱
statusInteger支付狀態(1=支付成功,0=支付失敗)
orderIdString訂單ID
payMessageString支付資訊

錯誤碼說明

錯誤碼說明
500訂單已失效
500商戶錢包帳戶不存在
500餘額不足

額外說明

部分商品發貨支援Webhook回調通知,詳見IPFast工作臺-我的帳戶-Webhook。