Klient CEX Plus API dla Delphi

· Komponenty

Od sgcWebSockets 2023.8.0 obsługiwane jest CEX.IO Plus API.

Obsługiwane API

WebSockets API

WebSocket to pełnodupleksowy protokół komunikacyjny oparty na TCP. Pełny dupleks oznacza, że obie strony mogą wysyłać sobie wiadomości asynchronicznie za pomocą tego samego kanału komunikacyjnego. Ta sekcja opisuje, jakie wiadomości powinny wymieniać się Exchange Plus i klient. Wszystkie wiadomości powinny być poprawnymi obiektami JSON.

WebSocket API jest używane głównie do uzyskiwania informacji lub wykonywania działań, które nie są dostępne lub trudne do wykonania za pomocą REST API. Jednak niektóre żądania lub działania są możliwe zarówno w REST API, jak i WebSocket API. Exchange Plus wysyła wiadomości do klienta jako odpowiedź na wcześniej wysłane żądanie lub jako powiadomienie o zdarzeniu (bez wcześniejszego żądania klienta).

Publiczne wywołania API

Limit szybkości publicznego API jest stosowany w celu ochrony systemu przed atakami DDoS i zapewnienia wszystkim klientom tego samego poziomu stabilnego dostępu do punktów końcowych Exchange Plus API. Żądania publiczne są ograniczone według adresu IP, z którego są wysyłane. Limity żądań są określane na podstawie kosztu związanego z każdym wywołaniem API. Domyślnie każde żądanie publiczne ma koszt 1 punktu, ale w przypadku niektórych żądań koszt może być wyższy. Aktualne informacje o kosztach limitów znajdziesz w specyfikacji każdej metody.

Exchange Plus ogranicza publiczne wywołania API do maksymalnie 100 punktów na minutę, biorąc pod uwagę koszt każdego wywołania API (patrz poniżej). Po osiągnięciu limitu Exchange Plus odpowiada błędem, wysyła do klienta zdarzenie rozłączenia i zamyka połączenie WS. Exchange Plus będzie ponownie obsługiwać klienta od następnej minuty kalendarzowej. W poniższym przykładzie licznik żądań zostanie zresetowany o 11:02:00.000.

Przykład: pobieranie najnowszego tickera pary BTC-USD

oClient := TsgcWebSocketClient.Create(nil);
oCexPlus := TsgcWSAPI_CexPlus.Create(nil);
oCexPlus.Client := oClient;
oCexPlus.OnCexPlusConnect := OnCexPlusConnectEvent;
oCexPlus.OnCexPlusMessage := OnCexPlusMessageEvent;
oClient.Active := True;
procedure OnCexPlusConnectEvent(Sender: TObject);
begin
  oCexPlus.GetTicker('BTC-USD');
end;
procedure OnCexPlusMessageEvent(Sender: TObject; Event, Msg: string);
begin
  ShowMessage('Ticker data: ' + Msg);
end; 

Prywatne wywołania API

Exchange Plus używa kluczy API do umożliwienia dostępu do prywatnych API.

Klient może generować, konfigurować i zarządzać kluczami API, ustawiać poziomy uprawnień, dozwolone adresy IP dla klucza API itp. za pomocą Exchange Plus Web Terminal w sekcji API Keys Management Profile.

Limit kluczy API: domyślnie klient może mieć do 5 kluczy API.

Aby ograniczyć dostęp do określonych funkcji podczas korzystania z kluczy API, należy zdefiniować określony zestaw uprawnień dla każdego klucza API. Zdefiniowany zestaw uprawnień można w razie potrzeby edytować.

Dla kluczy API dostępne są następujące poziomy uprawnień:


Przykład: pobieranie zleceń.

oClient := TsgcWebSocketClient.Create(nil);
oCexPlus := TsgcWSAPI_CexPlus.Create(nil);
oCexPlus.Client := oClient;
oCexPlus.CexPlus.ApiKey := 'your-api-key';
oCexPlus.CexPlus.ApiSecret := 'your-api-secret';
oCexPlus.OnCexPlusAuthenticated := OnCexPlusAuthenticatedEvent;
oCexPlus.OnCexPlusMessage := OnCexPlusMessageEvent;
oClient.Active := True;
procedure OnCexPlusAuthenticatedEvent(Sender: TObject);
begin
  oCexPlus.GetOrders();
end;
procedure OnCexPlusMessageEvent(Sender: TObject; Event, Msg: string);
begin
  ShowMessage('Orders: ' + Msg);
end; 

CEX Plus Demo for Windows

Pobierz demo CEX Plus dla Windows zbudowane z biblioteką sgcWebSockets. https://www.esegece.com/download/protocols/sgcCEXPlus.zip