/api/sd/quality
GET可用

資料品質矩陣(採集器視角)

自研資料層:資料品質矩陣(交易所 × 資料族)

GET/api/sd/quality

請求

此端點不接受任何參數。

請求範例

curl -s "https://www.coinboss.com/api/sd/quality"

回應欄位

欄位表由真實回應產生,因此列出的正是端點實際回傳的內容。路徑中的 a[] 代表陣列元素,{*} 代表以動態名稱(例如幣種或交易所)為鍵的物件。

欄位型別單位說明
successboolean—請求成功時為 true。失敗時回應內容為 `{ success: false, code, error, request_id }`。
nownumberms建立回應時的伺服器時間。
familiesarray—針對每家交易所檢查的資料族,依顯示順序排列。
families[]string—資料族 ID:`ticker`、`oi`、`funding`、`funding_settle`、`liquidation`、`ls`、`spot` 或 `sd_contracts`。
exchangesarray—交易所。
exchanges[]string—交易所。
matrixobject—以列與欄為鍵的矩陣。 動態鍵: aster,backpack,binance,bingx,bitfinex,bitget
matrix.{*}object—以列與欄為鍵的矩陣。 動態鍵: ticker,oi,funding,funding_settle,liquidation,ls
matrix.{*}.tickerobject—該交易所合約行情的新鮮度:`status`、資料列數、`age_s`,以及新鮮/可用視窗。對應表的鍵為交易所 ID。 可能不存在
matrix.{*}.ticker.statusstring—狀態。 可能不存在
matrix.{*}.ticker.rowsnumber—結果資料列。 可能不存在
matrix.{*}.ticker.rows_freshnumber—在新鮮視窗內更新的資料列。 可能不存在
matrix.{*}.ticker.rows_usablenumber—在可用視窗內的資料列。 可能不存在
matrix.{*}.ticker.rows_orphannumber—其合約已下架的資料列。 可能不存在
matrix.{*}.ticker.rows_invalidnumber—未通過驗證的資料列。 可能不存在
matrix.{*}.ticker.age_snumbers此資料列距上次更新的秒數。 可能不存在
matrix.{*}.ticker.fresh_within_snumbers新鮮視窗:比此時間更新的資料視為新鮮。 可能不存在
matrix.{*}.ticker.usable_within_snumbers比此時間更舊的資料完全不會使用。 可能不存在
matrix.{*}.oiobject—持倉量。 可能不存在
matrix.{*}.oi.statusstring—狀態。 可能不存在
matrix.{*}.oi.rowsnumber—結果資料列。 可能不存在
matrix.{*}.oi.rows_freshnumber—在新鮮視窗內更新的資料列。 可能不存在
matrix.{*}.oi.rows_usablenumber—在可用視窗內的資料列。 可能不存在
matrix.{*}.oi.rows_orphannumber—其合約已下架的資料列。 可能不存在
matrix.{*}.oi.rows_invalidnumber—未通過驗證的資料列。 可能不存在
matrix.{*}.oi.age_snumbers此資料列距上次更新的秒數。 可能不存在
matrix.{*}.oi.fresh_within_snumbers新鮮視窗:比此時間更新的資料視為新鮮。 可能不存在
matrix.{*}.oi.usable_within_snumbers比此時間更舊的資料完全不會使用。 可能不存在
matrix.{*}.fundingobject—資金費率區塊或數值。 可能不存在
matrix.{*}.funding.statusstring—狀態。 可能不存在
matrix.{*}.funding.rowsnumber—結果資料列。 可能不存在
matrix.{*}.funding.rows_freshnumber—在新鮮視窗內更新的資料列。 可能不存在
matrix.{*}.funding.rows_usablenumber—在可用視窗內的資料列。 可能不存在
matrix.{*}.funding.rows_orphannumber—其合約已下架的資料列。 可能不存在
matrix.{*}.funding.rows_invalidnumber—未通過驗證的資料列。 可能不存在
matrix.{*}.funding.age_snumbers此資料列距上次更新的秒數。 可能不存在
matrix.{*}.funding.fresh_within_snumbers新鮮視窗:比此時間更新的資料視為新鮮。 可能不存在
matrix.{*}.funding.usable_within_snumbers比此時間更舊的資料完全不會使用。 可能不存在
matrix.{*}.funding.rows_unknown_intervalnumbercount過去 4 小時內有更新、但結算週期不明的資金費率資料列,因此無法歸一為 8 小時;只要有這類資料列,該儲存格即為 `partial`。 可能不存在
matrix.{*}.funding.rows_no_next_timenumberms時間戳記。 可能不存在
matrix.{*}.funding.rows_no_livenessnumbercount近期有更新、但所屬合約沒有實際交易跡象(已下架或沒有成交量)的資金費率資料列;不計入新鮮度統計。 可能不存在
matrix.{*}.funding_settleobject—該交易所資金費率結算歷史的新鮮度:`status`、最新一次結算的 `age_s`、`symbols` 與 `history_from`。 可能不存在
matrix.{*}.funding_settle.statusstring—狀態。 可能不存在
matrix.{*}.funding_settle.age_snumbers此資料列距上次更新的秒數。 可能不存在
matrix.{*}.funding_settle.symbolsnumber—交易對。 可能不存在
matrix.{*}.funding_settle.history_fromnumberms所保存的最早紀錄。 可能不存在
matrix.{*}.funding_settle.fresh_within_snumbers新鮮視窗:比此時間更新的資料視為新鮮。 可能不存在
matrix.{*}.liquidationobject—爆倉區塊。 可能不存在
matrix.{*}.liquidation.statusstring—狀態。 可能不存在
matrix.{*}.liquidation.viastring—採集路徑。 可能不存在
matrix.{*}.liquidation.last_event_age_snumber|nulls距該事件的秒數。 可能不存在
matrix.{*}.liquidation.events_1hnumbercount過去 1 小時內自此交易所儲存的爆倉單;各交易所的最小訂單規模不同,因此筆數不具可比性。 可能不存在
matrix.{*}.liquidation.events_24hnumbercount過去 24 小時內自此交易所儲存的爆倉單;各交易所的最小訂單規模不同,因此筆數不具可比性。 可能不存在
matrix.{*}.liquidation.ws_heartbeat_age_snumber|nulls距該事件的秒數。 可能不存在
matrix.{*}.liquidation.judged_bystring—狀態是依哪個時間戳記判定的。 可能不存在
matrix.{*}.liquidation.idle_ok_snumbers對此交易所而言仍屬正常的最長無爆倉間隔;間隔更長時,該資料來源會標示為 `stale`。 可能不存在
matrix.{*}.lsobject—該交易所多空比資料列的新鮮度:`status`、資料列數、`age_s`,以及新鮮/可用視窗。 可能不存在
matrix.{*}.ls.statusstring—狀態。 可能不存在
matrix.{*}.ls.reasonstring—原因代碼。 可能不存在
matrix.{*}.spotobject—現貨市場區塊或數值。 可能不存在
matrix.{*}.spot.statusstring—狀態。 可能不存在
matrix.{*}.spot.reasonstring—原因代碼。 可能不存在
matrix.{*}.sd_contractsobject—該交易所幣本位、USDC 本位與交割合約資料列的新鮮度:`status`、資料列數與 `age_s`。 可能不存在
matrix.{*}.sd_contracts.statusstring—狀態。 可能不存在
matrix.{*}.sd_contracts.reasonstring—原因代碼。 可能不存在
matrix.{*}.funding_settle.reasonstring—原因代碼。 可能不存在
matrix.{*}.liquidation.reasonstring—原因代碼。 可能不存在
matrix.{*}.liquidation.notestring—備註。 可能不存在
matrix.{*}.ls.rowsnumber—結果資料列。 可能不存在
matrix.{*}.ls.rows_freshnumber—在新鮮視窗內更新的資料列。 可能不存在
matrix.{*}.ls.rows_usablenumber—在可用視窗內的資料列。 可能不存在
matrix.{*}.ls.rows_orphannumber—其合約已下架的資料列。 可能不存在
matrix.{*}.ls.rows_invalidnumber—未通過驗證的資料列。 可能不存在
matrix.{*}.ls.age_snumbers此資料列距上次更新的秒數。 可能不存在
matrix.{*}.ls.fresh_within_snumbers新鮮視窗:比此時間更新的資料視為新鮮。 可能不存在
matrix.{*}.ls.usable_within_snumbers比此時間更舊的資料完全不會使用。 可能不存在
matrix.{*}.spot.age_snumbers此資料列距上次更新的秒數。 可能不存在
matrix.{*}.spot.coinsnumber—幣種。 可能不存在
matrix.{*}.spot.fresh_within_snumbers新鮮視窗:比此時間更新的資料視為新鮮。 可能不存在
matrix.{*}.spot.notestring—備註。 可能不存在
matrix.{*}.sd_contracts.rowsnumber—結果資料列。 可能不存在
matrix.{*}.sd_contracts.rows_freshnumber—在新鮮視窗內更新的資料列。 可能不存在
matrix.{*}.sd_contracts.age_snumbers此資料列距上次更新的秒數。 可能不存在
matrix.{*}.sd_contracts.rows_without_oinumbercount沒有 USD 持倉量數值的合約資料列。 可能不存在
matrix.{*}.sd_contracts.rows_oi_promotednumbercount持倉量同時計入全站持倉量總額的合約資料列。 可能不存在
matrix.{*}.sd_contracts.fresh_within_snumbers新鮮視窗:比此時間更新的資料視為新鮮。 可能不存在
matrix.{*}.{*}object—以列與欄為鍵的矩陣。
matrix.{*}.{*}.statusstring—狀態。
matrix.{*}.{*}.reasonstring—原因代碼。 可能不存在
matrix.{*}.{*}.age_snumbers此資料列距上次更新的秒數。 可能不存在
matrix.{*}.{*}.coinsnumber—幣種。 可能不存在
matrix.{*}.{*}.fresh_within_snumbers新鮮視窗:比此時間更新的資料視為新鮮。 可能不存在
matrix.{*}.{*}.notestring—備註。 可能不存在
matrix.{*}.oi.reasonstring—原因代碼。 可能不存在
matrix.{*}.{*}.rowsnumber—結果資料列。 可能不存在
matrix.{*}.{*}.rows_freshnumber—在新鮮視窗內更新的資料列。 可能不存在
matrix.{*}.{*}.rows_usablenumber—在可用視窗內的資料列。 可能不存在
matrix.{*}.{*}.rows_orphannumber—其合約已下架的資料列。 可能不存在
matrix.{*}.{*}.rows_invalidnumber—未通過驗證的資料列。 可能不存在
matrix.{*}.{*}.usable_within_snumbers比此時間更舊的資料完全不會使用。 可能不存在
matrix.{*}.ticker.deadboolean—僅在 `status` 為 `stale` 時出現:連可用視窗內也沒有任何資料列時為 true,此時該交易所會被排除在彙總之外。 可能不存在
matrix.{*}.funding.reasonstring—原因代碼。 可能不存在
matrix.{*}.liquidation.pipeline_last_event_age_snumbers距該事件的秒數。 可能不存在
matrix.{*}.liquidation.node_heartbeat_age_snumbers距該事件的秒數。 可能不存在
summaryobject—摘要區塊。
summary.freshnumbercount狀態為 `fresh` 的「交易所 × 資料族」儲存格數量。
summary.partialnumber—僅有部分預期資料時為 true。
summary.stalenumber—超出新鮮視窗的資料列,或其標記。
summary.invalidnumbercount狀態為 `invalid` 的「交易所 × 資料族」儲存格數量。
summary.unavailablenumber—沒有資料的項目及其原因。絕不會回報為 0。
sourcesarray—資料來源。
sources[]object—資料來源。
sources[].exchangestring—交易所 ID,小寫(例如 `binance`)。
sources[].familystring—此健康紀錄所屬採集器工作的資料族,例如 `oi`、`funding`、`ticker`。
sources[].endpointstring—所追蹤上游呼叫的標籤:被輪詢之公開 API 的主機與路徑,或內部檢查的名稱。
sources[].okboolean—最近一次嘗試失敗時為 false,亦即最後一次錯誤比最後一次成功更新。
sources[].last_ok_age_snumber|nulls距該事件的秒數。
sources[].last_err_age_snumber|nulls距該事件的秒數。
sources[].last_statusnumber—最近一次呼叫的 HTTP 狀態。
sources[].last_errorstring|null—最近一次失敗的錯誤文字,截短為 160 個字元;沒有紀錄時為 null。
sources[].last_msnumberms最近一次呼叫的耗時;未量測時為 null。
sources[].fail_streaknumbercount截至目前連續失敗的呼叫次數;成功後歸 0。
sources[].ok_countnumbercount健康日誌中記錄的成功呼叫次數。
sources[].err_countnumbercount健康日誌中記錄的失敗呼叫次數。
sources[].http_429numbercount回應為 HTTP 429(遭限流)的失敗呼叫次數。
sources[].http_403numbercount回應為 HTTP 403(禁止存取)的失敗呼叫次數。
sources[].http_5xxnumbercount回應為 HTTP 5xx 狀態的失敗呼叫次數。
sources[].timeoutsnumbercount逾時的失敗呼叫次數。
errorsobject—資料族 ID 與錯誤訊息的對應表,列出檢查本身失敗的資料族;所有檢查皆已執行時為空。
alertsarray—資料品質巡檢中未解除、或在過去 24 小時內解除的告警,未解除者排在前面(最多 200 筆)。
alerts[]object—單一告警:`level`、`exchange`、`family`、`code`、`detail`、發出/最後觀測/解除時間、`hits` 與 `open`。
alerts[].levelstring—等級。
alerts[].exchangestring—交易所 ID,小寫(例如 `binance`)。
alerts[].familystring—告警所涉及的資料族。
alerts[].codestring—代碼。
alerts[].detailstring—詳細說明。
alerts[].opened_atnumberms時間戳記。
alerts[].last_seen_atnumberms時間戳記。
alerts[].resolved_atnumber|nullms時間戳記。
alerts[].hitsnumbercount自告警發出以來,觀測到該狀況的巡檢次數(每 5 分鐘一次)。
alerts[].openboolean—該期間的開盤價。
monitorobject—監控本身的健康狀況:最近一次巡檢距今的時間、採集器心跳距今的時間,以及 `patrol_ok`。
monitor.alert_job_age_snumbers距該事件的秒數。
monitor.collector_heartbeat_age_snumbers距該事件的秒數。
monitor.patrol_okboolean—巡檢在過去 15 分鐘內執行過時為 true;為 false 時 `alerts` 清單可能不是最新的。
legendobject—每種儲存格狀態定義的純文字說明。
legend.freshstring—狀態 `fresh` 的定義。
legend.partialstring—僅有部分預期資料時為 true。
legend.stalestring—超出新鮮視窗的資料列,或其標記。
legend.invalidstring—狀態 `invalid` 的定義。
legend.unavailablestring—沒有資料的項目及其原因。絕不會回報為 0。

