Binance ist eine internationale mehrsprachige Kryptowährungsbörse. Sie bietet einige APIs für den Zugriff auf Binance-Daten. Die folgenden APIs werden unterstützt:
Der Client unterstützt auch Binance.us, die folgenden APIs werden unterstützt:
Die Binance-API hat zwei Arten von Methoden: öffentliche und private. Auf öffentliche Methoden kann ohne Authentifizierung zugegriffen werden, zum Beispiel: Ticker-Preise abrufen. Einige sind privat und beziehen sich auf Benutzerdaten; diese Methoden erfordern die Verwendung von Binance-API-Schlüsseln.
REST API
Der Basisendpunkt ist wss://stream.binance.com:9443; der Client kann Ereignisse nach einer erfolgreichen Verbindung abonnieren / abbestellen.
Die folgenden Abonnement-/Abbestellungsmethoden werden unterstützt.
| Method | Parameter | Beschreibung |
| AggregateTrades | Symbol | pusht Trade-Informationen, die für eine einzelne Taker-Order aggregiert sind |
| Trades | Symbol | pusht rohe Trade-Informationen; jeder Trade hat einen eindeutigen Käufer und Verkäufer |
| KLine | Symbol, Interval | pusht Updates zu den aktuellen Klines/Candlesticks jede Sekunde, Minute, Stunde... |
| MiniTicker | Symbol | 24-Stunden-Mini-Ticker-Statistiken eines gleitenden Fensters. Dies sind NICHT die Statistiken des UTC-Tages, sondern ein gleitendes 24-Stunden-Fenster für die vorherigen 24 Stunden. |
| AllMiniTickers | 24-Stunden-Mini-Ticker-Statistiken im gleitenden Fenster für alle Symbole, die sich in einem Array geändert haben. Dies sind NICHT die Statistiken des UTC-Tages, sondern ein gleitendes 24-Stunden-Fenster für die vorherigen 24 Stunden. Beachten Sie, dass nur Ticker, die sich geändert haben, im Array vorhanden sind. | |
| Ticker | Symbol | 24-Stunden-Rolling-Window-Ticker-Statistiken für ein einzelnes Symbol. Dies sind NICHT die Statistiken des UTC-Tages, sondern ein 24-Stunden-Rolling-Window für die vorherigen 24 Stunden. |
| AllMarketTickers | 24-Stunden-Rolling-Window-Ticker-Statistiken für alle Symbole, die sich geändert haben, in einem Array. Dies sind NICHT die Statistiken des UTC-Tages, sondern ein 24-Stunden-Rolling-Window für die vorherigen 24 Stunden. Beachten Sie, dass nur Ticker, die sich geändert haben, im Array vorhanden sind. | |
| BookTicker | Symbol | Pusht jede Aktualisierung des Preises oder der Menge des besten Bids oder Asks in Echtzeit für ein angegebenes Symbol. |
| AllBookTickers | Übermittelt jede Aktualisierung des besten Bid- oder Ask-Preises oder der -Menge in Echtzeit für alle Symbole. | |
| PartialBookDepth | Symbol, Depth | Top <levels> Bids und Asks, jede Sekunde gepusht. Gültige <levels> sind 5, 10 oder 20. |
| DiffDepth | Symbol | Updates zu Orderbuch-Preis und -Mengentiefe, die zur lokalen Verwaltung eines Orderbuchs verwendet werden. |
Nach einem erfolgreichen Abonnement / einer erfolgreichen Abbestellung erhält der Client eine Nachricht darüber, wobei id das Ergebnis der Subscribed-/Unsubscribed-Methode ist.
{
"result": null,
"id": 1
}
Erfordert einen gültigen ApiKey, der von Ihrem Binance-Konto erhalten wird, und der ApiKey muss in der Eigenschaft Binance.ApiKey der Komponente gesetzt 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 |
| Account Update | Der Kontostatus wird mit dem outboundAccountInfo-Ereignis aktualisiert. |
| Balance Update |
Eine Guthabenaktualisierung erfolgt in folgenden Fällen:
|
| Order Update | Orders werden mit dem executionReport-Ereignis aktualisiert. |
Der Basis-Endpunkt ist: https://api.binance.com. Alle Endpunkte geben entweder ein JSON-Objekt oder -Array zurück. Daten werden in aufsteigender Reihenfolge zurückgegeben. Älteste zuerst, neueste zuletzt.
Zugriff auf die REST-API-Optionen über die Eigenschaft REST_API.BinanceOptions.
Öffentliche API-EndPoints
Auf diese Endpunkte kann ohne jegliche Autorisierung zugegriffen werden.
Allgemeine Endpunkte
| Method | Parameter | Beschreibung |
| Ping | Konnektivität zur Rest-API testen. | |
| GetServerTime | Testet die Konnektivität zur REST-API und ruft die aktuelle Serverzeit ab. | |
| GetExchangeInformation | Aktuelle Börsenhandelsregeln und Symbolinformationen |
Market-Data-Endpunkte
| Method | Parameter | Beschreibung |
| GetOrderBook | Symbol | Ruft das Orderbuch ab. |
| GetTrades | Symbol | Ruft die letzten Trades ab |
| GetHistoricalTrades | Symbol | Ruft ältere Trades ab. |
| GetAggregateTrades | Symbol | Ruft komprimierte, aggregierte Trades ab. Trades, die zur selben Zeit, aus derselben Order und mit demselben Preis ausgeführt werden, haben die Menge aggregiert. |
| GetKLines | Symbol, Interval | Kline-/Candlestick-Bars für ein Symbol. Klines werden eindeutig durch ihre Öffnungszeit identifiziert. |
| GetAveragePrice | Symbol | Aktueller Durchschnittspreis für ein Symbol. |
| Get24hrTicker | Symbol | Preisänderungsstatistiken über ein gleitendes 24-Stunden-Fenster. Vorsicht beim Zugriff darauf ohne Symbol. |
| GetPriceTicker | Symbol | Aktueller Preis für ein Symbol. |
| GetPriceTickers | Symbols | Aktueller Preis für ein Array von Symbolen. Beispiel: ["BTCUSDT","BNBUSDT"] |
| GetBookTicker | Symbol | Bester Preis/Menge im Orderbook für ein Symbol oder mehrere Symbole. |
| GetUIKLines | Symbol, Interval | Kline-/Candlestick-Balken für ein Symbol. Die Antwort ähnelt GetKLines, ist aber für die Darstellung von Candlestick-Charts optimiert. |
| GetRollingWindowTicker | Symbol, Symbols, WindowSize | Statistiken zur Preisänderung im rollierenden Fenster. Hinweis: WindowSize ist standardmäßig 1d, wenn nicht angegeben. |
| GetTradingDayTicker | Symbol, Symbols, Type | Preisänderungsstatistiken für einen Handelstag. |
Private API-Endpunkte
Erfordert einen APIKey und APISecret, um vom Server autorisiert zu werden.
Account Data EndPoints
| Method | Parameter | Beschreibung |
| NewOrder | Symbol, Side, Type | Reicht eine neue Order ein. |
| PlaceMarketOrder | Side, Symbol, Quantity | Platziert eine neue Market-Order |
| PlaceMarketQuoteOrder | Side, Symbol, QuoteOrderQty | Platziert eine neue Market Quote Order |
| PlaceLimitOrder | Side, Symbol, Quantity, LimitPrice | Platziert eine neue Limit-Order |
| PlaceStopOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | Platziert eine neue Stop-Order |
| PlaceStopTrailingOrder | Side, Symbol, Quantity, TrailingDelta, LimitPrice | Platziert eine neue Stop-Trailing-Order |
| PlaceTakeProfitOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | Platziert eine neue Take-Profit-Order |
| PlaceTakeProfitTrailingOrder | Side, Symbol, Quantity, TrailingDelta, LimitPrice | Platziert eine neue Take-Profit-Trailing-Order |
| PlaceLimitMakerOrder | Side, Symbol, Quantity | Platziert eine neue Limit-Market-Order |
| TestNewOrder | Symbol, Side, Type | Testet die Erstellung einer neuen Order und die Signatur/recvWindow-Dauer. Erstellt und validiert eine neue Order, sendet sie aber nicht an die Matching Engine. |
| QueryOrder | Symbol | Prüft den Status einer Order. |
| CancelOrder | Symbol | Storniert einen aktiven Auftrag. Storniert einen aktiven Auftrag. Es muss entweder OrderId oder OrigClientOrderId gesendet werden. |
| CancelAllOpenOrders | Symbol (optional) | |
| GetOpenOrders | Ruft alle offenen Orders zu einem Symbol ab. Vorsicht beim Zugriff ohne Symbol. | |
| GetAllOrders | Symbol | Alle Konto-Orders abrufen; aktiv, storniert oder ausgeführt. |
| NewOCO | Symbol, Side, Quantity, Price, StopPrice | Sendet eine neue OCO ein |
| CancelOCO | Symbol | Eine gesamte Order-Liste stornieren |
| QueryOCO | Symbol | Ruft eine bestimmte OCO basierend auf bereitgestellten optionalen Parametern ab |
| GetAllOCO | Ruft alle OCO basierend auf bereitgestellten optionalen Parametern ab | |
| GetOpenOCO | Alle offenen OCO abrufen. | |
| GetAccountInformation | Aktuelle Kontoinformationen abrufen. | |
| GetAccountTradeList | Symbol | Ruft Trades für ein bestimmtes Konto und Symbol ab. |
| CancelReplaceOrder | Symbol, Side, Type, CancelReplaceMode | Storniert einen bestehenden Auftrag und platziert einen neuen Auftrag für dasselbe Symbol. |
| NewOrderListOCO | Symbol, Side, Quantity, AboveType, BelowType | Platziert eine neue OCO-Orderliste. |
| NewOrderListOTO | Symbol, WorkingType, WorkingSide, WorkingQuantity, WorkingPrice, PendingType, PendingSide, PendingQuantity | Eine neue OTO-Orderliste (One-Triggers-the-Other) platzieren. |
| NewOrderListOTOCO | Symbol, WorkingType, WorkingSide, WorkingQuantity, WorkingPrice, PendingSide, PendingAboveType, PendingBelowType, PendingQuantity | Platziert eine neue OTOCO-Orderliste (One-Triggers-a-One-Cancels-the-Other). |
| NewSOROrder | Symbol, Side, Type, Quantity | Platziert eine Order mit Smart Order Routing (SOR). |
| TestSOROrder | Symbol, Side, Type, Quantity | Testet eine neue Order mithilfe von Smart Order Routing (SOR). Erstellt und validiert eine neue Order, sendet sie aber nicht an die Matching Engine. |
| GetOrderRateLimitUsage | Zeigt die aktuelle Order-Anzahl-Nutzung des Benutzers für alle Intervalle an. | |
| GetPreventedMatches | Symbol | Zeigt die Liste der Orders an, die aufgrund von STP (Self Trade Prevention) abgelaufen sind. |
| GetAllocations | Symbol | Ruft Allokationen ab, die aus der SOR-Orderplatzierung resultieren. |
| GetAccountCommission | Symbol | Ruft die aktuellen Kontoprovisionsraten ab. |
Convert-Endpunkte
| Method | Parameter | Beschreibung |
| GetAllConvertPairs | FromAsset, ToAsset | Abfrage aller konvertierbaren Token-Paare und der jeweiligen Ober-/Untergrenzen der Tokens |
| GetConvertAssetInfo | Abfrage der Präzisionsinformationen unterstützter Assets | |
| SendConvertQuoteRequest | FromAsset, ToAsset | Fordert ein Angebot für die angeforderten Token-Paare an |
| AcceptConvertQuote | QuoteId | Akzeptiert das angebotene Quote anhand der Quote-ID. |
| GetConvertOrderStatus | OrderId oder QuoteId | Order-Status anhand der Order-ID abfragen. |
| PlaceConvertLimitOrder | BaseAsset, QuoteAsset, Side, LimitPrice |
Ermöglichen Sie Benutzern, eine Limit-Order zu platzieren. baseAsset oder quoteAsset können über den exchangeInfo-Endpunkt ermittelt werden. |
| CancelConvertLimitOrder | OrderId | Ermöglicht Benutzern das Stornieren einer Limit-Order |
| GetConvertLimitOpenOrders | Ermöglichen Sie Benutzern, alle vorhandenen Limit-Orders abzufragen | |
| GetConvertTradeHistory | StartTime, EndTime | Das maximale Intervall zwischen startTime und endTime beträgt 30 Tage. |
Wallet-Endpunkte
(*Wallet-Endpunkte funktionieren nur mit dem Produktionsserver, nicht mit der Demo)
| Method | Beschreibung |
| GetWalletSystemStatus | Systemstatus abrufen. |
| GetWalletAllCoinsInformation | Ruft Informationen über Coins (verfügbar für Einzahlung und Abhebung) für den Benutzer ab. |
| GetWalletDailyAccountSnapshot | Type: "SPOT", "MARGIN", "FUTURES"
|
| SetWalletDisableFastWithdrawSwitch | Diese Anfrage deaktiviert den fastwithdraw-Schalter für Ihr Konto. Sie müssen die Option "trade" für den API-Schlüssel aktivieren, der diesen Endpunkt anfordert. |
| SetWalletEnableFastWithdrawSwitch | Diese Anfrage aktiviert den Fastwithdraw-Schalter unter Ihrem Konto. Sie müssen die Option "trade" für den API-Schlüssel aktivieren, der diesen Endpunkt anfordert. Wenn der Fast-Withdraw-Schalter eingeschaltet ist, erfolgt die Übertragung von Geldern auf ein Binance-Konto sofort. Es gibt keine On-Chain-Transaktion, keine Transaktions-ID und keine Abhebungsgebühr. |
| WalletWithdraw |
Sendet eine Auszahlungsanfrage.
|
| GetWalletDepositHistory | Einzahlungsverlauf abrufen. |
| GetWalletWithdrawHistory | Ruft die Auszahlungshistorie ab. |
| GetWalletDepositAddress | Ruft die Einzahlungsadresse mit Netzwerk ab. |
| GetWalletAccountStatus | Details zum Kontostatus abrufen. |
| GetWalletAccountAPITradingStatus | Ruft Details zum API-Handelsstatus des Kontos ab. |
| GetWalletDustLog | Nur die letzten 100 Datensätze zurückgeben Nur Datensätze nach dem 01.12.2020 zurückgeben |
| GetWalletAssetsConvertedBNB | |
| WalletDustTransfer |
Dust-Assets in BNB umwandeln. Sie müssen die Berechtigung "Enable Spot & Margin Trading" für den API-Schlüssel aktivieren, der diesen Endpunkt anfordert. |
| GetWalletAssetDividendRecord | Fragt Dividendendatensätze für Vermögenswerte ab. |
| GetWalletAssetDetail | Details zu den auf Binance unterstützten Assets abrufen. |
| GetWalletTradeFee | Handelsgebühr abrufen |
| WalletUserUniversalTransfer |
Sie müssen die Option "Permits Universal Transfer" für den API-Key aktivieren, der diesen Endpunkt anfordert.MAIN_UMFUTURE Übertragung vom Spot-Konto auf das USDⓈ-M-Futures-Konto ENUM des Typs:
|
| GetWalletQueryUserUniversalTransferHistory |
|
| GetWalletFundingWallet | Unterstützt derzeit die Abfrage der folgenden Geschäfts-Assets:Binance Pay, Binance Card, Binance Gift Card, Stock Token |
| GetWalletUserAsset | Ruft Benutzer-Assets ab, nur für positive Daten. |
| GetWalletApiKeyPermission |
Binance-Nachrichten werden in der TsgcWebSocketClient-Komponente empfangen, Sie können die folgenden Ereignisse verwenden:
OnConnect
Nach einer erfolgreichen Verbindung zum Binance-Server.
OnDisconnect
Nach einer Trennung vom Binance-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 Binance API-Komponente namens OnBinanceHTTPException, das jedes Mal ausgelöst wird, wenn beim Aufruf einer HTTP-Anfrage (REST API oder WebSocket User Stream) ein Fehler auftritt.
(*) Aufgrund von Änderungen an den Binance-Servern können Indy-Versionen vor Rad Studio 10.1 keine Verbindung zu den Test-Servern herstellen. Dieses Problem betrifft die Enterprise-Edition nicht oder wenn die Indy-Version auf die neueste aktualisiert wurde.