API Binance

Binance

 

Binance is een internationale meertalige cryptocurrency-beurs. Het biedt een aantal API's om toegang te krijgen tot Binance-gegevens. De volgende API's worden ondersteund:

 

  1. WebSocket-streams: hiermee kunt u zich abonneren op bepaalde methoden en gegevens in realtime ontvangen. Gebeurtenissen worden door de server naar abonnees gepusht. Gebruikt WebSocket als protocol.
  2. UserData-stream: geabonneerde clients ontvangen accountgegevens. Vereist een API-sleutel voor authenticatie en gebruikt WebSocket als protocol.
  3. REST API: Vereist een API-sleutel en -geheim voor authenticatie en gebruikt HTTPS als protocol.
    1. Marktgegevens
    2. Account- en handelsgegevens
    3. Portemonnee
  4. Futures: WebSocket Futures-marktgegevensstromen worden ondersteund via de Binance Futures Client API.

 

De client ondersteunt ook Binance.us, de volgende API's worden ondersteund:

 

  1. WebSocket-streams: hiermee kunt u zich abonneren op bepaalde methoden en gegevens in realtime ontvangen. Gebeurtenissen worden door de server naar abonnees gepusht. Gebruikt WebSocket als protocol.
  2. UserData-stream: geabonneerde clients ontvangen accountgegevens. Vereist een API-sleutel voor authenticatie en gebruikt WebSocket als protocol.
  3. REST API: clients kunnen markt- en accountgegevens van de server opvragen. Vereist een API-sleutel en geheim voor authenticatie en gebruikt HTTPs als protocol.

 

Eigenschappen

De Binance API heeft 2 soorten methoden: openbaar en privé. Openbare methoden zijn toegankelijk zonder authenticatie, bijvoorbeeld: tickerprijzen opvragen. Sommige zijn privé en gerelateerd aan gebruikersgegevens; die methoden vereisen het gebruik van Binance API-sleutels.

 

 

 

 

Meest voorkomende gebruiksgevallen

 

WebSocket Stream API

Het basiseindpunt is wss://stream.binance.com:9443, de client kan zich na een geslaagde verbinding abonneren op / afmelden van gebeurtenissen.

De volgende abonnements-/afmeldmethoden worden ondersteund.

 

Methode Parameters Beschrijving
AggregateTrades Symbol push handelsgegevens die zijn geaggregeerd voor één taker-order
Transacties Symbol Push ruwe handelsinformatie; elke handel heeft een unieke koper en verkoper
KLine Symbool, Interval push updates naar de huidige klines/kandelaar elke seconde, minuut, uur...
MiniTicker Symbol Minitickerstatistieken over een voortschrijdend venster van 24 uur. Dit zijn GEEN statistieken van de UTC-dag, maar een voortschrijdend venster van 24 uur over de afgelopen 24 uur.
AllMiniTickers   24-uur rollend venster mini-ticker statistieken voor alle symbolen die zijn gewijzigd in een array. Dit zijn NIET de statistieken van de UTC-dag, maar een 24-uur rollend venster voor de voorgaande 24 uur. Houd er rekening mee dat alleen tickers die zijn gewijzigd, aanwezig zijn in de array.
Ticker Symbol 24-uurs rollend venster tickerstatistieken voor één symbool. Dit zijn NIET de statistieken van de UTC-dag, maar een 24-uurs rollend venster voor de afgelopen 24 uur.
AllMarketTickers   24-uurs rollend venster tickerstatistieken voor alle symbolen die zijn gewijzigd in een reeks. Dit zijn NIET de statistieken van de UTC-dag, maar een 24-uurs rollend venster voor de afgelopen 24 uur. Merk op dat alleen tickers die zijn gewijzigd aanwezig zullen zijn in de reeks.
BookTicker Symbol Stuurt in realtime elke update van de beste bied- of vraagprijs of -hoeveelheid door voor een opgegeven symbool.
AllBookTickers   Pusht elke update van de beste bied- of laatprijs of -hoeveelheid in real-time voor alle symbolen.
PartialBookDepth Symbool, Diepte Top <levels> biedingen en aanbiedingen, elke seconde gepusht. Geldige <levels> zijn 5, 10 of 20.
DiffDepth Symbol Prijs- en hoeveelheiddiepte-updates van het orderboek die worden gebruikt om lokaal een orderboek te beheren.

 

Na een geslaagd abonnement/afmelding ontvangt de client een bericht hierover, waarbij id het resultaat is van de methode Subscribed / Unsubscribed.

 


{
  "result": null,
  "id": 1
}

 

User Data Stream API

Vereist een geldige ApiKey verkregen uit uw Binance-account; de ApiKey moet worden ingesteld in de eigenschap Binance.ApiKey van de 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
Account-update De accountstatus wordt bijgewerkt met de outboundAccountInfo-gebeurtenis.
Saldowijziging

