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 向客户端发送消息,作为对客户端先前发送的请求的响应,或作为某事件的通知(无需客户端事先请求)。

公共 API 调用

为保护系统免受 DDoS 攻击并确保所有客户端对 Exchange Plus API 端点具有同等稳定的访问级别,公共 API 设有速率限制。公共请求按发起公共 API 请求的 IP 地址进行限制。请求限制由每次公共 API 调用相关的费用决定。默认情况下,每个公共请求的费用为 1 点,但某些特定请求的费用可能更高。请在每种方法的规范中查看最新的请求速率限制费用信息。

Exchange Plus 将公共 API 调用限制为每分钟最多 100 点(考虑到每次公共 API 调用都有其费用,见下文)。如果达到请求速率限制,Exchange Plus 将回复错误,向客户端发送断开连接事件并随后关闭 WebSocket 连接。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;

私有 API 调用

Exchange Plus 使用 API 密钥来允许访问私有 API。

客户端可以通过 Exchange Plus Web 终端中的 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 Windows 演示

下载使用 sgcWebSockets 库构建的 CEX Plus Windows 演示。 https://www.esegece.com/download/protocols/sgcCEXPlus.zip