批次操作
透過單一批次操作處理多重API請求。減少高達90%的API調用次數,提升大規模數據擷取與分析效能。
概覽
批次操作允許您在單一HTTP請求中發送多重API請求。這能降低API調用次數、改善延遲,非常適合批量數據擷取、監控多重交易對或執行批次分析。每個批次最多可發送100個請求。
批次請求格式
POST至/v1/batch並附上請求物件陣列:
JSON
{
"requests": [
{
"id": "req_1",
"method": "GET",
"path": "/v1/whales/events?symbol=BTCUSDT"
},
{
"id": "req_2",
"method": "GET",
"path": "/v1/whales/events?symbol=ETHUSDT"
},
{
"id": "req_3",
"method": "GET",
"path": "/v1/funding-rates?symbol=BTCUSDT"
}
]
}
批次回應格式
在單一批次回應物件中接收所有回應,並依請求ID索引:
JSON
{
"success": true,
"responses": {
"req_1": {
"status": 200,
"data": {
"total": 42,
"positions": [...]
}
},
"req_2": {
"status": 200,
"data": {
"total": 28,
"positions": [...]
}
},
"req_3": {
"status": 200,
"data": {...}
}
},
"timestamp": "2026-03-21T14:35:22Z"
}
程式碼範例
Python: 批次取得多重交易對的鯨魚持倉
Python
import requests
def batch_fetch_whale_positions(api_key, symbols):
"""Fetch whale positions for multiple symbols in one batch"""
# Build batch requests
requests_list = []
for i, symbol in enumerate(symbols):
requests_list.append({
"id": f"req_{i+1}",
"method": "GET",
"path": f"/v1/whales/events?symbol={symbol}&limit=50"
})
# Send batch request
response = requests.post(
"https://api.smartmoneyapi.com/v1/batch",
headers={
"Authorization": f"Bearer {api_key}",
"Content-Type": "application/json"
},
json={"requests": requests_list}
)
batch_response = response.json()
# Process responses
results = {}
for symbol, response in zip(symbols, batch_response["responses"].values()):
if response["status"] == 200:
results[symbol] = response["data"]["positions"]
return results
# Usage: Fetch 5 symbols in one batch
symbols = ["BTCUSDT", "ETHUSDT", "SOLUSDT", "XRPUSDT", "ADAUSDT"]
positions = batch_fetch_whale_positions("sk_live_abc123xyz789", symbols)
print(f"Fetched positions for {len(positions)} symbols")
批次操作的優勢
減少API調用
單一批次發送100個請求 = 僅計為1次API調用而非100次。為高頻率整合大幅節省配額。
提升效能
單次HTTP往返請求取代100次。批量操作具備更低延遲與更快的數據擷取速度。
原子性交易
批次內所有請求會共同處理。不會發生跨批次操作的部分失敗情況。
簡化錯誤處理
將批次作為單元處理的同時,仍可針對每個請求的個別回應狀態進行處理。
使用情境
監控多重交易對: 透過單一批次請求擷取50個交易對的鯨魚持倉數據。
每日報表: 在單一批次中收集所有相關數據(資金費率、未平倉量、清算數據)。
投資組合分析: 高效分析跨多重交易對與交易所的持倉狀況。
Webhook處理: 將多重Webhook事件批次打包成單一API調用以進行分析。