跳到主要内容

listenToken订阅用户数据流

当前有以下两种方式订阅用户数据流:

两个源都将实时推送与您的帐户相关的所有事件.

生成杠杆账户listenToken(USER_STREAM)

接口描述

创建一个新的listenToken,授权用户在限定时间内访问当前账户的用户数据流。数据流的有效期由validity参数指定(毫秒) ,数据流的有效期由 validity 参数(毫秒)指定,默认为 24 小时,最长为 24 小时。响应中包含 listenToken 和相应的 expirationTime(以毫秒为单位)。

HTTP请求

POST /sapi/v1/userListenToken

请求权重(UID): 1

请求参数

名称类型是否必需描述
symbolSTRINGCONDITIONAL交易对名称,当isIsolated为true时必填,例如:BNBUSDT
isIsolatedBOOLEANNO是否为逐仓杠杆,true表示逐仓,默认为全仓
validityLONGNO有效期(毫秒) ,默认24小时,最大24小时

说明

  • 数据流的有效期由validity参数指定,默认24小时,最大24小时。过期时间 = 当前时间 + 有效期。
  • 返回token和过期时间expirationTime。

响应示例

{
"token": "6xXxePXwZRjVSHKhzUCCGnmN3fkvMTXru+pYJS8RwijXk9Vcyr3rkwfVOTcP2OkONqciYA",
"expirationTime": 1758792204196
}

订阅用户数据流使用listenToken (USER_STREAM)

接口描述

使用 listenToken 订阅用户数据流。

该方法必需由WebSocket API调用。关于WebSocket API的更多信息请参考:WebSocket API

请求示例

{
"id": "f3a8f7a29f2e54df796db582f3d",
"method": "userDataStream.subscribe.listenToken",
"params": {
"listenToken": "5DbylArkmImhyHkpG6s9tbiFy5uAMTFwzx9vwsFjDv9dC3GkKxSuoTCj0HvcJC0WYi8
}
}

请求权重(UID):2

请求参数

名称类型是否必需描述
listenTokenSTRINGYES监听token

说明

  • 允许非登录会话使用此功能。
  • 如果 listenToken 无效,将返回错误代码 -1209
  • WebSocket API 不会自动续订订阅。要延长订阅的有效期,您必须在当前订阅到期前调用 /sapi/v1/userListenToken,获取一个包含更新后的 expirationTime 的新 listenToken,然后再次调用 userDataStream.subscribe.listenToken 并传入新的 listenToken。这样可以无缝地将您的订阅续订至新的 expirationDate。
  • 如果订阅未延长,它将过期,您将收到“eventStreamTerminated”事件(见下面的示例)。
  • 如果您需要更佳性能,可以使用 SBE 格式而非 JSON 格式接收事件。更多详情,请参阅简单二进制编码 (SBE) 常见问题解答

响应示例

{
"subscriptionId": 0,
"expirationTime": 1749094553955907
}

订阅过期示例

{
"subscriptionId": 0,
"event": {
"e": "eventStreamTerminated",
"E": 1759089357377
}
}