API Kucoin

Kucoin

 

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 dispone di 2 tipi di metodi: pubblici e privati. I metodi pubblici sono accessibili senza autenticazione, ad esempio per ottenere i prezzi dei ticker. I metodi privati relativi ai dati 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
SubscribeSymbolTicker Symbol Sottoscrivi a questo topic per ricevere le notifiche push delle modifiche BBO. Se non si verificano modifiche entro un secondo, non verrà inviato nulla. Verrà inviato ogni 100ms con il BBO più recente. Se non vi sono state modifiche rispetto agli ultimi dati, non verrà inviato nulla.
SubscribeAllSymbolsTicker   Si iscriva a questo topic per ricevere il push di tutte le variazioni BBO dei simboli di mercato.
SubscribeSymbolSnapshot Symbol Iscrizione per ricevere i dati di snapshot per un singolo simbolo. I dati di snapshot vengono inviati a intervalli di 2 secondi.
SubscribeMarketSnapshot Mercato Sottoscrivere questo topic per ottenere i dati snapshot dell'intero mercato. I dati snapshot vengono inviati a intervalli di 2 secondi.
SubscribeLevel2MarketData Symbol Si iscriva a questo topic per ottenere i dati del book ordini Level2. Quando l'iscrizione websocket ha successo, il sistema Le invierà i dati di variazione incrementale inviati dal websocket.
SubscribeLevel2_5BestAskBid Symbol Il sistema restituirà i dati dei 5 migliori ordini ask/bid, che sono i dati snapshot ogni 100 millisecondi (in altre parole, i dati dei 5 migliori ordini ask/bid restituiti ogni 100 millisecondi in tempo reale).
SubscribeLevel2_50BestAskBid Symbol Il sistema restituirà i dati dei 50 migliori ordini ask/bid, che sono i dati snapshot di ogni 100 millisecondi (in altre parole, i dati dei 50 migliori ordini ask/bid restituiti ogni 100 millisecondi in tempo reale).
SubscribeKlines Symbol Sottoscrivere questo topic per ricevere i dati K-Line.
SubscribeMatchExecutionData Symbol Sottoscrivere questo topic per ricevere il flusso di dati degli eventi corrispondenti del Livello 3. Per ogni ordine eseguito, il sistema invierà i messaggi di corrispondenza nel seguente formato.
SubscribeIndexPrice Symbol Sottoscriversi a questo topic per ottenere il prezzo dell'indice per il trading su margine.
SubscribeMarkPrice Symbol Iscrizione a questo topic per ricevere il prezzo mark per il trading a margine.
SubscribeOrderBookChanged Symbol Sottoscrivi questo argomento per ricevere le modifiche al book degli ordini sul trading a margine.
SubscribeLevel1 Symbol Sottoscriversi ai dati best bid/ask di Livello 1 per un simbolo.

 

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.

SubscribePositionStatus Il sistema invierà l'evento di modifica quando lo stato della posizione cambia.
SubscribeMarginTradeOrders Il sistema invierà questo messaggio ai prestatori quando l'ordine entra nel libro degli ordini.
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.
SubscribeTradeOrdersV2 Sottoscrive il canale V2 degli ordini di trade per notifiche avanzate di aggiornamento degli ordini.
SubscribeCrossMarginPosition Sottoscrizione agli aggiornamenti della posizione su margine incrociato. Il sistema invierà l'evento di modifica quando la posizione su margine incrociato cambia.
SubscribeIsolatedMarginPosition Sottoscrivi gli aggiornamenti delle posizioni in margin isolato. Il sistema invierà l'evento di modifica quando la posizione in margin isolato cambia.

 

 

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
GetSymbolList Mercato Effettui una richiesta tramite questo endpoint per ottenere un elenco delle coppie di valute disponibili per il trading. Se desidera ottenere le informazioni di mercato del simbolo di trading
GetTicker Symbol Richiedere tramite questo endpoint i Dati di Mercato di Livello 1. Il valore restituito include il miglior prezzo e dimensione in acquisto, il miglior prezzo e dimensione in vendita, nonché l'ultimo prezzo negoziato e l'ultima dimensione negoziata.
GetAllTickers   Richiedere i ticker di mercato per tutte le coppie di trading nel mercato (incluso il volume delle ultime 24 ore).
Get24hrStats Symbol Richiedere tramite questo endpoint per ottenere le statistiche del ticker specificato nelle ultime 24 ore.
GetMarketList   Richiedere tramite questo endpoint per ottenere la valuta delle transazioni per l'intero mercato di trading.
GetPartOrderBook20 Symbol Effettuare una richiesta tramite questo endpoint per ottenere un elenco degli ordini aperti per un simbolo. Il book degli ordini di livello 2 include tutte le offerte e domande (aggregate per prezzo); questo livello restituisce una sola dimensione per ogni prezzo attivo (come se ci fosse un solo ordine per quel prezzo). Il sistema restituirà 20 dati (dati ask e bid) del book degli ordini.
GetPartOrderBook100 Symbol Effettua una richiesta tramite questo endpoint per ottenere un elenco di ordini aperti per un simbolo. Il book degli ordini di Livello 2 include tutti i bid e gli ask (aggregati per prezzo); questo livello restituisce una sola dimensione per ogni prezzo attivo (come se ci fosse un solo ordine per quel prezzo). Il sistema restituirà 100 record di dati (dati ask e bid) del book degli ordini.
GetFullOrderBook Symbol Richiedere tramite questo endpoint per ottenere il book degli ordini del simbolo specificato. Il book degli ordini di livello 2 include tutte le offerte di acquisto e di vendita (aggregate per prezzo). Questo livello restituisce una sola dimensione aggregata per ciascun prezzo (come se ci fosse un solo ordine per quel prezzo). Questa API restituirà dati con profondità completa.
GetKLines Symbol Effettua una richiesta tramite questo endpoint per ottenere la kline del simbolo specificato. I dati vengono restituiti in bucket raggruppati in base al tipo richiesto.
GetCurrencies   Effettuare la richiesta tramite questo endpoint per ottenere l'elenco delle valute.
GetCurrencyDetail Valuta Richiedere tramite questo endpoint per ottenere i dettagli della valuta di una valuta specificata
GetFiatPrice   Richiedere tramite questo endpoint per ottenere i dettagli della valuta di una valuta specificata
GetPartOrderBook1 Symbol Effettui una richiesta tramite questo endpoint per ottenere il miglior prezzo bid/ask di Livello 1 per un simbolo.

 

 

 

