サービス状態 · WebSocket
接続・認証・購読制限は WebSocket 概要を参照してください。
購読メッセージ (type: subscribe)
SEND
subscribe / statusクライアント → サーバー
利用可能な現在の状態と、その後の状態変化を status イベントとして受け取ります。状態のみの購読には資産・通貨・間隔・取引所の指定は不要です。資産を指定しなければ全資産の市場購読と併用できます。
応答: subscribed
メッセージのフィールド
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
type | string | はい | subscribe 固定。許容値: "subscribe" |
id | string | いいえ | 購読 ID。既定値は default。同じ ID は購読を置換します。既定値: "default" |
channels | string[] | はい | このフィードだけを購読する場合に指定する値。 許容値: ["status"] |
配信メッセージ (e: status)
RECEIVE
statusサーバー → クライアント
status を購読すると、利用可能な場合は現在の状態、その後は状態の変化を受け取ります。計画メンテナンスには scheduledEndAt が含まれ、その他の状態では省略される場合があります。状態イベントには symbol、quote、interval、source のフィルターは適用されません。接続障害時にはメッセージを受信できないため、GET /v2/_hc も別途監視してください。ソースの可用性も同じチャネルと封筒で配信されます。sourceStates は購読・再接続・再同期時の完全なスナップショット、sourceChange は 1 つのソースの遷移、sourceView はそれらの適用方法を示します。ソースの識別子は realtime_ws の取引所/ペアのフィードと、補助プロバイダーを含む history_rest のペア/間隔の機能を区別します。
メッセージのフィールド
| フィールド | 型 | 必須 | 説明 |
|---|---|---|---|
e | string | はい | status 固定。許容値: "status" |
E | integer | はい | Oracle 配信時刻(Unix ミリ秒)。 |
status | string | はい | operational、planned_maintenance、partial_outage、full_outage。許容値: "operational", "planned_maintenance", "partial_outage", "full_outage" |
severity | string | はい | info、warning、critical。許容値: "info", "warning", "critical" |
scope | object | はい | 影響範囲: system(真偽値)、assets(文字列配列)、sources(文字列配列)。システム全体の場合は資産やソースを指定しません。 |
scope.system | boolean | いいえ | |
scope.assets | string[] | いいえ | |
scope.sources | string[] | いいえ | |
occurredAt | integer | はい | 状態が発生した時刻(Unix ミリ秒)。 |
scheduledEndAt | integer | いいえ | メンテナンス終了予定(Unix ミリ秒)。planned_maintenance では必須、その他の状態では任意です。 |
message | string | いいえ | 状態の補足説明。 |
sourceStates | object[] | いいえ | id 順に並んだ全ソース状態の完全なスナップショット。sourceView.kind が snapshot のとき、購読・再接続・再同期時に送信されます。 |
sourceStates[].id | string | はい | 安定した範囲識別子(exchange/capability[/pair[/interval]])。 |
sourceStates[].scope | object | はい | 1 つのソース範囲の識別子: 取引所の機能を、必要に応じてペアと間隔で絞り込んだもの。 |
sourceStates[].scope.exchange | string | はい | 取引所 ID(例: binance)。 |
sourceStates[].scope.capability | string | はい | リアルタイム WebSocket フィードまたは履歴 REST の機能。 許容値: "realtime_ws", "history_rest" |
sourceStates[].scope.pair | string | いいえ | 取引所固有の市場。取引所全体の範囲では省略されます。 |
sourceStates[].scope.interval | string | いいえ | 固有の間隔(1m、1h、1d)。取引所またはペア全体の範囲では省略されます。 |
sourceStates[].state | string | はい | リアルタイム範囲は starting、ok、reconnecting、reconfiguring、stale、maintenance、履歴範囲は healthy、observing、isolated、recovering を使います。新しいレポートがない場合は unknown、運用者が範囲を無効化した場合は disabled、リアルタイム範囲が正式な一覧から外れた場合は removed です。 |
sourceStates[].freshness | string | はい | この状態の根拠となるワーカーのレポートが最新かどうか。 許容値: "fresh", "stale", "unknown" |
sourceStates[].reason | string | いいえ | 状態が正常でない理由(該当する場合)。 許容値: "maintenance", "upstream_unavailable", "transport", "request_timeout", "message_stale", "report_stale", "report_missing", "unverified", "stream_gap" |
sourceStates[].lastKnownState | string | いいえ | レポートが新しかった時点で最後に確認した状態。freshness が stale または unknown の間保持されます。 |
sourceStates[].lastKnownReason | string | いいえ | lastKnownState とともに記録された理由。 |
sourceStates[].base | string | いいえ | ペア範囲の基軸資産。 |
sourceStates[].quote | string | いいえ | ペア範囲の固有の決済通貨。 |
sourceStates[].enabled | boolean | いいえ | 運用者による範囲の有効化。自動隔離はこれを変更しません。 |
sourceStates[].observedAt | integer | はい | この状態を観測した時刻(Unix ミリ秒)。 |
sourceStates[].changedAt | integer | はい | 状態が最後に変化した時刻(Unix ミリ秒)。 |
sourceStates[].lastMessageAt | integer | いいえ | リアルタイム範囲: 上流からの最後のメッセージ(Unix ミリ秒)。 |
sourceStates[].lastTradeAt | integer | いいえ | リアルタイム範囲: 上流での最後の約定(Unix ミリ秒)。 |
sourceStates[].lastSuccess | integer | いいえ | 履歴範囲: 最後に検証された履歴取得の成功(Unix ミリ秒)。 |
sourceStates[].nextProbe | integer | いいえ | 履歴範囲: 次回の回復プローブの予定(Unix ミリ秒)。 |
sourceChange | object | いいえ | sourceView.kind が change のときの 1 つのソースの遷移。ペアの変化や回復は、全体のサービス状態が変わらなくても送信されます。 |
sourceChange.current | object | はい | 共有されるソース状態の 1 件。REST の GET /v2/source-status は同じ状態を source_states として snake_case 名と RFC 3339 の時刻で返します。 |
sourceChange.current.id | string | はい | 安定した範囲識別子(exchange/capability[/pair[/interval]])。 |
sourceChange.current.scope | object | はい | 1 つのソース範囲の識別子: 取引所の機能を、必要に応じてペアと間隔で絞り込んだもの。 |
sourceChange.current.scope.exchange | string | はい | 取引所 ID(例: binance)。 |
sourceChange.current.scope.capability | string | はい | リアルタイム WebSocket フィードまたは履歴 REST の機能。 許容値: "realtime_ws", "history_rest" |
sourceChange.current.scope.pair | string | いいえ | 取引所固有の市場。取引所全体の範囲では省略されます。 |
sourceChange.current.scope.interval | string | いいえ | 固有の間隔(1m、1h、1d)。取引所またはペア全体の範囲では省略されます。 |
sourceChange.current.state | string | はい | リアルタイム範囲は starting、ok、reconnecting、reconfiguring、stale、maintenance、履歴範囲は healthy、observing、isolated、recovering を使います。新しいレポートがない場合は unknown、運用者が範囲を無効化した場合は disabled、リアルタイム範囲が正式な一覧から外れた場合は removed です。 |
sourceChange.current.freshness | string | はい | この状態の根拠となるワーカーのレポートが最新かどうか。 許容値: "fresh", "stale", "unknown" |
sourceChange.current.reason | string | いいえ | 状態が正常でない理由(該当する場合)。 許容値: "maintenance", "upstream_unavailable", "transport", "request_timeout", "message_stale", "report_stale", "report_missing", "unverified", "stream_gap" |
sourceChange.current.lastKnownState | string | いいえ | レポートが新しかった時点で最後に確認した状態。freshness が stale または unknown の間保持されます。 |
sourceChange.current.lastKnownReason | string | いいえ | lastKnownState とともに記録された理由。 |
sourceChange.current.base | string | いいえ | ペア範囲の基軸資産。 |
sourceChange.current.quote | string | いいえ | ペア範囲の固有の決済通貨。 |
sourceChange.current.enabled | boolean | いいえ | 運用者による範囲の有効化。自動隔離はこれを変更しません。 |
sourceChange.current.observedAt | integer | はい | この状態を観測した時刻(Unix ミリ秒)。 |
sourceChange.current.changedAt | integer | はい | 状態が最後に変化した時刻(Unix ミリ秒)。 |
sourceChange.current.lastMessageAt | integer | いいえ | リアルタイム範囲: 上流からの最後のメッセージ(Unix ミリ秒)。 |
sourceChange.current.lastTradeAt | integer | いいえ | リアルタイム範囲: 上流での最後の約定(Unix ミリ秒)。 |
sourceChange.current.lastSuccess | integer | いいえ | 履歴範囲: 最後に検証された履歴取得の成功(Unix ミリ秒)。 |
sourceChange.current.nextProbe | integer | いいえ | 履歴範囲: 次回の回復プローブの予定(Unix ミリ秒)。 |
sourceChange.previousState | string | いいえ | この遷移前の状態。新たに観測されたソースでは省略されます。 |
sourceChange.recovery | boolean | はい | 以前に障害だったソースが正常と検証された場合に true。 |
sourceView | object | いいえ | sourceStates または sourceChange の出所。ソースビューを伴わない運用状態の遷移では省略されます。 |
sourceView.schemaVersion | integer | はい | 常に 1。 |
sourceView.publisherId | string | はい | ビューを生成した API パブリッシャー。 |
sourceView.epoch | string | はい | パブリッシャーの epoch。パブリッシャーがビューを再開すると変わります。 |
sourceView.revision | integer | はい | パブリッシャーの epoch 内で単調増加します。 |
sourceView.kind | string | はい | snapshot は sourceStates を、change は sourceChange を伴います。許容値: "snapshot", "change" |
sourceView.complete | boolean | はい | スナップショットが既知のすべてのソースを含む場合に true。 |
sourceView.observedAt | integer | はい | ビューを生成した時刻(Unix ミリ秒)。 |
sourceView.resync | boolean | いいえ | パブリッシャーが revision の欠落を検出して完全なスナップショットを再配信した場合に設定されます。 |
