WebSocket
Base URL
Section titled “Base URL”wss://api.panshi.io/ws/<channel>
| 路径 | 权限 | 说明 |
|---|---|---|
/ws | 登录 (session cookie) | 当前用户的私频道:钱包更新、站内信、订单 / 持仓变动 |
/ws/portfolio/:id | 公开 | 指定组合(必须 is_public=1)的持仓 / 订单 / 资金曲线推送 |
/ws/market | 公开 | 全局 mark price 广播 |
私频道用浏览器 session cookie 鉴权(登录态的 Web 客户端直接连即可)。非浏览器环境可以通过 api_key 走 /v1/* REST + 轮询代替。
推送消息统一结构:
{"ch":"mark/BTCUSDT","ts":1776900000000,"data":{"price":68321.5}}ch— 频道名,如user:wallet、portfolio:P0000007:equity、mark/BTCUSDTts— 服务端时间(毫秒 UNIX 时间戳)data— 载荷,不同频道 schema 不同
订阅 / 取消
Section titled “订阅 / 取消”{"op":"sub","ch":"mark/BTCUSDT"}{"op":"unsub","ch":"mark/BTCUSDT"}私频道 /ws 连上即默认订阅当前用户所有相关事件,无需再发 sub。
客户端每 30s 发 {"op":"ping"},服务端回 {"op":"pong"};连续 60s 无消息服务端断开。ccxt / 官方 SDK 的自动心跳即可兼容。
visibilitychange回到前台时客户端应主动 reconnect- 网络恢复(
online事件)同样重连 - 服务端不保留离线消息;如需历史事件走
/v1/inbox或/v1/portfolios/:id/orders
- 单连接同时订阅频道数 ≤ 50
- 每秒消息数受 速率限制 约束
- 异常刷
sub/unsub洪水的连接会被服务端主动断开
- REST endpoints
- Binance-compatible — 订单 / 持仓的 REST 拉取
- ccxt 接入示例