Stock WebSocket Documentation
股票 WebSocket 文檔
iTick.org Stocks WebSocket API 提供對深圳交易所、上海交易所、香港交易所以及美國等最新股市數據的串流存取。 您可以透過以操作形式傳送指令來指定要使用的頻道。當您訂閱的頻道中發生事件時,我們的 WebSockets 會發出事件通知您。
我們的 WebSocket API 基於授權,授權可控制您可以連接到哪些 WebSocket 叢集以及您可以存取哪些類型的資料。 您可以登入查看包含您的 API 金鑰並根據您的授權進行個人化的範例。
第 1 步:連接
使用高級計劃,您將能夠使用單一連接到叢集。如果另一個連接同時嘗試連接到集群,則當前連接將被斷開。 如果您需要同時連接到此叢集的更多連接,您可以聯絡支援人員。
連接到集群:
wscat -c wss://api.itick.org/sws
連線後您將收到以下訊息:
{
"code":1,
"msg": "Connected Successfully"
}
第 2 步:驗證
您必須先進行身份驗證,然後才能提出任何其他請求。
{
"ac":"auth",
"params":"dVEIODs9rmbxOtFJAL_SRvwLXjmddLKg"
}
驗證成功後,您將收到以下訊息:
{
"code":1,
"resAc":"auth",
"msg": "authenticated"
}
驗證失敗,會斷開連接,流程終止
{
"code":0,
"resAc":"auth",
"msg": "auth failed"
}
第 3 步:訂閱
驗證身份後,即可請求流。您可以在同一請求中請求多個串流。
{
"ac":"subscribe",
"params":"AM.LPL,AM.LPL",
"types":"depth,quote"
}
params:標的 Code,支援訂閱多個,注意:多市場訂閱時,產品參數 = code & region,例如:AAPL$US
types: 訂閱的類型,depth盤口、quote報價、tick成交
訂閱成功返回內容。
{
"code":1,
"resAc":"subscribe",
"msg": "subscribe Successfully"
}
訂閱失敗返回內容。如下:分別是超出套餐計劃最大數量,訂閱參數錯誤。
{
"code":0,
"resAc":"subscribe",
"msg": "exceeding the maximum subscription limit"
}
{
"code":0,
"resAc":"subscribe",
"msg": "cannot be resolved action"
}
第 4 步:回應內容
iTick.org WebSocket 用戶端必須能夠每秒處理許多傳入訊息。由於 WebSocket 協定的性質,如果客戶端從伺服器取得訊息的速度很慢,iTick.org 的伺服器必須緩衝訊息,並以客戶端可以接收的速度傳送訊息。如果客戶端長時間以太慢的速度消費訊息, iTick.org的伺服器端緩衝區可能會變得太大。如果發生這種情況,iTick.org 將終止 WebSocket 連線。如果您經常遇到這種情況,請考慮訂閱較少的符號或頻道。
訂閱成功後資料按照以下內容發送。
交易回應內容
{
"code": 1,
"data": {
"s": "AAPL",
"ld": 225.215,
"v": 16742235,
"t": 1731689407000,
"type": "tick"
}
}
報價回應內容
{
"code": 1,
"data": {
"s": "AAPL",
"ld": 225.215,
"o": 226.27,
"h": 226.92,
"l": 224.44,
"t": 1731689407000,
"v": 16742235,
"tu": 3774688301.452,
"ts": 0,
"type": "quote"
}
}
盤口回應內容
{
"code": 1,
"data": {
"s": "AAPL",
"a": [
{
"po": 1,
"p": 3034.01,
"v": 10.6023,
"o": 10.6023
},
{
"po": 2,
"p": 3034.03,
"v": 0.0017,
"o": 0.0017
},
{
"po": 3,
"p": 3034.18,
"v": 0.0017,
"o": 0.0017
},
{
"po": 4,
"p": 3034.26,
"v": 0.0018,
"o": 0.0018
},
{
"po": 5,
"p": 3034.27,
"v": 0.21,
"o": 0.21
}
],
"b": [
{
"po": 1,
"p": 3034,
"v": 20.9758,
"o": 20.9758
},
{
"po": 2,
"p": 3033.99,
"v": 1.8408,
"o": 1.8408
},
{
"po": 3,
"p": 3033.98,
"v": 0.003,
"o": 0.003
},
{
"po": 4,
"p": 3033.97,
"v": 0.0065,
"o": 0.0065
},
{
"po": 5,
"p": 3033.94,
"v": 0.003,
"o": 0.003
}
],
"type": "depth"
}
}
K線回應內容
{
"code": 0,
"msg": null,
"data": {
"s":"AAPL.US",
"t":1,
"k":
{
"tu": 157513,
"c": 3059.39,
"t": 1731660060000,
"v": 28,
"h": 3061.41,
"l": 3055.24,
"o": 3055.36
}
}
}
t Kline 週期: 週期 1分鐘、2五分鐘、3十分鐘、4三十分鐘、5一小時、6兩小時、7四小時、8一天、9一週、10一月
第 5 步:保持心跳
客戶端向伺服器發送
{
"ac":"ping",
"params":"1731688569840"
}
服務端向客戶端發送
{
"resAc":"pong",
"data": {"params":"1731688569840"}
}
ping、pong的時間戳記需要保持一致