Saldo-update vindt plaats bij het volgende:

 

  • Stortingen op of opnames van de rekening
  • Overdracht van tegoeden tussen rekeningen (bijv. Spot naar Margin)
Orderupdate Orders worden bijgewerkt met de executionReport-gebeurtenis.

 

 

REST API

Het basiseindpunt is: https://api.binance.com. Alle eindpunten retourneren een JSON-object of -array. Gegevens worden in oplopende volgorde geretourneerd. Oudste eerst, nieuwste als laatste.

 

Toegang tot de REST API-opties via de eigenschap REST_API.BinanceOptions.

 

 

Openbare API-eindpunten

 

Deze eindpunten zijn toegankelijk zonder autorisatie.

 

Algemene eindpunten

 

Methode Parameters Beschrijving
Ping   Verbinding testen met de Rest API.
GetServerTime   Test de connectiviteit met de REST API en haal de huidige servertijd op.
GetExchangeInformation   Huidige handelsregels van de beurs en symboolinformatie

 

 

Marktgegevens-eindpunten

 

Methode Parameters Beschrijving
GetOrderBook Symbol Orderboek ophalen.
GetTrades Symbol Recente transacties ophalen
GetHistoricalTrades Symbol Haal oudere transacties op.
GetAggregateTrades Symbol Haal gecomprimeerde, samengevoegde transacties op. Transacties die tegelijkertijd worden uitgevoerd, uit dezelfde order, met dezelfde prijs, worden samengevoegd in hoeveelheid.
GetKLines Symbool, Interval Kline/kandelaarstaafjes voor een symbool. Klines worden uniek geïdentificeerd door hun openingstijd.
GetAveragePrice Symbol Huidige gemiddelde prijs voor een symbool.
Get24hrTicker Symbol Prijswijzigingsstatistieken over een rollend venster van 24 uur. Voorzichtig bij gebruik zonder symbool.
GetPriceTicker Symbol Laatste prijs voor een symbool.
GetPriceTickers Symbolen Laatste prijs voor een reeks symbolen. Voorbeeld: ["BTCUSDT","BNBUSDT"]
GetBookTicker Symbol Beste prijs/hoeveelheid in het orderboek voor een symbool of symbolen.
GetUIKLines Symbool, Interval Kline/candlestick-balken voor een symbool. De respons is vergelijkbaar met GetKLines, geoptimaliseerd voor de weergave van candlestick-grafieken.
GetRollingWindowTicker Symbol, Symbols, WindowSize Statistieken over prijswijzigingen binnen een rollend venster. Opmerking: WindowSize is standaard 1d als niet opgegeven.
GetTradingDayTicker Symbol, Symbols, Type Prijswijzigingsstatistieken voor een handelsdag.

 

 

 

Privé API-eindpunten

 

Vereist een APIKey en APISecret om door de server te worden geautoriseerd.

 

Account Data-eindpunten

 

