跳至主要内容

個人成交

訂閱個人成交的推送

提示

單筆訂單可能有多次成交

Topic: execution

Categorised Topic: execution.spot, execution.linear, execution.inverse

信息
  • All-In-One topic 和 Categorised topic 不能放在同一個訂閱請求裡
  • All-In-One topic: 允許您監聽所有業務線的websocket更新(現貨, 正向合約, 反向合約)
  • Categorised Topic: 您只能監聽您指定的那個業務的websocket更新

響應參數

參數類型說明
idstring消息id
topicstringTopic名
creationTimenumber消息數據創建時間
dataarrayObject
> categorystring產品類型
  • 普通帳戶: spot, linear, inverse.
> symbolstring合約名稱
> orderIdstring訂單ID
> orderLinkIdstring用戶自定義訂單ID
> sidestring訂單方向.買:Buy,賣:Sell
> orderPricestring訂單價格.
> orderQtystring訂單數量.
> leavesQtystring剩餘委託未成交數量.
> orderTypestring訂單類型. 市價單:Market,限價單:Limit
> stopOrderTypestring条件单的订单类型。如果该订单不是条件单,则不会返回任何类型.
> execFeestring交易手續費.
> execIdstring成交Id
> execPricestring成交價格
> execQtystring成交數量
> execTypestring成交類型.
> execValuestring成交價值.
> execTimestring成交時間(毫秒)
> isMakerBool是否是 Maker 訂單,true 為 maker 訂單,false 為 taker 訂單
> feeRatestring手續費率.
> closedSizestring平倉數量

訂閱示例

{
"op": "subscribe",
"args": [
"execution"
]
}
var url = require('url');
var WebSocket = require('ws');
var crypto = require('crypto');
var endpoint = "wss://stream-testnet.zoomex.com/v3/private"
console.log('attempting to connect to WebSocket %j', endpoint);
var client = new WebSocket(endpoint);
const apiKey="XXXXXXXXX";
const apiSecret="XXXXXXXXX";
client.on('open', function () {
console.log('"open" event!');
console.log('WebSocket Client Connected');
const expires = new Date().getTime() + 10000;
const signature = crypto.createHmac("sha256", apiSecret).update("GET/realtime" + expires).digest("hex");
const payload={
op: "auth",
args: [apiKey, expires.toFixed(0), signature],
}
client.send(JSON.stringify(payload));
setInterval(()=>{client.ping()}, 30000);
client.ping();
client.send(JSON.stringify({"op": "subscribe", "args": ['execution']}));
});

client.on('message', function (data) {
console.log('"message" event! %j', JSON.parse(Buffer.from(data).toString()));
});
client.on('ping', function (data, flags) {
console.log("ping received");
});
client.on('pong', function (data, flags) {
console.log("pong received");
});

推送示例

{
"id": "592324803b2785-26fa-4214-9963-bdd4727f07be",
"topic": "execution",
"creationTime": 1672364174455,
"data": [
{
"category": "linear",
"symbol": "XRPUSDT",
"execFee": "0.005061",
"execId": "7e2ae69c-4edf-5800-a352-893d52b446aa",
"execPrice": "0.3374",
"execQty": "25",
"execType": "Trade",
"execValue": "8.435",
"isMaker": false,
"feeRate": "0.0006",
"leavesQty": "0",
"orderId": "f6e324ff-99c2-4e89-9739-3086e47f9381",
"orderLinkId": "",
"orderPrice": "0.3207",
"orderQty": "25",
"orderType": "Market",
"stopOrderType": "UNKNOWN",
"side": "Sell",
"execTime": "1672364174443",
"closedSize": "25"
}
]
}