GET https://rest.vvtr.com/v1/my/permissions?mobile={手机号}&apikey={apiKey}permessage-deflate 压缩)ping 保活,持续接收推送apiKey 鉴权ping 续命 + Ping/Pong 探活,详见下方"心跳与连接探测"permessage-deflate(RFC 7692)Sec-WebSocket-Extensions: permessage-deflate,否则返回 HTTP 400,不建立连接permessage-deflate; server_no_context_takeover; client_no_context_takeover{
"code": 400,
"msg": "WebSocket连接必须启用permessage-deflate压缩",
"detail": "请使用支持RFC 7692的客户端,并在握手中提供兼容的Sec-WebSocket-Extensions",
"required_extension": "permessage-deflate"
}| 方式 | 客户端动作 | 服务端行为 | 用途 |
|---|---|---|---|
| 续命心跳 | 每 50 秒发送文本 ping | 刷新读超时与连接有效期,不回复 | 保活,必须 |
| 探活(协议层) | 发送 WebSocket 协议 Ping 帧 | 自动回复 Pong 帧 | 检测连接与网络是否存活 |
| 探活(应用层) | 发送 {"type":"ping"} | 回复 {"type":"pong"} | 同上,适合 JSON 客户端 |
ping 没有任何回复,客户端不应等待回复来判断连接状态pong(建议 20 秒),应主动断开并重连ping 续命type、symbols 指定,连接后不支持动态订阅/退订symbols 多个用 , 分隔;* 表示订阅该品种全部 symbols(需开通对应权限)symbols 用 [...] 分组并与 type 顺序一一对应:type=11,22&symbols=[000001,600000],[AAPL,TSLA]type=14(国内期货 )支持交易所代码与主力/次主力/指数简写:symbols=CZCE,8888(郑商所全部合约 + 商品指数)limit 为准)wss://rest.vvtr.com/v1/connect?apiKey={apiKey}&type={type}&symbols={symbols}| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| apiKey | string | 是 | 你的 apiKey |
| type | string | 是 | 品种类型代码,多个用 , 隔开,如 11,22 |
| symbols | string | 是 | 证券代码,多个用 , 分隔,* 表示全部;多 type 时用 [a,b],[c,d] 分组且顺序与 type 一致 |
# 较新版本的 wscat(基于 Node ws)默认启用压缩
# 若连接返回 400,请先升级 wscat:npm install -g wscat@latest
wscat -c "wss://rest.vvtr.com/v1/connect?apiKey=abcdefg&type=11&symbols=*"[
{
"t": "2025-08-04 14:37:53:785",
"s": "603602",
"o": 15.86,
"h": 15.91,
"l": 15.58,
"p": 15.66,
"cV": 5447681,
"cA": 85392549.0,
"cP": 0,
"tt": 1,
"lV": 500,
"lA": 7830.0,
"iopv": 0.0,
"quotes": [
{ "bP": 15.68, "bV": 3630, "aP": 15.69, "aV": 17100 }
]
}
]| 字段 | 类型 | 说明 |
|---|---|---|
| t | string | 更新时间,精确到毫秒 |
| s | string | symbol,证券代码 |
| o | float | open,日线开盘价 |
| h | float | high,日线最高价 |
| l | float | low,日线最低价 |
| p | float | price,最新价(集合竞价成交前为 0) |
| cV | long | cumVolume,累计总成交量(日线) |
| cA | float | cumAmount,累计总成交额(日线) |
| cP | int | cumPosition,合约持仓量(仅期货,股票为 0) |
| tt | int | tradeType,交易类型(仅期货)1双开 2双平 3多开 4空开 5空平 6多平 7多换 8空换 |
| lV | int | lastVolume,最新瞬时成交量 |
| lA | float | lastAmount,最新瞬时成交额(郑商所不支持) |
| iopv | float | 基金份额参考净值(仅基金) |
| q | list | quotes 盘口,见下表 |
| 字段 | 类型 | 说明 |
|---|---|---|
| bP | float | bidP,买价 |
| bV | int | bidV,买量 |
| aP | float | askP,卖价 |
| aV | int | askV,卖量 |
list[0]~list[4]),期货提供买卖 1 档(list[0])ping 每 50 秒续命(服务端不回复)+ 探活心跳检测死链,两者缺一不可,详见"心跳与连接探测"limit 上限时连接会被拒绝或断开,请先通过 /v1/my/permissions 确认websockets、Node ws、浏览器默认已开启;Go 必须设 EnableCompression=true;Java 必须使用 PerMessageDeflateExtensionSec-WebSocket-Extensions,应包含 permessage-deflate