現在サポートされている API バージョンは V5 です。V5 API は Bybit の製品ライン全体に統一性と効率性をもたらし、スポット、デリバティブ、オプションを 1 つの仕様セットに統合しています。
| OpenAPI バージョン | アカウントタイプ | リニア | 逆数 | スポット | オプション | |||
|---|---|---|---|---|---|---|---|---|
| USDT Perpetual | USDC 無期限 | USDC Futures | 無期限(Perpetual) | 先物 | ||||
| V5 | 統合取引アカウント | ✓ | ✓ | ✓ | 注意を参照 | ✓ | ✓ | |
| クラシックアカウント | ✓ | ✓ | ✓ | ✓ | ||||
| V3 | 統合取引アカウント | ✓ | ✓ | ✓ | ||||
| クラシックアカウント | ✓ | ✓ | ✓ | ✓ | ||||
*注意: ユニファイドアカウントはインバース取引をサポートしています。ただし、使用されるマージンはユニファイドウォレットではなく、インバースデリバティブウォレットからです。
Bybit プロパティで次のプロパティを設定できます。
クライアントがBybitサーバーに正常に接続すると、OnConnect イベントが発生します。OnConnect イベントが発生した後、Bybitサーバーとのメッセージの送信および受信を開始できます。プライベートWebSocketチャンネルに接続する場合は、いずれかのチャンネルにサブスクライブする前に、OnBybitAuthentication イベントが発生するまで待機し、successパラメータがtrueかどうかを確認する必要があります。
クライアントは複数のAPIをサポートしているため、BybitClientプロパティを使用して使用するAPIを設定してください。
WebSocket スポットプライベート API への接続例を以下に示します。
oClient := TsgcWebSocketClient.Create(nil);
oBybit := TsgcWSAPI_Bybit.Create(nil);
oBybit.Client := oClient;
oBybit.Bybit.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oBybit.Bybit.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oBybit.BybitClient := bybSpot;
oClient.Active := True;
procedure OnConnect(Connection: TsgcWSConnection);
begin
DoLog('#Bybit Connected');
end;
Spot WebSocket Serverへの接続が成功したら、WebSocketチャンネルのサブスクライブを開始できます。SPOT プロパティにアクセスして、利用可能なsubscribe/unsubscribeメソッドのいずれかを呼び出すだけです。
bybit クライアントは、接続フローを制御し WebSocket サーバーから送信されたデータを取得するための以下のイベントを実装しています:
WebSocket フィードはオーダーと取引のリアルタイムマーケットデータ更新を提供します。WebSocket フィードにはティッカー、取引などのパブリックチャンネルがあります。
以下のチャンネルにサブスクライブできます:
| メソッド | パブリックまたはプライベート | 説明 |
| SubscribeOrderBook | パブリック | オーダーブックストリームをサブスクライブします。さまざまな深度をサポートします。 |
| SubscribeTrade | パブリック | 最新の取引ストリームにサブスクライブします。 |
| SubscribeTicker | パブリック | ティッカーストリームをサブスクライブします。 |
| SubscribeKLine | パブリック | klines ストリームを購読します。 |
| SubscribeLiquidation | パブリック | 清算ストリームをサブスクライブします |
| SubscribeLT_KLine | パブリック |
レバレッジドトークンの K ライン(ローソク足)ストリームをサブスクライブします。 |
| SubscribeLT_Ticker | パブリック | レバレッジドトークンのティッカーストリームをサブスクライブします。 |
| SubscribeLT_Nav | パブリック | レバレッジドトークンのティッカーストリームをサブスクライブします。 |
| SubscribePosition | プライベート | レバレッジドトークンの純資産価値(NAV)ストリームをサブスクライブします。 |
| SubscribeExecution | プライベート | サブスクライブ |
| SubscribeOrder | プライベート | サブスクライブ |
| SubscribeWallet | プライベート | サブスクライブ |
| SubscribeGreek | プライベート | サブスクライブ |
| SubscribeDcp | プライベート | サブスクライブ |
| SubscribeInsurance | パブリック | 保険基金ストリームをサブスクライブします。 |
| SubscribeOrderPriceLimit | パブリック | 注文価格制限ストリームをサブスクライブします。 |
| SubscribeADLAlert | パブリック | 自動デレバレッジアラートストリームをサブスクライブします。 |
| SubscribeFastExecution | プライベート | 高速実行ストリームをサブスクライブします。 |
認証成功後にプライベート WebSocket チャンネルをサブスクライブする例を以下に示します。
oClient := TsgcWebSocketClient.Create(nil);
oBybit := TsgcWSAPI_Bybit.Create(nil);
oBybit.Client := oClient;
oBybit.Bybit.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oBybit.Bybit.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oBybit.BybitClient := bybSpot;
oClient.Active := True;
procedure OnBybitAuthentication(Sender: TObject; aSuccess: Boolean; const aError, aRawMessage: string)
begin
if aSuccess then
begin
oClient.SubscribeOrderBook('BTCUSDT');
oClient.SubscribeTrade('BTCUSDT');
end;
end;
REST APIには、市場、プライベートアカウント、ウォレットからデータを要求するためのパブリックメソッドとプライベートメソッドのリストがあります。利用可能なメソッドのリストを以下に示します。
| メソッド | パブリック / プライベート |
| GetServerTime | パブリック |
| GetKLine | パブリック |
| GetMarkPriceKLine | パブリック |
| GetIndexPriceKLine | パブリック |
| GetPremiumIndexPriceKLine | パブリック |
| GetInstrumentsInfo | パブリック |
| GetOrderBook | パブリック |
| GetTickers | パブリック |
| GetFundingRateHistory | パブリック |
| GetPublicRecentTradingHistory | パブリック |
| GetOpenInterest | パブリック |
| GetHistoricalVolatility | パブリック |
| GetInsurance | パブリック |
| GetRiskLimit | パブリック |
| GetDeliveryPrice | パブリック |
| GetLongShortRatio | パブリック |
| PlaceOrder | プライベート |
| PlaceMarketOrder | プライベート |
| PlaceLimitOrder | プライベート |
| AmendOrder | プライベート |
| CancelOrder | プライベート |
| GetOpenOrders | プライベート |
| CancelAllOrders | プライベート |
| GetOrderHistory | プライベート |
| GetPositionInfo | プライベート |
| SetLeverage | プライベート |
| SwitchCrossIsolatedMargin | プライベート |
| SetTPSLMode | プライベート |
| SwitchPositionMode | プライベート |
| SetRiskLimit | プライベート |
| SetTradingStop | プライベート |
| SetAutoAddMargin | プライベート |
| AddOrReduceMargin | プライベート |
| GetExecution | プライベート |
| GetClosedPNL | プライベート |
| ConfirmNewRiskLimit | プライベート |
| GetWalletBalance | プライベート |
| GetAccountInfo | プライベート |
| GetTransactionLog | プライベート |
| BatchPlaceOrder | プライベート |
| BatchAmendOrder | プライベート |
| BatchCancelOrder | プライベート |
| SetDCP | プライベート |
| GetFeeRate | プライベート |
| GetCollateralInfo | プライベート |
| SetMarginMode | プライベート |
| GetBorrowHistory | プライベート |
| GetCoinGreeks | プライベート |
| GetCoinInfo | プライベート |
| GetAllCoinsBalance | プライベート |
| CreateInternalTransfer | プライベート |
| GetInternalTransferList | プライベート |
| GetDepositRecords | プライベート |
| GetDepositAddress | プライベート |
| CreateWithdrawal | プライベート |
| CancelWithdrawal | プライベート |
| GetWithdrawalRecords | プライベート |
オープン注文を取得する例を以下に示します。
oClient := TsgcWebSocketClient.Create(nil);
oBybit := TsgcWSAPI_Bybit.Create(nil);
oBybit.Client := oClient;
oBybit.Bybit.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oBybit.Bybit.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oBybit.BybitClient := bybSpot;
oBybit.REST_API.GetAccountInfo();