Attualmente, la versione dell'API supportata è V5. L'API V5 introduce uniformità ed efficienza nelle linee di prodotto di Bybit, unificando Spot, Derivati e Opzioni in un unico insieme di specifiche.
| Versione OpenAPI | Tipo di conto | Linear | Inverso | Spot | Opzioni | |||
|---|---|---|---|---|---|---|---|---|
| USDT Perpetual | USDC Perpetual | USDC Futures | Perpetual | Futures | ||||
| V5 | Account di trading unificato | ✓ | ✓ | ✓ | vedi nota | ✓ | ✓ | |
| Account classico | ✓ | ✓ | ✓ | ✓ | ||||
| V3 | Account di trading unificato | ✓ | ✓ | ✓ | ||||
| Account classico | ✓ | ✓ | ✓ | ✓ | ||||
*Nota: l'account Unified supporta il trading inverso. Tuttavia, il margine utilizzato proviene dal wallet dei derivati inversi anziché dal wallet unificato.
È possibile configurare le seguenti proprietà nella proprietà Bybit.
Quando il client si connette con successo ai server Bybit, viene generato l'evento OnConnect. Dopo la generazione dell'evento OnConnect, è possibile iniziare a inviare e ricevere messaggi da/verso i server Bybit. Se ci si connette al canale websocket privato, è necessario attendere che venga generato l'evento OnBybitAuthentication e verificare che il parametro success sia true, prima di sottoscrivere qualsiasi canale.
Il client supporta diverse API; utilizzare la proprietà BybitClient per impostare quale API si desidera usare:
Di seguito è riportato un esempio di connessione all'API privata WebSocket Spot.
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;
Dopo una connessione riuscita al Server WebSocket Spot, è possibile iniziare a sottoscrivere i canali WebSocket; accedere alla proprietà SPOT e quindi chiamare uno qualsiasi dei metodi subscribe/unsubscribe disponibili.
Il client bybit implementa i seguenti eventi per controllare il flusso della connessione e ottenere i dati inviati dal server WebSocket:
Il feed websocket fornisce aggiornamenti in tempo reale dei dati di mercato per ordini e trade. Il feed websocket ha alcuni canali pubblici come ticker, trade...
Può sottoscrivere i seguenti canali:
| Method | Pubblico o Privato | Description |
| SubscribeOrderBook | Public | Sottoscrivere il flusso dell'order book. Supporta profondità diverse. |
| SubscribeTrade | Public | Sottoscrivi allo stream degli scambi recenti. |
| SubscribeTicker | Public | Effettua la sottoscrizione allo stream del ticker. |
| SubscribeKLine | Public | Sottoscriviti allo stream klines. |
| SubscribeLiquidation | Public | Iscrizione allo stream di liquidazione |
| SubscribeLT_KLine | Public |
Si iscrive allo stream kline dei leveraged token. |
| SubscribeLT_Ticker | Public | Iscrivi al flusso del ticker del token con leva finanziaria. |
| SubscribeLT_Nav | Public | Iscrivi al flusso del ticker del token con leva finanziaria. |
| SubscribePosition | Privato | Si iscrive allo stream nav dei leveraged token. |
| SubscribeExecution | Privato | Subscribe |
| SubscribeOrder | Privato | Subscribe |
| SubscribeWallet | Privato | Subscribe |
| SubscribeGreek | Privato | Subscribe |
| SubscribeDcp | Privato | Subscribe |
| SubscribeInsurance | Public | Sottoscrive il flusso del fondo assicurativo. |
| SubscribeOrderPriceLimit | Public | Iscriviti allo stream del limite di prezzo degli ordini. |
| SubscribeADLAlert | Public | Sottoscrivere lo stream di alert di auto-deleveraging. |
| SubscribeFastExecution | Privato | Abbonati allo stream di esecuzione rapida. |
Di seguito è riportato un esempio di sottoscrizione ai canali WebSocket privati dopo un'autenticazione riuscita.
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;
La REST API dispone di un elenco di metodi pubblici e privati per richiedere dati da: mercati, account privato e wallet. Di seguito è riportato un elenco dei metodi disponibili.
| Method | Public / Private |
| GetServerTime | Public |
| GetKLine | Public |
| GetMarkPriceKLine | Public |
| GetIndexPriceKLine | Public |
| GetPremiumIndexPriceKLine | Public |
| GetInstrumentsInfo | Public |
| GetOrderBook | Public |
| GetTickers | Public |
| GetFundingRateHistory | Public |
| GetPublicRecentTradingHistory | Public |
| GetOpenInterest | Public |
| GetHistoricalVolatility | Public |
| GetInsurance | Public |
| GetRiskLimit | Public |
| GetDeliveryPrice | Public |
| GetLongShortRatio | Public |
| PlaceOrder | Privato |
| PlaceMarketOrder | Privato |
| PlaceLimitOrder | Privato |
| AmendOrder | Privato |
| CancelOrder | Privato |
| GetOpenOrders | Privato |
| CancelAllOrders | Privato |
| GetOrderHistory | Privato |
| GetPositionInfo | Privato |
| SetLeverage | Privato |
| SwitchCrossIsolatedMargin | Privato |
| SetTPSLMode | Privato |
| SwitchPositionMode | Privato |
| SetRiskLimit | Privato |
| SetTradingStop | Privato |
| SetAutoAddMargin | Privato |
| AddOrReduceMargin | Privato |
| GetExecution | Privato |
| GetClosedPNL | Privato |
| ConfirmNewRiskLimit | Privato |
| GetWalletBalance | Privato |
| GetAccountInfo | Privato |
| GetTransactionLog | Privato |
| BatchPlaceOrder | Privato |
| BatchAmendOrder | Privato |
| BatchCancelOrder | Privato |
| SetDCP | Privato |
| GetFeeRate | Privato |
| GetCollateralInfo | Privato |
| SetMarginMode | Privato |
| GetBorrowHistory | Privato |
| GetCoinGreeks | Privato |
| GetCoinInfo | Privato |
| GetAllCoinsBalance | Privato |
| CreateInternalTransfer | Privato |
| GetInternalTransferList | Privato |
| GetDepositRecords | Privato |
| GetDepositAddress | Privato |
| CreateWithdrawal | Privato |
| CancelWithdrawal | Privato |
| GetWithdrawalRecords | Privato |
Di seguito è riportato un esempio di recupero degli ordini aperti.
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();