快速接入
接入只需要两步改动:把接口地址换成本站地址,把 Key 换成我们发给你的那一个。 接口路径、参数名与返回字段与官方文档一致,现有代码不必重写。
第 0 步:拿到两样东西
| 名称 | 说明 |
|---|---|
| 接入地址(base_url) | 形如 https://api.massivequote.com。本站与官方地址不同,请务必使用下发的地址。 |
| API Key | 一串专属凭据,只给你一人。不要写进前端代码、公开仓库或截图里。 |
接入服务暂未开放:接入地址与 API Key 尚未开始发放,敬请期待后续开放公告。 开放后会在本页与常见问题页同步说明。
第 1 步:用 curl 验证 REST 查询
先确认网络与鉴权都通,再去写业务代码。
# 拉一条 AAPL 的逐笔成交(示例路径,实际以接口文档为准)
curl --compressed \
-H "Authorization: Bearer <你的KEY>" \
"https://api.massivequote.com/v3/trades/AAPL?limit=10"- 返回 JSON 且有数据 → 鉴权与网络都正常。
- 返回 401 / 403 → Key 不对或没带上。注意请求头名字是
Authorization。 - 返回 429 → 触发了每分钟请求数限速,按提示等待后重试。
第 2 步:用 WebSocket 订阅实时行情
# 命令行(需要 node 环境)
npx wscat -c "wss://<你的接入域名>/stocks"
# 连上后依次输入两行
{"action":"auth","params":"<你的KEY>"}
{"action":"subscribe","params":"T.AAPL"}# Python
import asyncio, json, websockets
async def main():
async with websockets.connect("wss://<你的接入域名>/stocks") as ws:
await ws.send(json.dumps({"action": "auth", "params": "<你的KEY>"}))
print(await ws.recv()) # 鉴权结果
await ws.send(json.dumps({"action": "subscribe", "params": "T.AAPL"}))
async for msg in ws:
print(msg) # 逐笔成交持续推送
asyncio.run(main())频道前缀与订阅语法见实时推送通道页。
第 3 步:改造已有代码
如果你已经在用官方 SDK 或官方地址,改动通常只有一处:
| 要改的地方 | 改成 |
|---|---|
| REST 的 base_url | 本站下发的接入地址 |
| WebSocket 的连接地址 | 本站下发的接入地址 + 对应资产类别的 path |
| API Key | 本站发给你的专属 Key |
| 接口路径与参数 | 不改 |
| 返回数据的解析逻辑 | 不改 |
批量历史数据
如果目的是把多年历史数据一次性拿下来做回测,不要用接口逐条拉 —— 改用批量文件通道,一天一个文件包。 注意它的对象存储凭证与 API Key 是两套独立凭据。
常见报错
| 现象 | 常见原因 |
|---|---|
| 401 / 403 | Key 未带上、带错位置,或 Key 已被停用。 |
| 404 | 接口路径拼错,或用了官方文档里本站未开放的产品线。 |
| 429 | 超出每分钟请求数限速,按响应提示等待后重试。 |
| WebSocket 连上但收不到数据 | 没有先发鉴权消息,或订阅的品种代码写错。 |
| WebSocket 被断开 | 连接数超出额度、账期流量耗尽,或网络抖动。重连后记得用 REST 回补空档。 |
| 下载文件 403 | 用了 API Key 去访问对象存储 —— 那里要用另一套凭证。 |