產生於 2026-11-11 23:01 UTC,依據 1 筆真實回應。

回應範例

/api/sd/quality · 真實回應,擷取於 2026-11-13 03:53:45 UTC。 較長的陣列與對應表已截短顯示:alerts 原有 3 個項目; matrix 原有 29 個項目; sources 原有 262 個項目; exchanges 原有 29 個項目。

  • {
    • "success": true,
    • "now": 1794542017525,
    • "families": [
      • "ticker",
      • "oi",
      • "funding",
      • "funding_settle",
      • "liquidation",
      • "ls",
      • "spot",
      • "sd_contracts"
      ],
    • "exchanges": [
      • "aster",
      • "backpack",
      • "binance",
      • "bingx",
      • "bitfinex",
      • "bitget",
      • "bitstamp",
      • "bitunix"
      ],
    • "matrix": {
      • "aster": { … 8 },
      • "backpack": { … 8 }
      },
    • "summary": {
      • "fresh": 123,
      • "partial": 7,
      • "stale": 1,
      • "invalid": 0,
      • "unavailable": 101
      },
    • "sources": [
      • { … 16 },
      • { … 16 }
      ],
    • "errors": {},
    • "alerts": [
      • { … 10 },
      • { … 10 }
      ],
    • "monitor": {
      • "alert_job_age_s": 280,
      • "collector_heartbeat_age_s": 35,
      • "patrol_ok": true
      },
    • "legend": {
      • "fresh": "data timestamps within the fresh window",
      • "partial": "some rows outside the fresh window or missing a required field",
      • "stale": "no row within the fresh window (dead=true: also outside the usable window, excluded from aggregates)",
      • "invalid": "more than half of usable rows fail sanity checks",
      • "unavailable": "no public source or not collected; shown as —, never 0"
      }
    }