Methode Parameters Beschrijving
NewOrder Symbool, Kant, Type Stuur een nieuwe order in.
PlaceMarketOrder Kant, Symbool, Hoeveelheid Plaatst een nieuwe marktorder
PlaceMarketQuoteOrder Side, Symbol, QuoteOrderQty Plaatst een nieuwe markt-quotumorder
PlaceLimitOrder Side, Symbol, Quantity, LimitPrice Plaatst een nieuwe limietorder
PlaceStopOrder Side, Symbol, Quantity, StopPrice, LimitPrice Plaatst een nieuwe stoporder
PlaceStopTrailingOrder Side, Symbol, Quantity, TrailingDelta, LimitPrice Plaatst een nieuwe Stop Trailing Order
PlaceTakeProfitOrder Side, Symbol, Quantity, StopPrice, LimitPrice Plaatst een nieuwe Take Profit-order
PlaceTakeProfitTrailingOrder Side, Symbol, Quantity, TrailingDelta, LimitPrice Plaatst een nieuw Take Profit Trailing Order
PlaceLimitMakerOrder Kant, Symbool, Hoeveelheid Plaatst een nieuwe limietmarktorder
TestNewOrder Symbool, Kant, Type Test het aanmaken van een nieuw order en handtekening/recvWindow lang. Maakt een nieuw order aan en valideert dit, maar stuurt het niet naar de afstemmotor.
QueryOrder Symbol Controleer de status van een order.
CancelOrder Symbol Annuleer een actieve order. Annuleer een actieve order. OrderId of OrigClientOrderId moet worden meegestuurd.
CancelAllOpenOrders Symbool (optioneel)  
GetOpenOrders   Haal alle openstaande orders op voor een symbool. Wees voorzichtig bij het openen zonder symbool.
GetAllOrders Symbol Alle accountorders ophalen; actief, geannuleerd of ingevuld.
NewOCO Symbol, Side, Quantity, Price, StopPrice Stuur een nieuwe OCO in
CancelOCO Symbol Annuleer een volledige orderlijst
QueryOCO Symbol Haalt een specifieke OCO op op basis van opgegeven optionele parameters
GetAllOCO   Haalt alle OCO op op basis van de opgegeven optionele parameters
GetOpenOCO   Haal alle open OCO op.
GetAccountInformation   Haal huidige accountinformatie op.
GetAccountTradeList Symbol Get trades for a specific account and symbol.
CancelReplaceOrder Symbol, Side, Type, CancelReplaceMode Annuleert een bestaande order en plaatst een nieuwe order op hetzelfde symbool.
NewOrderListOCO Symbol, Side, Quantity, AboveType, BelowType Plaats een nieuwe OCO-orderlijst.
NewOrderListOTO Symbol, WorkingType, WorkingSide, WorkingQuantity, WorkingPrice, PendingType, PendingSide, PendingQuantity Plaats een nieuwe OTO (One-Triggers-the-Other) orderlijst.
NewOrderListOTOCO Symbol, WorkingType, WorkingSide, WorkingQuantity, WorkingPrice, PendingSide, PendingAboveType, PendingBelowType, PendingQuantity Place a new OTOCO (One-Triggers-a-One-Cancels-the-Other) order list.
NewSOROrder Symbol, Side, Type, Quantity Plaatst een order via Smart Order Routing (SOR).
TestSOROrder Symbol, Side, Type, Quantity Test nieuw order met Smart Order Routing (SOR). Maakt een nieuw order aan en valideert het, maar verzendt het niet naar de matchingengine.
GetOrderRateLimitUsage Geeft het huidige gebruik van het orderaantal van de gebruiker weer voor alle intervallen.
GetPreventedMatches Symbol Geeft de lijst weer van orders die zijn verlopen vanwege STP (Self Trade Prevention).
GetAllocations Symbol Haalt toewijzingen op die het gevolg zijn van SOR-orderplaatsing.
GetAccountCommission Symbol Haal de huidige accountcommissietarieven op.

 

 

 

Eindpunten converteren

 

Methode Parameters Beschrijving
GetAllConvertPairs FromAsset, ToAsset Vraag alle converteerbare tokenparen en de respectieve boven-/ondergrenzen van de tokens op
GetConvertAssetInfo   Query for ondersteund asset’s precision information
SendConvertQuoteRequest FromAsset, ToAsset Vraag een offerte aan voor de gevraagde tokenparen
AcceptConvertQuote QuoteId Accepteer de aangeboden offerte op basis van offerte-ID.
GetConvertOrderStatus OrderId of QuoteId Orderstatus opvragen op order-ID.
PlaceConvertLimitOrder BaseAsset, QuoteAsset, Side, LimitPrice

Stelt gebruikers in staat een limietorder te plaatsen.

baseAsset of quoteAsset kan worden bepaald via het exchangeInfo-eindpunt.
Limietprijs is gedefinieerd van baseAsset naar quoteAsset.
Ofwel baseAmount of quoteAmount wordt gebruikt.

CancelConvertLimitOrder OrderId Stelt gebruikers in staat een limietorder te annuleren
GetConvertLimitOpenOrders   Enable users to query for all existing limit orders
GetConvertTradeHistory StartTime, EndTime Het maximale interval tussen startTime en endTime is 30 dagen.

 

 

 

Wallet-eindpunten

(*wallet-eindpunten werken alleen met productieserver, niet demo)

 

Methode Beschrijving
GetWalletSystemStatus Systeemstatus ophalen.
GetWalletAllCoinsInformation Haal informatie op over munten (beschikbaar voor storten en opnemen) voor de gebruiker.
GetWalletDailyAccountSnapshot Type: "SPOT", "MARGIN", "FUTURES"
  • De zoekperiode moet minder dan 30 dagen zijn
  • Ondersteunt alleen zoekopdrachten binnen de afgelopen maand
  • Als startTime en endTime niet worden verzonden, worden standaard de records van de afgelopen 7 dagen geretourneerd
SetWalletDisableFastWithdrawSwitch Dit verzoek schakelt de snelle-opname-schakelaar op uw account uit.
U moet de optie "trade" inschakelen voor de API-sleutel die dit eindpunt aanvraagt.
SetWalletEnableFastWithdrawSwitch Dit verzoek activeert de fastwithdraw-schakelaar onder uw account.
U moet de optie "trade" inschakelen voor de api key die dit endpoint aanroept.
Wanneer Fast Withdraw Switch is ingeschakeld, gebeurt het overmaken van geld naar een Binance-account onmiddellijk. Er is geen on-chain-transactie, geen transactie-ID en geen opnamekosten.
WalletWithdraw

Een opnameverzoek indienen.

 

