API Kucoin Futures

Kucoin Futures

 

Kucoin è un exchange di criptovalute internazionale e multilingue. Offre alcune API per accedere ai dati di Kucoin. Sono supportate le seguenti API:

 

  1. Stream WebSocket: consente di sottoscriversi ad alcuni metodi e ricevere dati in tempo reale. Gli eventi vengono inviati ai client dal server agli iscritti. Utilizza WebSocket come protocollo.
  2. REST API: i client possono richiedere al server dati di mercato e dell'account. Richiede una API Key, un Secret e una Passphrase per l'autenticazione e utilizza HTTPs come protocollo.

 

 

Proprietà

L'API Kucoin ha 2 tipi di metodi: pubblici e privati. I metodi pubblici sono accessibili senza autenticazione, ad esempio: ottenere i prezzi dei ticker. I metodi privati e relativi ai dati dell'utente richiedono l'uso delle chiavi API Kucoin.

 

 

Usi più comuni

 

WebSocket Feed

Per sottoscrivere i messaggi di un canale da un determinato server, il lato client deve inviare un messaggio di sottoscrizione al server.

Se la sottoscrizione ha esito positivo, il sistema invierà messaggi ack quando la risposta è impostata su true.

{
"id":"1545910660739",
"type":"ack"
}
Mentre vengono generati messaggi di topic, il sistema invierà i messaggi corrispondenti al lato client.

 

Sono supportati i seguenti metodi di sottoscrizione/cancellazione della sottoscrizione.

 

Canali pubblici

 

Metodo Parametri Descrizione
SubscribeSymbolTickerV2 Symbol Sottoscriviti a questo topic per ricevere gli aggiornamenti in tempo reale delle variazioni BBO. Dopo la sottoscrizione, quando si verificano modifiche nel book degli ordini, il sistema invierà in tempo reale le informazioni sul simbolo del ticker. Si consiglia di utilizzare il nuovo topic per informazioni tempestive.
SubscribeSymbolTicker Symbol Sottoscrivere questo topic per ricevere gli aggiornamenti in tempo reale delle variazioni BBO. Il canale ticker fornisce aggiornamenti dei prezzi in tempo reale ogni volta che avviene un'esecuzione. Se vengono abbinati più ordini contemporaneamente, verrà inviato solo l'ultimo evento di abbinamento.
SubscribeLevel2MarketData Symbol Sottoscrivere questo topic per ottenere i dati dell'order book di Livello 2.
SubscribeExecutionData Symbol Per ogni ordine eseguito, il sistema invierà i messaggi di corrispondenza nel formato seguente.
SubscribeLevel2_5BestAskBid Symbol Restituito al massimo ogni 100 millisecondi.
SubscribeLevel2_50BestAskBid Symbol Restituito al massimo ogni 100 millisecondi.
SubscribeContractMarketData Symbol Sottoscrivere questo topic per ottenere i dati di mercato del contratto.
SubscribeSystemAnnouncements Symbol Sottoscrivere questo topic per ricevere gli annunci di sistema.
SubscribeTransactionStatistics Symbol Le statistiche delle transazioni verranno inviate agli utenti ogni 5 secondi.
SubscribeKlines Symbol Effettua la sottoscrizione ai dati delle klines (candlestick) dei contratti.
SubscribeFundingFeeSettlement Symbol Sottoscrivere le notifiche di liquidazione delle commissioni di finanziamento.

 

Se il parametro ACK viene inviato a true, dopo una sottoscrizione/annullamento della sottoscrizione riuscita, il client riceve un messaggio in merito.

 

Canali privati

Richiede una ApiKey valida ottenuta dal Suo account Kucoin. ApiKey, ApiSecret e Passphrase devono essere impostati nella proprietà Kucoin del componente API client.

 

I seguenti dati vengono inviati al client ogni volta che si verifica una modifica. Non è necessario sottoscrivere alcun metodo; questa operazione viene eseguita automaticamente se si imposta un ApiKey valido.

 

Metodo Descrizione
SubscribeTradeOrders Questo topic invierà tutti gli eventi di modifica degli ordini.
SubscribeAccountBalance

