API Bybit

Bybit

 

Obsługiwane API

 

Aktualnie obsługiwana wersja API to V5. API V5 wprowadza jednolitość i wydajność dla linii produktów Bybit, łącząc Spot, Derivatives i Options w jeden zestaw specyfikacji.

 

Wersja OpenAPI Typ konta Liniowy Odwrotny Spot Opcje
USDT Perpetual USDC Perpetual USDC Futures Bezterminowy Futures
V5 Ujednolicone konto handlowe patrz uwaga
Konto klasyczne      
V3 Ujednolicone konto handlowe        
Konto klasyczne    

 

*Uwaga: konto Unified obsługuje handel odwrócony. Jednak używany depozyt zabezpieczający pochodzi z portfela pochodnych odwróconych, a nie z portfela unified.

 

Właściwości

Następujące właściwości można skonfigurować we właściwości Bybit.

 

 

Połączenie

Gdy klient pomyślnie połączy się z serwerami Bybit, wywoływane jest zdarzenie OnConnect. Po jego wywołaniu można rozpocząć wysyłanie i odbieranie wiadomości do/z serwerów Bybit. W przypadku łączenia się z prywatnym kanałem WebSocket należy poczekać na wywołanie zdarzenia OnBybitAuthentication i sprawdzić, czy parametr success ma wartość true, przed subskrypcją jakiegokolwiek kanału.

 

Klient obsługuje kilka API; właściwość BybitClient służy do określenia, które API ma być używane:

 

 

Poniżej znajduje się przykład połączenia z prywatnym WebSocket Spot 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;

Po pomyślnym połączeniu ze Spot WebSocket Server można rozpocząć subskrybowanie kanałów WebSocket. Wystarczy uzyskać dostęp do właściwości SPOT, a następnie wywołać dowolną z dostępnych metod subskrypcji/anulowania subskrypcji.

 

Zdarzenia

Klient bybit implementuje następujące zdarzenia do kontrolowania przepływu połączenia i odbierania danych wysyłanych przez serwer WebSocket:

 

 

WebSocket API

Kanał WebSocket dostarcza aktualizacje rynkowe w czasie rzeczywistym dla zleceń i transakcji. Kanał WebSocket posiada publiczne kanały takie jak ticker, trades...

 

Można subskrybować następujące kanały:

 

Metoda Publiczny lub prywatny Opis
SubscribeOrderBook Publiczny Subskrybuje strumień arkusza zleceń. Obsługuje różne głębokości.
SubscribeTrade Publiczny Subskrybuj strumień ostatnich transakcji.
SubscribeTicker Publiczny Subskrybuj strumień kursów.
SubscribeKLine Publiczny Subskrybuj strumień klines.
SubscribeLiquidation Publiczny Subskrybuj strumień likwidacji
SubscribeLT_KLine Publiczny

Subskrybuj strumień kline tokenów z dźwignią.

SubscribeLT_Ticker Publiczny Subskrybuj strumień tickera tokenu lewarowanego.
SubscribeLT_Nav Publiczny Subskrybuj strumień tickera tokenu lewarowanego.
SubscribePosition Prywatny Subskrybuj strumień NAV tokenów z dźwignią.
SubscribeExecution Prywatny Subskrybuj
SubscribeOrder Prywatny Subskrybuj
SubscribeWallet Prywatny Subskrybuj
SubscribeGreek Prywatny Subskrybuj
SubscribeDcp Prywatny Subskrybuj
SubscribeInsurance Publiczny Subskrybuj strumień funduszu ubezpieczeniowego.
SubscribeOrderPriceLimit Publiczny Subskrybuj strumień limitu ceny zlecenia.
SubscribeADLAlert Publiczny Subskrybowanie strumienia alertów automatycznego delewarowania.
SubscribeFastExecution Prywatny Subskrybuj szybki strumień zleceń.

 

Poniżej znajduje się przykład subskrybowania prywatnych kanałów WebSocket po pomyślnym uwierzytelnieniu.


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

REST API zawiera listę publicznych i prywatnych metod do pobierania danych dotyczących rynków, prywatnego konta i portfela. Poniżej znajduje się lista dostępnych metod.

 

Metoda Publiczny / Prywatny
GetServerTime Publiczny
GetKLine Publiczny
GetMarkPriceKLine Publiczny
GetIndexPriceKLine Publiczny
GetPremiumIndexPriceKLine Publiczny
GetInstrumentsInfo Publiczny
GetOrderBook Publiczny
GetTickers Publiczny
GetFundingRateHistory Publiczny
GetPublicRecentTradingHistory Publiczny
GetOpenInterest Publiczny
GetHistoricalVolatility Publiczny
GetInsurance Publiczny
GetRiskLimit Publiczny
GetDeliveryPrice Publiczny
GetLongShortRatio Publiczny
PlaceOrder Prywatny
PlaceMarketOrder Prywatny
PlaceLimitOrder Prywatny
AmendOrder Prywatny
CancelOrder Prywatny
GetOpenOrders Prywatny
CancelAllOrders Prywatny
GetOrderHistory Prywatny
GetPositionInfo Prywatny
SetLeverage Prywatny
SwitchCrossIsolatedMargin Prywatny
SetTPSLMode Prywatny
SwitchPositionMode Prywatny
SetRiskLimit Prywatny
SetTradingStop Prywatny
SetAutoAddMargin Prywatny
AddOrReduceMargin Prywatny
GetExecution Prywatny
GetClosedPNL Prywatny
ConfirmNewRiskLimit Prywatny
GetWalletBalance Prywatny
GetAccountInfo Prywatny
GetTransactionLog Prywatny
BatchPlaceOrder Prywatny
BatchAmendOrder Prywatny
BatchCancelOrder Prywatny
SetDCP Prywatny
GetFeeRate Prywatny
GetCollateralInfo Prywatny
SetMarginMode Prywatny
GetBorrowHistory Prywatny
GetCoinGreeks Prywatny
GetCoinInfo Prywatny
GetAllCoinsBalance Prywatny
CreateInternalTransfer Prywatny
GetInternalTransferList Prywatny
GetDepositRecords Prywatny
GetDepositAddress Prywatny
CreateWithdrawal Prywatny
CancelWithdrawal Prywatny
GetWithdrawalRecords Prywatny

 

Poniżej znajduje się przykład pobierania otwartych zleceń.


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();