Kucoin ist eine internationale mehrsprachige Kryptowährungsbörse. Sie bietet einige APIs für den Zugriff auf Kucoin-Daten. Die folgenden APIs werden unterstützt:
Die Kucoin-API hat 2 Arten von Methoden: öffentliche und private. Öffentliche Methoden können ohne Authentifizierung aufgerufen werden, Beispiel: Ticker-Preise abrufen. Private und auf Benutzerdaten bezogene Methoden erfordern die Verwendung von Kucoin-API-Schlüsseln.
REST API
Um Kanalnachrichten von einem bestimmten Server zu abonnieren, sollte die Client-Seite eine Abonnementnachricht an den Server senden.
Wenn das Abonnement erfolgreich ist, sendet Ihnen das System ACK-Nachrichten, wenn die Antwort auf true gesetzt ist.
{
"id":"1545910660739",
"type":"ack"
}
Solange Themen-Nachrichten generiert werden, sendet das System die entsprechenden Nachrichten an die Client-Seite.
Die folgenden Abonnement-/Abbestellungsmethoden werden unterstützt.
| Method | Parameter | Beschreibung |
| SubscribeSymbolTickerV2 | Symbol | Abonnieren Sie dieses Topic, um den Echtzeit-Push von BBO-Änderungen zu erhalten. Nach dem Abonnement pusht das System, wenn es Änderungen im Orderbuch gibt, die Echtzeit-Ticker-Symbolinformationen an Sie. Es wird empfohlen, das neue Topic für zeitnahe Informationen zu verwenden. |
| SubscribeSymbolTicker | Symbol | Abonnieren Sie dieses Topic, um den Echtzeit-Push von BBO-Änderungen zu erhalten. Der Ticker-Channel liefert Echtzeit-Preisaktualisierungen, wann immer ein Match stattfindet. Wenn mehrere Orders gleichzeitig gematcht werden, wird nur das letzte Match-Ereignis gepusht. |
| SubscribeLevel2MarketData | Symbol | Abonnieren Sie dieses Topic, um Level-2-Orderbuchdaten zu erhalten. |
| SubscribeExecutionData | Symbol | Für jede ausgeführte Order sendet Ihnen das System die Match-Nachrichten im folgenden Format. |
| SubscribeLevel2_5BestAskBid | Symbol | Wird höchstens alle 100 Millisekunden zurückgegeben. |
| SubscribeLevel2_50BestAskBid | Symbol | Wird höchstens alle 100 Millisekunden zurückgegeben. |
| SubscribeContractMarketData | Symbol | Abonnieren Sie dieses Topic, um die Marktdaten des Kontrakts zu erhalten. |
| SubscribeSystemAnnouncements | Symbol | Abonnieren Sie dieses Topic, um die Systemankündigungen zu erhalten. |
| SubscribeTransactionStatistics | Symbol | Die Transaktionsstatistiken werden alle 5 Sekunden an die Benutzer gepusht. |
| SubscribeKlines | Symbol | Abonniert Kontrakt-Kline-Daten (Candlestick). |
| SubscribeFundingFeeSettlement | Symbol | Abonniert Benachrichtigungen zur Funding-Gebühren-Abrechnung. |
Wenn der Parameter ACK auf true gesetzt ist, erhält der Client nach einem erfolgreichen Abonnement / einer erfolgreichen Abmeldung eine Nachricht darüber.
Erfordert einen gültigen ApiKey, der von Ihrem Kucoin-Konto bezogen wird. Der ApiKey, das ApiSecret und die Passphrase müssen in der Kucoin-Eigenschaft der Client-API-Komponente festgelegt werden.
Die folgenden Daten werden bei jeder Änderung an den Client gesendet. Es ist nicht erforderlich, eine Methode zu abonnieren; dies geschieht automatisch, wenn Sie einen gültigen ApiKey setzen.
| Method | Beschreibung |
| SubscribeTradeOrders | Dieses Topic pusht alle Änderungsereignisse Ihrer Orders. |
| SubscribeAccountBalance |
Sie empfangen diese Nachricht, wenn sich ein Kontostand ändert. Die Nachricht enthält die Details der Änderung. |
| SubscribePositionChange | Das System pusht das Change-Ereignis, wenn sich der Positionsstatus ändert. |
| SubscribeStopOrder | Wenn eine Stop-Order vom System empfangen wird, erhalten Sie eine Nachricht vom Typ "open". Das bedeutet, dass diese Order das System erreicht hat und darauf wartet, ausgelöst zu werden. |
| SubscribeMarginMode | Abonniert Änderungen des Margin-Modus. Das System pusht das Änderungsereignis, wenn der Margin-Modus aktualisiert wird. |
| SubscribeCrossMarginLeverage | Abonniert Änderungen der Cross-Margin-Hebelwirkung. Das System überträgt das Änderungsereignis, wenn die Cross-Margin-Hebelwirkung aktualisiert wird. |
Alle Endpunkte geben entweder ein JSON-Objekt oder ein Array zurück.
Öffentliche API-EndPoints
Auf diese Endpunkte kann ohne jegliche Autorisierung zugegriffen werden.
Allgemeine Endpunkte
| Method | Parameter | Beschreibung |
| GetServiceStatus | Testet die Konnektivität zur Rest-API und ruft den Service-Status ab | |
| GetServerTime | Testet die Konnektivität zur REST-API und ruft die aktuelle Serverzeit ab. |
Market-Data-Endpunkte
| Method | Parameter | Beschreibung |
| GetOpenContractList | Sendet eine Anfrage, um die Informationen aller offenen Kontrakte abzurufen. | |
| GetOrderInfoContract | Anfrage absenden, um Informationen zum angegebenen Kontrakt zu erhalten. | |
| GetTicker | Symbol | Der Echtzeit-Ticker enthält den zuletzt gehandelten Preis, die zuletzt gehandelte Größe, die Transaktions-ID, die Seite des Liquidity Takers, den besten Bid-Preis und die Größe, den besten Ask-Preis und die Größe sowie die Transaktionszeit der Orders. Diese Nachrichten können auch über WebSocket bezogen werden. Die Sequenznummer wird verwendet, um zu beurteilen, ob die per WebSocket gepushten Nachrichten kontinuierlich sind. |
| GetPartOrderBook20 | Symbol | Eine Momentaufnahme der aggregierten offenen Orders für ein Symbol abrufen. |
| GetPartOrderBook100 | Symbol | Eine Momentaufnahme der aggregierten offenen Orders für ein Symbol abrufen. |
| GetFullOrderBook | Symbol | Eine Momentaufnahme der aggregierten offenen Orders für ein Symbol abrufen. |
| GetLevel2PullingMessages | Symbol | Wenn die per Websocket gepushten Nachrichten nicht kontinuierlich sind, können Sie die folgende Anfrage stellen und die Daten erneut abrufen, um sicherzustellen, dass die Sequenz nicht fehlt. In der Anfrage ist der Parameter start die Sequenznummer Ihrer zuletzt empfangenen Nachricht plus 1, und der Parameter end ist die Sequenznummer Ihrer aktuell empfangenen Nachricht minus 1. Nach dem erneuten Abrufen der Nachrichten und deren Anwendung auf Ihr lokales Exchange-Orderbuch können Sie das Orderbuch weiterhin über den inkrementellen Websocket-Feed aktualisieren. Wenn die Differenz zwischen dem end- und dem start-Parameter mehr als 500 beträgt, stoppen Sie bitte die Verwendung dieser Anfrage, und wir empfehlen, das Level-2-Orderbuch neu aufzubauen. |
| GetTradeHistory | Symbol | Die letzten 100 Trades für ein Symbol auflisten. |
| GetInterestRateList | Symbol | Zinssatzliste prüfen. |
| GetIndexList | Symbol | Indexliste prüfen |
| GetCurrentMarkPrice | Symbol | Prüft den aktuellen Mark-Preis. |
| GetPremiumIndex | Symbol | Anfrage einreichen, um den Premium-Index abzurufen. |
| GetCurrentFundingRate | Symbol | Sendet eine Anfrage, um den aktuellen Mark-Preis zu prüfen. |
| GetKLine | Symbol | K-Line-Daten des Kontrakts abrufen |
Private API-Endpunkte
Erfordert einen APIKey und APISecret, um vom Server autorisiert zu werden.
User EndPoints
| Method | Parameter | Beschreibung |
| GetAccountOverview | Get Account Overview | |
| GetTransactionHistory | Wenn offene Positionen vorhanden sind, lautet der Status der ersten zurückgegebenen Seite Pending, was den realisierten Gewinn und Verlust im aktuellen 8-Stunden-Abrechnungszeitraum angibt. Bitte geben Sie die minimale Offset-Nummer der aktuellen Seite im Offset-Feld an, um die Seite umzublättern. |
Trade Endpoints
| Method | Parameter | Beschreibung |
| PlaceOrder | Sie können zwei Arten von Orders platzieren: Limit und Market. Orders können nur platziert werden, wenn Ihr Konto über ausreichende Mittel verfügt. Sobald eine Order platziert ist, werden Ihre Mittel für die Dauer der Order gesperrt. Der Betrag der gesperrten Mittel hängt vom Order-Typ und den angegebenen Parametern ab. | |
| PlaceMarketOrder | Platziert eine Market-Order. | |
| PlaceLimitOrder | Platziert eine Limit-Order. | |
| CancelOrder | Storniert eine Order anhand der Order-ID. | |
| LimitOrderMassCancellation | Storniert alle offenen Orders (ausgenommen Stop-Orders). Die Antwort ist eine Liste der orderIDs der stornierten Orders. | |
| StopOrderMassCancellation | Storniert alle nicht ausgelösten Stop-Orders. Die Antwort ist eine Liste der orderIDs der stornierten Stop-Orders. Um ausgelöste Stop-Orders zu stornieren, verwenden Sie bitte 'Limit Order Mass Cancelation'. | |
| GetOrderList | Listet Ihre aktuellen Orders auf. | |
| GetUntriggeredStopOrderList | Ruft die Liste der nicht ausgelösten Stop-Aufträge ab. | |
| GetListOrdersCompleted24hr | Eine Liste der letzten 1000 Orders der letzten 24 Stunden abrufen. Wenn Sie Ihren aktuellen gehandelten Order-Verlauf mit niedriger Latenz abrufen möchten, können Sie diesen Endpunkt abfragen. | |
| GetOrder | Eine einzelne Order anhand der Order-ID abrufen (einschließlich einer Stop-Order). | |
| GetOrderByClientOid | Ruft eine einzelne Order anhand der Client-Order-ID ab (einschließlich einer Stop-Order). | |
| GetFills | Eine Liste der letzten Fills abrufen. | |
| GetRecentFills | Ruft eine Liste der letzten 1000 Fills der letzten 24 Stunden ab. Wenn Sie Ihren aktuellen gehandelten Order-Verlauf mit geringer Latenz abrufen müssen, können Sie diesen Endpunkt abfragen. | |
| ActiveOrderValueCalculation | Sie können diesen Endpunkt abfragen, um die Gesamtzahl und den Gesamtwert aller Ihrer aktiven Orders zu erhalten. | |
| GetPositionDetails | Ruft die Positionsdetails einer angegebenen Position ab. | |
| GetPositionList | Ruft die Positionsdetails einer angegebenen Position ab. | |
| AutoDepositMargin | Aktivieren/Deaktivieren der Auto-Deposit-Margin | |
| AddMarginManually | Margin manuell hinzufügen | |
| ObtainFuturesRiskLimitLevel | Diese Schnittstelle kann verwendet werden, um Informationen über die Risk-Limit-Stufe eines bestimmten Kontrakts zu erhalten | |
| AdjustRiskLimitLevel | Diese Schnittstelle dient der Anpassung des Risikolimit-Levels. Das Anpassen des Levels storniert die offene Order; die Antwort kann nur anzeigen, ob die Übermittlung der Anpassungsanfrage erfolgreich war oder nicht. | |
| GetFundingHistory | Anforderung senden, um den Funding-Verlauf zu erhalten. | |
| GetMaxOpenSize | Ruft die maximale offene Positionsgröße für einen Kontrakt ab. | |
| SwitchMarginMode | Zwischen Cross-Margin- und Isolated-Margin-Modus wechseln. | |
| GetMarginMode | Ruft den aktuellen Margin-Modus für einen Kontrakt ab. |
Kucoin-Nachrichten werden in der TsgcWebSocketClient-Komponente empfangen; Sie können die folgenden Ereignisse verwenden:
OnConnect
Nach einer erfolgreichen Verbindung mit dem Kucoin-Server.
OnDisconnect
Nach einer Trennung vom Kucoin-Server
OnMessage
Nachrichten, die vom Server an den Client gesendet werden, werden in diesem Ereignis behandelt.
OnError
Wenn im Protokoll ein Fehler auftritt, wird dieses Ereignis aufgerufen.
OnException
Wenn eine nicht behandelte Ausnahme auftritt, wird dieses Ereignis aufgerufen.
Zusätzlich gibt es ein spezifisches Ereignis in der Kucoin-API-Komponente, genannt OnKucoinHTTPException, das jedes Mal ausgelöst wird, wenn beim Aufruf einer HTTP-Anfrage (REST API oder WebSocket Feeds) ein Fehler auftritt.