A partir do sgcWebSockets 2022.3.0, a API do Kucoin é compatível. Atualmente as seguintes APIs estão implementadas:
- Streams WebSocket: permite se inscrever em alguns métodos e obter dados em tempo real. Os eventos são enviados aos clientes pelo servidor para os inscritos. Usa WebSocket como protocolo.
- REST API: os clientes podem solicitar ao servidor dados de mercado e da conta. Requer uma API Key, Secret e Passphrase para autenticar e usa HTTPs como protocolo.
Como conectar e se inscrever no feed WebSocket
Para se conectar à API WebSocket do Kucoin, basta criar um novo cliente Kucoin API e anexá-lo a um TsgcWebSocketClient.
Veja abaixo um exemplo:
oClient := TsgcWebSocketClient.Create(nil); oKucoin := TsgcWSAPI_Kucoin.Create(nil); oKucoin.Client := oClient; oClient.Active := True;
O Kucoin oferece uma variedade de canais nos quais você pode se inscrever para obter atualizações em tempo real de dados de mercado, ordens... Veja abaixo um exemplo de como se inscrever em um 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
// aqui você receberá as atualizações do ticker
end;
Como colocar novas ordens
O Kucoin permite negociar com spot usando sua REST API.
Primeiro você deve criar uma API Key em sua conta Kucoin e adicionar privilégios para negociação com Spot.
Feito isso, você pode iniciar a negociação spot.
Primeiro, defina sua ApiKey, ApiSecret e Passphrase no componente Kucoin Client, isso será usado para assinar as requisições enviadas ao servidor 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));
