API Kucoin Futures

Kucoin Futures

 

Kucoin to międzynarodowa, wielojęzyczna giełda kryptowalut. Udostępnia szereg API umożliwiających dostęp do danych Kucoin. Obsługiwane są następujące API:

 

  1. Strumienie WebSocket: pozwalają subskrybować określone metody i otrzymywać dane w czasie rzeczywistym. Zdarzenia są wypychane do klientów przez serwer do subskrybentów. Używa protokołu WebSocket.
  2. REST API: klienci mogą żądać danych rynkowych i danych konta od serwera. Wymaga klucza API, sekretu i hasła do uwierzytelnienia i używa protokołu HTTPS.

 

 

Właściwości

Kucoin API posiada 2 typy metod: publiczne i prywatne. Metody publiczne są dostępne bez uwierzytelniania, na przykład: pobieranie cen tickers. Metody prywatne związane z danymi użytkownika wymagają użycia kluczy Kucoin API.

 

 

Najczęstsze zastosowania

 

WebSocket Feed

Aby subskrybować wiadomości kanału z określonego serwera, strona klienta powinna wysłać wiadomość subskrypcji do serwera.

Jeśli subskrypcja zakończy się powodzeniem, system wyśle do Ciebie wiadomości ack, gdy odpowiedź będzie ustawiona na true.

{
"id":"1545910660739",
"type":"ack"
}
Dopóki generowane są wiadomości dotyczące tematu, system wysyła odpowiednie wiadomości do strony klienta.

 

Obsługiwane są następujące metody subskrypcji i anulowania subskrypcji.

 

Kanały publiczne

 

Metoda Parametry Opis
SubscribeSymbolTickerV2 Symbol Subskrypcja tego tematu umożliwia otrzymywanie aktualizacji BBO w czasie rzeczywistym. Po subskrypcji, przy każdej zmianie w księdze zleceń, system będzie wysyłać aktualne informacje o symbolu ticker. Zalecane jest korzystanie z nowego tematu w celu uzyskiwania aktualnych informacji.
SubscribeSymbolTicker Symbol Subskrybuj ten temat, aby otrzymywać aktualizacje zmian BBO w czasie rzeczywistym. Kanał ticker dostarcza aktualizacje cen w czasie rzeczywistym przy każdym dopasowaniu. Jeśli wiele zleceń zostanie dopasowanych jednocześnie, przesłane zostanie tylko ostatnie zdarzenie dopasowania.
SubscribeLevel2MarketData Symbol Zasubskrybuj ten temat, aby otrzymywać dane arkusza zleceń poziomu 2.
SubscribeExecutionData Symbol Dla każdego wykonanego zlecenia system wysyła wiadomości o dopasowaniu w następującym formacie.
SubscribeLevel2_5BestAskBid Symbol Zwracane co najwyżej co 100 milisekund.
SubscribeLevel2_50BestAskBid Symbol Zwracane co najwyżej co 100 milisekund.
SubscribeContractMarketData Symbol Zasubskrybuj ten temat, aby otrzymywać dane rynkowe kontraktu.
SubscribeSystemAnnouncements Symbol Subskrybuj ten temat, aby otrzymywać komunikaty systemowe.
SubscribeTransactionStatistics Symbol Statystyki transakcji będą przesyłane do użytkowników co 5 sekund.
SubscribeKlines Symbol Subskrybuj dane klines (świece japońskie) dla kontraktu.
SubscribeFundingFeeSettlement Symbol Subskrybuj powiadomienia o rozliczeniach opłat finansowania.

 

Jeśli parametr ACK jest ustawiony na true, po pomyślnej subskrypcji lub anulowaniu subskrypcji klient otrzymuje o tym wiadomość.

 

Kanały prywatne

Wymaga ważnego ApiKey uzyskanego z konta Kucoin. ApiKey, ApiSecret i Passphrase muszą być ustawione we właściwości Kucoin komponentu klienta API.

 

Następujące dane są wypychane do klienta za każdym razem, gdy nastąpi zmiana. Nie jest konieczna subskrypcja żadnej metody — odbywa się ona automatycznie po ustawieniu prawidłowego ApiKey.

 

Metoda Opis
SubscribeTradeOrders Ten temat przekazuje wszystkie zdarzenia zmian dotyczące zamówień użytkownika.
SubscribeAccountBalance

