Ticker 流
订阅单个交易对或所有交易对的 24 小时滚动 Ticker 推送 。
WebSocket 地址:wss://stream.pipai.io/ws
订阅
订阅单个交易对:
{
"op": "subscribe",
"channel": "market.ticker",
"params": { "symbol": "BTCUSDT" },
"req_id": "client-123"
}
订阅全部交易对(使用 "*"):
{
"op": "subscribe",
"channel": "market.ticker",
"params": { "symbol": "*" },
"req_id": "client-123"
}
取消订阅:
{
"op": "unsubscribe",
"channel": "market.ticker",
"params": { "symbol": "BTCUSDT" },
"req_id": "client-124"
}
订阅参数
| 名称 | 类型 | 必填 | 说明 |
|---|---|---|---|
symbol | string | 是 | 交易对,大写(例如 BTCUSDT),或使用 "*" 订阅所有正在交易的交易对。 |
消息体
{
"event": "ticker",
"ts": 1745923200512,
"symbol": "BTCUSDT",
"price": "67432.15",
"bid": "67431.90",
"ask": "67432.40",
"volume_24h": "18234.4521",
"quote_volume_24h": "1229874512.33",
"change_24h_pct": "2.34",
"high_24h": "68120.00",
"low_24h": "65890.10",
"count_24h": 482913,
"close_time": 1745923200000
}
当使用 "symbol": "*" 订阅时,每次推送会为每个交易对各发送一条消息。
消息字段
| 字段 | 类型 | 说明 |
|---|---|---|
event | string | 此频道恒为 "ticker"。 |
ts | integer | 服务端推送时间,Unix 毫秒(ms)。 |
symbol | string | 交易对,大写。 |
price | string (decimal) | 最新成交价。 |
bid | string (decimal) | 最优买价。 |
ask | string (decimal) | 最优卖价。 |
volume_24h | string (decimal) | 滚动 24 小时基础资产成交量。 |
quote_volume_24h | string (decimal) | 滚动 24 小时计价资产成交量。 |
change_24h_pct | string (decimal) | 24 小时价格变动百分比(例如 "2.34" 表示 +2.34%)。 |
high_24h | string (decimal) | 滚动 24 小时窗口内的最高价。 |
low_24h | string (decimal) | 滚动 24 小时窗口内的最低价。 |
count_24h | integer | 滚动 24 小时窗口内的成交笔数。 |
close_time | integer | 窗口收盘时间,Unix 毫秒(ms)。 |
推送频率
每个已订阅的交易对每 1 秒 推送一条消息。即使该周期内没有发生成交,也仍会推送,并附带最新的 ts、bid、ask 以及滚动 24 小时聚合值。
重连
若连接断开,期间的 Ticker 消息会丢失。重连后只需重新订阅——不存在重放机制。由于每条 Ticker 消息都携带完整的滚动 24 小时状态,无需补齐缺口;下一次推送即可让客户端重新同步。
如果应用在重连后需要立即获得权威的 24 小时聚合数据(无需等待最长 1 秒),可调用一次 GET /v1/market/ticker,然后再恢复订阅流。