API Binance

Binance

 

Binance, uluslararası çok dilli bir kripto para borsasıdır. Binance verilerine erişmek için bazı API'ler sunar. Aşağıdaki API'ler desteklenmektedir:

 

  1. WebSocket akışları: bazı yöntemlere abone olmanıza ve verileri gerçek zamanlı almanıza olanak tanır. Olaylar, sunucu tarafından abonelere gönderilir. Protokol olarak WebSocket kullanır.
  2. UserData stream: abone olan istemciler hesap ayrıntılarını alır. Kimlik doğrulamak için bir API anahtarı gerektirir ve protokol olarak WebSocket kullanır.
  3. REST API: Kimlik doğrulaması için bir API Key ve Secret gerektirir ve protokol olarak HTTPs kullanır.
    1. Market Data
    2. Account and Trading Data
    3. Wallet
  4. Futures: WebSocket Futures Piyasa Veri Akışları Binance Futures İstemci API'si aracılığıyla desteklenir.

 

İstemci ayrıca Binance.us'u da destekler, aşağıdaki API'ler desteklenir:

 

  1. WebSocket akışları: bazı yöntemlere abone olmanıza ve verileri gerçek zamanlı almanıza olanak tanır. Olaylar, sunucu tarafından abonelere gönderilir. Protokol olarak WebSocket kullanır.
  2. UserData stream: abone olan istemciler hesap ayrıntılarını alır. Kimlik doğrulamak için bir API anahtarı gerektirir ve protokol olarak WebSocket kullanır.
  3. REST API: istemciler sunucudan piyasa ve hesap verisi isteyebilir. Kimlik doğrulamak için bir API Key ve Secret gerektirir ve protokol olarak HTTPs kullanır.

 

Özellikler

Binance API'sinin 2 tür yöntemi vardır: genel ve özel. Genel yöntemlere kimlik doğrulama olmadan erişilebilir, örneğin: ticker fiyatlarını alma. Bazıları özeldir ve kullanıcı verileriyle ilgilidir; bu yöntemler Binance API anahtarlarının kullanılmasını gerektirir.

 

 

 

 

En yaygın kullanımlar

 

WebSocket Stream API

Temel uç nokta wss://stream.binance.com:9443'tür; istemci başarılı bir bağlantıdan sonra olaylara abone olabilir / abonelikten çıkabilir.

Aşağıdaki Abonelik / Abonelikten Çıkma yöntemleri desteklenir.

 

Yöntem Parametreler Açıklama
AggregateTrades Symbol tek bir taker emri için toplanan işlem bilgilerini gönderir
Trades Symbol ham işlem bilgilerini gönderir; her işlemin benzersiz bir alıcısı ve satıcısı vardır
KLine Symbol, Interval geçerli kline/mum güncellemelerini her saniye, dakika, saat... gönderir
MiniTicker Symbol 24 saatlik yuvarlanan pencere mini-ticker istatistikleri. Bunlar UTC gününün istatistikleri DEĞİLDİR, önceki 24 saat için 24 saatlik yuvarlanan bir penceredir.
AllMiniTickers   Bir dizide değişen tüm semboller için 24 saatlik kayan pencere mini-ticker istatistikleri. Bunlar UTC gününün istatistikleri DEĞİL, önceki 24 saat için 24 saatlik bir kayan penceredir. Yalnızca değişen ticker'ların dizide bulunacağını unutmayın.
Ticker Symbol Tek bir sembol için 24 saatlik kayan pencere ticker istatistikleri. Bunlar UTC gününün istatistikleri DEĞİL, önceki 24 saat için 24 saatlik kayan bir penceredir.
AllMarketTickers   Bir dizide değişen tüm semboller için 24 saatlik kayan pencere ticker istatistikleri. Bunlar UTC gününün istatistikleri DEĞİL, önceki 24 saat için 24 saatlik kayan bir penceredir. Dizide yalnızca değişen ticker'ların bulunacağını unutmayın.
BookTicker Symbol Belirli bir sembol için en iyi alış veya satış fiyatı ya da miktarındaki herhangi bir güncellemeyi gerçek zamanlı olarak gönderir.
AllBookTickers   Tüm semboller için en iyi alış veya satışın fiyatına veya miktarına yapılan herhangi bir güncellemeyi gerçek zamanlı olarak iletir.
PartialBookDepth Symbol, Depth En iyi <levels> alış ve satış, her saniye gönderilir. Geçerli <levels> değerleri 5, 10 veya 20'dir.
DiffDepth Symbol Bir emir defterini yerel olarak yönetmek için kullanılan emir defteri fiyat ve miktar derinliği güncellemeleri.

 

