订阅与退订
客户端发送的所有指令均为 JSON 文本帧,公共字段定义如下:
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
requestId |
string | 是 | 请求唯一 ID(推荐 UUID 或毫秒时间戳),应答时原样返回 |
action |
string | 是 | 操作类型:sub(订阅)、unsub(退订)、ping(心跳) |
syms |
string | 条件必填 | 产品代码列表,逗号分割(如 AAPL.US,NVDA.US)。unsub_all=true 时可不填 |
sub_types |
string | 条件必填 | 订阅数据类型列表,逗号分割:1=K线, 2=Tick, 3=盘口, 4=分时 |
ktypes |
string | 否 | K 线周期列表,逗号分割(如 1m,5m,1d)。仅 sub_types 含 1 时有效。不填表示订阅该标的全部可用周期 |
autype |
int32 | 否 | 复权类型:1=不复权(默认), 2=前复权, 3=后复权 |
session |
int32 | 否 | 美股交易时段:0/不传=仅盘中, 1=仅盘中, 2=全时段 |
unsub_all |
bool | 条件必填 | true=一键取消该连接下的全部订阅(忽略其他参数);false=按参数定向退订 |
发起订阅(action = sub)
请求帧示例
{
"requestId": "sub-001",
"action": "sub",
"syms": "AAPL.US,NVDA.US",
"sub_types": "1,2,3",
"ktypes": "1m,5m,1d",
"autype": 1,
"session": 2
}
响应控制帧(event = 0)
{
"requestId": "sub-001",
"event": 0,
"code": 200,
"msg": "Success",
"failed": []
}
部分失败示例:若部分标的不存在或无权限,返回
failed: [[sub_type, [失败产品代码]]],例如{"failed": [[1, ["INVALID.US"]]]}。
取消订阅(action = unsub)
定向退订
{
"requestId": "unsub-001",
"action": "unsub",
"syms": "AAPL.US",
"sub_types": "1",
"ktypes": "1m",
"unsub_all": false
}
一键清空全部订阅
{
"requestId": "unsub-002",
"action": "unsub",
"unsub_all": true
}
响应控制帧(event = 0)
{
"requestId": "unsub-002",
"event": 0,
"code": 200,
"msg": "Success",
"max_quota": 500,
"quota_used": 0,
"unsub_count": 12
}
说明
requestId用于请求响应配对,建议每次请求生成新的唯一 ID。- 单次订阅 / 退订最多支持 200 只产品,超出请分批次发起增量订阅。
- 断线重连后会话重置,需重新发起
sub请求恢复订阅关系。