Websocket 账户信息推送
公共WSS说明
- Base Url: wss://stream.toobit.com
- 对listenKey执行PUT将使其有效期延长60分钟。
- 对listenKey执行DELETE将关闭流。
- 用户信息流可通过
/api/v1/ws/<listenKey>访问 (例如wss://#HOST/api/v1/ws/<listenKey>) - 用户信息流有效负载不保证在繁忙时段处于正常状态;确保使用E订购更新
生成listenKey (USER_STREAM)
POST /api/v1/listenKey
创建一个新的user data stream,返回值为一个listenKey,即websocket订阅的stream名称。
权重: 1
响应
json
{
"listenKey": "1A9LWJjuMwKWYP4QQPw34GRm8gz3x5AephXSuqcDef1RnzoBVhEeGE963CoS1Sgj"
}参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| category | ENUM | NO | USDC合约=USDC, 默认=USDT合约. |
| timestamp | LONG | YES | 时间戳 |
| recvWindow | LONG | NO | recv窗口 |
延长listenKey有效期 (USER_STREAM)
PUT /api/v1/listenKey
有效期延长至本次调用后60分钟
权重: 1
响应
json
{}参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| listenKey | STRING | YES | listenKey |
| category | ENUM | NO | USDC合约=USDC, 默认=USDT合约. |
| timestamp | LONG | YES | 时间戳 |
| recvWindow | LONG | NO | recv窗口 |
关闭listenKey (USER_STREAM)
DELETE /api/v1/listenKey
权重: 1
响应
json
{}参数
| 名称 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| listenKey | STRING | YES | listenKey |
| category | ENUM | NO | USDC合约=USDC, 默认=USDT合约. |
| timestamp | LONG | YES | 时间戳 |
| recvWindow | LONG | NO | recv窗口 |
listenKey过期推送
/api/v1/ws/
响应
json
{
"eventTime": 1767536100360,//事件推送时间
"eventType": "listenKeyWillExpire",//事件类型
"listenKey": "zUeuthxEYbqupygpYQKPTgDemAQWXJdrpzVhmVOSKSDUzMWzIAVgPgYbDLuxBpNu"//listenkey
}- listenkey即将过期前5分钟开始推送,1分钟推送一次。
Balance推送
账户更新事件的 event type 固定为 outboundContractAccountInfo
Balance Payload
json
[
{
"e": "outboundContractAccountInfo", // 事件类型
"E": 1564745798939, // 事件时间
"T": true , // Can trade 可否交易
"W": true , // Can withdraw 可否提币
"D": true , // Can deposit 可否充币
"B": [ // Balances changed 余额变更
{
"a": "LTC", // Asset 资产
"f": "17366.18538083", // Free amount 可用金额,不包含未实现盈亏, 用未实现盈亏下单是会未负数
"l": "0.00000000" // 冻结金额:仓位保证金 + 委托保证金(下单锁定)
}
]
}
]- 当账户信息有变动时,会推送此事件:
- 仅当账户信息有变动时,才会推送此事件
Position更新推送
Payload
json
[
{
"e": "outboundContractPositionInfo", // Event type 事件类型
"E": "1668693440976", // Event time 事件时间
"A": "1270447370291795457", // accountId 账户ID
"s": "BTC-SWAP-USDT", // Symbol 币对
"S": "LONG", // side 多空方向
"p": "441.0", // avgPrice 持仓平均 价格
"P": "1291488620385157122", // position 总仓位 (张)
"a": "1000", // available 可用仓位 (张)
"f": "1291488620167835136", // flp 强平价格
"m": "18.2", // margin 仓位保证金
"r": "44", // realizedPnL已实现盈亏
"mt": "CROSS", // marginType仓位类型
"up": "12", // unrealizedPnL 未实现盈亏
"pr": "0.003", // profitRate 当前仓位盈利率
"pv": "123", // positionValue 仓位价值(USDT)
"v": "10" // leverage 杠杆倍数
}
]- position 信息:仅当symbol仓位有变动时推送。
- 字段
mt代表仓位类型CROSS全仓;ISOLATED逐仓
订单更新推送
当有新订单创建、订单有新成交或者新的状态变化时会推送此类事件
Payload
json
[
{
"e": "contractExecutionReport", // Event type 事件类型
"E": 1499405658658, // Event time 事件时间
"s": "BTC-SWAP-USDT", // Symbol 币对
"c": 1000087761, // Client order ID 客户订单id
"C": true, // is close order 是否平仓单
"S": "BUY", // Side 订单方向
"o": "LIMIT", // type 订单类型
"f": "GTC", // Time in force 有效方式
"q": "1.00000000", // origQty 数量
"p": "0.10264410", // price 价格
"pt": "MARKET", // price type 价格类型 INPUT:输入价格 MARKET: 市价
"X": "NEW", // status 订单状态
"i": 4293153, // orderId 订单id
"l": "0.00000000", // Last executed quantity 上次数量
"z": "0.00000000", // executedQty 交易数量
"L": "0.00000000", // Last executed price 上次价格
"n": "0", // Commission amount 佣金
"N": null, // Commission asset 佣金资产
"u": true, // Is the trade normal, ignore for now 是否正常
"w": true, // Is the order working Stops will have
"m": false, // Is this trade the maker side
"mt": "CROSS", // marginType仓位类型
"O": 1499405658657, // Order creation time 创建时间
"Z": "0.00000000", // Cumulative quote asset transacted quantity 交易金额
"v": "20", // leverage 杠杆倍数
"U": 1499332119813, // 订单更新时间 毫秒级时间戳
"rp": "-4.3058" // 平仓订单累计已实现盈亏
}
]- 平均价格可以通过
Z除以z来获得。 - 字段
mt代表仓位类型CROSS全仓;ISOLATED逐仓
订单方向
- BUY 买入
- SELL 卖出
订单类型
- LIMIT 限价单
- STOP_LIMIT 计划委托
价格类型
- INPUT 用户输入价
- MARKET 市价
订单状态
- NEW 新订单,暂无成交
- PARTIALLY_FILLED 部分成交
- FILLED 完全成交
- CANCELED 已取消
- PENDING_CANCEL 等待取消
- REJECTED 被拒绝
有效方式
- GTC
- IOC
- FOK
计划委托 或者 止盈止损订单状态
- ORDER_NEW 新建委托
- ORDER_FILLED 委托触发成功
- ORDER_REJECTED 委托拒绝
- ORDER_CANCELED 取消委托
- ORDER_FAILED 委托触发失败
止盈止损类型
- STOP_LONG_PROFIT 多仓止盈
- STOP_LONG_LOSS 多仓止损
- STOP_SHORT_PROFIT 计划委托-空仓止盈
- STOP_SHORT_LOSS 计划委托-空仓止损
交易推送
自己有成交时会推送
Payload
json
[
{
"e": "ticketInfo", // Event type 事件类型
"E": "1668693440976", // Event time 事件时间
"s": "BTC-SWAP-USDT", // Symbol 币对
"q": "0.205", // quantity 数量
"t": "1668693440899", // time 时间
"p": "441.0", // price 价格
"T": "1291488620385157122", // ticketId
"o": "1291488620167835136", // orderId 订单id
"c": "1668693440093", // clientOrderId 客户订单id
"a": "1286424214388204801", // accountId 账户id
"m": false, // isMaker
"S": "SELL" // side
}
]止盈止损频道
计划委托订单都会推送,根据planOrderType的值过滤止盈止损订单
Payload
json
{
"eventType": "planExecutionReport",//事件类型
"time": "1767521501840",//订单创建时间
"orderId": "2120518483020142848",//订单ID
"accountId": "1752238453238626818",//账户ID
"brokerUserId": "4910055547259955197",//用户ID
"clientOrderId": "1767521500131",//用户订单ID(当用api下单时用户自己订阅,在页面下单系统生成)
"symbolId": "BTC-SWAP-USDT",//币对ID
"symbolName": "BTCUSDT",//币对名称
"baseTokenId": "BTC-SWAP-USDT",//baseTokenId
"baseTokenName": "BTC-SWAP-USDT",
"quoteTokenId": "USDT",//计价币种
"quoteTokenName": "USDT",//计价币种名称
"price": "0",//下单价格
"origQty": "10",//原始下单数量
"type": "STOP",//订单类型-STOP表示计划委托 (固定值)
"planOrderType": "STOP_SHORT_PROFIT",//计划订单类型 STOP_LONG_PROFIT-计划委托-多仓止盈 STOP_LONG_LOSS-计划委托-多仓止损 STOP_SHORT_PROFIT-计划委托-空仓止盈 STOP_SHORT_LOSS-计划委托-空仓止损 STOP_COMMON-计划委托-普通
"side": "BUY_CLOSE",//BUY_OPEN-开仓买入 SELL_OPEN-开仓卖出 BUY_CLOSE -平仓买入 SELL_CLOSE -平仓卖出
"status": "ORDER_NEW",//ORDER_NEW -等待触发,ORDER_FILLED -触发成功 ORDER_REJECTED -触发失败 ORDER_CANCELED -取消 ORDER_FAILED -委托触发失败 ORDER_NOT_EFFECTIVE -止盈止损未生效
"exchangeId": "301",//固定值
"orgId": "9001",//固定值
"triggerPrice": "91446",//触发价格
"quotePrice": "91493.1",//计价币种价格
"executedOrderId": "0",//委托单Id(触发之后会有值)
"executedPrice": "0",//委托价格 (触发之后会有值)
"executedQty": "0",//执行数量 (触发之后会有值)
"updateTime": "1767521529483",//订单最后更新时间
"priceType": "MARKET_PRICE",//INPUT-用户输入价 MARKET_PRICE - 市价
"quotePriceType": 0,//触发行情价价格类型 0-最新价 1-指数价 2-标记价格
"leverage": "10",//杠杆
"spOrderId": "2120518483020142848",//计划委托对应的开仓止盈订单ID
"slOrderId": "0",//计划委托对应的开仓止损订单ID
"openOrdinaryOrderId": "2120518481434695937",//开仓止盈止损订单对应普通订单ID
"openOrderId": "0",//开仓单ID,分仓模式下不为0,合仓模式下为0
"triggerType": 0,//止盈止损触发类型,0固定触发,1移动触发
"activePrice": "0",//移动止盈止损激活价格(激活的时候才会有值)
"fallType": 0,//移动止盈止损触发价回调类型:0比例,1价差
"fallQuantity": "0",//值恒定为0,止盈止损未用到
"activeStatus": 0,//移动止盈止损激活状态:0未激活,1已激活
"triggerDelay": 0,//触发延迟(秒)
"marginType": "CROSS",//仓位类型 CROSS:全仓;ISOLATED:逐仓
"isGuaranteedPrice": 0,//是否是保证价格,1 是 ,0 不是
}