Başarılı bir abonelik / abonelik iptalinden sonra, istemci bununla ilgili bir mesaj alır, burada id Subscribed / Unsubscribed yönteminin sonucudur.

 


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

 

User Data Stream API

Binance hesabınızdan alınan geçerli bir ApiKey gerektirir ve ApiKey bileşenin Binance.ApiKey özelliğinde ayarlanmalıdır.

 

Her değişiklik olduğunda aşağıdaki veriler istemciye gönderilir. Herhangi bir yönteme abone olmaya gerek yoktur, geçerli bir ApiKey ayarlarsanız bu otomatik olarak yapılır.

 

Yöntem Açıklama
Account Update Hesap durumu, outboundAccountInfo olayıyla güncellenir.
Balance Update

Balance Update aşağıdaki durumlarda gerçekleşir:

 

  • Hesaba para yatırma veya para çekme işlemleri
  • Hesaplar arası fon transferi (örneğin Spot'tan Margin'e)
Order Update Emirler executionReport olayıyla güncellenir.

 

 

REST API

Temel uç nokta: https://api.binance.com. Tüm uç noktalar bir JSON nesnesi veya dizisi döndürür. Veriler artan sırada döndürülür. En eski önce, en yeni sonra.

 

REST_API.BinanceOptions özelliğini kullanarak REST API Seçeneklerine erişin.

 

 

Public API EndPoints

 

Bu uç noktalara herhangi bir yetkilendirme olmadan erişilebilir.

 

Genel Uç Noktalar

 

Yöntem Parametreler Açıklama
Ping   Rest API'ye bağlantıyı test edin.
GetServerTime   Rest API'ye bağlantıyı test edin ve geçerli sunucu zamanını alın.
GetExchangeInformation   Mevcut borsa işlem kuralları ve sembol bilgisi

 

 

Market Data EndPoints

 

Yöntem Parametreler Açıklama
GetOrderBook Symbol Emir Defterini Al.
GetTrades Symbol Son trade'leri alın
GetHistoricalTrades Symbol Daha eski işlemleri alın.
GetAggregateTrades Symbol Sıkıştırılmış, toplu işlemleri alın. Aynı emirden, aynı fiyatla, aynı anda gerçekleşen işlemlerin miktarı toplanır.
GetKLines Symbol, Interval Bir sembol için Kline/mum çubuğu çubukları. Kline'lar açılış zamanlarıyla benzersiz olarak tanımlanır.
GetAveragePrice Symbol Bir sembol için mevcut ortalama fiyat.
Get24hrTicker Symbol 24 saatlik kayan pencere fiyat değişim istatistikleri. Buna sembol olmadan erişirken dikkatli olun.
GetPriceTicker Symbol Bir sembol için en son fiyat.
GetPriceTickers Symbols Bir sembol dizisi için en güncel fiyat. Örnek: ["BTCUSDT","BNBUSDT"]
GetBookTicker Symbol Bir sembol veya semboller için order book'ta en iyi fiyat/miktar.
GetUIKLines Symbol, Interval Bir sembol için Kline/mum çubuğu çubukları. Yanıt GetKLines'a benzer, mum çubuğu grafiklerinin sunumu için optimize edilmiştir.
GetRollingWindowTicker Symbol, Symbols, WindowSize Hareketli pencere fiyat değişimi istatistikleri. Not: belirtilmezse WindowSize varsayılanı 1d'dir.
GetTradingDayTicker Symbol, Symbols, Type Bir işlem günü için fiyat değişim istatistikleri.

 

 

 

Özel API Uç Noktaları

 

Sunucu tarafından yetkilendirilmek için bir APIKey ve APISecret gerektirir.

 

