El cliente API de ByBit se ha actualizado a la versión V5. Se soportan los siguientes protocolos:
- WebSocket API: conecta con un servidor WebSocket y proporciona datos de mercado en tiempo real, cambios de cuenta y más.
- REST API: envÃa solicitudes HTTP para obtener datos de mercado, colocar órdenes, datos de cuenta...
Propiedades
Puedes configurar las siguientes propiedades en la propiedad Bybit.
- ApiKey: puedes solicitar una nueva api key en tu cuenta de Bybit; simplemente copia el valor a esta propiedad. Si la ApiKey está establecida, el cliente se conectará al servidor WebSocket privado. Si está vacÃa, se conectará al servidor WebSocket público.
- ApiSecret: es el valor secreto de la api.
- SignatureExpires: número de segundos tras los que expira la firma (por defecto 10 segundos).
- TestNet: si está habilitado, se conectará a la cuenta TestNet Demo de Bybit (deshabilitado por defecto).
Conexión
Cuando el cliente se conecta correctamente a los servidores de Bybit, se dispara el evento OnConnect. Tras el evento OnConnect, puedes empezar a enviar y recibir mensajes desde/hacia los servidores de Bybit. Si te conectas al canal WebSocket privado, debes esperar hasta que se dispare el evento OnBybitAuthentication y comprobar que el parámetro success es true antes de suscribirte a cualquier canal.
El cliente soporta varias APIs; usa la propiedad BybitClient para indicar qué API quieres usar:
- bybSpot
- bybPerpetual
- bybLinear
- bybFutures
A continuación tienes un ejemplo de conexión a la API WebSocket Spot privada.
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 correcta al servidor WebSocket Spot, puedes empezar a suscribirte a canales WebSocket; basta con acceder a la propiedad REST_API y llamar a cualquiera de los métodos subscribe/unsubscribe disponibles
Suscribirse a canales WebSocket
A continuación tienes un ejemplo de suscripción a los canales WebSocket Spot privados tras una autenticación correcta.
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;
Colocar órdenes
A continuación tienes un ejemplo de colocación de una orden Market.
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.PlaceMarketOrder('BTCUSDT', bbosBuy, 1);
