WebSocket
Genel
Websocket yeni bir HTML5 Protokolüdür. İstemci ve sunucu arasında tam çift yönlü veri iletimi sağlayarak verilerin her iki yönde de etkin bir şekilde aktarılmasına olanak tanır. Sadece bir el sıkışma ile istemci ve sunucu arasındaki bağlantı kurulur. Sunucu daha sonra önceden belirlenmiş kurallara göre istemciye veri gönderebilecektir. Avantajları şunları içerir:
İstemci ve sunucu arasındaki veri aktarımı için WebSocket istek başlığı yalnızca yaklaşık 2 bayttır
İstemci veya sunucu bir veri iletimini başlatabilir
TCP bağlantısını tekrar tekrar oluşturmaya ve silmeye gerek olmadığından, hem bant genişliği hem de sunucu için kaynak tasarrufu sağlar
Geliştiricilerin, piyasa verilerini almak ve defter derinliğini sipariş etmek için WebSocket API'sini kullanmalarını şiddetle tavsiye ederiz.
Ws bilgisi
Döndürülen veriler, kalp atışı verileri dışında ikili olarak sıkıştırılacaktır (kullanıcının Gzip algoritması aracılığıyla sıkıştırmasını açması gerekir)
Komut Formatı
Etkinlik
Kanal
Açıklama
sub
market_$symbol_depth_step0
Subscribe depth
unsub
market_$symbol_depth_step0
Unsubscribe depth
sub
market_$symbol_trade_ticker
Subscribe to real-time trade
unsub
market_$symbol_trade_ticker
Unsubscribe real-time trade
sub
market_$symbol_ticker
Subscribe to 24h market data
unsub
market_$symbol_ticker
Unsubscribe 24h market data
sub
market_$symbol_kline_1min
Subscribe to 1min k-line information
req
market_$symbol_kline_1month
Request 1 month historical bar record
Heartbeat
Arada bir, sunucu bir PING mesajı gönderir. İstemcinin PONG mesajına yanıt vermesi gerekir, aksi takdirde sunucu bağlantıyı kapatır.
ping
1
{
2
"ping":1535975085052
3
}
Copied!
pong
1
{
2
"pong":1535975085052
3
}
Copied!
Subscription Full Depth
Subscription message structure
1
{
2
"event":"sub",
3
"params":{
4
"channel":"market_$symbol_depth_step0",// $symbol E.g. btcusdt
5
"cb_id":"1"// Business ID is not required
6
}
7
}
Copied!
Payload
1
{
2
"channel":"market_btcusdt_depth_step0",
3
"ts":1506584998239,
4
"tick":{//A maximum of 30 orders are returned
5
"asks":[//asks
6
[10000.19,0.93],
7
[10001.21,0.2],
8
[10002.22,0.34]
9
],
10
"buys":[//buy
11
[9999.53,0.93],
12
[9998.2,0.2],
13
[9997.19,0.21]
14
]
15
}
16
}
Copied!
Subscription Real Time Trade
Subscription message structure
1
{
2
"event":"sub",
3
"params":{
4
"channel":"market_$symbol_trade_ticker",// $symbol E.g. btcusdt
5
"cb_id":"1"// Business ID is not required
6
}
7
}
Copied!
Payload
1
{
2
"channel":"market_$symbol_trade_ticker",
3
"ts":1506584998239,//request time
4
"tick":{
5
"data":[
6
{
7
"side":"buy",//buy,sell
8
"price":32.233,
9
"vol":232,
10
"amount":323,
11
"ds":'2017-09-10 23:12:21'
12
}
13
]
14
}
15
}
Copied!
Subscription Kline Market
Subscription message structure
1
{
2
"event":"sub",
3
"params":{
4
"channel":"market_$symbol_kline_[1min/5min/15min/30min/60min/1day/1week/1month]",// $symbol E.g. btcusdt
5
"cb_id":"1"// Business ID is not required
6
}
7
}
Copied!
Payload
1
{
2
"channel":"market_$symbol_kline_1min",//1min is for 1 minute
3
"ts":1506584998239,//request time
4
"tick":{
5
"id":1506602880,//kline start time
6
"vol":1212.12211,
7
"open":2233.22,//open price
8
"close":1221.11,//close price
9
"high":22322.22,//high price
10
"low":2321.22//low price
11
}
12
}
Copied!
Subscription Market Tickers
Subscription message structure
1
{
2
"event":"sub",
3
"params":{
4
"channel":"market_$symbol_ticker",// $symbol E.g. btcusdt
5
"cb_id":"1"// Business ID is not required
6
}
7
}
Copied!
Payload
1
{
2
"channel":"market_$symbol_ticker",
3
"ts":1506584998239,//request time
4
"tick":{
5
"amount":123.1221,
6
"vol":1212.12211,
7
"open":2233.22,//open price
8
"close":1221.11,//close price
9
"high":22322.22,//high price
10
"low":2321.22,//low price
11
"rose":-0.2922,//increase
12
}
13
}
Copied!
Request Kline History Data
Subscription message structure
1
{
2
"event":"req",
3
"params":{
4
"channel":"market_$symbol_kline_[1min/5min/15min/30min/60min/1day/1week/1month]",
5
"cb_id":"1",
6
"endIdx":"1506602880",//Return pageSize data before endIdx Not required
7
"pageSize":100// Not required
8
}
9
}
Copied!
Payload
1
{
2
"event_rep":"rep","channel":"market_$symbol_kline_5min",
3
"ts":1506584998239,//request time
4
"data":[//up to 300
5
{
6
"id":1506602880,//kline start time
7
"amount":123.1221,
8
"vol":1212.12211,
9
"open":2233.22,//open price
10
"close":1221.11,//close price
11
"high":22322.22,//high price
12
"low":2321.22//low price
13
},
14
{
15
"id":1506602880,//kline start time
16
"amount":123.1221,
17
"vol":1212.12211,
18
"open":2233.22,//open price
19
"close":1221.11,//close price
20
"high":22322.22,//high price
21
"low":2321.22//low price
22
}
23
]
24
}
Copied!
Request History Trade
Subscription message structure
1
{
2
"event":"req",
3
"params":{
4
"channel":"market_$symbol_trade_ticker",// $symbol E.g. btcusdt
5
"cb_id":"1"// Business ID is not required
6
}
7
}
Copied!
Payload
1
{
2
"event_rep":"rep","channel":"market_$symbol_trade_ticker",
3
"ts":1506584998239,"status":"ok",
4
"data":[
5
{
6
"side":"buy",//buy,sell
7
"price":32.233,//trade price
8
"vol":232,//trade vol
9
"amount":323//trade amount
10
},
11
{
12
"side":"buy",//buy,sell
13
"price":32.233,//trade price
14
"vol":232,//trade vol
15
"amount":323//trade amount
16
}
17
]
18
}