Account Data EndPoints

 

Yöntem Parametreler Açıklama
NewOrder Symbol, Side, Type Yeni bir emir gönderin.
PlaceMarketOrder Side, Symbol, Quantity Yeni Bir Market Order Verir
PlaceMarketQuoteOrder Side, Symbol, QuoteOrderQty Yeni Bir Piyasa Teklif Emri Verir
PlaceLimitOrder Side, Symbol, Quantity, LimitPrice Yeni Bir Limit Emri Verir
PlaceStopOrder Side, Symbol, Quantity, StopPrice, LimitPrice Yeni bir Stop Emri verir
PlaceStopTrailingOrder Side, Symbol, Quantity, TrailingDelta, LimitPrice Yeni bir Stop Trailing Emri Verir
PlaceTakeProfitOrder Side, Symbol, Quantity, StopPrice, LimitPrice Yeni Bir Take Profit Emri Verir
PlaceTakeProfitTrailingOrder Side, Symbol, Quantity, TrailingDelta, LimitPrice Yeni bir Take Profit Trailing Order verir
PlaceLimitMakerOrder Side, Symbol, Quantity Yeni Bir Limit Market Emri Verir
TestNewOrder Symbol, Side, Type Yeni emir oluşturmayı ve signature/recvWindow long'u test edin. Yeni bir emir oluşturur ve doğrular ancak eşleştirme motoruna göndermez.
QueryOrder Symbol Bir emrin durumunu kontrol eder.
CancelOrder Symbol Etkin bir siparişi iptal eder. Etkin bir siparişi iptal eder. OrderId veya OrigClientOrderId değerlerinden biri gönderilmelidir.
CancelAllOpenOrders Symbol (isteğe bağlı)  
GetOpenOrders   Bir sembol üzerindeki tüm açık emirleri alın. Sembol olmadan buna erişirken dikkatli olun.
GetAllOrders Symbol Tüm hesap emirlerini alın; etkin, iptal edilmiş veya doldurulmuş.
NewOCO Symbol, Side, Quantity, Price, StopPrice Yeni bir OCO gönder
CancelOCO Symbol Tüm bir Emir Listesini iptal edin
QueryOCO Symbol Sağlanan isteğe bağlı parametrelere göre belirli bir OCO'yu alır
GetAllOCO   Sağlanan isteğe bağlı parametrelere dayalı tüm OCO'ları alır
GetOpenOCO   Tüm Açık OCO'ları Alın.
GetAccountInformation   Geçerli hesap bilgilerini alın.
GetAccountTradeList Symbol Belirli bir hesap ve sembol için işlemleri alır.
CancelReplaceOrder Symbol, Side, Type, CancelReplaceMode Mevcut bir emri iptal eder ve aynı sembol üzerine yeni bir emir verir.
NewOrderListOCO Symbol, Side, Quantity, AboveType, BelowType Yeni bir OCO emir listesi verin.
NewOrderListOTO Symbol, WorkingType, WorkingSide, WorkingQuantity, WorkingPrice, PendingType, PendingSide, PendingQuantity Yeni bir OTO (One-Triggers-the-Other) emir listesi verin.
NewOrderListOTOCO Symbol, WorkingType, WorkingSide, WorkingQuantity, WorkingPrice, PendingSide, PendingAboveType, PendingBelowType, PendingQuantity Yeni bir OTOCO (One-Triggers-a-One-Cancels-the-Other) emir listesi verin.
NewSOROrder Symbol, Side, Type, Quantity Smart Order Routing (SOR) kullanarak bir emir verir.
TestSOROrder Symbol, Side, Type, Quantity Smart Order Routing (SOR) kullanarak yeni bir emri test edin. Yeni bir emir oluşturur ve doğrular ancak eşleştirme motoruna göndermez.
GetOrderRateLimitUsage Kullanıcının tüm aralıklar için mevcut emir sayısı kullanımını görüntüler.
GetPreventedMatches Symbol STP (Self Trade Prevention) nedeniyle süresi dolan emirlerin listesini görüntüler.
GetAllocations Symbol SOR emir verme işleminden kaynaklanan tahsisleri (allocations) alır.
GetAccountCommission Symbol Mevcut hesap komisyon oranlarını alın.

 

 

 

