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. Auf öffentliche Methoden kann ohne Authentifizierung zugegriffen werden, zum Beispiel: Abrufen von Ticker-Preisen. Private Methoden, die sich auf Benutzerdaten beziehen, 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 |
| SubscribeSymbolTicker | Symbol | Abonnieren Sie dieses Topic, um den Push von BBO-Änderungen zu erhalten. Wenn innerhalb einer Sekunde keine Änderung erfolgt, wird kein Push gesendet. Es wird alle 100 ms mit dem neuesten BBO gesendet. Wenn es im Vergleich zu den letzten Daten keine Änderung gab, wird es nicht gesendet. |
| SubscribeAllSymbolsTicker | Abonnieren Sie dieses Thema, um den Push aller BBO-Änderungen der Marktsymbole zu erhalten. | |
| SubscribeSymbolSnapshot | Symbol | Abonnieren Sie, um Snapshot-Daten für ein einzelnes Symbol zu erhalten. Die Snapshot-Daten werden in 2-Sekunden-Intervallen gepusht. |
| SubscribeMarketSnapshot | Market | Abonnieren Sie dieses Topic, um die Snapshot-Daten für den gesamten Markt zu erhalten. Die Snapshot-Daten werden in 2-Sekunden-Intervallen gepusht. |
| SubscribeLevel2MarketData | Symbol | Abonnieren Sie dieses Topic, um Level2-Orderbuchdaten zu erhalten. Wenn das WebSocket-Abonnement erfolgreich ist, sendet das System die vom WebSocket übermittelten inkrementellen Änderungsdaten an Sie. |
| SubscribeLevel2_5BestAskBid | Symbol | Das System gibt die 5 besten Ask-/Bid-Orderdaten zurück, was die Snapshot-Daten alle 100 Millisekunden sind (mit anderen Worten, die 5 besten Ask-/Bid-Orderdaten, die alle 100 Millisekunden in Echtzeit zurückgegeben werden). |
| SubscribeLevel2_50BestAskBid | Symbol | Das System gibt die 50 besten Ask/Bid-Auftragsdaten zurück, die die Snapshot-Daten alle 100 Millisekunden sind (mit anderen Worten, die 50 besten Ask/Bid-Auftragsdaten, die alle 100 Millisekunden in Echtzeit zurückgegeben werden). |
| SubscribeKlines | Symbol | Abonnieren Sie dieses Topic, um K-Line-Daten zu erhalten. |
| SubscribeMatchExecutionData | Symbol | Abonnieren Sie dieses Topic, um den passenden Ereignisdatenfluss von Level 3 zu erhalten. Für jede gehandelte Order sendet Ihnen das System die Match-Nachrichten im folgenden Format. |
| SubscribeIndexPrice | Symbol | Abonnieren Sie dieses Topic, um den Indexpreis für den Margin-Handel zu erhalten. |
| SubscribeMarkPrice | Symbol | Abonnieren Sie dieses Topic, um den Mark-Preis für Margin-Trading zu erhalten. |
| SubscribeOrderBookChanged | Symbol | Abonnieren Sie dieses Topic, um die Orderbuchänderungen im Margin-Handel zu erhalten. |
| SubscribeLevel1 | Symbol | Abonniert Level-1-Best-Bid/Ask-Daten für ein Symbol. |
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. |
| SubscribePositionStatus | Das System pusht das Change-Ereignis, wenn sich der Positionsstatus ändert. |
| SubscribeMarginTradeOrders | Das System pusht diese Nachricht an die Verleiher, wenn die Order in das Orderbuch aufgenommen wird. |
| 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. |
| SubscribeTradeOrdersV2 | Abonniert den Trade-Orders-V2-Kanal für erweiterte Order-Update-Benachrichtigungen. |
| SubscribeCrossMarginPosition | Abonniert Aktualisierungen von Cross-Margin-Positionen. Das System pusht das Änderungsereignis, wenn sich die Cross-Margin-Position ändert. |
| SubscribeIsolatedMarginPosition | Abonnieren Sie Aktualisierungen von Isolated-Margin-Positionen. Das System pusht das Änderungsereignis, wenn sich die Isolated-Margin-Position ändert. |
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 |
| GetSymbolList | Market | Fordern Sie über diesen Endpunkt eine Liste der verfügbaren Währungspaare für den Handel an. Wenn Sie die Marktinformationen des Handelssymbols erhalten möchten |
| GetTicker | Symbol | Fordern Sie über diesen Endpunkt Level-1-Marktdaten an. Der zurückgegebene Wert enthält den besten Geldkurs und die Menge, den besten Briefkurs und die Menge sowie den zuletzt gehandelten Preis und die zuletzt gehandelte Menge. |
| GetAllTickers | Fordert Markt-Ticker für alle Handelspaare am Markt an (einschließlich 24h-Volumen). | |
| Get24hrStats | Symbol | Fordert über diesen Endpunkt an, um die Statistiken des angegebenen Tickers der letzten 24 Stunden zu erhalten. |
| GetMarketList | Fordern Sie über diesen Endpunkt die Transaktionswährung für den gesamten Handelsmarkt an. | |
| GetPartOrderBook20 | Symbol | Anfrage über diesen Endpunkt, um eine Liste offener Orders für ein Symbol zu erhalten. Das Level-2-Orderbuch enthält alle Bids und Asks (aggregiert nach Preis), diese Ebene gibt nur eine Größe für jeden aktiven Preis zurück (als ob es nur eine einzelne Order für diesen Preis gäbe). Das System gibt Ihnen 20 Datensätze (Ask- und Bid-Daten) im Orderbuch zurück. |
| GetPartOrderBook100 | Symbol | Fordern Sie über diesen Endpunkt eine Liste der offenen Orders für ein Symbol an. Das Level-2-Orderbuch enthält alle Gebote und Briefkurse (aggregiert nach Preis), diese Ebene gibt nur eine Größe für jeden aktiven Preis zurück (als gäbe es nur eine einzige Order für diesen Preis). Das System gibt Ihnen 100 Datensätze (Ask- und Bid-Daten) im Orderbuch zurück. |
| GetFullOrderBook | Symbol | Anfrage über diesen Endpunkt, um das Orderbuch des angegebenen Symbols abzurufen. Das Level-2-Orderbuch enthält alle Bids und Asks (nach Preis aggregiert). Diese Ebene gibt nur eine aggregierte Größe für jeden Preis zurück (so als ob es nur eine einzige Order für diesen Preis gäbe). Diese API gibt Daten mit voller Tiefe zurück. |
| GetKLines | Symbol | Fordern Sie über diesen Endpunkt die Kline des angegebenen Symbols an. Daten werden in gruppierten Buckets basierend auf dem angeforderten Typ zurückgegeben. |
| GetCurrencies | Anfrage über diesen Endpunkt, um die Währungsliste abzurufen. | |
| GetCurrencyDetail | Currency | Anfrage über diesen Endpunkt, um die Währungsdetails einer angegebenen Währung abzurufen |
| GetFiatPrice | Anfrage über diesen Endpunkt, um die Währungsdetails einer angegebenen Währung abzurufen | |
| GetPartOrderBook1 | Symbol | Fordern Sie über diesen Endpunkt das Level-1-Bestgebot/-Briefkurs für ein Symbol an. |
Private API-Endpunkte
Erfordert einen APIKey und APISecret, um vom Server autorisiert zu werden.
User EndPoints
| Method | Parameter | Beschreibung |
| GetAllSubAccounts | Über diese Schnittstelle können Sie die Benutzerinformationen aller Sub-Benutzer abrufen. | |
| GetListAccounts | Ruft eine Liste von Konten ab. | |
| GetAccount | AccountId | Informationen für ein einzelnes Konto. Verwenden Sie diesen Endpunkt, wenn Sie die accountId kennen. |
| GetAccountBalanceSubAccount | SubUserId | Dieser Endpunkt gibt die Kontoinformationen eines durch die subUserId angegebenen Sub-Benutzers zurück. |
| InnerTransfer | Dieser API-Endpunkt kann verwendet werden, um Gelder intern zwischen Konten zu übertragen. Benutzer können Gelder gebührenfrei zwischen ihrem Hauptkonto, Handelskonto, Cross-Margin-Konto und Isolated-Margin-Konto übertragen. Die Übertragung von Geldern vom Hauptkonto, Cross-Margin-Konto und Handelskonto auf das Futures-Konto wird unterstützt, aber die Übertragung von Geldern von Futures-Konten auf andere Konten wird nicht unterstützt. | |
| GetDepositAddresses | Currency | Ruft Einzahlungsadressen für eine Währung ab. |
| CreateDepositAddress | Currency | Eine neue Einzahlungsadresse für eine Währung erstellen. |
| GetDepositList | Einzahlungsverlauf abrufen. | |
| GetAccountLedgers | Ruft Konto-Ledger-Einträge ab. | |
| GetTradeFees | Symbols | Ruft die Handelsgebühren für die angegebenen Symbole ab. |
Withdraw-Endpunkte
| Method | Parameter | Beschreibung |
| GetWithdrawalsList | Ruft eine Liste der Abhebungen ab. | |
| GetHistoricalWithdrawalsList | Liste der historischen KuCoin-V1-Abhebungen. | |
| GetWithdrawalsQuotas | Currency | Get Withdrawals Quotas |
| ApplyWithdraw | Currency, Address, Amount | Eine Auszahlung erstellen |
| CancelWithdraw | WithdrawalId | Nur Auszahlungsanfragen mit dem Status PROCESSING können storniert werden. |
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 wurde, werden Ihre Kontomittel für die Dauer der Order gesperrt. Wie viel und welche Mittel gesperrt werden, hängt vom Order-Typ und den angegebenen Parametern ab | |
| PlaceMarketOrder | Platziert eine Market-Order. | |
| PlaceLimitOrder | Platziert eine Limit-Order. | |
| PlaceMarginOrder | Platziert eine Margin-Order. | |
| CancelOrder | Storniert eine Order anhand der Order-ID. | |
| CancelOrderByClientOid | Storniert einen Auftrag anhand der Client-Auftrags-ID. | |
| CancelAllOrders | Storniert alle offenen Orders. | |
| ListOrders | Stellen Sie über diesen Endpunkt eine Anfrage, um Ihre aktuelle Orderliste abzurufen. Die Elemente sind paginiert und sortiert, sodass die neuesten zuerst angezeigt werden | |
| GetRecentOrders | Anfrage über diesen Endpunkt, um 1000 Orders der letzten 24 Stunden zu erhalten. | |
| GetOrder | Anfrage über diesen Endpunkt, um Informationen zu einer einzelnen Order über die Order-ID zu erhalten. | |
| GetOrderByClientOid | Fordert über diesen Endpunkt an, um Informationen zu einer einzelnen Order anhand der Client-Order-ID zu erhalten. | |
| ListFills | Fordern Sie über diesen Endpunkt die kürzlichen Fills an. | |
| GetRecentFills | Anfrage über diesen Endpunkt, um eine Liste von 1000 Fills der letzten 24 Stunden zu erhalten. | |
| PlaceStopOrder | Platziert eine Stop-Order. | |
| PlaceStopMarketOrder | Platziert eine Stop-Market-Order. | |
| PlaceStopLimitOrder | Platziert eine Stop-Limit-Order. | |
| CancelStopOrder | Storniert eine offene Stop-Order anhand der Order-ID | |
| CancelStopOrderByClientOid | Storniert eine offene Stop-Order anhand der Client-Order-ID | |
| CancelAllStopOrders | Alle Stop-Orders stornieren | |
| GetStopOrder | Fordern Sie über diese Schnittstelle Informationen zu einer Stop-Order über die Order-ID an. | |
| GetStopOrderByClientOid | Anfrage über diese Schnittstelle, um Informationen zu einer Stop-Order über die Client-Order-ID zu erhalten. | |
| ListStopOrders | Fordern Sie über diesen Endpunkt Ihre aktuelle Liste der nicht ausgelösten Stop-Orders an. Die Elemente sind paginiert und sortiert, um die neuesten zuerst anzuzeigen. | |
| PlaceHFOrder | Eine Hochfrequenz-Order platzieren. | |
| CancelHFOrder | Storniert eine Hochfrequenz-Order anhand der Order-ID. | |
| CancelHFOrderByClientOid | Storniert eine Hochfrequenz-Order anhand der Client-Order-ID. | |
| CancelAllHFOrders | Storniert alle Hochfrequenzaufträge. | |
| GetHFActiveOrders | Ruft aktive Hochfrequenz-Orders ab. | |
| GetHFDoneOrders | Abgeschlossene Hochfrequenz-Orders abrufen. | |
| GetHFOrder | Ruft eine bestimmte Hochfrequenz-Order anhand der Order-ID 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.