詳細資訊

身分驗證
無。公開端點。
速率限制
每個 IP 每分鐘 1200 次請求
伺服器快取
20s
邊緣微快取
10s
更新頻率
矩陣於請求時計算(行程內暫存 20 s);告警作業每 5 min
時間視窗
最新狀態;最近 24 h 內未解除或已解除的告警
資料來源
資料新鮮度矩陣(交易所 x 資料族),由 CoinBoss 依自有採集資料表的時間戳記自行計算。
交易所覆蓋範圍
任何已採集資料族中出現的所有交易所;缺少的來源會回報為 unavailable 並附上原因
分頁
告警上限為 200 筆
單位
status per cell: fresh | partial | stale | invalid | unavailable; ages in seconds
計算方法
fresh = >= 90% of live rows inside the family's freshness window (tickers 5 min, OI 15 min / cme 36 h, funding 15 min, long/short 90 min); liquidation feeds judged by WebSocket heartbeat or time since last event; funding settlements fresh within 9 h; spot snapshots within 30 min
時間戳記
Unix epoch 毫秒(UTC),除非欄位說明另有註明
回應格式
json
穩定性
穩定版
上線時間
2026-11-11

即時狀態

可用檢查於 2026-11-13 03:53:45 UTCHTTP 2004 ms結構描述相符最新資料點距今 5m