Convert EndPoints

 

Yöntem Parametreler Açıklama
GetAllConvertPairs FromAsset, ToAsset Tüm dönüştürülebilir token çiftlerini ve token'ların ilgili üst/alt limitlerini sorgulayın
GetConvertAssetInfo   Desteklenen varlığın hassasiyet (precision) bilgisini sorgulayın
SendConvertQuoteRequest FromAsset, ToAsset İstenen token çiftleri için bir fiyat teklifi isteyin
AcceptConvertQuote QuoteId Teklif edilen kotayı kota ID'sine göre kabul edin.
GetConvertOrderStatus OrderId veya QuoteId Emir kimliğine göre emir durumunu sorgulayın.
PlaceConvertLimitOrder BaseAsset, QuoteAsset, Side, LimitPrice

Kullanıcıların bir limit emri vermesini sağlar.

baseAsset veya quoteAsset, exchangeInfo uç noktası aracılığıyla belirlenebilir.
Limit fiyatı baseAsset'ten quoteAsset'e tanımlanır.
baseAmount veya quoteAmount'tan biri kullanılır.

CancelConvertLimitOrder OrderId Kullanıcıların bir limit emrini iptal etmesini sağlar
GetConvertLimitOpenOrders   Kullanıcıların tüm mevcut limit emirlerini sorgulamasını sağlar
GetConvertTradeHistory StartTime, EndTime startTime ve endTime arasındaki maksimum aralık 30 gündür.

 

 

 

Wallet EndPoints

(*cüzdan uç noktaları yalnızca üretim sunucusuyla çalışır, demo ile değil)

 

Yöntem Açıklama
GetWalletSystemStatus Sistem durumunu alın.
GetWalletAllCoinsInformation Kullanıcı için coinlerin (yatırma ve çekme için kullanılabilir) bilgilerini alın.
GetWalletDailyAccountSnapshot Type: "SPOT", "MARGIN", "FUTURES"
  • Sorgu zaman aralığı 30 günden az olmalıdır
  • Yalnızca son bir ay içinde sorgu desteklenir
  • startTime ve endTime gönderilmezse, varsayılan olarak son 7 günün kayıtlarını döndürür
SetWalletDisableFastWithdrawSwitch Bu istek, hesabınızdaki fastwithdraw anahtarını devre dışı bırakacaktır.
Bu uç noktayı isteyen api anahtarı için "trade" seçeneğini etkinleştirmeniz gerekir.
SetWalletEnableFastWithdrawSwitch Bu istek, hesabınız altındaki fastwithdraw anahtarını etkinleştirecektir.
Bu uç noktayı talep eden api anahtarı için "trade" seçeneğini etkinleştirmeniz gerekir.
Fast Withdraw Switch açık olduğunda, bir Binance hesabına fon transferi anında yapılır. Zincir üstü işlem, işlem kimliği ve çekim ücreti yoktur.
WalletWithdraw

Bir para çekme isteği gönderin.

 

GetWalletDepositHistory Yatırma (deposit) geçmişini alın.
GetWalletWithdrawHistory Para çekme geçmişini getirin.
GetWalletDepositAddress Ağ ile para yatırma adresini getirin.
GetWalletAccountStatus Hesap durumu ayrıntısını getirin.
GetWalletAccountAPITradingStatus Hesap API ticaret durumu ayrıntılarını al.
GetWalletDustLog Yalnızca son 100 kaydı döndür
Yalnızca 2020/12/01 tarihinden sonraki kayıtları döndür
GetWalletAssetsConvertedBNB  
WalletDustTransfer

Toz (dust) varlıkları BNB'ye dönüştürün.

Bu uç noktayı isteyen API Key için Spot & Margin Trading iznini açıp etkinleştirmeniz gerekir.

GetWalletAssetDividendRecord Varlık temettü kaydını sorgular.
GetWalletAssetDetail Binance'de desteklenen varlıkların ayrıntılarını alın.
GetWalletTradeFee İşlem ücretini al
WalletUserUniversalTransfer