Ta wiadomość jest odbierana, gdy zmienia się saldo konta. Zawiera szczegóły dotyczące zmiany.

SubscribePositionChange System wyśle zdarzenie zmiany, gdy zmieni się status pozycji.
SubscribeStopOrder Gdy zlecenie stop zostanie odebrane przez system, otrzymasz wiadomość z typem "open". Oznacza to, że zlecenie zostało wprowadzone do systemu i oczekuje na wyzwolenie.
SubscribeMarginMode Subskrybuj zmiany trybu depozytów zabezpieczających. System wyślnie zdarzenie zmiany po zaktualizowaniu trybu depozytów.
SubscribeCrossMarginLeverage Subskrybuje zmiany dźwigni cross margin. System wypychać będzie zdarzenie zmiany po zaktualizowaniu dźwigni cross margin.

 

 

REST API

Wszystkie punkty końcowe zwracają obiekt JSON lub tablicę.

 

Publiczne punkty końcowe API

 

Te punkty końcowe są dostępne bez żadnej autoryzacji.

 

Ogólne punkty końcowe

 

Metoda Parametry Opis
GetServiceStatus   Sprawdzenie łączności z Rest API i pobranie statusu usługi
GetServerTime   Sprawdź połączenie z Rest API i pobierz bieżący czas serwera.

 

 

Punkty końcowe danych rynkowych

 

Metoda Parametry Opis
GetOpenContractList   Wyślij żądanie pobrania informacji o wszystkich otwartych kontraktach.
GetOrderInfoContract   Wyślij żądanie, aby uzyskać informacje o podanym kontrakcie.
GetTicker Symbol Ticker w czasie rzeczywistym zawiera ostatnią cenę transakcji, ostatnią wielkość transakcji, identyfikator transakcji, stronę dostawcy płynności, najlepszą cenę i wielkość oferty kupna oraz oferty sprzedaży, a także czas transakcji zleceń. Wiadomości te można uzyskać również przez WebSocket. Numer sekwencji służy do oceny ciągłości wiadomości przesyłanych przez WebSocket.
GetPartOrderBook20 Symbol Pobiera migawkę zagregowanych otwartych zleceń dla danego symbolu.
GetPartOrderBook100 Symbol Pobiera migawkę zagregowanych otwartych zleceń dla danego symbolu.
GetFullOrderBook Symbol Pobiera migawkę zagregowanych otwartych zleceń dla danego symbolu.
GetLevel2PullingMessages Symbol Jeśli wiadomości przesyłane przez WebSocket nie są ciągłe, można wysłać poniższe żądanie i ponownie pobrać dane, aby upewnić się, że sekwencja jest kompletna. W żądaniu parametr start oznacza numer sekwencji ostatnio odebranej wiadomości plus 1, a parametr end oznacza numer sekwencji aktualnie odebranej wiadomości minus 1. Po ponownym pobraniu wiadomości i zastosowaniu ich do lokalnej księgi zleceń można kontynuować jej aktualizację za pomocą strumieniowego kanału WebSocket. Jeśli różnica między parametrami end i start przekracza 500, należy zaprzestać korzystania z tego żądania i zaleca się przebudowanie księgi zleceń Level 2.
GetTradeHistory Symbol Lista ostatnich 100 transakcji dla symbolu.
GetInterestRateList Symbol Sprawdzenie listy stóp procentowych.
GetIndexList Symbol Sprawdź listę indeksów
GetCurrentMarkPrice Symbol Sprawdź bieżącą cenę mark.
GetPremiumIndex Symbol Wysyła żądanie pobrania indeksu premii.
GetCurrentFundingRate Symbol Wysyłanie żądania sprawdzenia bieżącej ceny mark.
GetKLine Symbol Pobierz dane K Line kontraktu

 

 

 

Prywatne punkty końcowe API

 

Wymaga podania APIKey i APISecret w celu autoryzacji przez serwer.

 

Punkty końcowe użytkownika

 

Metoda Parametry Opis
GetAccountOverview   Pobierz przegląd konta
GetTransactionHistory   Jeśli istnieją otwarte pozycje, status pierwszej zwróconej strony będzie Pending, co wskazuje na zrealizowany zysk i stratę w bieżącym 8-godzinnym okresie rozliczeniowym. Należy podać minimalny numer przesunięcia bieżącej strony w polu offset, aby przejść do następnej strony.

 

 

