REST / WebSocket 接口

大宗商品 K 線

按商品代碼獲取歷史 K 線序列。

更新日期:2026-09-12

GET/api/v1/market/commodities/kline?symbol=HG1!&interval=1d

接口說明

大宗商品 K 線

參數 symbol 與 interval。

請求參數

字段類型必填說明
symbolstring標的代碼(必填)
intervalstring默認 1;支持 1/1m、5、15、60/1h、240/4h、1d、1w、1mo 等
limitnumber默認 300,範圍 1–5000

響應外殼與鑑權

字段類型說明
succboolean是否成功
dataobject | array業務數據(見下方字段)
msgstring失敗時的可讀錯誤信息(可選)
codestring機器可讀錯誤碼(可選)
X-Request-Idheader請求追蹤 ID(響應頭,不在 JSON body)
X-API-KeyheaderAPI Key;也可用 Authorization: Bearer

data 業務字段

字段類型說明
symbolstring解析後的標的
intervalstring歸一化週期
barsarrayK 線數組(見下方)
sourcestring固定為 tradingview
marketstring市場標籤(路徑對應)
bars[].openTime / openTimeMsstring | numberK 線開盤時間
bars[].closeTime / closeTimeMsstring | numberK 線收盤時間
bars[].open / high / low / closenumberOHLC
bars[].volumenumber成交量

常見錯誤碼

codeHTTP說明
INVALID_REQUEST400參數缺失或非法(如 interval)
INVALID_SYMBOL400標的代碼格式無效
UNKNOWN_SYMBOL400無法識別的標的(多市場 quote)
NO_SUBSCRIPTION403無有效訂閱
SUBSCRIPTION_EXPIRED403訂閱已過期
MARKET_NOT_ENABLED403當前套餐未開通該市場
API_KEY_SCOPE_DENIED403Key 權限範圍不足
IP_DENIED / GEO_DENIED403IP 或地區策略拒絕
DAILY_LIMIT_EXCEEDED429日請求配額用盡
MONTHLY_LIMIT_EXCEEDED429月請求配額用盡
RATE_LIMIT_EXCEEDED429用戶級 RPM 超限
KEY_RATE_LIMIT_EXCEEDED429單 Key RPM 超限
UPSTREAM_UNAVAILABLE502上游行情源暫時不可用
RATE_LIMIT_UNAVAILABLE503限流組件不可用
WS_CONN_LIMITWSWebSocket 連接數達到套餐上限

限流與配額

  • REST 的 quote / kline / stream 握手計入日配額與 RPM;推送 tick 不再重複計次。
  • 默認 RPM 約:Free/Trial 30、Growth/Standard 120、Pro 600、Enterprise 3000(以控制檯套餐為準)。
  • WebSocket 連接/標的上限約:Free 1 連接/10 標的;Growth 3/25;Pro 10/50;Enterprise 50/200。

請求示例 (cURL)

curl https://api.tiqex.io/api/v1/market/commodities/kline?symbol=HG1!&interval=1d \
  -H "X-API-Key: YOUR_API_KEY"

Python

import requests

url = "https://api.tiqex.io/api/v1/market/commodities/kline?symbol=HG1!&interval=1d"
headers = {"X-API-Key": "YOUR_API_KEY"}
resp = requests.get(url, headers=headers, timeout=10)
resp.raise_for_status()
print(resp.json())

JavaScript

const res = await fetch("https://api.tiqex.io/api/v1/market/commodities/kline?symbol=HG1!&interval=1d", {
  headers: { "X-API-Key": "YOUR_API_KEY" }
});
if (!res.ok) throw new Error(res.status);
console.log(await res.json());