Bu uç noktayı talep eden API Anahtarı için Permits Universal Transfer seçeneğini etkinleştirmeniz gerekir.MAIN_UMFUTURE Spot hesabından USDⓈ-M Futures hesabına transfer

Type'ın ENUM'u:

  • MAIN_CMFUTURE Spot hesabından COIN-M Futures hesabına transfer
  • MAIN_MARGIN Spot hesabından Margin(cross)hesabına transfer
  • UMFUTURE_MAIN USDⓈ-M Futures hesabından Spot hesabına transfer
  • UMFUTURE_MARGIN USDⓈ-M Futures hesabından Margin(cross)hesabına transfer
  • CMFUTURE_MAIN COIN-M Futures hesabından Spot hesabına transfer
  • CMFUTURE_MARGIN COIN-M Futures hesabından Margin(cross) hesabına transfer
  • MARGIN_MAIN Margin(cross)hesabından Spot hesabına transfer
  • MARGIN_UMFUTURE Margin(cross)hesabından USDⓈ-M Futures'a transfer
  • MARGIN_CMFUTURE Margin(cross)hesabından COIN-M Futures'a transfer
  • ISOLATEDMARGIN_MARGIN Isolated margin hesabından Margin(cross) hesabına transfer
  • MARGIN_ISOLATEDMARGIN Margin(cross) hesabından Isolated margin hesabına transfer
  • ISOLATEDMARGIN_ISOLATEDMARGIN Isolated margin hesabından Isolated margin hesabına transfer
  • MAIN_FUNDING Spot hesabından Funding hesabına transfer
  • FUNDING_MAIN Funding hesabından Spot hesabına transfer
  • FUNDING_UMFUTURE Funding hesabından UMFUTURE hesabına transfer
  • UMFUTURE_FUNDING UMFUTURE hesabından Funding hesabına transfer
  • MARGIN_FUNDING MARGIN hesabından Funding hesabına transfer
  • FUNDING_MARGIN Funding hesabından Margin hesabına transfer
  • FUNDING_CMFUTURE Funding hesabından CMFUTURE hesabına transfer
  • CMFUTURE_FUNDING CMFUTURE hesabından Funding hesabına transfer
GetWalletQueryUserUniversalTransferHistory
  • type ISOLATEDMARGIN_MARGIN ve ISOLATEDMARGIN_ISOLATEDMARGIN olduğunda fromSymbol gönderilmelidir
  • type MARGIN_ISOLATEDMARGIN ve ISOLATEDMARGIN_ISOLATEDMARGIN olduğunda toSymbol gönderilmelidir
  • Yalnızca son 6 ay içinde sorgulamayı destekler
  • startTime ve endTime gönderilmezse, varsayılan olarak son 7 günün kayıtlarını döndürür
GetWalletFundingWallet Şu anda aşağıdaki iş varlıklarının sorgulanmasını destekler:Binance Pay, Binance Card, Binance Gift Card, Stock Token
GetWalletUserAsset Kullanıcı varlıklarını alın, yalnızca pozitif veriler için.
GetWalletApiKeyPermission  

 

 

Olaylar

Binance Mesajları TsgcWebSocketClient bileşeninde alınır, aşağıdaki olayları kullanabilirsiniz:

 

OnConnect

Binance sunucusuna başarılı bir bağlantıdan sonra.

OnDisconnect

Binance sunucusundan bir bağlantı kesintisinden sonra

OnMessage

Sunucu tarafından istemciye gönderilen mesajlar bu olayda işlenir.

OnError

Protokolde herhangi bir hata varsa, bu olay çağrılır.

OnException

İşlenmeyen bir özel durum varsa, bu olay çağrılır.

 

Ayrıca, Binance API Bileşeninde, bir HTTP İsteği (REST API veya WebSocket User Stream) çağrılırken her hata olduğunda tetiklenen OnBinanceHTTPException adlı belirli bir olay vardır.

 

(*) Binance Sunucularındaki değişiklikler nedeniyle, Rad Studio 10.1'den önceki Indy sürümleri Test Sunucularına bağlanamaz. Bu sorun Enterprise Sürümünü etkilemez veya Indy sürümü en son sürüme yükseltilmişse.