Binance to międzynarodowa, wielojęzyczna giełda kryptowalut. Oferuje kilka API do uzyskiwania dostępu do danych Binance. Obsługiwane są następujące API:
Klient obsługuje również Binance.us; obsługiwane są następujące API:
API Binance ma 2 typy metod: publiczne i prywatne. Do metod publicznych można uzyskać dostęp bez uwierzytelniania, na przykład: pobieranie cen tickerów. Niektóre są prywatne i dotyczą danych użytkownika; te metody wymagają użycia kluczy API Binance.
REST API
Bazowy endpoint to wss://stream.binance.com:9443; klient może subskrybować zdarzenia i anulować subskrypcje po nawiązaniu pomyślnego połączenia.
Obsługiwane są następujące metody subskrypcji i anulowania subskrypcji.
| Metoda | Parametry | Opis |
| AggregateTrades | Symbol | przesyłanie zagregowanych informacji o transakcjach dla jednego zlecenia taker |
| Transakcje | Symbol | przesyłaj surowe informacje o transakcjach; każda transakcja ma unikalnego kupującego i sprzedającego |
| KLine | Symbol, interwał | wypycha aktualizacje bieżących wykresów klines/świecowych co sekundę, minutę, godzinę... |
| MiniTicker | Symbol | Statystyki mini-tickera w 24-godzinnym oknie kroczącym. NIE są to statystyki dnia UTC, lecz 24-godzinne okno kroczące dla poprzednich 24 godzin. |
| AllMiniTickers | Statystyki mini-tickera w 24-godzinnym oknie kroczącym dla wszystkich symboli, których wartości uległy zmianie, zebrane w tablicy. Nie są to statystyki dnia UTC, lecz 24-godzinne okno kroczące obejmujące poprzednie 24 godziny. W tablicy znajdują się wyłącznie tickery, których wartości się zmieniły. | |
| Ticker | Symbol | Statystyki tickera dla kroczącego okna 24-godzinnego dla pojedynczego symbolu. NIE są to statystyki dnia UTC, lecz kroczące okno 24-godzinne dla poprzednich 24 godzin. |
| AllMarketTickers | Statystyki tickera dla kroczącego okna 24-godzinnego dla wszystkich symboli, które zmieniły się w tablicy. NIE są to statystyki dnia UTC, lecz kroczące okno 24-godzinne dla poprzednich 24 godzin. Uwaga: w tablicy będą obecne tylko tickery, które uległy zmianie. | |
| BookTicker | Symbol | Przekazuje w czasie rzeczywistym aktualizacje najlepszej ceny lub wolumenu po stronie bid lub ask dla wskazanego symbolu. |
| AllBookTickers | Przesyła w czasie rzeczywistym wszelkie aktualizacje ceny lub ilości najlepszej oferty kupna lub sprzedaży dla wszystkich symboli. | |
| PartialBookDepth | Symbol, Głębokość | Najlepsze <levels> ofert kupna i sprzedaży, przesyłane co sekundę. Prawidłowe wartości <levels> to 5, 10 lub 20. |
| DiffDepth | Symbol | Aktualizacje głębokości ceny i ilości w księdze zleceń, używane do lokalnego zarządzania księgą zleceń. |
Po pomyślnej subskrypcji / anulowaniu subskrypcji klient otrzymuje wiadomość o tym fakcie, gdzie id jest wynikiem metody Subscribed / Unsubscribed.
{
"result": null,
"id": 1
}
Wymaga prawidłowego ApiKey uzyskanego z konta Binance; ApiKey musi być ustawiony we właściwości Binance.ApiKey komponentu.
Następujące dane są wypychane do klienta za każdym razem, gdy nastąpi zmiana. Nie jest konieczna subskrypcja żadnej metody — odbywa się ona automatycznie po ustawieniu prawidłowego ApiKey.
| Metoda | Opis |
| Aktualizacja konta | Stan konta jest aktualizowany za pomocą zdarzenia outboundAccountInfo. |
| Aktualizacja salda |
Aktualizacja salda następuje w następujących przypadkach:
|
| Aktualizacja zlecenia | Zlecenia są aktualizowane zdarzeniem executionReport. |
Bazowy punkt końcowy to: https://api.binance.com. Wszystkie punkty końcowe zwracają obiekt lub tablicę JSON. Dane są zwracane w porządku rosnącym: od najstarszych do najnowszych.
Dostęp do opcji REST API przy użyciu właściwości REST_API.BinanceOptions.
Publiczne punkty końcowe API
Te punkty końcowe są dostępne bez żadnej autoryzacji.
Ogólne punkty końcowe
| Metoda | Parametry | Opis |
| Ping | Testuje łączność z Rest API. | |
| GetServerTime | Sprawdź połączenie z Rest API i pobierz bieżący czas serwera. | |
| GetExchangeInformation | Bieżące reguły handlowe giełdy i informacje o symbolach |
Punkty końcowe danych rynkowych
| Metoda | Parametry | Opis |
| GetOrderBook | Symbol | Pobierz arkusz zleceń. |
| GetTrades | Symbol | Pobierz ostatnie transakcje |
| GetHistoricalTrades | Symbol | Pobierz starsze transakcje. |
| GetAggregateTrades | Symbol | Pobierz skompresowane, zagregowane transakcje. Transakcje realizowane w tym samym czasie, z tego samego zlecenia i po tej samej cenie będą miały zagregowaną ilość. |
| GetKLines | Symbol, interwał | Świece Kline dla instrumentu. Świece są jednoznacznie identyfikowane przez czas otwarcia. |
| GetAveragePrice | Symbol | Bieżąca średnia cena dla symbolu. |
| Get24hrTicker | Symbol | Statystyki zmian cen w 24-godzinnym oknie kroczącym. Należy zachować ostrożność podczas wywoływania bez podania symbolu. |
| GetPriceTicker | Symbol | Ostatnia cena dla danego symbolu. |
| GetPriceTickers | Symbols | Ostatnia cena dla tablicy symboli. Przykład: ["BTCUSDT","BNBUSDT"] |
| GetBookTicker | Symbol | Najlepsza cena/ilość w arkuszu zleceń dla jednego lub wielu symboli. |
| GetUIKLines | Symbol, interwał | Słupki Kline/świecowe dla danego symbolu. Odpowiedź jest podobna do GetKLines, zoptymalizowana pod kątem prezentacji wykresów świecowych. |
| GetRollingWindowTicker | Symbol, Symbols, WindowSize | Statystyki zmiany ceny w kroczącej oknie czasowym. Uwaga: domyślna wartość WindowSize to 1d, jeśli nie zostanie podana. |
| GetTradingDayTicker | Symbol, Symbols, Type | Statystyki zmian ceny dla dnia handlowego. |
Prywatne punkty końcowe API
Wymaga podania APIKey i APISecret w celu autoryzacji przez serwer.
Punkty końcowe danych konta
| Metoda | Parametry | Opis |
| NewOrder | Symbol, strona, typ | Wyślij nowe zlecenie. |
| PlaceMarketOrder | Side, Symbol, Quantity | Składa nowe zlecenie rynkowe |
| PlaceMarketQuoteOrder | Side, Symbol, QuoteOrderQty | Składa nowe zlecenie rynkowe z kwotowaniem |
| PlaceLimitOrder | Side, Symbol, Quantity, LimitPrice | Składa nowe zlecenie Limit |
| PlaceStopOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | Składa nowe zlecenie stop |
| PlaceStopTrailingOrder | Side, Symbol, Quantity, TrailingDelta, LimitPrice | Składa nowe zlecenie Stop Trailing |
| PlaceTakeProfitOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | Składa nowe zlecenie Take Profit |
| PlaceTakeProfitTrailingOrder | Side, Symbol, Quantity, TrailingDelta, LimitPrice | Składa nowe zlecenie Take Profit Trailing |
| PlaceLimitMakerOrder | Side, Symbol, Quantity | Składa nowe zlecenie z limitem ceny rynkowej |
| TestNewOrder | Symbol, strona, typ | Testuje tworzenie nowego zlecenia oraz poprawność podpisu/recvWindow. Tworzy i weryfikuje nowe zlecenie, ale nie wysyła go do silnika dopasowań. |
| QueryOrder | Symbol | Sprawdź status zlecenia. |
| CancelOrder | Symbol | Anuluje aktywne zlecenie. Należy podać OrderId lub OrigClientOrderId. |
| CancelAllOpenOrders | Symbol (opcjonalnie) | |
| GetOpenOrders | Pobierz wszystkie otwarte zlecenia dla symbolu. Zachować ostrożność przy dostępie bez podania symbolu. | |
| GetAllOrders | Symbol | Pobierz wszystkie zlecenia konta: aktywne, anulowane lub zrealizowane. |
| NewOCO | Symbol, Side, Quantity, Price, StopPrice | Wyślij nowe zlecenie OCO |
| CancelOCO | Symbol | Anuluj całą listę zleceń |
| QueryOCO | Symbol | Pobiera określone zlecenie OCO na podstawie podanych opcjonalnych parametrów. |
| GetAllOCO | Pobiera wszystkie zlecenia OCO na podstawie podanych opcjonalnych parametrów | |
| GetOpenOCO | Pobierz wszystkie otwarte OCO. | |
| GetAccountInformation | Pobierz informacje o bieżącym koncie. | |
| GetAccountTradeList | Symbol | Pobierz transakcje dla określonego konta i symbolu. |
| CancelReplaceOrder | Symbol, Side, Type, CancelReplaceMode | Anuluje istniejące zlecenie i składa nowe zlecenie na tym samym instrumencie. |
| NewOrderListOCO | Symbol, Side, Quantity, AboveType, BelowType | Dodaj nowe zlecenie listy OCO. |
| NewOrderListOTO | Symbol, WorkingType, WorkingSide, WorkingQuantity, WorkingPrice, PendingType, PendingSide, PendingQuantity | Złóż nowe zlecenie OTO (One-Triggers-the-Other). |
| NewOrderListOTOCO | Symbol, WorkingType, WorkingSide, WorkingQuantity, WorkingPrice, PendingSide, PendingAboveType, PendingBelowType, PendingQuantity | Złóż nowe zlecenie OTOCO (One-Triggers-a-One-Cancels-the-Other). |
| NewSOROrder | Symbol, Side, Type, Quantity | Składa zlecenie przy użyciu Smart Order Routing (SOR). |
| TestSOROrder | Symbol, Side, Type, Quantity | Testuje nowe zlecenie przy użyciu inteligentnego routingu zleceń (SOR). Tworzy i weryfikuje nowe zlecenie, lecz nie wysyła go do silnika dopasowywania. |
| GetOrderRateLimitUsage | Wyświetla bieżące wykorzystanie liczby zleceń użytkownika dla wszystkich interwałów. | |
| GetPreventedMatches | Symbol | Wyświetla listę zleceń, które wygasły z powodu STP (Self Trade Prevention). |
| GetAllocations | Symbol | Pobiera alokacje wynikające z rozmieszczenia zleceń SOR. |
| GetAccountCommission | Symbol | Pobierz bieżące stawki prowizji konta. |
Convert EndPoints
| Metoda | Parametry | Opis |
| GetAllConvertPairs | FromAsset, ToAsset | Zapytaj o wszystkie pary tokenów podlegające konwersji oraz odpowiadające im górne i dolne limity tokenów. |
| GetConvertAssetInfo | Zapytanie o informacje dotyczące precyzji obsługiwanych aktywów | |
| SendConvertQuoteRequest | FromAsset, ToAsset | Żądaj wyceny dla wybranych par tokenów |
| AcceptConvertQuote | QuoteId | Zaakceptuj oferowaną wycenę na podstawie identyfikatora wyceny. |
| GetConvertOrderStatus | OrderId lub QuoteId | Zapytaj o status zlecenia na podstawie jego identyfikatora. |
| PlaceConvertLimitOrder | BaseAsset, QuoteAsset, Side, LimitPrice |
Umożliwia użytkownikom złożenie zlecenia z limitem ceny. baseAsset lub quoteAsset można określić za pomocą punktu końcowego exchangeInfo. |
| CancelConvertLimitOrder | OrderId | Umożliwia użytkownikom anulowanie zlecenia z limitem ceny |
| GetConvertLimitOpenOrders | Umożliwia użytkownikom zapytanie o wszystkie istniejące zlecenia z limitem ceny. | |
| GetConvertTradeHistory | StartTime, EndTime | Maksymalny interwał między startTime a endTime wynosi 30 dni. |
Wallet EndPoints
(*endpointy portfela działają wyłącznie z serwerem produkcyjnym, nie z wersją demonstracyjną)
| Metoda | Opis |
| GetWalletSystemStatus | Pobierz status systemu. |
| GetWalletAllCoinsInformation | Pobierz informacje o monetach (dostępnych do wpłat i wypłat) dla użytkownika. |
| GetWalletDailyAccountSnapshot | Typ: "SPOT", "MARGIN", "FUTURES"
|
| SetWalletDisableFastWithdrawSwitch | To żądanie wyłączy przełącznik szybkiego wypłacania na Twoim koncie. Należy włączyć opcję "trade" dla klucza API, który wysyła żądanie do tego punktu końcowego. |
| SetWalletEnableFastWithdrawSwitch | To żądanie włącza przełącznik szybkiej wypłaty na koncie. Należy włączyć opcję "trade" dla klucza API, który wywołuje ten punkt końcowy. Gdy przełącznik szybkiej wypłaty jest włączony, transfer środków na konto Binance odbywa się natychmiastowo. Nie ma transakcji on-chain, identyfikatora transakcji ani opłaty za wypłatę. |
| WalletWithdraw |
Prześlij żądanie wypłaty.
|
| GetWalletDepositHistory | Pobierz historię wpłat. |
| GetWalletWithdrawHistory | Pobierz historię wypłat. |
| GetWalletDepositAddress | Pobierz adres depozytu wraz z siecią. |
| GetWalletAccountStatus | Pobierz szczegóły stanu konta. |
| GetWalletAccountAPITradingStatus | Pobiera szczegóły statusu handlu API konta. |
| GetWalletDustLog | Zwraca tylko ostatnie 100 rekordów Zwraca tylko rekordy po 2020/12/01 |
| GetWalletAssetsConvertedBNB | |
| WalletDustTransfer |
Konwertuj aktywa dust na BNB. Należy włączyć uprawnienia Spot & Margin Trading dla klucza API, który korzysta z tego endpointu. |
| GetWalletAssetDividendRecord | Zapytanie o rekordy dywidend z aktywów. |
| GetWalletAssetDetail | Pobierz szczegóły zasobów obsługiwanych na Binance. |
| GetWalletTradeFee | Pobierz opłatę transakcyjną |
| WalletUserUniversalTransfer |
Należy włączyć opcję Permits Universal Transfer dla klucza API, który żąda tego punktu końcowego. MAIN_UMFUTURE Przelew z konta Spot na konto USDⓈ-M Futures ENUM typu:
|
| GetWalletQueryUserUniversalTransferHistory |
|
| GetWalletFundingWallet | Obsługuje aktualnie zapytania dotyczących następujących aktywów biznesowych: Binance Pay, Binance Card, Binance Gift Card, Stock Token |
| GetWalletUserAsset | Pobierz zasoby użytkownika, tylko dla danych dodatnich. |
| GetWalletApiKeyPermission |
Wiadomości Binance są odbierane w komponencie TsgcWebSocketClient; można używać następujących zdarzeń:
OnConnect
Po pomyślnym połączeniu z serwerem Binance.
OnDisconnect
Po rozłączeniu z serwerem Binance
OnMessage
Wiadomości wysyłane przez serwer do klienta są obsługiwane w tym zdarzeniu.
OnError
W przypadku wystąpienia błędu protokołu wywoływane jest to zdarzenie.
OnException
Jeżeli wystąpi nieobsługiwany wyjątek, zostanie wywołane to zdarzenie.
Dodatkowo w komponencie Binance API istnieje specyficzne zdarzenie o nazwie OnBinanceHTTPException, wywoływane za każdym razem, gdy wystąpi błąd podczas wywołania żądania HTTP (REST API lub strumień użytkownika WebSocket).
(*) Ze względu na zmiany na serwerach Binance, wersje Indy starsze niż Rad Studio 10.1 nie będą mogły łączyć się z serwerami testowymi. Problem ten nie dotyczy wersji Enterprise ani przypadku, gdy wersja Indy została zaktualizowana do najnowszej.