A partir de sgcWebSockets 2022.3.0 se admite la API de Kucoin. Actualmente están implementadas las siguientes APIs:
- Streams WebSocket: permite suscribirse a algunos métodos y obtener datos en tiempo real. El servidor envía eventos a los clientes suscritos. Usa WebSocket como protocolo.
- API REST: los clientes pueden solicitar al servidor datos de mercado y de cuenta. Requiere una API Key, Secret y Passphrase para autenticarse y usa HTTPS como protocolo.
Cómo conectarse y suscribirse al feed WebSocket
Para conectar a la API WebSocket de Kucoin, basta con crear un nuevo cliente Kucoin API y asociarlo a un TsgcWebSocketClient.
A continuación tienes un ejemplo:
oClient := TsgcWebSocketClient.Create(nil); oKucoin := TsgcWSAPI_Kucoin.Create(nil); oKucoin.Client := oClient; oClient.Active := True;
Kucoin ofrece varios canales a los que puedes suscribirte para recibir actualizaciones en tiempo real de datos de mercado, órdenes... A continuación tienes un ejemplo de cómo suscribirse a un Ticker:
oClient := TsgcWebSocketClient.Create(nil);
oKucoin := TsgcWSAPI_Kucoin.Create(nil);
oKucoin.Client := oClient;
oKucoin.SubscribeSymbolTicker('BTC-USDT');
procedure OnMessage(Connection: TsgcWSConnection; const aText: string);
begin
// here you will receive the ticker updates
end;
Cómo crear nuevas órdenes
Kucoin permite operar en spot mediante su API REST.
Primero debes crear una API Key en tu cuenta de Kucoin y añadir privilegios para operar en Spot.
Una vez hecho esto, puedes empezar a operar en spot.
Primero, configura tu ApiKey, ApiSecret y Passphrase en el componente cliente Kucoin; esto se usará para firmar las peticiones enviadas al servidor de Kucoin.
// Place Market Order 1 BTC-USDT oKucoin := TsgcWSAPI_Kucoin.Create(nil); oKucoin.Kucoin.ApiKey := '<api key>'; oKucoin.Kucoin.ApiSecret := '<api secret>'; oKucoin.Kucoin.Passphrase := '<passphrase>'; ShowMessage(oKucoin.REST_API.PlaceMarketOrder(kosBuy, 'BTC-USDT', 1)); // Place Limit Order 1 BTC-USDT at 40000 oKucoin := TsgcWSAPI_Kucoin.Create(nil); oKucoin.Kucoin.ApiKey := '<api key>'; oKucoin.Kucoin.ApiSecret := '<api secret>'; oKucoin.Kucoin.Passphrase := '<passphrase>'; ShowMessage(oKucoin.REST_API.PlaceLimitOrder(kosBuy, 'BTC-USDT', 1, 40000));
