API Kucoin

Kucoin

 

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 ticker. Metody prywatne związane z danymi użytkownika wymagają użycia kluczy API Kucoin.

 

 

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
SubscribeSymbolTicker Symbol Zasubskrybuj ten temat, aby otrzymywać powiadomienia push o zmianach BBO. Jeśli w ciągu jednej sekundy nie nastąpi żadna zmiana, powiadomienie nie zostanie wysłane. Dane są wysyłane co 100 ms z aktualnym BBO. Jeśli dane nie zmieniły się w stosunku do poprzednich, powiadomienie nie zostanie wysłane.
SubscribeAllSymbolsTicker   Subskrypcja tego tematu pozwala otrzymywać powiadomienia push o zmianach BBO wszystkich symboli rynkowych.
SubscribeSymbolSnapshot Symbol Subskrybuj dane migawkowe dla jednego symbolu. Dane migawkowe są przesyłane w odstępach 2-sekundowych.
SubscribeMarketSnapshot Rynek Subskrybuj ten temat, aby otrzymać dane migawkowe dla całego rynku. Dane migawkowe są przesyłane co 2 sekundy.
SubscribeLevel2MarketData Symbol Subskrybuj ten temat, aby otrzymywać dane z arkusza zleceń poziomu 2. Po pomyślnym nawiązaniu subskrypcji WebSocket system będzie przesyłał do Ciebie przyrostowe dane zmian za pośrednictwem WebSocket.
SubscribeLevel2_5BestAskBid Symbol System zwróci dane 5 najlepszych zleceń ask/bid, które stanowią dane migawkowe aktualizowane co 100 milisekund (innymi słowy, dane 5 najlepszych zleceń ask/bid są zwracane co 100 milisekund w czasie rzeczywistym).
SubscribeLevel2_50BestAskBid Symbol System zwróci dane 50 najlepszych zleceń ask/bid, będące migawką danych co 100 milisekund (innymi słowy, dane 50 najlepszych zleceń ask/bid zwracane co 100 milisekund w czasie rzeczywistym).
SubscribeKlines Symbol Subskrybuj ten temat, aby otrzymywać dane K-Line.
SubscribeMatchExecutionData Symbol Subskrybuj ten temat, aby otrzymywać pasujący przepływ danych zdarzeń Poziomu 3. Dla każdej zrealizowanej transakcji system wysyła wiadomości dopasowania w następującym formacie.
SubscribeIndexPrice Symbol Subskrybuj ten temat, aby otrzymywać cenę indeksową dla handlu z depozytem zabezpieczającym.
SubscribeMarkPrice Symbol Subskrybuj ten temat, aby otrzymywać ceny mark price dla handlu na marży.
SubscribeOrderBookChanged Symbol Subskrybuj ten temat, aby otrzymywać zmiany w księdze zleceń handlu na depozycie zabezpieczającym.
SubscribeLevel1 Symbol Subskrybowanie danych najlepszego bid/ask poziomu 1 dla danego symbolu.

 

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.