Si riceverà questo messaggio quando cambia il saldo di un account. Il messaggio contiene i dettagli della modifica.

SubscribePositionChange Il sistema invierà l'evento di modifica quando lo stato della posizione cambia.
SubscribeStopOrder Quando un ordine stop viene ricevuto dal sistema, si riceverà un messaggio con tipo "open". Ciò significa che l'ordine è entrato nel sistema ed è in attesa di essere attivato.
SubscribeMarginMode Sottoscrizione alle modifiche della modalità di margine. Il sistema invierà l'evento di modifica quando la modalità di margine viene aggiornata.
SubscribeCrossMarginLeverage Iscriversi alle variazioni della leva cross margin. Il sistema invierà l'evento di modifica quando la leva cross margin viene aggiornata.

 

 

REST API

Tutti gli endpoint restituiscono un oggetto o un array JSON.

 

EndPoint API Pubblici

 

Questi endpoint sono accessibili senza alcuna autorizzazione.

 

EndPoint generali

 

Metodo Parametri Descrizione
GetServiceStatus   Verifica la connettività all'API Rest e ottieni lo stato del servizio
GetServerTime   Verifica la connettività alla Rest API e ottiene l'ora corrente del server.

 

 

EndPoint dei dati di mercato

 

Metodo Parametri Descrizione
GetOpenContractList   Invia una richiesta per ottenere le informazioni su tutti i contratti aperti.
GetOrderInfoContract   Invia una richiesta per ottenere informazioni sul contratto specificato.
GetTicker Symbol Il ticker in tempo reale include l'ultimo prezzo negoziato, l'ultima dimensione negoziata, l'ID transazione, il lato del taker di liquidità, il miglior prezzo e dimensione bid, il miglior prezzo e dimensione ask, nonché il momento della transazione degli ordini. Questi messaggi possono essere ottenuti anche tramite WebSocket. Il Sequence Number viene utilizzato per verificare se i messaggi inviati tramite WebSocket sono continui.
GetPartOrderBook20 Symbol Ottieni uno snapshot degli ordini aperti aggregati per un simbolo.
GetPartOrderBook100 Symbol Ottieni uno snapshot degli ordini aperti aggregati per un simbolo.
GetFullOrderBook Symbol Ottieni uno snapshot degli ordini aperti aggregati per un simbolo.
GetLevel2PullingMessages Symbol Se i messaggi inviati tramite WebSocket non sono continui, è possibile inviare la seguente richiesta e recuperare nuovamente i dati per garantire che la sequenza non presenti lacune. Nella richiesta, il parametro start corrisponde al numero di sequenza dell'ultimo messaggio ricevuto più 1, mentre il parametro end corrisponde al numero di sequenza del messaggio ricevuto corrente meno 1. Dopo aver recuperato nuovamente i messaggi e averli applicati al proprio order book locale, è possibile continuare ad aggiornare l'order book tramite il feed incrementale WebSocket. Se la differenza tra il parametro end e il parametro start è superiore a 500, interrompere l'utilizzo di questa richiesta e si consiglia di ricostruire il Level 2 orderbook.
GetTradeHistory Symbol Elenca le ultime 100 operazioni per un simbolo.
GetInterestRateList Symbol Verificare l'elenco dei tassi di interesse.
GetIndexList Symbol Verifica elenco indici
GetCurrentMarkPrice Symbol Verifica il mark price corrente.
GetPremiumIndex Symbol Invia una richiesta per ottenere l'indice premium.
GetCurrentFundingRate Symbol Invia richiesta per verificare il prezzo mark corrente.
GetKLine Symbol Ottieni i Dati K Line del Contratto

 

 

 

EndPoint API privati

 

Richiede un APIKey e un APISecret per essere autorizzato dal server.

 

EndPoint Utente

 

Metodo Parametri Descrizione
GetAccountOverview   Ottieni panoramica dell'account
GetTransactionHistory   Se ci sono posizioni aperte, lo stato della prima pagina restituita sarà Pending, indicando il profitto e la perdita realizzati nel periodo di liquidazione corrente di 8 ore. Specificare il numero di offset minimo della pagina corrente nel campo offset per voltare pagina.

 

 

