跳到正文

运行状态 · WebSocket ​

连接、鉴权及订阅限制见 WebSocket 概览。

取消订阅

订阅消息 (type: subscribe) ​

SENDsubscribe / status

客户端 → 服务端

接收 status 事件,包括可用的当前状态及后续变化。只订阅状态时无需资产、计价币、周期和来源参数。不指定资产字段时,可以与全资产行情订阅共存。

确认消息: subscribed

消息字段 ​

字段类型必填说明
typestring是固定为 subscribe。
可选值: "subscribe"
idstring否订阅 ID,默认 default。相同 ID 替换原订阅。
默认值: "default"
channelsstring[]是仅订阅本类数据时填写此值。
可选值: ["status"]

推送消息 (e: status) ​

RECEIVEstatus

服务端 → 客户端

订阅 status 后,如果当前状态可用则立即推送,之后推送状态变化。计划维护状态包含 scheduledEndAt,其他状态可省略该字段。状态事件不受 symbol、quote、interval、source 筛选影响。连接中断时无法收到故障消息,请独立监测 GET /v2/_hc。来源可用性使用同一频道和消息封装:sourceStates 是订阅、重连和重新同步时的完整快照,sourceChange 是单个来源的状态变化,sourceView 说明如何应用它们。来源标识区分 realtime_ws 的交易所/交易对数据流与 history_rest 的交易对/周期能力,后者包含辅助数据提供方。

消息字段 ​

