Websocket账户信息推送
- 本篇所列出API接口的base url : https://api.mexc.com
- 用于订阅账户数据的
listenKey
从创建时刻起有效期为60分钟 - 可以通过
PUT
一个listenKey
延长60分钟有效期 - 可以通过
DELETE
一个listenKey
立即关闭当前数据流,并使该listenKey
无效 - websocket接口的baseurl: ws://wbs-api.mexc.com/ws
- 订阅账户数据流的stream名称为 /ws?listenKey=listenKey
如:ws://wbs-api.mexc.com/ws?listenKey=pqia91ma19a5s61cv6a81va65sd099v8a65a1a5s61cv6a81va65sdf19v8a65a1 - 每个链接有效期不超过24小时,请妥善处理断线重连
- 每个UID,最多申请60个listen key(不包含已失效listen key)
- ws链接数的数量限制:每个listen key最多5个ws链接(即:每个uid最多申请的60个listen key,300个ws链接)
Listen Key
生成 Listen Key
响应
{
"listenKey": "pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1"
}
接口权限要求: 账户读 / SPOT_ACCOUNT_R
HTTP请求
- POST
/api/v3/userDataStream
开始一个新的数据流。除非发送 keepalive,否则数据流于60分钟后关闭。
参数:
NONE
获取有效 Listen Key
响应
{
"listenKey": [
"c285bc363cfeac6646576b801a2ed1f9523310fcda9e927e509aaaaaaaaaaaaaa",
"87cb8da0fb150e36c232c2c060bc3848693312008caf3acae73bbbbbbbbbbbb",
"dc027517ebee2328b75268461a9df4d21addfac6ebebab8f5a6cccccccccccccc"
]
}
接口权限要求: 账户读 / SPOT_ACCOUNT_R
HTTP请求
- GET
/api/v3/userDataStream
获取当前所有有效的listenKey
参数:
NONE
延长 Listen Key 有效期
响应
{
"listenKey": "pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1"
}
HTTP请求
- PUT
/api/v3/userDataStream
有效期延长至本次调用后60分钟,建议每30分钟发送一次请求。
请求参数:
参数名 | 数据类型 | 是否必需 | 说明 |
---|---|---|---|
listenKey | string | 是 |
关闭 Listen Key
响应
{
"listenKey": "pqia91ma19a5s61cv6a81va65sdf19v8a65a1a5s61cv6a81va65sdf19v8a65a1"
}
HTTP请求
- DELETE
/api/v3/userDataStream
关闭用户数据流。
请求参数:
参数名 | 数据类型 | 是否必需 | 说明 |
---|---|---|---|
listenKey | string | 是 |
现货账户信息
在订阅成功后,每当账户余额发生变动或可用余额发生变动时,服务器将推送账户资产的更新。
request:
{
"method": "SUBSCRIPTION",
"params": [
"spot@private.account.v3.api.pb"
]
}
response:
{
channel: "spot@private.account.v3.api.pb"
createTime: 1736417034305
sendTime: 1736417034307
privateAccount {
vcoinName: "USDT"
coinId: "128f589271cb4951b03e71e6323eb7be"
balanceAmount: "21.94210356004384"
balanceAmountChange: "10"
frozenAmount: "0"
frozenAmountChange: "0"
type: "CONTRACT_TRANSFER"
time: 1736416910000
}
}
请求参数: spot@private.account.v3.api.pb
返回参数:
参数名 | 数据类型 | 说明 |
---|---|---|
privateAccount | json | 账户信息 |
vcoinName | string | 资产名称 |
balanceAmount | string | 可用余额 |
balanceAmountChange | string | 可用变动金额 |
frozenAmount | string | 冻结余额 |
frozenAmountChange | string | 冻结变动金额 |
type | string | 变动类型 |
time | long | 结算时间 |
现货账户成交
request:
{
"method": "SUBSCRIPTION",
"params": [
"spot@private.deals.v3.api.pb"
]
}
response:
{
channel: "spot@private.deals.v3.api.pb"
symbol: "MXUSDT"
sendTime: 1736417034332
privateDeals {
price: "3.6962"
quantity: "1"
amount: "3.6962"
tradeType: 2
isMaker: false
tradeId: "505979017439002624X1"
orderId: "C02__505979017439002624115"
feeAmount: "0.0003998377369698171"
feeCurrency: "MX"
time: 1736417034280
}
}
请求参数: spot@private.deals.v3.api.pb
返回参数:
参数名 | 数据类型 | 说明 |
---|---|---|
symbol | string | 交易对 |
sendTime | long | 事件时间 |
privateDeals | json | 账户成交信息 |
price | string | 交易价格 |
quantity | string | 交易数量 |
amount | string | 交易金额 |
tradeType | int | 交易类型 1:买 2:卖 |
tradeId | string | 成交id: tradeId |
isMaker | Boolean | 是否是maker |
orderId | string | 订单id: orderId |
clientOrderId | string | 用户自定义订单id: clientOrderId |
feeAmount | string | 手续费数量 |
feeCurrency | string | 手续费币种 |
time | long | 成交时间 |
现货账户订单
request:
{
"method": "SUBSCRIPTION",
"params": [
"spot@private.orders.v3.api.pb"
]
}
请求参数: spot@private.orders.v3.api.pb
response:
{
channel: "spot@private.orders.v3.api.pb"
symbol: "MXUSDT"
sendTime: 1736417034281
privateOrders {
clientId: "C02__505979017439002624115"
price: "3.5121"
quantity: "1"
amount: "0"
avgPrice: "3.6962"
orderType: 5
tradeType: 2
remainAmount: "0"
remainQuantity: "0"
lastDealQuantity: "1"
cumulativeQuantity: "1"
cumulativeAmount: "3.6962"
status: 2
createTime: 1736417034259
}
}
返回参数:
参数名 | 数据类型 | 说明 |
---|---|---|
symbol | string | 交易对 |
sendTime | long | 事件时间 |
privateOrders | json | 账户订单信息 |
id | string | 订单id |
price | bigDecimal | 下单价格 |
quantity | bigDecimal | 下单数量 |
amount | bigDecimal | 下单总金额 |
avgPrice | bigDecimal | 平均成交价 |
orderType | int | 订单类型LIMIT_ORDER(1),POST_ONLY(2),IMMEDIATE_OR_CANCEL(3), FILL_OR_KILL(4),MARKET_ORDER(5); 止盈止损(100) |
tradeType | int | 交易类型 1:买 2:卖 |
remainAmount | bigDecimal | 实际剩余金额: remainAmount |
remainQuantity | bigDecimal | 实际剩余数量: remainQuantity |
cumulativeQuantity | bigDecimal | 累计成交数量 |
cumulativeAmount | bigDecimal | 累计成交金额 |
status | int | 订单状态 1:未成交 2:已成交 3:部分成交 4:已撤单 5:部分撤单 |
createTime | long | 订单创建时间 |