FSSN WebSocket API
WebSocket API 将在服务端收到新消息后自动向所有客户端推送相关信息。
服务版本: 1.0.0
地址: wss://fssn-api.fanstudio.tech/[路径]
心跳间隔: 服务端将在建立连接后及每 20 秒发送一个 heartbeat 心跳包以保持连接,客户端可回复 ping 包。
服务状态
正在加载服务状态...
可用路径
| 路径 (Path) | 说明 |
|---|---|
/all | 接收全部源推送 |
/fssn | FSSN 地震信息 |
/fssn-cmt | FSSN 地震矩心矩张量解 |
/all 全部源
同时订阅 /fssn 与 /fssn-cmt 的数据更新。
1. 初始全量数据 (initial_all)
连接建立后立即发送,包含所有数据源的最新快照。
{
"type": "initial_all",
"fssn": {
"Data": { ... },
"md5": "..."
},
"fssn-cmt": {
"Data": { ... },
"md5": "..."
}
}
2. 任一源更新
{
"type": "update",
"source": "fssn",
"Data": { ... },
"md5": "..."
}
source 为 fssn 或 fssn-cmt。
/fssn 地震信息
数据来源: FSSN 测报部
更新规则: 收到新信息后立即推送。
注: 该数据源包含全球范围内的地震信息
示例返回
{
"type": "initial",
"Data": {
"id": "FSSN2026tsch",
"shockTime": "2026-10-08 14:46:47",
"createTime": "2026-10-08 14:51:41",
"latitude": -52.5994,
"longitude": 140.3181,
"depth": 10,
"magnitude": 5.4,
"placeName": "West of Macquarie Island",
"placeName_zh": "麦夸里岛以西",
"infoTypeName": "正式(已核实)"
},
"md5": "44ce976cdee061fbaa6f082b65f39701"
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 地震事件唯一标识符。 |
shockTime | string | 地震发生时间(UTC+8,格式:YYYY-MM-DD HH:mm:ss)。 |
createTime | string | 事件创建时间(UTC+8) |
latitude | number | 震中纬度。 |
longitude | number | 震中经度。 |
depth | integer | 震源深度,单位:千米(km)。 |
magnitude | number | 地震震级。 |
placeName | string | 地震发生地英文名。 |
placeName_zh | string | 地震发生地中文名。 |
infoTypeName | string | 速报类型:正式(已核实) 或 已确认。 |
/fssn-cmt 地震矩心矩张量解
数据来源: FSSN 地震学部
更新规则: 地震发生后,FSSN地震学部完成 CMT 反演计算后推送
注:1.CMT 数据通常在地震发生后,由 FSSN 地震学部完成反演后报告,具有一定的滞后性,仅供学术研究。
2.eventId 可用于将此 CMT 解与常规速报接口 /fssn 的数据进行关联。 矩张量分量采用科学计数法字符串表示,方便物理机制分析与震源球绘制。
3.depth 字段包含误差估算值,解析时请注意其字符串格式。
示例返回
{
"type": "initial",
"Data": {
"id": "89af95a21d770842db969ef7",
"eventId": null,
"shockTime": "2026-10-07 00:48:24",
"latitude": 48.4319,
"longitude": 154.8273,
"depth": "44(+/- 5)",
"allMagnitudes": {
"M": 5.8,
"mB": 6,
"mb": 5.8,
"MLv": 6.1,
"Mwp": 5.9,
"Mww": 5.8,
"Mw(mB)": 5.7,
"Mw(Mwp)": 5.7
},
"placeName": "千岛群岛",
"centroidDepth": "18.3",
"nodalPlane1": "42/53/98",
"nodalPlane2": "209/38/80",
"mnn": "-1.6051e+17",
"mee": "-3.4374e+17",
"mdd": "5.0425e+17",
"mne": "2.7194e+17",
"mnd": "1.2415e+17",
"med": "-8.0017e+16"
},
"md5": "9fd08b7c79be3838cd33c19d9fcdf72a"
}
字段说明
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | CMT 数据唯一标识符。 |
eventId | string / null | 关联的FSSN 事件 ID;无法解析时为 null。 |
shockTime | string | 地震发生时间(UTC+8)。 |
latitude | number | 震中纬度。 |
longitude | number | 震中经度。 |
depth | string | 震源深度及误差。 |
allMagnitudes | object | 多种震级类型及数值。 |
placeName | string | 地震发生地地名。 |
centroidDepth | string | 矩心深度。 |
nodalPlane1 | string | 节面 1:走向/倾角/滑动角。 |
nodalPlane2 | string | 节面 2:走向/倾角/滑动角。 |
mnn / mee / mdd | string | 矩张量对角线分量(单位:N·m),分别对应北-北、东-东、垂直-垂直方向。 |
mne / mnd / med | string | 矩张量非对角线分量(单位:N·m),分别对应北-东、北-垂直、东-垂直方向。 |
消息协议
服务器推送消息
初始数据 (initial)
{
"type": "initial",
"Data": { ... },
"md5": "..."
}
数据更新 (update)
{
"type": "update",
"Data": { ... },
"md5": "..."
}
心跳包 (heartbeat)
{
"type": "heartbeat",
"ver": "1.0.0",
"id": "f6ca2cd1-e2d4-4ca9-b200-61cf77e4582a",
"timestamp": 1791443602092
}
客户端请求
心跳检测 (ping)
发送 "ping" 或 {"type":"ping"},服务器响应:
{
"type": "pong",
"id": "f6ca2cd1-e2d4-4ca9-b200-61cf77e4582a",
"timestamp": 1791443602092
}
查询当前数据 (query)
发送 "query" 或 {"type":"query"}。
在 /fssn 或 /fssn-cmt 频道,服务器响应:
{
"type": "query_response",
"Data": { ... },
"md5": "..."
}
在 /all 频道,服务器响应:
{
"type": "query_response",
"fssn": { "Data": { ... }, "md5": "..." },
"fssn-cmt": { "Data": { ... }, "md5": "..." }
}
客户端指令
| 指令 | 有效路径 | 服务端回复 | 说明 |
|---|---|---|---|
ping | 全部 | {"type":"pong",...} | 维持连接心跳。 |
query | 全部 | {"type":"query_response",...} | 查询当前最新数据。 |
fssnlist | /fssn、/all | {"type":"fssnlist_response","Data":[...]} | 返回全部 FSSN 事件数组。 |
cmtlist | /fssn-cmt、/all | {"type":"cmtlist_response","Data":[...]} | 返回全部 CMT 事件数组。 |
在错误路径发送不支持的指令将收到 {"type":"error","message":"不支持的消息类型: xxx"}。
注意事项
- 客户端需自行实现断线重连逻辑。
- FSSN 提供的数据非官方数据,仅供学术研究使用。
- 数据格式与对应业务接口一致。