字段类型必填说明
estring是固定为 status。
可选值: "status"
Einteger是Oracle 推送时间,Unix 毫秒。
statusstring是operational、planned_maintenance、partial_outage、full_outage。
可选值: "operational", "planned_maintenance", "partial_outage", "full_outage"
severitystring是info、warning 或 critical。
可选值: "info", "warning", "critical"
scopeobject是影响范围:system(布尔值)、assets(字符串数组)、sources(字符串数组)。全系统影响时不指定资产或来源。
scope.systemboolean否
scope.assetsstring[]否
scope.sourcesstring[]否
occurredAtinteger是状态发生时间,Unix 毫秒。
scheduledEndAtinteger否维护预计结束时间,Unix 毫秒。planned_maintenance 时必填,其他状态可省略。
messagestring否状态补充说明。
sourceStatesobject[]否按 id 排序的全部来源状态完整快照。当 sourceView.kind 为 snapshot 时,在订阅、重连和重新同步时发送。
sourceStates[].idstring是稳定的范围标识(exchange/capability[/pair[/interval]])。
sourceStates[].scopeobject是单个来源范围的标识:一个交易所能力,可选地细化到交易对和周期。
sourceStates[].scope.exchangestring是交易所 ID,例如 binance。
sourceStates[].scope.capabilitystring是实时 WebSocket 数据流或历史 REST 能力。
可选值: "realtime_ws", "history_rest"
sourceStates[].scope.pairstring否交易所原生市场;交易所级范围时省略。
sourceStates[].scope.intervalstring否原生周期(1m、1h、1d);交易所级或交易对级范围时省略。
sourceStates[].statestring是实时范围使用 starting、ok、reconnecting、reconfiguring、stale、maintenance;历史范围使用 healthy、observing、isolated、recovering;没有新报告时为 unknown;运维人员禁用该范围时为 disabled;实时范围从权威清单中移除时为 removed。
sourceStates[].freshnessstring是支撑该状态的 worker 报告是否为最新。
可选值: "fresh", "stale", "unknown"
sourceStates[].reasonstring否状态不健康的原因(如适用)。
可选值: "maintenance", "upstream_unavailable", "transport", "request_timeout", "message_stale", "report_stale", "report_missing", "unverified", "stream_gap"
sourceStates[].lastKnownStatestring否报告仍然新鲜时最后看到的状态,在 freshness 为 stale 或 unknown 期间保留。
sourceStates[].lastKnownReasonstring否与 lastKnownState 一同记录的原因。
sourceStates[].basestring否交易对范围的基础资产。
sourceStates[].quotestring否交易对范围的原生计价货币。
sourceStates[].enabledboolean否运维人员对该范围的启用设置;自动隔离不会修改它。
sourceStates[].observedAtinteger是观测到该状态的时间,Unix 毫秒。
sourceStates[].changedAtinteger是状态最近一次变化的时间,Unix 毫秒。
sourceStates[].lastMessageAtinteger否实时范围:上游最近一条消息的时间,Unix 毫秒。
sourceStates[].lastTradeAtinteger否实时范围:上游最近一笔成交的时间,Unix 毫秒。
sourceStates[].lastSuccessinteger否历史范围:最近一次经验证的历史获取成功时间,Unix 毫秒。
sourceStates[].nextProbeinteger否历史范围:下一次恢复探测的计划时间,Unix 毫秒。
sourceChangeobject否当 sourceView.kind 为 change 时的单个来源状态变化。即使整体服务状态未变,交易对的变化或恢复也会发送。
sourceChange.currentobject是一条共享的来源状态。REST 的 GET /v2/source-status 以 source_states 返回相同的状态,使用 snake_case 字段名和 RFC 3339 时间。
sourceChange.current.idstring是稳定的范围标识(exchange/capability[/pair[/interval]])。
sourceChange.current.scopeobject是单个来源范围的标识:一个交易所能力,可选地细化到交易对和周期。
sourceChange.current.scope.exchangestring是交易所 ID,例如 binance。
sourceChange.current.scope.capabilitystring是实时 WebSocket 数据流或历史 REST 能力。
可选值: "realtime_ws", "history_rest"
sourceChange.current.scope.pairstring否交易所原生市场;交易所级范围时省略。
sourceChange.current.scope.intervalstring否原生周期(1m、1h、1d);交易所级或交易对级范围时省略。
sourceChange.current.statestring是实时范围使用 starting、ok、reconnecting、reconfiguring、stale、maintenance;历史范围使用 healthy、observing、isolated、recovering;没有新报告时为 unknown;运维人员禁用该范围时为 disabled;实时范围从权威清单中移除时为 removed。
sourceChange.current.freshnessstring是支撑该状态的 worker 报告是否为最新。
可选值: "fresh", "stale", "unknown"
sourceChange.current.reasonstring否状态不健康的原因(如适用)。
可选值: "maintenance", "upstream_unavailable", "transport", "request_timeout", "message_stale", "report_stale", "report_missing", "unverified", "stream_gap"
sourceChange.current.lastKnownStatestring否报告仍然新鲜时最后看到的状态,在 freshness 为 stale 或 unknown 期间保留。
sourceChange.current.lastKnownReasonstring否与 lastKnownState 一同记录的原因。
sourceChange.current.basestring否交易对范围的基础资产。
sourceChange.current.quotestring否交易对范围的原生计价货币。
sourceChange.current.enabledboolean否运维人员对该范围的启用设置;自动隔离不会修改它。
sourceChange.current.observedAtinteger是观测到该状态的时间,Unix 毫秒。
sourceChange.current.changedAtinteger是状态最近一次变化的时间,Unix 毫秒。
sourceChange.current.lastMessageAtinteger否实时范围:上游最近一条消息的时间,Unix 毫秒。
sourceChange.current.lastTradeAtinteger否实时范围:上游最近一笔成交的时间,Unix 毫秒。
sourceChange.current.lastSuccessinteger否历史范围:最近一次经验证的历史获取成功时间,Unix 毫秒。
sourceChange.current.nextProbeinteger否历史范围:下一次恢复探测的计划时间,Unix 毫秒。
sourceChange.previousStatestring否变化前的状态;新观测到的来源省略该字段。
sourceChange.recoveryboolean是先前故障的来源被验证为恢复健康时为 true。
sourceViewobject否sourceStates 或 sourceChange 的来源信息;不携带来源视图的运行状态变化会省略该字段。
sourceView.schemaVersioninteger是固定为 1。
sourceView.publisherIdstring是生成该视图的 API 发布者。
sourceView.epochstring是发布者的 epoch;发布者重启视图时变化。
sourceView.revisioninteger是在同一发布者 epoch 内单调递增。
sourceView.kindstring是snapshot 携带 sourceStates,change 携带 sourceChange。
可选值: "snapshot", "change"
sourceView.completeboolean是快照包含所有已知来源时为 true。
sourceView.observedAtinteger是生成该视图的时间,Unix 毫秒。
sourceView.resyncboolean否发布者检测到 revision 缺口并重新发布完整快照时设置。