Delphi CEX Plus API クライアント

· コンポーネント

sgcWebSockets 2023.8.0 から CEX.IO Plus API がサポートされています。

対応 API

WebSockets API

WebSocket は TCP ベースの全二重通信プロトコルです。全二重とは、同一の通信チャネルを使用して双方が非同期にメッセージを送受信できることを意味します。このセクションでは、Exchange Plus とクライアントが送受信すべきメッセージについて説明します。すべてのメッセージは有効な JSON オブジェクトである必要があります。

WebSocket API は主に、REST API では利用できない情報の取得やアクションの実行に使用されます。ただし、REST API と WebSocket API の両方で実行できるリクエストやアクションも存在します。Exchange Plus はクライアントへのレスポンス、またはイベント通知(クライアントからのリクエストなし)としてメッセージを送信します。

Public API Calls

パブリック API レート制限は、DDoS 攻撃からシステムを保護し、すべてのクライアントが Exchange Plus API エンドポイントに同等の安定したアクセスを確保するために設けられています。パブリックリクエストは、API リクエスト元の IP アドレスで制限されます。リクエスト制限は各パブリック API 呼び出しのコストに基づいて決定されます。デフォルトでは各パブリックリクエストのコストは 1 ポイントですが、一部のリクエストはコストが高くなる場合があります。各メソッドの仕様で最新のレート制限コスト情報を確認してください。

Exchange Plus はパブリック API 呼び出しを 1 分あたり最大 100 ポイントに制限しています(各 API 呼び出しのコストを考慮)。レート制限に達した場合、Exchange Plus はエラーで応答し、クライアントへ切断イベントを送信してから WS 接続を閉じます。Exchange Plus は次の暦分から再びクライアントへのサービスを再開します。次の例では、リクエストカウンターは 11:02:00.000 にリセットされます。

例: 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; 

Private API Calls

Exchange Plus ではプライベート API へのアクセスに API キーを使用します。

クライアントは Exchange Plus ウェブターミナルの「API キー管理プロファイル」セクションから、API キーの生成・設定・管理、権限レベルの設定、API キーのホワイトリスト IP 設定などを行えます。

API キーの上限:デフォルトでは、クライアントは最大 5 つの API キーを保有できます。

API キーを使用する際に特定の機能へのアクセスを制限するため、各 API キーには特定の権限セットを定義する必要があります。定義した権限セットは後から編集することもできます。

API キーで利用可能な権限レベルは以下のとおりです:


例:注文一覧を取得する。

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

sgcWebSockets ライブラリで Windows 向けにビルドされた CEX Plus デモをダウンロードしてください。 https://www.esegece.com/download/protocols/sgcCEXPlus.zip