近 30 天可用率

407 次檢查中有 100% 通過

最近一次探測發現結構描述偏移
  • 回應中有但文件未記載: matrix.{*}.{*}.rows_unknown_interval, matrix.{*}.{*}.rows_no_next_time, matrix.{*}.{*}.rows_no_liveness, matrix.{*}.{*}.symbols, matrix.{*}.{*}.history_from, matrix.{*}.{*}.via, matrix.{*}.{*}.last_event_age_s, matrix.{*}.{*}.events_1h, matrix.{*}.{*}.events_24h, matrix.{*}.{*}.ws_heartbeat_age_s, matrix.{*}.{*}.judged_by, matrix.{*}.{*}.idle_ok_s

錯誤

所有端點的失敗回應都採用同一種結構。完整清單請見錯誤頁面。 錯誤與速率限制 →

錯誤碼HTTP意義處理方式
INVALID_PARAM400缺少必填參數,或某個值不被接受。已知時,`param` 會指出是哪個參數。請勿原樣重試;請修正請求。
UNAUTHORIZED401已送出 `CB-API-KEY` 標頭,但金鑰未知或已撤銷。公開資料不需要金鑰——請移除該標頭或改用有效的金鑰。請勿原樣重試。
FORBIDDEN403此路由不屬於公開 API(內部或僅限帳戶使用)。請勿重試。
NOT_FOUND404未知的路由,或所請求的幣種/交易所/基金不存在。請勿重試;請對照目錄檢查路徑與識別碼。
RATE_LIMITED429請求數超過每分鐘上限。`Retry-After` 會指出需等待的秒數。等待 `Retry-After` 指定的時間後,再以退避策略重試。
INTERNAL500非預期的伺服器錯誤。訊息刻意保持籠統;回報時請附上 `request_id`。幾秒後重試一次;若問題持續,請附上請求 ID 回報。
UPSTREAM_FAILED503此端點背後的資料來源未及時回應。不會以過期或替代的數字代替回傳。以退避策略重試;並查看狀態頁面。
UNAVAILABLE501 / 503資料集暫時尚未就緒(快取預熱中),或此端點目前尚無合法的公開來源。稍後重試;目錄會標示出設計上即無法使用的端點。
REQUEST_FAILED200部分舊版端點會以 HTTP 200 回應但帶有 `success: false`。請務必檢查 `success`,而不只是 HTTP 狀態碼。視訊息而定;請當作失敗的請求處理。

試用

GET/api/sd/quality可用
參數

無參數。

請求 URLhttps://www.coinboss.com/api/sd/quality
選擇一個端點並按下「送出請求」。回應內容、標頭與耗時會顯示在這裡。