SubscribePositionStatus System wyśle zdarzenie zmiany, gdy zmieni się status pozycji.
SubscribeMarginTradeOrders System wyśle tę wiadomość do pożyczkodawców, gdy zlecenie zostanie dodane do arkusza zleceń.
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.
SubscribeTradeOrdersV2 Subskrybuj kanał zleceń handlowych V2 w celu otrzymywania rozszerzonych powiadomień o aktualizacjach zleceń.
SubscribeCrossMarginPosition Subskrybuje aktualizacje pozycji na marżę krzyżową. System wyśle zdarzenie zmiany, gdy zmieni się pozycja na marżę krzyżową.
SubscribeIsolatedMarginPosition Subskrybuj aktualizacje izolowanej pozycji na depozycie zabezpieczającym. System wyśle zdarzenie zmiany, gdy izolowana pozycja na depozycie zabezpieczającym ulegnie zmianie.

 

 

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
GetSymbolList Rynek Wyślij żądanie do tego punktu końcowego, aby uzyskać listę dostępnych par walutowych do handlu. Jeśli potrzebne są informacje rynkowe dotyczące symbolu transakcji
GetTicker Symbol Wyślij żądanie do tego punktu końcowego, aby uzyskać dane rynkowe poziomu 1. Zwracana wartość obejmuje najlepszą cenę i wielkość oferty kupna, najlepszą cenę i wielkość oferty sprzedaży oraz ostatnią cenę i wielkość transakcji.
GetAllTickers   Żądaj tykera rynkowego dla wszystkich par handlowych na rynku (w tym wolumen 24h).
Get24hrStats Symbol Żądanie wysłane do tego punktu końcowego zwraca statystyki określonego tickera z ostatnich 24 godzin.
GetMarketList   Użyj tego punktu końcowego, aby uzyskać walutę transakcji dla całego rynku handlowego.
GetPartOrderBook20 Symbol Wysyłając żądanie do tego punktu końcowego, można uzyskać listę otwartych zleceń dla symbolu. Arkusz zleceń poziomu 2 zawiera wszystkie oferty bid i ask (zagregowane według ceny); ten poziom zwraca tylko jeden rozmiar dla każdej aktywnej ceny (tak, jakby istniało tylko jedno zlecenie dla danej ceny). System zwróci 20 pozycji danych (dane bid i ask) z arkusza zleceń.
GetPartOrderBook100 Symbol Wyślij żądanie do tego punktu końcowego, aby uzyskać listę otwartych zleceń dla symbolu. Arkusz zleceń poziomu 2 zawiera wszystkie oferty kupna i sprzedaży (zagregowane według ceny); ten poziom zwraca tylko jeden rozmiar dla każdej aktywnej ceny (tak jakby istniało tylko jedno zlecenie dla tej ceny). System zwróci 100 pozycji danych (dane ofert kupna i sprzedaży) z arkusza zleceń.
GetFullOrderBook Symbol Żądanie przez ten punkt końcowy zwraca arkusz zleceń dla podanego symbolu. Arkusz zleceń poziomu 2 zawiera wszystkie oferty kupna i sprzedaży (zagregowane według ceny). Ten poziom zwraca tylko jeden zagregowany rozmiar dla każdej ceny (jakby istniało tylko jedno zlecenie dla tej ceny). To API zwraca dane z pełną głębokością.
GetKLines Symbol Żądaj przez ten punkt końcowy, aby uzyskać kline dla określonego symbolu. Dane są zwracane w zgrupowanych segmentach na podstawie żądanego typu.
GetCurrencies   Wyślij żądanie do tego punktu końcowego, aby uzyskać listę walut.
GetCurrencyDetail Waluta Wyślij żądanie do tego punktu końcowego, aby uzyskać szczegóły waluty dla określonej waluty
GetFiatPrice   Wyślij żądanie do tego punktu końcowego, aby uzyskać szczegóły waluty dla określonej waluty
GetPartOrderBook1 Symbol Wyślij żądanie do tego punktu końcowego, aby uzyskać najlepszą ofertę kupna/sprzedaży poziomu 1 dla danego symbolu.

 

 

 

Prywatne punkty końcowe API

 

Wymaga podania APIKey i APISecret w celu autoryzacji przez serwer.

 

Punkty końcowe użytkownika

 

Metoda Parametry Opis
GetAllSubAccounts   Informacje o użytkowniku wszystkich sub-użytkowników można uzyskać przez ten interfejs.
GetListAccounts   Pobierz listę kont.
GetAccount AccountId Informacje dotyczące pojedynczego konta. Tego punktu końcowego należy użyć, gdy znany jest identyfikator accountId.
GetAccountBalanceSubAccount SubUserId Ten punkt końcowy zwraca informacje o koncie użytkownika podrzędnego określonego przez subUserId.
InnerTransfer   Ten punkt końcowy API umożliwia wewnętrzne przelewy środków między kontami. Użytkownicy mogą bezpłatnie przenosić środki między kontem głównym, kontem handlowym, kontem marży krzyżowej i kontem marży izolowanej. Obsługiwany jest transfer środków z konta głównego, konta marży krzyżowej i konta handlowego na konto futures, jednak transfer środków z kont futures na inne konta nie jest obsługiwany.
GetDepositAddresses Waluta Pobierz adresy depozytów dla waluty.
CreateDepositAddress Waluta Utwórz nowy adres depozytu dla waluty.
GetDepositList   Pobierz historię depozytów.
GetAccountLedgers   Pobierz wpisy księgi rachunkowej konta.
GetTradeFees Symbole Pobiera opłaty transakcyjne dla wskazanych instrumentów.

 

 

