URL: wss://ws-auth.kraken.com (v1) veya wss://ws-auth.kraken.com/v2 (v2, önerilen)
Bileşen artık Version özelliği aracılığıyla WebSocket API v2'yi destekler (varsayılan: 2).
Soket açıldığında, kimliği doğrulanmış bir abone olma isteği mesajı göndererek özel veri kanallarına abone olabilirsiniz.
API istemcisi, WebSockets Private uç noktalarına bağlanmak için "GetWebSocketsToken" REST API uç noktası aracılığıyla bir kimlik doğrulama "token" istemelidir. Token, oluşturulduktan sonraki 15 dakika içinde kullanılmalıdır. Bir WebSockets API private mesajına (openOrders veya ownTrades) bağlantı sürdürüldükten sonra token'ın süresi dolmaz.
Bir Websockets Token almak için, Kraken Options Bileşeninde bir API Key ve API Secret ayarlanmalıdır, api anahtarı, hesabınızda Kraken tarafından sağlanır
Kraken.ApiKey := 'api key';
Kraken.ApiSecret := 'api secret';
Kendi işlemlerinizin (trade) bir listesini alın; ilk abonelikte, en son 50 işlemin bir listesini alırsınız
SubscribeOwnTrades();
Daha sonra, UnSubscribeOwnTrades yöntemini çağırarak OwnTrades'ten abonelikten çıkabilirsiniz
UnSubscribeOwnTrades();
Sunucudan yanıt örneği
[
[
{
"TDLH43-DVQXD-2KHVYY": {
"cost": "1000000.00000",
"fee": "600.00000",
"margin": "0.00000",
"ordertxid": "TDLH43-DVQXD-2KHVYY",
"ordertype": "limit",
"pair": "XBT/EUR",
"postxid": "OGTT3Y-C6I3P-XRI6HX",
"price": "100000.00000",
"time": "1560520332.914664",
"type": "buy",
"vol": "1000000000.00000000"
}
}
],
"ownTrades"
]
Kimlik doğrulamalı kullanıcı API anahtarına ait tüm açık emirleri göstermek için feed. İlk anlık görüntü (snapshot) tüm açık emirlerin listesini sağlar ve ardından açık emir listesindeki tüm güncellemeler gönderilir. 'closed' gibi durum değişikliği güncellemeleri için, orderid ve status alanları yükte bulunur
SubscribeOpenOrders();
Daha sonra, UnSubscribeOpenOrders yöntemini çağırarak OpenOrders'tan aboneliğinizi iptal edebilirsiniz
UnSubscribeOpenOrders();
Sunucudan yanıt örneği
[
[
{
"OGTT3Y-C6I3P-XRI6HX": {
"cost": "0.00000",
"descr": {
"close": "",
"leverage": "0:1",
"order": "sell 0.00001000 XBT/EUR @ limit 9.00000 with 0:1 leverage",
"ordertype": "limit",
"pair": "XBT/EUR",
"price": "9.00000",
"price2": "0.00000",
"type": "sell"
},
"expiretm": "0.000000",
"fee": "0.00000",
"limitprice": "9.00000",
"misc": "",
"oflags": "fcib",
"opentm": "0.000000",
"price": "9.00000",
"refid": "OKIVMP-5GVZN-Z2D2UA",
"starttm": "0.000000",
"status": "open",
"stopprice": "0.000000",
"userref": 0,
"vol": "0.00001000",
"vol_exec": "0.00000000"
}
}
],
"openOrders"
]
Kraken'a yeni bir Emir gönderin
oKrakenOrder := TsgcWSKrakenOrder.Create;
oKrakenOrder.Pair := 'XBT/USD';
oKrakenOrder._Type := kosBuy;
oKrakenOrder.OrderType := kotMarket;
oKrakenOrder.Volume := 1;
AddOrder(oKrakenOrder);
Sipariş parametrelerinin listesi
pair = asset pair
type = type of order (buy/sell)
ordertype = order type:
market
limit (price = limit price)
stop-loss (price = stop loss price)
take-profit (price = take profit price)
stop-loss-profit (price = stop loss price, price2 = take profit price)
stop-loss-profit-limit (price = stop loss price, price2 = take profit price)
stop-loss-limit (price = stop loss trigger price, price2 = triggered limit price)
take-profit-limit (price = take profit trigger price, price2 = triggered limit price)
trailing-stop (price = trailing stop offset)
trailing-stop-limit (price = trailing stop offset, price2 = triggered limit offset)
stop-loss-and-limit (price = stop loss price, price2 = limit price)
settle-position
price = price (optional. dependent upon ordertype)
price2 = secondary price (optional. dependent upon ordertype)
volume = order volume in lots
leverage = amount of leverage desired (optional. default = none)
oflags = comma delimited list of order flags (optional):
viqc = volume in quote currency (not available for leveraged orders)
fcib = prefer fee in base currency
fciq = prefer fee in quote currency
nompp = no market price protection
post = post only order (available when ordertype = limit)
starttm = scheduled start time (optional):
0 = now (default)
+<n> = schedule start time <n> seconds from now
<n> = unix timestamp of start time
expiretm = expiration time (optional):
0 = no expiration (default)
+<n> = expire <n> seconds from now
<n> = unix timestamp of expiration time
userref = user reference id. 32-bit signed number. (optional)
validate = validate inputs only. do not submit order (optional)
optional closing order to add to system when order gets filled:
close[ordertype] = order type
close[price] = price
close[price2] = secondary price
Sunucudan yanıt örneği
{
"descr": "buy 0.01770000 XBTUSD @ limit 4000",
"event": "addOrderStatus",
"status": "ok",
"txid": "ONPNXH-KMKMU-F4MR5V"
}
Emri iptal et
CancelOrder('Order Id');
Sunucudan yanıt örneği
{
"event": "cancelOrderStatus",
"status": "ok"
}