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.
Następujące właściwości można skonfigurować we właściwości Bybit.
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.
Klient bybit implementuje następujące zdarzenia do kontrolowania przepływu połączenia i odbierania danych wysyłanych przez serwer WebSocket:
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 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();