Indices

Indices WebSocket Documentation

指數 WebSocket 文檔

iTick.org Indices WebSocket API 提供全球指數最新數據的串流存取。 您可以透過以操作形式傳送指令來指定要使用的頻道。當您訂閱的頻道中發生事件時,我們的 WebSockets 會發出事件通知您。

我們的 WebSocket API 基於授權,授權可控制您可以連接到哪些 WebSocket 叢集以及您可以存取哪些類型的資料。 您可以登入查看包含您的 API 金鑰並根據您的授權進行個人化的範例。

第 1 步:連接

使用高級計劃,您將能夠使用單一連接到叢集。如果另一個連接同時嘗試連接到集群,則當前連接將被斷開。 如果您需要同時連接到此叢集的更多連接,您可以聯絡支援人員。

連接到集群:

wscat -c wss://api.itick.org/iws

連線後您將收到以下訊息:

{
 "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":"US100",
 "types":"quote"
}

params:標的Code,支援訂閱多個
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": "US100",
        "ld": 225.215,
        "v": 16742235,
        "t": 1731689407000,
        "type": "tick"
    }
}

### 報價回應內容
{
 "code": 1,
 "data": {
 "s": "US100",
 "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": "US100",
 "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":"US100",
 "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的時間戳記需要保持一致