GetWalletDepositHistory Stortingshistorie ophalen.
GetWalletWithdrawHistory Opnamegeschiedenis ophalen.
GetWalletDepositAddress Stortingsadres ophalen met netwerk.
GetWalletAccountStatus Accountstatusdetails ophalen.
GetWalletAccountAPITradingStatus Fetch account api trading status detail.
GetWalletDustLog Geef alleen de laatste 100 records terug
Geef alleen records terug na 2020/12/01
GetWalletAssetsConvertedBNB  
WalletDustTransfer

Stofactiva omzetten naar BNB.

U moet de machtiging Spot & Margin Trading inschakelen voor de API-sleutel die dit eindpunt aanvraagt.

GetWalletAssetDividendRecord Asset dividendrecord opvragen.
GetWalletAssetDetail Haal details op van activa die worden ondersteund op Binance.
GetWalletTradeFee Fetch trade fee
WalletUserUniversalTransfer

U moet de optie Permits Universal Transfer inschakelen voor de API-sleutel die dit eindpunt aanvraagt. MAIN_UMFUTURE Spot-account overdracht naar USDⓈ-M Futures-account

ENUM van Type:

  • MAIN_CMFUTURE Spot-account overdracht naar COIN-M Futures-account
  • MAIN_MARGIN Spot-account overdracht naar Margin(cross)-account
  • UMFUTURE_MAIN USDⓈ-M Futures-account overdracht naar Spot-account
  • UMFUTURE_MARGIN USDⓈ-M Futures-account overdracht naar Margin(cross)-account
  • CMFUTURE_MAIN COIN-M Futures-account overdracht naar Spot-account
  • CMFUTURE_MARGIN COIN-M Futures-account overdracht naar Margin(cross)-account
  • MARGIN_MAIN Margin(cross)-account overdracht naar Spot-account
  • MARGIN_UMFUTURE Margin(cross)-account overdracht naar USDⓈ-M Futures
  • MARGIN_CMFUTURE Margin(cross)-account overdracht naar COIN-M Futures
  • ISOLATEDMARGIN_MARGIN Geïsoleerd margin-account overdracht naar Margin(cross)-account
  • MARGIN_ISOLATEDMARGIN Margin(cross)-account overdracht naar geïsoleerd margin-account
  • ISOLATEDMARGIN_ISOLATEDMARGIN Geïsoleerd margin-account overdracht naar geïsoleerd margin-account
  • MAIN_FUNDING Spot-account overdracht naar Funding-account
  • FUNDING_MAIN Funding-account overdracht naar Spot-account
  • FUNDING_UMFUTURE Funding-account overdracht naar UMFUTURE-account
  • UMFUTURE_FUNDING UMFUTURE-account overdracht naar Funding-account
  • MARGIN_FUNDING MARGIN-account overdracht naar Funding-account
  • FUNDING_MARGIN Funding-account overdracht naar Margin-account
  • FUNDING_CMFUTURE Funding-account overdracht naar CMFUTURE-account
  • CMFUTURE_FUNDING CMFUTURE-account overdracht naar Funding-account
GetWalletQueryUserUniversalTransferHistory
  • fromSymbol moet worden verzonden wanneer het type ISOLATEDMARGIN_MARGIN of ISOLATEDMARGIN_ISOLATEDMARGIN is
  • toSymbol moet worden verzonden wanneer het type MARGIN_ISOLATEDMARGIN of ISOLATEDMARGIN_ISOLATEDMARGIN is
  • Ondersteuning voor zoekopdrachten alleen binnen de laatste 6 maanden
  • Als startTime en endTime niet worden verzonden, worden standaard records van de laatste 7 dagen geretourneerd
GetWalletFundingWallet Ondersteunt momenteel het opvragen van de volgende bedrijfsmiddelen: Binance Pay, Binance Card, Binance Gift Card, Stock Token
GetWalletUserAsset Haal gebruikersactiva op, alleen positieve gegevens.
GetWalletApiKeyPermission  

 

 

Gebeurtenissen

Binance-berichten worden ontvangen in de TsgcWebSocketClient-component; u kunt de volgende gebeurtenissen gebruiken:

 

OnConnect

Na een succesvolle verbinding met de Binance-server.

OnDisconnect

Na een verbroken verbinding met de Binance-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.

 

Bovendien is er een specifieke gebeurtenis in de Binance API-component genaamd OnBinanceHTTPException, die wordt geactiveerd telkens wanneer er een fout optreedt bij het aanroepen van een HTTP-verzoek (REST API of WebSocket User Stream).

 

(*) Vanwege wijzigingen in Binance-servers kunnen Indy-versies vóór Rad Studio 10.1 geen verbinding maken met testservers. Dit probleem heeft geen invloed op de Enterprise-editie of als de Indy-versie is bijgewerkt naar de nieuwste versie.