API Kraken Futures | API WebSockets privée

Connexion

URL: wss://futures.kraken.com/ws/v1

 

Authentification

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';

Méthodes

Ordres ouverts détaillés

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      }   ]}

Positions ouvertes

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
    }]
}

Journal du compte

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}]
}

Remplissages

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"

 

}]

 

}

 

Ordres ouverts

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"

 

}

 

]

 

}

 

Solde du compte et marges

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

 

}

 

Notifications

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

 

},

 

      ...

 

]

 

}