API Bybit

Bybit

 

APIs admitidas

 

Actualmente, la versión de API compatible es V5. La API V5 aporta uniformidad y eficiencia a las líneas de productos de Bybit, unificando Spot, Derivados y Opciones en un conjunto de especificaciones.

 

Versión de OpenAPI Tipo de cuenta Lineal Inverso Spot Opciones
USDT Perpetual USDC Perpetual USDC Futures Perpetuo Futures
V5 Cuenta de trading unificada ver nota
Cuenta clásica      
V3 Cuenta de trading unificada        
Cuenta clásica    

 

*Nota: la cuenta Unified admite trading inverso. Sin embargo, el margen utilizado proviene de la cartera de derivados inversos en lugar de la cartera unificada.

 

Propiedades

Puede configurar las siguientes propiedades en la propiedad Bybit.

 

 

Conexión

Cuando el cliente se conecta correctamente a los servidores de Bybit, se dispara el evento OnConnect. Después de que se dispare el evento OnConnect, puede comenzar a enviar y recibir mensajes hacia/desde los servidores de Bybit. Si se conecta al canal WebSocket privado, debe esperar a que se dispare el evento OnBybitAuthentication y comprobar que el parámetro success es true antes de suscribirse a cualquier canal.

 

El cliente admite varias APIs, por lo que use la propiedad BybitClient para establecer qué API desea utilizar:

 

 

A continuación se muestra un ejemplo de conexión a la API privada Spot de 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 OnConnect(Connection: TsgcWSConnection);
begin
  DoLog('#Bybit Connected');
end;

Tras una conexión exitosa al servidor WebSocket Spot, puede comenzar a suscribirse a los canales WebSocket; simplemente acceda a la propiedad SPOT y luego llame a cualquiera de los métodos de suscripción/cancelación disponibles.

 

Eventos

El cliente bybit implementa los siguientes eventos para controlar el flujo de conexión y obtener los datos enviados desde el servidor WebSocket:

 

 

WebSocket API

El feed de WebSocket proporciona actualizaciones de datos de mercado en tiempo real para órdenes y operaciones. El feed de WebSocket tiene algunos canales públicos como ticker, operaciones...

 

Puede suscribirse a los siguientes canales:

 

Método Público o Privado Descripción
SubscribeOrderBook Público Suscribirse al stream del libro de órdenes. Admite diferentes profundidades.
SubscribeTrade Público Suscribirse al flujo de operaciones recientes.
SubscribeTicker Público Suscribirse al stream del ticker.
SubscribeKLine Público Suscribirse al flujo de klines.
SubscribeLiquidation Público Suscribirse al flujo de liquidaciones
SubscribeLT_KLine Público

Suscribirse al stream de velas del token apalancado.

SubscribeLT_Ticker Público Suscribirse al flujo del ticker de tokens apalancados.
SubscribeLT_Nav Público Suscribirse al flujo del ticker de tokens apalancados.
SubscribePosition Privado Suscribirse al flujo de valor liquidativo del token apalancado.
SubscribeExecution Privado Suscribir
SubscribeOrder Privado Suscribir
SubscribeWallet Privado Suscribir
SubscribeGreek Privado Suscribir
SubscribeDcp Privado Suscribir
SubscribeInsurance Público Suscribirse al stream del fondo de seguros.
SubscribeOrderPriceLimit Público Suscribirse al stream de límite de precio de orden.
SubscribeADLAlert Público Suscribirse al flujo de alertas de auto-desapalancamiento.
SubscribeFastExecution Privado Suscribirse al flujo de ejecución rápida.

 

A continuación encontrará un ejemplo de suscripción a canales WebSocket privados tras una autenticación exitosa.


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

La API REST tiene una lista de métodos públicos y privados para solicitar datos de: mercados, cuenta privada y cartera. A continuación encontrará una lista de los métodos disponibles.

 

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

 

A continuación se muestra un ejemplo de cómo obtener las órdenes abiertas.


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