Punkty końcowe wypłat

 

Metoda Parametry Opis
GetWithdrawalsList   Pobierz listę wypłat.
GetHistoricalWithdrawalsList   Lista historycznych wypłat KuCoin V1.
GetWithdrawalsQuotas Waluta Pobierz limity wypłat
ApplyWithdraw Waluta, adres, kwota Utwórz wypłatę
CancelWithdraw WithdrawalId Anulować można tylko żądania wypłat o statusie PROCESSING.

 

 

Punkty końcowe handlu

 

Metoda Parametry Opis
PlaceOrder   Można składać dwa rodzaje zleceń: limitowane i rynkowe. Zlecenia mogą być składane wyłącznie wtedy, gdy konto posiada wystarczające środki. Po złożeniu zlecenia środki na koncie zostają zablokowane na czas jego realizacji. Wysokość i rodzaj zablokowanych środków zależy od typu zlecenia i podanych parametrów.
PlaceMarketOrder   Składa zlecenie rynkowe.
PlaceLimitOrder   Składa zlecenie Limit.
PlaceMarginOrder   Składa zlecenie depozytowe z depozytem zabezpieczającym.
CancelOrder   Anuluje zlecenie według identyfikatora zlecenia.
CancelOrderByClientOid   Anuluje zlecenie według identyfikatora zlecenia klienta.
CancelAllOrders   Anuluj wszystkie otwarte zlecenia.
ListOrders   Wyślij żądanie do tego punktu końcowego, aby pobrać bieżącą listę zleceń. Elementy są stronicowane i posortowane w kolejności od najnowszych
GetRecentOrders   Żądanie przez ten punkt końcowy pozwala pobrać 1000 zleceń z ostatnich 24 godzin.
GetOrder   Wysyłając żądanie do tego punktu końcowego, można uzyskać informacje o pojedynczym zleceniu według identyfikatora zlecenia.
GetOrderByClientOid   Żądanie do tego endpointu w celu uzyskania informacji o pojedynczym zleceniu na podstawie identyfikatora zlecenia klienta.
ListFills   Użyj tego punktu końcowego, aby uzyskać ostatnie realizacje.
GetRecentFills   Wysyłając żądanie do tego punktu końcowego, można uzyskać listę 1000 transakcji z ostatnich 24 godzin.
PlaceStopOrder   Składa zlecenie Stop.
PlaceStopMarketOrder   Składa zlecenie Stop Market.
PlaceStopLimitOrder   Składa zlecenie Stop Limit.
CancelStopOrder   Anuluje otwarte zlecenie Stop według identyfikatora zlecenia
CancelStopOrderByClientOid   Anuluje otwarte zlecenie stop na podstawie identyfikatora zlecenia klienta
CancelAllStopOrders   Anuluj wszystkie zlecenia stop
GetStopOrder   Żądanie przez ten interfejs w celu uzyskania informacji o zleceniu stop na podstawie identyfikatora zlecenia.
GetStopOrderByClientOid   Wyślij żądanie przez ten interfejs, aby uzyskać informacje o zleceniu stop za pomocą identyfikatora zlecenia klienta.
ListStopOrders   Żądanie do tego punktu końcowego pozwala pobrać bieżącą listę nieaktywowanych zleceń stop. Elementy są stronicowane i posortowane malejąco według daty.
PlaceHFOrder   Złóż zlecenie o wysokiej częstotliwości.
CancelHFOrder   Anuluje zlecenie wysokiej częstotliwości na podstawie identyfikatora zlecenia.
CancelHFOrderByClientOid   Anulowanie zlecenia wysokiej częstotliwości według identyfikatora zlecenia klienta.
CancelAllHFOrders   Anuluj wszystkie zlecenia o wysokiej częstotliwości.
GetHFActiveOrders   Pobierz aktywne zlecenia wysokiej częstotliwości.
GetHFDoneOrders   Pobierz zakończone zlecenia o wysokiej częstotliwości.
GetHFOrder   Pobierz określone zlecenie o wysokiej częstotliwości według identyfikatora zlecenia.

 

 

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