Endpoint di trading

 

Metodo Parametri Descrizione
PlaceOrder   Può inserire due tipi di ordini: limit e market. Gli ordini possono essere inseriti solo se il suo account dispone di fondi sufficienti. Una volta inserito un ordine, i suoi fondi verranno bloccati per la durata dell'ordine. L'importo dei fondi bloccati dipende dal tipo di ordine e dai parametri specificati.
PlaceMarketOrder   Inserisce un ordine a mercato.
PlaceLimitOrder   Inserisce un Ordine Limit.
CancelOrder   Annulla un ordine tramite ID ordine.
LimitOrderMassCancellation   Annulla tutti gli ordini aperti (esclusi gli ordini stop). La risposta è un elenco di orderID degli ordini annullati.
StopOrderMassCancellation   Annulla tutti gli ordini stop non attivati. La risposta è un elenco di orderID degli ordini stop annullati. Per annullare gli ordini stop attivati, utilizzare 'Limit Order Mass Cancelation'.
GetOrderList   Elenca gli ordini correnti.
GetUntriggeredStopOrderList   Ottiene l'elenco degli ordini stop non attivati.
GetListOrdersCompleted24hr   Ottieni un elenco dei 1000 ordini recenti nelle ultime 24 ore. Se è necessario ottenere la cronologia degli ordini negoziati di recente con bassa latenza, è possibile interrogare questo endpoint.
GetOrder   Recupero di un singolo ordine tramite id ordine (incluso un ordine stop).
GetOrderByClientOid   Recupera un singolo ordine tramite l'ID ordine del client (incluso un ordine stop).
GetFills   Recupera un elenco delle transazioni recenti.
GetRecentFills   Ottieni un elenco degli ultimi 1000 eseguiti nelle ultime 24 ore. Se è necessario ottenere la cronologia degli ordini negoziati di recente con bassa latenza, è possibile interrogare questo endpoint.
ActiveOrderValueCalculation   È possibile interrogare questo endpoint per ottenere il numero totale e il valore di tutti gli ordini attivi.
GetPositionDetails   Ottieni i dettagli di una posizione specificata.
GetPositionList   Ottieni i dettagli di una posizione specificata.
AutoDepositMargin   Abilitazione/Disabilitazione del margine a deposito automatico
AddMarginManually   Aggiungi Margine Manualmente
ObtainFuturesRiskLimitLevel   Questa interfaccia può essere utilizzata per ottenere informazioni sul livello del limite di rischio di uno specifico contratto
AdjustRiskLimitLevel   Questa interfaccia serve per la regolazione del livello del limite di rischio. La regolazione del livello annullerà l'ordine aperto; la risposta può solo indicare se l'invio della richiesta di regolazione è andato a buon fine o meno.
GetFundingHistory   Invia richiesta per ottenere la cronologia del finanziamento.
GetMaxOpenSize Ottieni la dimensione massima della posizione aperta per un contratto.
SwitchMarginMode Passa dalla modalità cross margin alla modalità isolated margin e viceversa.
GetMarginMode Ottiene la modalità di margine corrente per un contratto.

 

 

Eventi

I messaggi Kucoin vengono ricevuti nel componente TsgcWebSocketClient; è possibile utilizzare i seguenti eventi:

 

OnConnect

Dopo una connessione riuscita al server Kucoin.

OnDisconnect

Dopo una disconnessione dal server Kucoin

OnMessage

I messaggi inviati dal server al client vengono gestiti in questo evento.

OnError

In caso di qualsiasi errore nel protocollo, verrà chiamato questo evento.

OnException

Se si verifica un'eccezione non gestita, verrà chiamato questo evento.

 

Inoltre, è disponibile un evento specifico nel componente API Kucoin, denominato OnKucoinHTTPException, che viene generato ogni volta che si verifica un errore durante la chiamata a una richiesta HTTP (REST API o WebSocket Feed).