Punkty końcowe handlu

 

Metoda Parametry Opis
PlaceOrder   Można składać dwa rodzaje zleceń: limit i market. Zlecenia mogą być składane wyłącznie wtedy, gdy konto dysponuje wystarczającymi środkami. Po złożeniu zlecenia środki zostają zablokowane na czas jego trwania. Wysokość zablokowanych środków zależy od rodzaju zlecenia i podanych parametrów.
PlaceMarketOrder   Składa zlecenie rynkowe.
PlaceLimitOrder   Składa zlecenie Limit.
CancelOrder   Anuluje zlecenie według identyfikatora zlecenia.
LimitOrderMassCancellation   Anuluje wszystkie otwarte zlecenia (z wyjątkiem zleceń stop). Odpowiedź zawiera listę identyfikatorów anulowanych zleceń.
StopOrderMassCancellation   Anuluj wszystkie niewyzwolone zlecenia stop. Odpowiedź zawiera listę identyfikatorów anulowanych zleceń stop. Aby anulować wyzwolone zlecenia stop, należy użyć funkcji „Limit Order Mass Cancelation".
GetOrderList   Wyświetl bieżące zlecenia.
GetUntriggeredStopOrderList   Pobierz listę niewyzwolonych zleceń stop.
GetListOrdersCompleted24hr   Pobierz listę ostatnich 1000 zleceń z ostatnich 24 godzin. Jeśli wymagane jest pobieranie historii zrealizowanych zleceń z małym opóźnieniem, można skorzystać z tego punktu końcowego.
GetOrder   Pobierz pojedyncze zlecenie według identyfikatora (w tym zlecenie stop).
GetOrderByClientOid   Pobierz pojedyncze zlecenie według identyfikatora zlecenia klienta (łącznie ze zleceniem stop).
GetFills   Pobierz listę ostatnich transakcji.
GetRecentFills   Pobierz listę ostatnich 1000 transakcji z ostatnich 24 godzin. Jeśli wymagane jest uzyskanie historii ostatnio zrealizowanych zleceń z niskim opóźnieniem, można skorzystać z tego punktu końcowego.
ActiveOrderValueCalculation   Można zapytać ten punkt końcowy, aby uzyskać łączną liczbę i wartość wszystkich aktywnych zleceń.
GetPositionDetails   Pobierz szczegóły określonej pozycji.
GetPositionList   Pobierz szczegóły określonej pozycji.
AutoDepositMargin   Włącz/Wyłącz automatyczne uzupełnianie depozytu zabezpieczającego
AddMarginManually   Dodaj depozyt zabezpieczający ręcznie
ObtainFuturesRiskLimitLevel   Interfejs ten może być używany do uzyskiwania informacji o poziomie limitu ryzyka dla określonego kontraktu
AdjustRiskLimitLevel   Ten interfejs służy do dostosowania poziomu limitu ryzyka. Zmiana poziomu spowoduje anulowanie otwartego zlecenia; odpowiedź może jedynie wskazywać, czy żądanie zmiany zostało pomyślnie przesłane.
GetFundingHistory   Prześlij żądanie, aby uzyskać historię finansowania.
GetMaxOpenSize Pobierz maksymalny rozmiar otwartej pozycji dla kontraktu.
SwitchMarginMode Przełączanie między trybem cross margin a isolated margin.
GetMarginMode Pobierz bieżący tryb marży dla kontraktu.

 

 

Zdarzenia

Wiadomości Kucoin są odbierane w komponencie TsgcWebSocketClient; można użyć następujących zdarzeń:

 

OnConnect

Po pomyślnym nawiązaniu połączenia z serwerem Kucoin.

OnDisconnect

Po rozłączeniu z serwerem Kucoin

OnMessage

Wiadomości wysyłane przez serwer do klienta są obsługiwane w tym zdarzeniu.

OnError

W przypadku wystąpienia błędu protokołu wywoływane jest to zdarzenie.

OnException

Jeżeli wystąpi nieobsługiwany wyjątek, zostanie wywołane to zdarzenie.

 

Dodatkowo w komponencie Kucoin API istnieje specyficzne zdarzenie o nazwie OnKucoinHTTPException, wywoływane za każdym razem, gdy wystąpi błąd podczas wywołania żądania HTTP (REST API lub WebSocket Feeds).