Vanaf sgcWebSockets 2022.10.0 wordt de Bybit Crypto Exchange ondersteund. De volgende API's worden ondersteund
- WebSocket-API: verbindt met een websocket-server en levert realtime market data-updates, accountwijzigingen en meer.
- REST-API: verstuurt HTTP-requests om market data op te halen, orders te plaatsen, accountdata op te vragen...
De volgende product-API's zijn geïmplementeerd:
- Spot (V3)
- USDT Perpetual (Futures V2)
- Inverse Perpetual (Futures V2)
- Inverse Futures (Futures V2)
Eigenschappen
Je kunt de volgende eigenschappen configureren in de Bybit-eigenschap.
- ApiKey: je kunt een nieuwe API-sleutel aanvragen in je Bybit-account en de waarde naar deze eigenschap kopiëren. Als de ApiKey is ingesteld, verbindt de client met de private WebSocket-server. Als die leeg is, wordt verbinding gemaakt met de publieke WebSocket-server.
- ApiSecret: de geheime waarde van de API.
- SignatureExpires: aantal seconden waarna de signature verloopt (standaard 10 seconden).
- TestNet: indien ingeschakeld wordt verbinding gemaakt met het Bybit TestNet-demo-account (standaard uitgeschakeld).
Verbinding
Wanneer de client succesvol verbinding maakt met de Bybit-servers, wordt het event OnConnect geactiveerd. Zodra het event OnConnect is geactiveerd, kun je beginnen met berichten te versturen en te ontvangen van/naar de Bybit-servers. Als je verbinding maakt met het private WebSocket-kanaal, moet je wachten tot het event OnBybitAuthentication is geactiveerd en controleren of de success-parameter true is voordat je je op een kanaal abonneert.
De client ondersteunt meerdere API's; gebruik de eigenschap BybitClient om in te stellen welke API je wilt gebruiken:
- bybSpot
- bybInversePerpetual
- bybUSDTPerpetual
- bybInverseFutures
Hieronder vind je een voorbeeld van een verbinding met de private Spot WebSocket-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;
Na een succesvolle verbinding met de Spot WebSocket-server kun je je op WebSocket-kanalen abonneren. Open daarvoor de eigenschap SPOT en roep een van de beschikbare subscribe-/unsubscribe-methoden aan.
Hieronder vind je de lijst van Bybit-API-objecten:
- SPOT
- INVERSE_PERPETUAL
- USDT_PERPETUAL
- INVERSE_FUTURES
Abonneren op WebSocket-kanalen
Hieronder vind je een voorbeeld van abonneren op de private Spot WebSocket-kanalen na een succesvolle authenticatie.
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.SubscribeOrder;
oClient.SubscribeStopOrder;
end;
end;
Orders plaatsen
Hieronder vind je een voorbeeld van het plaatsen van een market-order voor USDT Perpetual.
oClient := TsgcWebSocketClient.Create(nil);
oBybit := TsgcWSAPI_Bybit.Create(nil);
oBybit.Client := oClient;
oBybit.Bybit.ApiKey := 'alsdjk23kandfnasbdfdkjhsdf';
oBybit.Bybit.ApiSecret := 'aldskjfk3jkadknfajndsjfj23j';
oBybit.BybitClient := bybUSDTPerpetual;
oBybit.USDT_PERPETUAL.REST_API.PlaceMarketOrder('BTCUSDT', bbosBuy, 1);