EndPoint API privati

 

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

 

EndPoint Utente

 

Metodo Parametri Descrizione
GetAllSubAccounts   È possibile ottenere le informazioni utente di tutti i sotto-utenti tramite questa interfaccia.
GetListAccounts   Ottiene un elenco di account.
GetAccount AccountId Informazioni per un singolo account. Utilizzare questo endpoint quando si conosce l'accountId.
GetAccountBalanceSubAccount SubUserId Questo endpoint restituisce le informazioni sull'account di un sotto-utente specificato tramite subUserId.
InnerTransfer   Questo endpoint API può essere utilizzato per trasferire fondi tra account internamente. Gli utenti possono trasferire fondi tra il proprio account principale, account di trading, account margin cross e account margin isolato senza costi. È supportato il trasferimento di fondi dall'account principale, dall'account margin cross e dall'account di trading all'account futures, ma non è supportato il trasferimento di fondi dagli account futures verso altri account.
GetDepositAddresses Valuta Ottieni gli indirizzi di deposito per una valuta.
CreateDepositAddress Valuta Creare un nuovo indirizzo di deposito per una valuta.
GetDepositList   Ottiene la cronologia dei depositi.
GetAccountLedgers   Ottiene le voci del ledger dell'account.
GetTradeFees Symbols Recupera le commissioni di trading per i simboli specificati.

 

 

Endpoint di prelievo

 

Metodo Parametri Descrizione
GetWithdrawalsList   Ottieni un elenco dei prelievi.
GetHistoricalWithdrawalsList   Elenco dei prelievi storici V1 di KuCoin.
GetWithdrawalsQuotas Valuta Ottieni le quote di prelievo
ApplyWithdraw Currency, Address, Amount Crea un prelievo
CancelWithdraw WithdrawalId Solo le richieste di prelievo con stato PROCESSING possono essere annullate.

 

 

Endpoint di trading

 

Metodo Parametri Descrizione
PlaceOrder   È possibile inserire due tipi di ordini: limite e mercato. Gli ordini possono essere inseriti solo se il conto dispone di fondi sufficienti. Una volta inserito un ordine, i fondi del conto vengono bloccati per la durata dell'ordine. L'importo e il tipo di fondi bloccati dipendono dal tipo di ordine e dai parametri specificati
PlaceMarketOrder   Inserisce un ordine a mercato.
PlaceLimitOrder   Inserisce un Ordine Limit.
PlaceMarginOrder   Inserisce un Ordine a Margine.
CancelOrder   Annulla un ordine tramite ID ordine.
CancelOrderByClientOid   Annulla un Order tramite il Client Order Id.
CancelAllOrders   Annulla tutti gli ordini aperti.
ListOrders   Richiedere tramite questo endpoint per ottenere l'elenco degli ordini correnti. Gli elementi sono paginati e ordinati per mostrare i più recenti per primi
GetRecentOrders   Richiedere tramite questo endpoint per ottenere 1000 ordini nelle ultime 24 ore.
GetOrder   Effettuare una richiesta tramite questo endpoint per ottenere le informazioni su un singolo ordine tramite il suo ID.
GetOrderByClientOid   Richiedere tramite questo endpoint per ottenere le informazioni di un singolo ordine tramite il Client order ID.
ListFills   Richiedere tramite questo endpoint per ottenere i fill recenti.
GetRecentFills   Effettuare una richiesta tramite questo endpoint per ottenere un elenco di 1000 operazioni nelle ultime 24 ore.
PlaceStopOrder   Inserisce un ordine Stop.
PlaceStopMarketOrder   Inserisce un ordine Stop Market.
PlaceStopLimitOrder   Inserisce un ordine Stop Limit.
CancelStopOrder   Annulla un ordine Stop aperto tramite l'ID ordine
CancelStopOrderByClientOid   Annulla un ordine Stop aperto tramite l'ID ordine del client
CancelAllStopOrders   Annulla tutti gli ordini Stop
GetStopOrder   Richiede tramite questa interfaccia le informazioni di uno stop order tramite l'ID dell'ordine.
GetStopOrderByClientOid   Richiedere tramite questa interfaccia le informazioni su un ordine stop tramite l'ID ordine client.
ListStopOrders   Richiedere tramite questo endpoint per ottenere l'elenco attuale degli ordini stop non ancora attivati. Gli elementi sono paginati e ordinati in modo da mostrare i più recenti per primi.
PlaceHFOrder   Inserire un ordine ad alta frequenza.
CancelHFOrder   Annulla un ordine ad alta frequenza tramite ID ordine.
CancelHFOrderByClientOid   Annulla un ordine ad alta frequenza tramite l'ID dell'ordine del client.
CancelAllHFOrders   Annulla tutti gli ordini ad alta frequenza.
GetHFActiveOrders   Ottieni gli ordini ad alta frequenza attivi.
GetHFDoneOrders   Ottiene gli ordini ad alta frequenza completati.
GetHFOrder   Ottieni un ordine ad alta frequenza specifico tramite l'ID ordine.

 

 

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).