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 typen methoden: openbaar en privé. Openbare methoden zijn toegankelijk zonder verificatie, bijvoorbeeld: tickerprijzen ophalen. Privé- en gebruikersgegevensgerelateerde methoden vereisen het gebruik van Kucoin API-sleutels.
REST API
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 |
| SubscribeSymbolTickerV2 | Symbol | Abonneer u op dit onderwerp om real-time push-meldingen van BBO-wijzigingen te ontvangen. Na het abonnement, wanneer er wijzigingen zijn in het orderboek, stuurt het systeem de real-time tickerinformatie naar u. Het wordt aanbevolen om het nieuwe onderwerp te gebruiken voor tijdige informatie. |
| SubscribeSymbolTicker | Symbol | Abonneer u op dit onderwerp om realtime pushberichten van BBO-wijzigingen te ontvangen. Het ticker-kanaal biedt realtime prijsupdates telkens wanneer een overeenkomst plaatsvindt. Als meerdere orders tegelijk worden gematcht, wordt alleen de laatste overeenkomst gepusht. |
| SubscribeLevel2MarketData | Symbol | Abonneer op dit onderwerp om Level 2-orderboekgegevens te krijgen. |
| SubscribeExecutionData | Symbol | Voor elke uitgevoerde order verzendt het systeem u de matchberichten in het volgende formaat. |
| SubscribeLevel2_5BestAskBid | Symbol | Maximaal elke 100 milliseconden geretourneerd. |
| SubscribeLevel2_50BestAskBid | Symbol | Maximaal elke 100 milliseconden geretourneerd. |
| SubscribeContractMarketData | Symbol | Abonneer op dit onderwerp om de marktgegevens van het contract te ontvangen. |
| SubscribeSystemAnnouncements | Symbol | Abonneer u op dit onderwerp om systeemmededelingen te ontvangen. |
| SubscribeTransactionStatistics | Symbol | De transactiestatistieken worden elke 5 seconden naar gebruikers gepusht. |
| SubscribeKlines | Symbol | Abonneer op contractkline-gegevens (kandelaars). |
| SubscribeFundingFeeSettlement | Symbol | Abonneer u op meldingen over de verrekening van financieringskosten. |
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. |
| SubscribePositionChange | Het systeem pusht de wijzigingsgebeurtenis wanneer de positiestatus verandert. |
| 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. |
| SubscribeMarginMode | Abonneer u op wijzigingen in de margemodus. Het systeem pusht de wijzigingsgebeurtenis wanneer de margemodus wordt bijgewerkt. |
| SubscribeCrossMarginLeverage | Abonneer op wijzigingen in de cross-margehefboomwerking. Het systeem pusht de wijzigingsgebeurtenis wanneer de cross-margehefboomwerking wordt bijgewerkt. |
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 |
| GetOpenContractList | Stuur verzoek om informatie op te halen over alle open contracten. | |
| GetOrderInfoContract | Stuur een verzoek in om informatie over het opgegeven contract te verkrijgen. | |
| GetTicker | Symbol | De realtime ticker bevat de laatste verhandelprijs, de laatste verhandelde hoeveelheid, transactie-ID, de kant van de liquiditeitsnemer, de beste biedprijs en -hoeveelheid, de beste vraagprijs en -hoeveelheid evenals de transactietijd van de orders. Deze berichten kunnen ook worden verkregen via Websocket. Het volgnummer wordt gebruikt om te beoordelen of de berichten die door Websocket worden gepusht continu zijn. |
| GetPartOrderBook20 | Symbol | Een momentopname ophalen van geaggregeerde openstaande orders voor een symbool. |
| GetPartOrderBook100 | Symbol | Een momentopname ophalen van geaggregeerde openstaande orders voor een symbool. |
| GetFullOrderBook | Symbol | Een momentopname ophalen van geaggregeerde openstaande orders voor een symbool. |
| GetLevel2PullingMessages | Symbol | Als de berichten die door WebSocket worden gepusht niet continu zijn, kunt u het volgende verzoek indienen en de gegevens opnieuw ophalen om ervoor te zorgen dat de reeks niet ontbreekt. In het verzoek is de startparameter het volgnummer van uw laatste ontvangen bericht plus 1, en de eindparameter is het volgnummer van uw huidige ontvangen bericht minus 1. Nadat u de berichten opnieuw heeft opgehaald en ze heeft toegepast op uw lokale exchange-orderboek, kunt u het orderboek blijven bijwerken via de WebSocket incrementele feed. Als het verschil tussen de eind- en startparameter meer dan 500 is, stop dan met het gebruik van dit verzoek en wij raden u aan het Level 2-orderboek opnieuw op te bouwen. |
| GetTradeHistory | Symbol | Geef de laatste 100 trades voor een symbool weer. |
| GetInterestRateList | Symbol | Controleer de rentelijst. |
| GetIndexList | Symbol | Indexlijst controleren |
| GetCurrentMarkPrice | Symbol | Controleer de huidige markprijs. |
| GetPremiumIndex | Symbol | Verzoek indienen om premium index op te halen. |
| GetCurrentFundingRate | Symbol | Verzoek indienen om de huidige marktprijs te controleren. |
| GetKLine | Symbol | Haal K Line-gegevens op van Contract |
Privé API-eindpunten
Vereist een APIKey en APISecret om door de server te worden geautoriseerd.
Gebruikerseindpunten
| Methode | Parameters | Beschrijving |
| GetAccountOverview | Accountoverzicht ophalen | |
| GetTransactionHistory | Als er open posities zijn, is de status van de eerste teruggegeven pagina Pending, wat het gerealiseerde winst- en verliesresultaat in de huidige 8-uurs afwikkelperiode aangeeft. Geef het minimale offsetnummer van de huidige pagina op in het offsetveld om de pagina om te slaan. |
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 uw fondsen geblokkeerd voor de duur van de order. De hoeveelheid geblokkeerde fondsen is afhankelijk van het ordertype en de opgegeven parameters. | |
| PlaceMarketOrder | Places a Market Order. | |
| PlaceLimitOrder | Plaatst een limietorder. | |
| CancelOrder | Annuleert een order via order-id. | |
| LimitOrderMassCancellation | Annuleer alle open orders (met uitzondering van stop orders). De response is een lijst van orderIDs van de geannuleerde orders. | |
| StopOrderMassCancellation | Annuleer alle niet-getriggerde stoporders. De respons is een lijst met order-ID's van de geannuleerde stoporders. Om getriggerde stoporders te annuleren, gebruik 'Limit Order Mass Cancellation'. | |
| GetOrderList | Geef uw huidige orders weer. | |
| GetUntriggeredStopOrderList | Haal de lijst met niet-geactiveerde stop-orders op. | |
| GetListOrdersCompleted24hr | Haal een lijst op van de meest recente 1000 orders in de laatste 24 uur. Als u uw recent uitgevoerde ordergeschiedenis met lage latentie nodig heeft, kunt u dit eindpunt opvragen. | |
| GetOrder | Haal een enkel order op op basis van order-id (inclusief een stop-order). | |
| GetOrderByClientOid | Haal een enkele order op via client order-id (inclusief een stoporder). | |
| GetFills | Een lijst met recente transacties ophalen. | |
| GetRecentFills | Haal een lijst op van de laatste 1000 uitvoeringen in de afgelopen 24 uur. Als u uw recente handelsordergeschiedenis met lage latentie wilt ophalen, kunt u dit eindpunt raadplegen. | |
| ActiveOrderValueCalculation | U kunt dit endpoint opvragen om het totale aantal en de waarde van al uw actieve orders te krijgen. | |
| GetPositionDetails | Haal de positiedetails op van een opgegeven positie. | |
| GetPositionList | Haal de positiedetails op van een opgegeven positie. | |
| AutoDepositMargin | In-/uitschakelen van automatische depositmarge | |
| AddMarginManually | Marge handmatig toevoegen | |
| ObtainFuturesRiskLimitLevel | Deze interface kan worden gebruikt om informatie te verkrijgen over het risicobegrenzingsniveau van een specifiek contract | |
| AdjustRiskLimitLevel | Deze interface is bedoeld voor het aanpassen van het risicolimitniveau. Bij het aanpassen van het niveau worden openstaande orders geannuleerd; het antwoord kan alleen aangeven of het indienen van het aanpassingsverzoek al dan niet is geslaagd. | |
| GetFundingHistory | Dien een aanvraag in om de financieringsgeschiedenis op te halen. | |
| GetMaxOpenSize | Haal de maximale open positiegrootte op voor een contract. | |
| SwitchMarginMode | Schakel tussen cross-margin- en geïsoleerde-marginmodi. | |
| GetMarginMode | Haal de huidige marginmodus op voor een contract. |
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).