Kucoin is een internationale meertalige cryptocurrency-exchange. Het biedt enkele API's om toegang te krijgen tot Kucoin-gegevens. De volgende API's worden ondersteund:
De Kucoin API heeft 2 soorten methoden: publiek en privé. Publieke methoden zijn toegankelijk zonder authenticatie, bijvoorbeeld: tickerprijzen ophalen. Privémethoden met betrekking tot gebruikersgegevens vereisen het gebruik van Kucoin API-sleutels.
Om kanaalnachrichten van een bepaalde server te ontvangen, moet de clientzijde een abonnementsbericht naar de server sturen.
Als het abonnement succesvol is, stuurt het systeem bevestigingsberichten naar u wanneer het antwoord is ingesteld op true.
{
"id":"1545910660739",
"type":"ack"
}
Zolang er onderwerpberichten worden gegenereerd, stuurt het systeem de bijbehorende berichten naar de clientzijde.
De volgende abonnements-/afmeldmethoden worden ondersteund.
| Methode | Parameters | Beschrijving |
| SubscribeSymbolTicker | Symbol | Abonneer u op dit onderwerp om de push van BBO-wijzigingen te ontvangen. Als er binnen één seconde geen wijziging is, wordt er niets gepusht. Het wordt elke 100 ms gepusht met de nieuwste BBO. Als er geen wijziging is ten opzichte van de laatste gegevens, wordt er niets gepusht. |
| SubscribeAllSymbolsTicker | Abonneer op dit onderwerp om de push van alle marktssymbolen BBO-wijziging te ontvangen. | |
| SubscribeSymbolSnapshot | Symbol | Abonneer om snapshot-gegevens te ontvangen voor een enkel symbool. De snapshot-gegevens worden elke 2 seconden gepusht. |
| SubscribeMarketSnapshot | Markt | Abonneer u op dit onderwerp om de momentopname van de hele markt te ontvangen. De momentopname wordt elke 2 seconden gepusht. |
| SubscribeLevel2MarketData | Symbol | Abonneer u op dit onderwerp om Level2-orderboekaangegevens te ontvangen. Wanneer het websocket-abonnement succesvol is, stuurt het systeem de incrementele wijzigingsgegevens die door de websocket worden gepusht naar u toe. |
| SubscribeLevel2_5BestAskBid | Symbol | Het systeem retourneert de 5 beste bied/laat-orders, wat de snapshot-gegevens zijn van elke 100 milliseconden (met andere woorden, de 5 beste bied/laat-orders worden elke 100 milliseconden in real-time geretourneerd). |
| SubscribeLevel2_50BestAskBid | Symbol | Het systeem retourneert de 50 beste ask/bid-ordergegevens, wat de momentopnamegegevens zijn van elke 100 milliseconden (met andere woorden, de 50 beste ask/bid-ordergegevens worden elke 100 milliseconden in realtime geretourneerd). |
| SubscribeKlines | Symbol | Abonneer op dit onderwerp om K-Line-gegevens te ontvangen. |
| SubscribeMatchExecutionData | Symbol | Abonneer u op dit onderwerp om de bijbehorende gebeurtenisdatastroom van niveau 3 te ontvangen. Voor elke verhandelde order stuurt het systeem u de matchberichten in de volgende indeling. |
| SubscribeIndexPrice | Symbol | Abonneer u op dit onderwerp om de indexprijs voor de margehandel te ontvangen. |
| SubscribeMarkPrice | Symbol | Abonneer op dit onderwerp om de markprijs voor marginhandel te ontvangen. |
| SubscribeOrderBookChanged | Symbol | Abonneer u op dit onderwerp om de wijzigingen in het orderboek bij marginehandel te ontvangen. |
| SubscribeLevel1 | Symbol | Abonneer op Level 1 best bid/ask-gegevens voor een symbool. |
Als de ACK-parameter op true is ingesteld, ontvangt de client na een geslaagd abonnement / afmelding een bericht hierover.
Vereist een geldige ApiKey verkregen van uw Kucoin-account. De ApiKey, ApiSecret en Passphrase moeten worden ingesteld in de Kucoin-eigenschap van het client-API-component.
De volgende gegevens worden naar de client gepusht telkens wanneer er een wijziging is. U hoeft zich niet op een methode te abonneren, dit wordt automatisch gedaan als u een geldige ApiKey instelt.
| Methode | Beschrijving |
| SubscribeTradeOrders | Dit onderwerp pusht alle wijzigingsgebeurtenissen van uw orders. |
| SubscribeAccountBalance |
U ontvangt dit bericht wanneer een accountsaldo verandert. Het bericht bevat de details van de wijziging. |
| SubscribePositionStatus | Het systeem pusht de wijzigingsgebeurtenis wanneer de positiestatus verandert. |
| SubscribeMarginTradeOrders | Het systeem stuurt dit bericht naar de kredietverstrekkers wanneer de order het orderboek binnenkomt. |
| SubscribeStopOrder | Wanneer een stoporder door het systeem wordt ontvangen, ontvangt u een bericht met het type "open". Dit betekent dat de order het systeem is ingegaan en wacht om te worden geactiveerd. |
| SubscribeTradeOrdersV2 | Abonneer u op het V2-kanaal voor handelsorders voor uitgebreide meldingen van orderupdates. |
| SubscribeCrossMarginPosition | Abonneer u op updates van cross-margin-posities. Het systeem pusht de wijzigingsgebeurtenis wanneer de cross-margin-positie verandert. |
| SubscribeIsolatedMarginPosition | Abonneer u op geïsoleerde margeposities-updates. Het systeem pusht het wijzigingsevenement wanneer de geïsoleerde margepositie wijzigt. |
Alle endpoints retourneren een JSON-object of -array.
Openbare API-eindpunten
Deze eindpunten zijn toegankelijk zonder autorisatie.
Algemene eindpunten
| Methode | Parameters | Beschrijving |
| GetServiceStatus | Test de connectiviteit met de Rest API en haal de servicestatus op | |
| GetServerTime | Test de connectiviteit met de REST API en haal de huidige servertijd op. |
Marktgegevens-eindpunten
| Methode | Parameters | Beschrijving |
| GetSymbolList | Markt | Vraag via dit endpoint een lijst op van beschikbare valutaparen voor handel. Als u de marktinformatie van het handelssymbool wilt ophalen |
| GetTicker | Symbol | Verzoek via dit eindpunt om Level 1-marktgegevens te verkrijgen. De geretourneerde waarde bevat de beste biedprijs en -grootte, de beste vraagprijs en -grootte, alsmede de laatste handelsprijs en de laatste handelsgrootte. |
| GetAllTickers | Markttickers opvragen voor alle handelsparen op de markt (inclusief 24-uurs volume). | |
| Get24hrStats | Symbol | Doe via dit endpoint een verzoek om de statistieken van de opgegeven ticker van de afgelopen 24 uur op te halen. |
| GetMarketList | Gebruik dit eindpunt om de transactievaluta voor de gehele handelsmarkt op te halen. | |
| GetPartOrderBook20 | Symbol | Vraag via dit eindpunt een lijst op van openstaande orders voor een symbool. Het Level-2-orderboek bevat alle bied- en vraagprijzen (geaggregeerd per prijs), dit niveau retourneert slechts één grootte voor elke actieve prijs (alsof er slechts één order voor die prijs was). Het systeem retourneert 20 gegevensitems (vraag- en biedgegevens) in het orderboek. |
| GetPartOrderBook100 | Symbol | Verzoek via dit eindpunt om een lijst van openstaande orders voor een symbool te verkrijgen. Level-2 orderboek bevat alle biedingen en aanbiedingen (geaggregeerd per prijs), dit niveau retourneert slechts één grootte voor elke actieve prijs (alsof er slechts één order voor die prijs is). Het systeem retourneert 100 stuks data (vraag- en bieddata) uit het orderboek. |
| GetFullOrderBook | Symbol | Vraag via dit eindpunt het orderboek op van het opgegeven symbool. Niveau 2-orderboek omvat alle biedingen en aanbiedingen (geaggregeerd op prijs). Dit niveau retourneert slechts één geaggregeerde grootte voor elke prijs (alsof er maar één enkele order voor die prijs was). Deze API retourneert gegevens met volledige diepte. |
| GetKLines | Symbol | Vraag dit eindpunt op om de kline van het opgegeven symbool te krijgen. Gegevens worden geretourneerd in gegroepeerde buckets op basis van het gevraagde type. |
| GetCurrencies | Stuur een verzoek via dit eindpunt om de valutlijst op te halen. | |
| GetCurrencyDetail | Valuta | Vraag via dit eindpunt de valutadetails op van een opgegeven valuta |
| GetFiatPrice | Vraag via dit eindpunt de valutadetails op van een opgegeven valuta | |
| GetPartOrderBook1 | Symbol | Gebruik dit eindpunt om de beste bieding/aanbieding van niveau 1 voor een symbool op te vragen. |
Privé API-eindpunten
Vereist een APIKey en APISecret om door de server te worden geautoriseerd.
Gebruikerseindpunten
| Methode | Parameters | Beschrijving |
| GetAllSubAccounts | U kunt de gebruikersinformatie van alle subgebruikers via deze interface opvragen. | |
| GetListAccounts | Haal een lijst van accounts op. | |
| GetAccount | AccountId | Informatie voor één account. Gebruik dit eindpunt als u de accountId kent. |
| GetAccountBalanceSubAccount | SubUserId | Dit eindpunt retourneert de accountinformatie van een subgebruiker die is opgegeven door de subUserId. |
| InnerTransfer | Dit API-eindpunt kan worden gebruikt om intern fondsen over te dragen tussen accounts. Gebruikers kunnen fondsen vrij overdragen tussen hun hoofdaccount, handelsaccount, cross-marginaccount en geïsoleerd marginaccount. Overdracht van fondsen van het hoofdaccount, cross-marginaccount en handelsaccount naar het futuresaccount wordt ondersteund, maar overdracht van fondsen van futuresaccounts naar andere accounts wordt niet ondersteund. | |
| GetDepositAddresses | Valuta | Get deposit addresses for a currency. |
| CreateDepositAddress | Valuta | Maak een nieuw stortingsadres aan voor een valuta. |
| GetDepositList | Stortingsgeschiedenis ophalen. | |
| GetAccountLedgers | Grootboekposten van account ophalen. | |
| GetTradeFees | Symbolen | Get trade fees for the specified symbols. |
Withdraw EndPoints
| Methode | Parameters | Beschrijving |
| GetWithdrawalsList | Get a list of the Withdrawals. | |
| GetHistoricalWithdrawalsList | Lijst van KuCoin V1 historische opnames. | |
| GetWithdrawalsQuotas | Valuta | Opnamequota's opvragen |
| ApplyWithdraw | Valuta, Adres, Bedrag | Een opname aanmaken |
| CancelWithdraw | WithdrawalId | Alleen opnameverzoeken met de status PROCESSING kunnen worden geannuleerd. |
Handelseindpunten
| Methode | Parameters | Beschrijving |
| PlaceOrder | U kunt twee soorten orders plaatsen: limiet en markt. Orders kunnen alleen worden geplaatst als uw account voldoende saldo heeft. Zodra een order is geplaatst, worden de accountmiddelen geblokkeerd voor de duur van de order. Hoeveel en welke middelen worden geblokkeerd, hangt af van het ordertype en de opgegeven parameters | |
| PlaceMarketOrder | Places a Market Order. | |
| PlaceLimitOrder | Plaatst een limietorder. | |
| PlaceMarginOrder | Places a Margin Order. | |
| CancelOrder | Annuleert een order via order-id. | |
| CancelOrderByClientOid | Annuleert een order op basis van Client Order Id. | |
| CancelAllOrders | Annuleer alle openstaande orders. | |
| ListOrders | Gebruik dit eindpunt om uw huidige orderlijst op te vragen. Items zijn gepagineerd en gesorteerd op meest recent eerst | |
| GetRecentOrders | Stuur een verzoek via dit eindpunt om 1000 orders in de afgelopen 24 uur op te halen. | |
| GetOrder | Vraag via dit eindpunt informatie op over één order op basis van order-ID. | |
| GetOrderByClientOid | Doe via dit endpoint een verzoek om informatie over één order op te halen via de Client order ID. | |
| ListFills | Gebruik dit eindpunt om de recente uitvoeringen op te halen. | |
| GetRecentFills | Vraag via dit eindpunt een lijst op van 1000 transacties in de laatste 24 uur. | |
| PlaceStopOrder | Plaatst een stoporder. | |
| PlaceStopMarketOrder | Plaatst een Stop Market Order. | |
| PlaceStopLimitOrder | Plaatst een Stop Limit Order. | |
| CancelStopOrder | Annuleert een open stoporder op basis van order-id | |
| CancelStopOrderByClientOid | Annuleert een open stop-order op basis van client-order-ID | |
| CancelAllStopOrders | Alle stoporders annuleren | |
| GetStopOrder | Vraag via deze interface informatie op over een stoporder via het order-ID. | |
| GetStopOrderByClientOid | Gebruik deze interface om informatie over een stop-order op te vragen via de client-order-ID. | |
| ListStopOrders | Request via this endpoint to get uw huidig untriggered stop order list. Items are paginated and sorted to show the latest eerste. | |
| PlaceHFOrder | Plaats een hoogfrequentieorder. | |
| CancelHFOrder | Cancel a high-frequency order by order ID. | |
| CancelHFOrderByClientOid | Annuleer een high-frequency order op basis van client-order-ID. | |
| CancelAllHFOrders | Alle hoogfrequente orders annuleren. | |
| GetHFActiveOrders | Haal actieve high-frequency orders op. | |
| GetHFDoneOrders | Voltooide orders met hoge frequentie ophalen. | |
| GetHFOrder | Haal een specifieke hoge-frequentieorder op via order-ID. |
Kucoin-berichten worden ontvangen in de TsgcWebSocketClient-component. U kunt de volgende gebeurtenissen gebruiken:
OnConnect
Na een succesvolle verbinding met de Kucoin-server.
OnDisconnect
Na een verbreking van de Kucoin-server
OnMessage
Berichten die door de server naar de client worden verzonden, worden in dit event afgehandeld.
OnError
Als er een fout is in het protocol, wordt deze gebeurtenis aangeroepen.
OnException
Als er een onverwerkte uitzondering is, wordt deze gebeurtenis aangeroepen.
Daarnaast is er een specifieke gebeurtenis in de Kucoin API-component, genaamd OnKucoinHTTPException, die wordt geactiveerd elke keer dat er een fout optreedt bij het aanroepen van een HTTP-verzoek (REST API of WebSocket-feeds).