Binance는 국제 다국어 암호화폐 거래소입니다. Binance 데이터에 액세스하기 위한 일부 API를 제공합니다. 다음 API가 지원됩니다:
클라이언트는 Binance.us도 지원합니다. 다음 API가 지원됩니다:
Binance API에는 2가지 유형의 메서드가 있습니다: 공개 및 비공개. 공개 메서드는 인증 없이 액세스할 수 있습니다(예: 티커 가격 가져오기). 일부는 비공개이며 사용자 데이터와 관련됩니다. 이러한 메서드는 Binance API 키 사용이 필요합니다.
기본 엔드포인트는 wss://stream.binance.com:9443이며, 클라이언트는 성공적으로 연결된 후 이벤트를 구독/구독 해제할 수 있습니다.
다음 Subscription / Unsubscription 메서드가 지원됩니다.
| Method | 매개변수 | 설명 |
| AggregateTrades | Symbol | 단일 taker 주문에 대해 집계된 거래 정보를 푸시합니다 |
| Trades | Symbol | 원시 거래 정보를 푸시합니다. 각 거래에는 고유한 구매자와 판매자가 있습니다 |
| KLine | Symbol, Interval | 매초, 매분, 매시간마다 현재 klines/캔들스틱에 업데이트를 푸시합니다... |
| MiniTicker | Symbol | 24시간 롤링 윈도우 미니 티커 통계입니다. 이는 UTC 일자의 통계가 아니라 이전 24시간에 대한 24시간 롤링 윈도우입니다. |
| AllMiniTickers | 배열로 변경된 모든 심볼에 대한 24시간 롤링 윈도우 미니 시세 통계입니다. 이것은 UTC 일자의 통계가 아니라 이전 24시간에 대한 24시간 롤링 윈도우입니다. 변경된 시세만 배열에 존재합니다. | |
| Ticker | Symbol | 단일 심볼에 대한 24시간 롤링 윈도우 티커 통계입니다. 이것은 UTC 일자의 통계가 아니라 이전 24시간에 대한 24시간 롤링 윈도우입니다. |
| AllMarketTickers | 배열로 변경된 모든 심볼에 대한 24시간 롤링 윈도우 티커 통계입니다. 이것은 UTC 일자의 통계가 아니라 이전 24시간에 대한 24시간 롤링 윈도우입니다. 변경된 티커만 배열에 존재함에 유의하십시오. | |
| BookTicker | Symbol | 지정된 symbol에 대한 최우선 매수 또는 매도 호가의 가격 또는 수량에 대한 모든 업데이트를 실시간으로 푸시합니다. |
| AllBookTickers | 모든 심볼에 대해 최고 매수 또는 매도의 가격이나 수량에 대한 모든 업데이트를 실시간으로 푸시합니다. | |
| PartialBookDepth | Symbol, Depth | 상위 <levels>개의 bid와 ask로, 매초 푸시됩니다. 유효한 <levels>는 5, 10 또는 20입니다. |
| DiffDepth | Symbol | 주문장을 로컬에서 관리하는 데 사용되는 주문장 가격 및 수량 깊이 업데이트입니다. |
성공적인 구독 / 구독 취소 후 클라이언트는 이에 대한 메시지를 수신하며, 여기서 id는 Subscribed / Unsubscribed 메서드의 결과입니다.
{
"result": null,
"id": 1
}
binance 계정에서 얻은 유효한 ApiKey가 필요하며, ApiKey는 구성 요소의 Binance.ApiKey 속성에 설정해야 합니다.
다음 데이터는 변경이 있을 때마다 클라이언트에 푸시됩니다. 어떤 메서드도 구독할 필요가 없으며, 유효한 ApiKey를 설정하면 자동으로 수행됩니다.
| Method | 설명 |
| Account Update | 계정 상태는 outboundAccountInfo 이벤트로 업데이트됩니다. |
| Balance Update |
Balance Update는 다음 중에 발생합니다:
|
| Order Update | 주문은 executionReport 이벤트로 업데이트됩니다. |
기본 엔드포인트는 https://api.binance.com 입니다. 모든 엔드포인트는 JSON 객체 또는 배열을 반환합니다. 데이터는 오름차순으로 반환됩니다. 가장 오래된 것이 먼저, 가장 최신 것이 마지막입니다.
REST_API.BinanceOptions 속성을 사용하여 REST API Options에 접근합니다.
Public API EndPoints
이러한 엔드포인트는 권한 부여 없이 접근할 수 있습니다.
General EndPoints
| Method | 매개변수 | 설명 |
| Ping | Rest API에 대한 연결을 테스트합니다. | |
| GetServerTime | Rest API에 대한 연결성을 테스트하고 현재 서버 시간을 가져옵니다. | |
| GetExchangeInformation | 현재 거래소 거래 규칙 및 심볼 정보 |
Market Data EndPoints
| Method | 매개변수 | 설명 |
| GetOrderBook | Symbol | 호가창을 가져옵니다. |
| GetTrades | Symbol | 최근 거래를 가져옵니다 |
| GetHistoricalTrades | Symbol | 이전 거래를 가져옵니다. |
| GetAggregateTrades | Symbol | 압축된 집계 거래를 가져옵니다. 동일한 주문에서 동일한 가격으로 동시에 체결되는 거래는 수량이 집계됩니다. |
| GetKLines | Symbol, Interval | 심볼에 대한 Kline/캔들스틱 바입니다. Klines는 open time으로 고유하게 식별됩니다. |
| GetAveragePrice | Symbol | 심볼의 현재 평균 가격입니다. |
| Get24hrTicker | Symbol | 24시간 롤링 창 가격 변동 통계. 심볼 없이 이에 접근할 때는 주의하십시오. |
| GetPriceTicker | Symbol | symbol의 최신 가격. |
| GetPriceTickers | Symbols | 심볼 배열의 최신 가격입니다. 예: ["BTCUSDT","BNBUSDT"] |
| GetBookTicker | Symbol | 심볼 또는 심볼들에 대한 오더북의 최적 가격/수량. |
| GetUIKLines | Symbol, Interval | 심볼에 대한 캔들스틱 봉입니다. 응답은 GetKLines와 유사하며, 캔들스틱 차트 표시에 최적화되어 있습니다. |
| GetRollingWindowTicker | Symbol, Symbols, WindowSize | 롤링 윈도우 가격 변동 통계입니다. 참고: 지정하지 않으면 WindowSize 기본값은 1d입니다. |
| GetTradingDayTicker | Symbol, Symbols, Type | 거래일의 가격 변동 통계. |
Private API EndPoints
서버의 권한을 받으려면 APIKey와 APISecret이 필요합니다.
Account Data EndPoints
| Method | 매개변수 | 설명 |
| NewOrder | Symbol, Side, Type | 새 주문을 보냅니다. |
| PlaceMarketOrder | Side, Symbol, Quantity | 새 Market Order를 배치합니다 |
| PlaceMarketQuoteOrder | Side, Symbol, QuoteOrderQty | 새 마켓 견적 주문을 등록합니다 |
| PlaceLimitOrder | Side, Symbol, Quantity, LimitPrice | 새 지정가 주문을 실행합니다 |
| PlaceStopOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | 새 Stop Order를 넣습니다 |
| PlaceStopTrailingOrder | Side, Symbol, Quantity, TrailingDelta, LimitPrice | 새 Stop Trailing 주문을 배치합니다 |
| PlaceTakeProfitOrder | Side, Symbol, Quantity, StopPrice, LimitPrice | 새 Take Profit Order를 배치합니다 |
| PlaceTakeProfitTrailingOrder | Side, Symbol, Quantity, TrailingDelta, LimitPrice | 새 Take ProfitTrailing Order를 합니다 |
| PlaceLimitMakerOrder | Side, Symbol, Quantity | 새 Limit Market Order를 넣습니다 |
| TestNewOrder | Symbol, Side, Type | 새 주문 생성 및 signature/recvWindow long을 테스트합니다. 새 주문을 생성하고 검증하지만 매칭 엔진으로 보내지는 않습니다. |
| QueryOrder | Symbol | 주문의 상태를 확인합니다. |
| CancelOrder | Symbol | 활성 주문을 취소합니다. 활성 주문을 취소합니다. OrderId 또는 OrigClientOrderId 중 하나를 전송해야 합니다. |
| CancelAllOpenOrders | Symbol (선택적) | |
| GetOpenOrders | 심볼의 모든 미결제 주문을 가져옵니다. 심볼 없이 이에 접근할 때 주의하십시오. | |
| GetAllOrders | Symbol | 모든 계정 주문을 가져옵니다. 활성, 취소됨 또는 체결됨. |
| NewOCO | Symbol, Side, Quantity, Price, StopPrice | 새 OCO를 전송합니다. |
| CancelOCO | Symbol | 전체 Order List를 취소합니다 |
| QueryOCO | Symbol | 제공된 선택적 매개변수를 기반으로 특정 OCO를 검색합니다 |
| GetAllOCO | 제공된 선택적 매개변수를 기반으로 모든 OCO를 검색합니다 | |
| GetOpenOCO | 모든 미결제 OCO를 가져옵니다. | |
| GetAccountInformation | 현재 계정 정보를 가져옵니다. | |
| GetAccountTradeList | Symbol | 특정 계정과 심볼에 대한 거래를 가져옵니다. |
| CancelReplaceOrder | Symbol, Side, Type, CancelReplaceMode | 기존 주문을 취소하고 동일한 심볼에 새 주문을 실행합니다. |
| NewOrderListOCO | Symbol, Side, Quantity, AboveType, BelowType | 새 OCO order list를 넣습니다. |
| 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 | Smart Order Routing(SOR)을 사용하여 주문을 배치합니다. |
| TestSOROrder | Symbol, Side, Type, Quantity | Smart Order Routing(SOR)을 사용하여 새 주문을 테스트합니다. 새 주문을 생성하고 검증하지만 매칭 엔진으로 보내지는 않습니다. |
| GetOrderRateLimitUsage | 모든 간격에 대한 사용자의 현재 주문 수 사용량을 표시합니다. | |
| GetPreventedMatches | Symbol | STP(Self Trade Prevention)로 인해 만료된 주문 목록을 표시합니다. |
| GetAllocations | Symbol | SOR 주문 배치로 인한 allocation을 검색합니다. |
| GetAccountCommission | Symbol | 현재 계정 수수료율을 가져옵니다. |
Convert EndPoints
| Method | 매개변수 | 설명 |
| GetAllConvertPairs | FromAsset, ToAsset | 변환 가능한 모든 token 쌍과 token의 각 상한/하한을 쿼리합니다 |
| GetConvertAssetInfo | 지원되는 자산의 정밀도 정보를 쿼리합니다 | |
| SendConvertQuoteRequest | FromAsset, ToAsset | 요청한 토큰 쌍에 대한 견적을 요청합니다 |
| AcceptConvertQuote | QuoteId | 견적 ID로 제공된 견적을 수락합니다. |
| GetConvertOrderStatus | OrderId 또는 QuoteId | 주문 ID로 주문 상태를 쿼리합니다. |
| PlaceConvertLimitOrder | BaseAsset, QuoteAsset, Side, LimitPrice |
사용자가 지정가 주문을 발주할 수 있도록 합니다. baseAsset 또는 quoteAsset은 exchangeInfo 엔드포인트를 통해 결정할 수 있습니다. |
| CancelConvertLimitOrder | OrderId | 사용자가 limit 주문을 취소할 수 있도록 합니다 |
| GetConvertLimitOpenOrders | 사용자가 기존의 모든 지정가 주문을 쿼리할 수 있도록 합니다. | |
| GetConvertTradeHistory | StartTime, EndTime | startTime과 endTime 사이의 최대 간격은 30일입니다. |
Wallet EndPoints
(*wallet 엔드포인트는 데모가 아닌 프로덕션 서버에서만 작동합니다)
| Method | 설명 |
| GetWalletSystemStatus | 시스템 상태를 가져옵니다. |
| GetWalletAllCoinsInformation | 사용자가 입금 및 출금할 수 있는 코인 정보를 가져옵니다. |
| GetWalletDailyAccountSnapshot | Type: "SPOT", "MARGIN", "FUTURES"
|
| SetWalletDisableFastWithdrawSwitch | 이 요청은 계정의 fastwithdraw 스위치를 비활성화합니다. 이 엔드포인트를 요청하는 api 키에 대해 "trade" 옵션을 활성화해야 합니다. |
| SetWalletEnableFastWithdrawSwitch | 이 요청은 계정에서 fastwithdraw 스위치를 활성화합니다. 이 엔드포인트를 요청하는 api 키에 대해 "trade" 옵션을 활성화해야 합니다. Fast Withdraw Switch가 켜져 있으면 Binance 계정으로의 자금 이체가 즉시 완료됩니다. 온체인 거래, 거래 ID, 출금 수수료가 없습니다. |
| WalletWithdraw |
출금 요청을 제출합니다.
|
| GetWalletDepositHistory | 입금 기록을 가져옵니다. |
| GetWalletWithdrawHistory | 출금 내역을 가져옵니다. |
| GetWalletDepositAddress | 네트워크와 함께 입금 주소를 가져옵니다. |
| GetWalletAccountStatus | 계정 상태 세부 정보를 가져옵니다. |
| GetWalletAccountAPITradingStatus | 계정 api 거래 상태 세부 정보를 가져옵니다. |
| GetWalletDustLog | 마지막 100개 레코드만 반환 2020/12/01 이후 레코드만 반환 |
| GetWalletAssetsConvertedBNB | |
| WalletDustTransfer |
dust 자산을 BNB로 변환합니다. 이 엔드포인트를 요청하는 API Key에 대해 Spot & Margin Trading 권한을 활성화해야 합니다. |
| GetWalletAssetDividendRecord | 자산 배당 기록을 조회합니다. |
| GetWalletAssetDetail | Binance에서 지원하는 자산의 세부 정보를 가져옵니다. |
| GetWalletTradeFee | 거래 수수료 가져오기 |
| WalletUserUniversalTransfer |
이 엔드포인트를 요청하는 API Key에 대해 Permits Universal Transfer 옵션을 활성화해야 합니다.MAIN_UMFUTURE Spot 계정을 USDⓈ-M Futures 계정으로 이체 Type의 ENUM:
|
| 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 User Stream)을 호출하는 중 오류가 있을 때마다 발생합니다.
(*) Binance 서버의 변경으로 인해 Rad Studio 10.1 이전의 Indy 버전은 Test Servers에 연결할 수 없습니다. 이 문제는 Enterprise Edition이나 Indy 버전이 최신으로 업그레이드된 경우에는 영향을 주지 않습니다.