URL: wss://futures.kraken.com/ws/v1
Les requêtes d'abonnement et de désabonnement aux flux privés WebSocket nécessitent un message de défi signé avec l'api_secret de l'utilisateur.
Le défi est obtenu comme indiqué dans la section WebSocket API Public (en utilisant l'api_key).
Les requêtes authentifiées doivent inclure à la fois le message de défi original (original_challenge) et le message signé (signed_challenge) au format JSON.
Pour obtenir un défi Websockets, une clé API et un secret API doivent être définis dans le composant Kraken Options, la clé API fournie par Kraken dans votre compte
Kraken.ApiKey := 'api key';
Kraken.ApiSecret := 'api secret';
Ce flux d'abonnement publie des informations sur les ordres ouverts des utilisateurs. Ce flux fournit des informations supplémentaires sur tous les ordres post-only qui n'ont pas pu traverser le carnet d'ordres.
SubscribeOpenOrdersVerbose();
Plus tard, vous pouvez vous désabonner d'OpenOrdersVerbose en appelant la méthode UnSubscribeOpenOrdersVerbose
UnSubscribeOpenOrdersVerbose();
Exemple de réponse du serveur
{ 'feed':'open_orders_verbose_snapshot', 'account':'0f9c23b8-63e2-40e4-9592-6d5aa57c12ba', 'orders':[
{ 'instrument':'PI_XBTUSD', 'time':1567428848005, 'last_update_time':1567428848005, 'qty':100.0, 'filled':0.0, 'limit_price':8500.0, 'stop_price':0.0, 'type':'limit', 'order_id':'566942c8-a3b5-4184-a451-622b09493129', 'direction':0, 'reduce_only':False } ]}
Ce flux d'abonnement publie les positions ouvertes du compte utilisateur.
SubscribeOpenPositions();
Plus tard, vous pouvez vous désabonner des OpenPositions en appelant la méthode UnSubscribeOpenPositions
UnSubscribeOpenPositions();
Exemple de réponse du serveur
{
"feed": "open_positions",
"account": "DemoUser",
"positions": [{
"instrument": "fi_xbtusd_180316",
"balance": 2000.0,
"entry_price": 11675.86541981,
"mark_price": 11090.0,
"index_price": 12290.550000000001,
"pnl": -0.00905299
}]
}
Ce flux d'abonnement publie des informations sur le compte.
SubscribeAccountLog();
Plus tard, vous pouvez vous désabonner de AccountLog en appelant la méthode UnSubscribeAccountLog
UnSubscribeAccountLog();
Exemple de réponse du serveur
{
'feed': 'account_log_snapshot',
'logs': [{
'id': 1690,
'date': '2019-07-11T08:00:00.000Z',
'asset': 'bch',
'info': 'funding
rate change ','
booking_uid ':'
86 fdc252 - 1 b6e - 40 ec - ac1d - c7bd46ddeebf ','
margin_account ':'
f - bch: usd ','
old_balance ':0.01215667051,'
new_balance ':0.01215736653,'
old_average_entry_price ':0.0,'
new_average_entry_price ':0.0,'
trade_price ':0.0,'
mark_price ':0.0,'
realized_pnl ':0.0,'
fee ':0.0,'
execution ':'
','
collateral ':'
bch ','
funding_rate ':-8.7002552653e-08,'
realized_funding ':6.9602e-07}]
}
Ce flux d'abonnement publie des informations sur les remplissages.
SubscribeFills();
Plus tard, vous pouvez vous désabonner des Fills en appelant la méthode UnSubscribeFills
UnSubscribeFills();
Exemple de réponse du serveur
{
"feed":"fills_snapshot",
"account":"DemoUser",
"fills":[
{
"instrument":"FI_XBTUSD_200925",
"time":1600256910739,
"price":10937.5,
"seq":36,
"buy":true,
"qty":5000.0,
"order_id":"9e30258b-5a98-4002-968a-5b0e149bcfbf",
"fill_id":"cad76f07-814e-4dc6-8478-7867407b6bff",
"fill_type":"maker",
"fee_paid":-0.00009142857,
"fee_currency":"BTC"
}]
}
Ce flux d'abonnement publie des informations sur les ordres ouverts de l'utilisateur.
SubscribeOpenOrders();
Plus tard, vous pouvez vous désabonner des OpenOrders en appelant la méthode UnSubscribeOpenOrders
UnSubscribeOpenOrders();
Exemple de réponse du serveur
{
"feed": "open_orders_snapshot",
"account": "e258dba9-4dd4-4da5-bfef-75beb91c098e",
"orders": [
{
"instrument": "PI_XBTUSD",
"time": 1612275024153,
"last_update_time": 1612275024153,
"qty": 1000,
"filled": 0,
"limit_price": 34900,
"stop_price": 13789,
"type": "stop",
"order_id": "723ba95f-13b7-418b-8fcf-ab7ba6620555",
"direction": 1,
"reduce_only": false,
"triggerSignal": "last"
}
]
}
Cet abonnement retourne les informations de solde et de marge pour le compte du client.
SubscribeAccountBalanceAndMargins();
Plus tard, vous pouvez vous désabonner de AccounBalance en appelant la méthode UnSubscribeAccountBalanceAndMargins
UnSubscribeAccountBalanceAndMargins();
Exemple de réponse du serveur
{
"feed": "account_balances_and_margins",
"account": "DemoUser",
"margin_accounts": [
{
"name": "xbt",
"balance": 0,
"pnl": 0,
"funding": 0,
"pv": 0,
"am": 0,
"im": 0,
"mm": 0
},
{
"name": "f-xbt:usd",
"balance": 9.99730211055,
"pnl": -0.00006034858674327812,
"funding": 0,
"pv": 9.997241761963258,
"am": 9.99666885201038,
"im": 0.0005729099528781564,
"mm": 0.0002864549764390782
},
],
"seq": 14
}
Ce flux d'abonnement publie des notifications au client.
SubscribeNotifications();
Plus tard, vous pouvez vous désabonner des notifications en appelant la méthode UnSubscribeNotifications
UnSubscribeNotifications();
Exemple de réponse du serveur
{
"feed":"notifications_auth",
"notifications":[
{
"id":5,
"type":"market",
"priority":"low",
"note":"Une note décrivant la notification.",
"effective_time":1520288300000
},
...
]
}