API Binance

Binance

 

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:

 

  1. WebSocket-Streams: ermöglichen es Ihnen, einige Methoden zu abonnieren und Daten in Echtzeit zu erhalten. Ereignisse werden vom Server an die Abonnenten gepusht. Verwendet WebSocket als Protokoll.
  2. UserData-Stream: abonnierte Clients erhalten Kontodetails. Erfordert einen API-Schlüssel zur Authentifizierung und verwendet WebSocket als Protokoll.
  3. REST API: Erfordert einen API-Schlüssel und ein Secret zur Authentifizierung und verwendet HTTPs als Protokoll.
    1. Market Data
    2. Account and Trading Data
    3. Wallet
  4. Futures: WebSocket-Futures-Marktdaten-Streams werden über die Binance Futures Client API unterstützt.

 

Der Client unterstützt auch Binance.us, die folgenden APIs werden unterstützt:

 

  1. WebSocket-Streams: ermöglichen es Ihnen, einige Methoden zu abonnieren und Daten in Echtzeit zu erhalten. Ereignisse werden vom Server an die Abonnenten gepusht. Verwendet WebSocket als Protokoll.
  2. UserData-Stream: abonnierte Clients erhalten Kontodetails. Erfordert einen API-Schlüssel zur Authentifizierung und verwendet WebSocket als Protokoll.
  3. REST API: Clients können beim Server Markt- und Kontodaten anfordern. Erfordert einen API-Key und ein Secret zur Authentifizierung und verwendet HTTPS als Protokoll.

 

Properties

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.

 

 

 

 

Häufigste Verwendungen

 

WebSocket Stream 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
}

 

User Data Stream API

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:

 

  • Ein- oder Auszahlungen vom Konto
  • Übertragung von Geldern zwischen Konten (z. B. Spot zu Margin)
Order Update Orders werden mit dem executionReport-Ereignis aktualisiert.

 

 

REST API

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.
Der Limit-Preis ist von baseAsset zu quoteAsset definiert.
Entweder baseAmount oder quoteAmount wird verwendet.

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"
  • Der abgefragte Zeitraum muss weniger als 30 Tage betragen
  • Unterstützt nur Abfragen innerhalb des letzten Monats
  • Wenn startTime und endTime nicht gesendet werden, werden standardmäßig die Datensätze der letzten 7 Tage zurückgegeben
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:

  • MAIN_CMFUTURE Übertragung vom Spot-Konto auf das COIN-M-Futures-Konto
  • MAIN_MARGIN Übertragung vom Spot-Konto auf das Margin(cross)-Konto
  • UMFUTURE_MAIN Übertragung vom USD?-M-Futures-Konto auf das Spot-Konto
  • UMFUTURE_MARGIN Übertragung vom USD?-M-Futures-Konto auf das Margin(cross)-Konto
  • CMFUTURE_MAIN Übertragung vom COIN-M-Futures-Konto auf das Spot-Konto
  • CMFUTURE_MARGIN Übertragung vom COIN-M-Futures-Konto auf das Margin(cross)-Konto
  • MARGIN_MAIN Übertragung vom Margin(cross)-Konto auf das Spot-Konto
  • MARGIN_UMFUTURE Übertragung vom Margin(cross)-Konto auf USD?-M-Futures
  • MARGIN_CMFUTURE Übertragung vom Margin(cross)-Konto auf COIN-M-Futures
  • ISOLATEDMARGIN_MARGIN Übertragung vom Isolated-Margin-Konto auf das Margin(cross)-Konto
  • MARGIN_ISOLATEDMARGIN Übertragung vom Margin(cross)-Konto auf das Isolated-Margin-Konto
  • ISOLATEDMARGIN_ISOLATEDMARGIN Übertragung vom Isolated-Margin-Konto auf das Isolated-Margin-Konto
  • MAIN_FUNDING Übertragung vom Spot-Konto auf das Funding-Konto
  • FUNDING_MAIN Übertragung vom Funding-Konto auf das Spot-Konto
  • FUNDING_UMFUTURE Übertragung vom Funding-Konto auf das UMFUTURE-Konto
  • UMFUTURE_FUNDING Übertragung vom UMFUTURE-Konto auf das Funding-Konto
  • MARGIN_FUNDING Übertragung vom MARGIN-Konto auf das Funding-Konto
  • FUNDING_MARGIN Übertragung vom Funding-Konto auf das Margin-Konto
  • FUNDING_CMFUTURE Übertragung vom Funding-Konto auf das CMFUTURE-Konto
  • CMFUTURE_FUNDING Übertragung vom CMFUTURE-Konto auf das Funding-Konto
GetWalletQueryUserUniversalTransferHistory
  • fromSymbol muss gesendet werden, wenn type ISOLATEDMARGIN_MARGIN und ISOLATEDMARGIN_ISOLATEDMARGIN ist
  • toSymbol muss gesendet werden, wenn type MARGIN_ISOLATEDMARGIN und ISOLATEDMARGIN_ISOLATEDMARGIN ist
  • Unterstützt nur Abfragen innerhalb der letzten 6 Monate
  • Wenn startTime und endTime nicht gesendet werden, werden standardmäßig die Datensätze der letzten 7 Tage zurückgegeben
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  

 

 

Ereignisse

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.