Binanceは国際的な多言語の暗号通貨取引所です。BinanceのデータにアクセスするためのいくつかのAPIを提供しています。以下のAPIがサポートされています:
クライアントは Binance.us もサポートしており、次の API がサポートされています:
Binance API には public と private の2種類のメソッドがあります。パブリックメソッドはティッカー価格の取得など、認証なしでアクセスできます。一部はプライベートであり、ユーザーデータに関連するため、Binance APIキーの使用が必要です。
ベースエンドポイントは wss://stream.binance.com:9443 です。クライアントは接続成功後にイベントをサブスクライブ/アンサブスクライブできます。
以下のサブスクリプション/サブスクリプション解除メソッドがサポートされています。
| メソッド | パラメータ | 説明 |
| AggregateTrades | 銘柄 | 単一のテイカー注文に集約された取引情報をプッシュします |
| 取引 | 銘柄 | 生の取引情報をプッシュします。各取引には固有の買い手と売り手がいます |
| KLine | Symbol, Interval | 現在の klines/ローソク足を毎秒、毎分、毎時間プッシュ更新します。 |
| MiniTicker | 銘柄 | 24時間ローリングウィンドウのミニティッカー統計です。これらはUTC日の統計ではなく、過去24時間の24時間ローリングウィンドウです。 |
| AllMiniTickers | 配列内で変更されたすべてのシンボルの 24 時間ローリングウィンドウのミニティッカー統計。これらは UTC 日の統計ではなく、過去 24 時間の 24 時間ローリングウィンドウです。変更されたティッカーのみが配列に存在することに注意してください。 | |
| Ticker | 銘柄 | 単一銘柄の24時間ローリングウィンドウのティッカー統計。これらはUTC日の統計ではなく、過去24時間の24時間ローリングウィンドウです。 |
| AllMarketTickers | 変動があったすべての銘柄の24時間ローリングウィンドウのティッカー統計(配列形式)。これらはUTC日の統計ではなく、過去24時間の24時間ローリングウィンドウです。変動のあったティッカーのみが配列に含まれます。 | |
| BookTicker | 銘柄 | 指定されたシンボルについて、最良買い気配または売り気配の価格や数量への更新をリアルタイムでプッシュします。 |
| AllBookTickers | すべての銘柄の最良の売値または買値の価格または数量の更新をリアルタイムでプッシュします。 | |
| PartialBookDepth | Symbol、Depth | 上位 <levels> 件の買いと売りを毎秒プッシュします。有効な <levels> は 5、10、または 20 です。 |
| DiffDepth | 銘柄 | ローカルで注文板を管理するために使用される注文板の価格と数量の深度更新。 |
サブスクライブ/アンサブスクライブが成功した後、クライアントはその結果に関するメッセージを受け取ります。id は Subscribed / Unsubscribed メソッドの結果です。
{
"result": null,
"id": 1
}
Binanceアカウントから取得した有効なApiKeyが必要で、ApiKey はコンポーネントの Binance.ApiKey プロパティに設定する必要があります。
変化があるたびに次のデータがクライアントにプッシュされます。任意のメソッドをサブスクライブする必要はありません。有効な ApiKey が設定されていれば自動的に行われます。
| メソッド | 説明 |
| アカウントのアップデート | アカウントの状態は outboundAccountInfo イベントで更新されます。 |
| 残高更新 |
残高の更新は以下の場合に発生します:
|
| 注文の更新 | 注文はexecutionReportイベントで更新されます。 |
ベースエンドポイントは https://api.binance.com です。すべてのエンドポイントは JSON オブジェクトまたは配列を返します。データは昇順で返されます。最古が最初、最新が最後です。
プロパティ REST_API.BinanceOptions を使用して REST API オプションにアクセスします。
パブリック API エンドポイント
これらのエンドポイントには認証なしでアクセスできます。
汎用エンドポイント
| メソッド | パラメータ | 説明 |
| Ping | REST API への接続をテストします。 | |
| GetServerTime | REST API への接続をテストして現在のサーバー時刻を取得します。 | |
| GetExchangeInformation | 現在の取引所の取引ルールとシンボル情報 |
Market Data エンドポイント
| メソッド | パラメータ | 説明 |
| GetOrderBook | 銘柄 | オーダーブックを取得します。 |
| GetTrades | 銘柄 | 最近の取引を取得します。 |
| GetHistoricalTrades | 銘柄 | 古い取引を取得します。 |
| GetAggregateTrades | 銘柄 | 圧縮された集約トレードを取得します。同じ注文から、同じ価格で、同時に約定したトレードは数量が集計されます。 |
| GetKLines | Symbol, Interval | 銘柄の kline/ローソク足バー。Klines は開始時刻で一意に識別されます。 |
| GetAveragePrice | 銘柄 | シンボルの現在の平均価格。 |
| Get24hrTicker | 銘柄 | 24 時間のローリングウィンドウの価格変動統計。シンボルなしでアクセスする場合は注意が必要です。 |
| GetPriceTicker | 銘柄 | シンボルの最新価格。 |
| GetPriceTickers | シンボル | シンボルの配列の最新価格。例: ["BTCUSDT","BNBUSDT"] |
| GetBookTicker | 銘柄 | シンボルまたは複数シンボルの板注文における最良価格/数量。 |
| GetUIKLines | Symbol, Interval | シンボルのKライン/ローソク足バー。レスポンスは GetKLines に似ており、ローソク足チャートの表示に最適化されています。 |
| GetRollingWindowTicker | Symbol、Symbols、WindowSize | ローリングウィンドウの価格変動統計。注意: WindowSize のデフォルトは、指定されない場合 1d です。 |
| GetTradingDayTicker | Symbol, Symbols, Type | 取引日の価格変動統計。 |
プライベート API エンドポイント
サーバーによる認証を取得するために APIKey と APISecret が必要です。
アカウントデータエンドポイント
| メソッド | パラメータ | 説明 |
| NewOrder | Symbol, Side, Type | 新しい注文を送信します。 |
| PlaceMarketOrder | Side, Symbol, Quantity | 新しい成行注文を発注します。 |
| PlaceMarketQuoteOrder | Side、Symbol、QuoteOrderQty | 新規マーケットクォート注文を発注します |
| PlaceLimitOrder | Side、Symbol、Quantity、LimitPrice | 新規指値注文を発注します |
| PlaceStopOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | 新しいストップ注文を発注します。 |
| PlaceStopTrailingOrder | Side, Symbol, Quantity, TrailingDelta, LimitPrice | 新しいトレーリングストップ注文を出します。 |
| PlaceTakeProfitOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | 新しい利益確定注文を発注します。 |
| PlaceTakeProfitTrailingOrder | Side, Symbol, Quantity, TrailingDelta, LimitPrice | 新しいTake ProfitのTrailing注文を発注します |
| PlaceLimitMakerOrder | Side, Symbol, Quantity | 新しいLimit Market Orderを発注します |
| TestNewOrder | Symbol, Side, Type | 新しい注文の作成と署名/recvWindow の長さをテストします。新しい注文を作成して検証しますが、マッチングエンジンには送信しません。 |
| QueryOrder | 銘柄 | 注文のステータスを確認します。 |
| CancelOrder | 銘柄 | アクティブな注文をキャンセルします。OrderId または OrigClientOrderId のいずれかを送信する必要があります。 |
| CancelAllOpenOrders | シンボル(オプション) | |
| GetOpenOrders | シンボルのすべてのオープン注文を取得します。シンボルなしでアクセスする場合は注意してください。 | |
| GetAllOrders | 銘柄 | すべてのアカウント注文(アクティブ、キャンセル済み、または約定済み)を取得します。 |
| NewOCO | Symbol, Side, Quantity, Price, StopPrice | 新しいOCO注文の送信 |
| CancelOCO | 銘柄 | 注文リスト全体をキャンセルする |
| QueryOCO | 銘柄 | 提供されたオプションのパラメータに基づいて特定のOCOを取得します |
| GetAllOCO | 指定されたオプションパラメータに基づいてすべての OCO を取得します | |
| GetOpenOCO | すべてのオープン OCO を取得します。 | |
| GetAccountInformation | 現在のアカウント情報を取得します。 | |
| GetAccountTradeList | 銘柄 | 特定のアカウントとシンボルの取引を取得します。 |
| CancelReplaceOrder | Symbol, Side, Type, CancelReplaceMode | 既存の注文をキャンセルして同じシンボルで新しい注文を発注します。 |
| NewOrderListOCO | Symbol, Side, Quantity, AboveType, BelowType | 新しい OCO 注文リストを発注します。 |
| NewOrderListOTO | Symbol、WorkingType、WorkingSide、WorkingQuantity、WorkingPrice、PendingType、PendingSide、PendingQuantity | 新しいOTO(One-Triggers-the-Other)注文リストを発注します。 |
| NewOrderListOTOCO | Symbol, WorkingType, WorkingSide, WorkingQuantity, WorkingPrice, PendingSide, PendingAboveType, PendingBelowType, PendingQuantity | 新しいOTOCO(One-Triggers-a-One-Cancels-the-Other)注文リストを発注します。 |
| NewSOROrder | Symbol, Side, Type, Quantity | スマートオーダールーティング(SOR)を使用して注文を出します。 |
| TestSOROrder | Symbol, Side, Type, Quantity | Smart Order Routing(SOR)を使用して新しい注文をテストします。新しい注文を作成して検証しますが、マッチングエンジンには送信しません。 |
| GetOrderRateLimitUsage | 全インターバルのユーザーの現在の注文数使用量を表示します。 | |
| GetPreventedMatches | 銘柄 | STP(自己取引防止)により期限切れになった注文の一覧を表示します。 |
| GetAllocations | 銘柄 | SOR注文配置から生じるアロケーションを取得します。 |
| GetAccountCommission | 銘柄 | 現在のアカウント手数料率を取得します。 |
エンドポイントの変換
| メソッド | パラメータ | 説明 |
| GetAllConvertPairs | FromAsset, ToAsset | すべての変換可能なトークンペアと、それぞれのトークンの上限/下限を照会します |
| GetConvertAssetInfo | サポートされている資産の精度情報を照会します | |
| SendConvertQuoteRequest | FromAsset, ToAsset | リクエストされたトークンペアの見積もりをリクエストします。 |
| AcceptConvertQuote | QuoteId | クォート ID でオファーされたクォートを承認します。 |
| GetConvertOrderStatus | OrderId または QuoteId | 注文 ID で注文ステータスを照会します。 |
| PlaceConvertLimitOrder | BaseAsset, QuoteAsset, Side, LimitPrice |
ユーザーが指値注文を発注できるようにします。 baseAsset または quoteAsset は exchangeInfo エンドポイントで確認できます。 |
| CancelConvertLimitOrder | OrderId | ユーザーが指値注文をキャンセルできるようにします |
| GetConvertLimitOpenOrders | 既存のすべての指値注文を照会できるようにします | |
| GetConvertTradeHistory | StartTime、EndTime | startTimeとendTimeの最大間隔は30日です。 |
ウォレットエンドポイント
(*ウォレットエンドポイントはデモではなく本番サーバーでのみ動作します)
| メソッド | 説明 |
| GetWalletSystemStatus | システムステータスを取得します。 |
| GetWalletAllCoinsInformation | ユーザーのコイン情報を取得します(入出金可能なもの)。 |
| GetWalletDailyAccountSnapshot | Type: "SPOT", "MARGIN", "FUTURES"
|
| SetWalletDisableFastWithdrawSwitch | このリクエストはアカウントの即時出金スイッチを無効にします。 このエンドポイントをリクエストするAPIキーの「trade」オプションを有効にする必要があります。 |
| SetWalletEnableFastWithdrawSwitch | このリクエストはアカウントの高速出金スイッチを有効にします。 このエンドポイントをリクエストする API キーに「trade」オプションを有効にする必要があります。 高速出金スイッチがオンになると、Binance アカウントへの資金移動が即時に行われます。オンチェーントランザクション、トランザクション ID、出金手数料は発生しません。 |
| WalletWithdraw |
出金リクエストを送信します。
|
| GetWalletDepositHistory | 入金履歴を取得します。 |
| GetWalletWithdrawHistory | 出金履歴を取得します。 |
| GetWalletDepositAddress | ネットワークを指定して入金アドレスを取得します。 |
| GetWalletAccountStatus | アカウントステータスの詳細を取得します。 |
| GetWalletAccountAPITradingStatus | アカウントのAPI取引ステータスの詳細を取得します。 |
| GetWalletDustLog | 最後の 100 件のレコードのみを返す 2020/12/01 以降のレコードのみを返す |
| GetWalletAssetsConvertedBNB | |
| WalletDustTransfer |
ダスト資産をBNBに変換します。 このエンドポイントにリクエストする API Key のスポット & マージン取引権限を有効にする必要があります。 |
| GetWalletAssetDividendRecord | 資産の配当記録を照会します。 |
| GetWalletAssetDetail | Binance でサポートされているアセットの詳細を取得します。 |
| GetWalletTradeFee | 取引手数料を取得します |
| WalletUserUniversalTransfer |
このエンドポイントをリクエストする API キーに対してユニバーサル転送の許可オプションを有効にする必要があります。MAIN_UMFUTURE スポットアカウントから USDⓈ-M 先物アカウントへの振替 タイプの列挙型:
|
| GetWalletQueryUserUniversalTransferHistory |
|
| GetWalletFundingWallet | 現在、以下のビジネス資産のクエリをサポートしています:Binance Pay、Binance Card、Binance Gift Card、Stock Token |
| GetWalletUserAsset | ユーザー資産を取得します(プラスデータのみ)。 |
| GetWalletApiKeyPermission |
Binance のメッセージは TsgcWebSocketClient コンポーネントで受信されます。以下のイベントを使用できます。
OnConnect
Binance サーバーへの接続が成功した後。
OnDisconnect
Binance サーバーからの切断後
OnMessage
サーバーからクライアントに送信されたメッセージは、このイベントで処理されます。
OnError
プロトコルにエラーがある場合、このイベントが呼び出されます。
OnException
未処理の例外がある場合、このイベントが呼び出されます。
さらに、Binance APIコンポーネントには OnBinanceHTTPException という特定のイベントがあります。これはHTTPリクエスト(REST APIまたはWebSocketユーザーストリーム)の呼び出しにエラーが発生するたびに発生します。
(*) Binanceサーバーの変更により、Rad Studio 10.1より前のIndyバージョンはテストサーバーに接続できません。この問題は、Enterpriseエディションには影響せず、Indyバージョンが最新にアップグレードされている場合も影響しません。