Matrice della qualità dei dati (vista del collector)
Livello dati proprio: matrice della qualità dei dati (exchange × famiglia di dati)
/api/sd/qualityRichiesta
Questo endpoint non accetta parametri.
Richiesta di esempio
curl -s "https://www.coinboss.com/api/sd/quality"Campi della risposta
La tabella dei campi è generata da risposte reali, quindi elenca esattamente ciò che l'endpoint restituisce. I percorsi usano a[] per gli elementi di un array e {*} per gli oggetti indicizzati da un nome dinamico, come una moneta o un exchange.
| Campo | Tipo | Unità | Descrizione |
|---|---|---|---|
| success | boolean | — | true quando la richiesta è riuscita. In caso di errore il corpo è `{ success: false, code, error, request_id }`. |
| now | number | ms | Ora del server al momento della composizione della risposta. |
| families | array | — | Famiglie di dati controllate per ogni exchange, in ordine di visualizzazione. |
| families[] | string | — | ID della famiglia: `ticker`, `oi`, `funding`, `funding_settle`, `liquidation`, `ls`, `spot` o `sd_contracts`. |
| exchanges | array | — | Exchange. |
| exchanges[] | string | — | Exchange. |
| matrix | object | — | Matrice indicizzata per riga e colonna. chiavi dinamiche: aster,backpack,binance,bingx,bitfinex,bitget |
| matrix.{*} | object | — | Matrice indicizzata per riga e colonna. chiavi dinamiche: ticker,oi,funding,funding_settle,liquidation,ls |
| matrix.{*}.ticker | object | — | Freschezza dei ticker futures dell'exchange: `status`, conteggi delle righe, `age_s` e le finestre di freschezza / di utilizzabilità. Le chiavi della mappa sono gli ID degli exchange. può essere assente |
| matrix.{*}.ticker.status | string | — | Stato. può essere assente |
| matrix.{*}.ticker.rows | number | — | Righe del risultato. può essere assente |
| matrix.{*}.ticker.rows_fresh | number | — | Righe aggiornate entro la finestra di freschezza. può essere assente |
| matrix.{*}.ticker.rows_usable | number | — | Righe entro la finestra di utilizzabilità. può essere assente |
| matrix.{*}.ticker.rows_orphan | number | — | Righe il cui contratto non è più quotato. può essere assente |
| matrix.{*}.ticker.rows_invalid | number | — | Righe rifiutate dalla convalida. può essere assente |
| matrix.{*}.ticker.age_s | number | s | Secondi trascorsi dall'ultimo aggiornamento di questa riga. può essere assente |
| matrix.{*}.ticker.fresh_within_s | number | s | Finestra di freschezza: i dati più recenti di questo valore sono considerati aggiornati. può essere assente |
| matrix.{*}.ticker.usable_within_s | number | s | I dati più vecchi di questo valore non vengono usati affatto. può essere assente |
| matrix.{*}.oi | object | — | Open interest. può essere assente |
| matrix.{*}.oi.status | string | — | Stato. può essere assente |
| matrix.{*}.oi.rows | number | — | Righe del risultato. può essere assente |
| matrix.{*}.oi.rows_fresh | number | — | Righe aggiornate entro la finestra di freschezza. può essere assente |
| matrix.{*}.oi.rows_usable | number | — | Righe entro la finestra di utilizzabilità. può essere assente |
| matrix.{*}.oi.rows_orphan | number | — | Righe il cui contratto non è più quotato. può essere assente |
| matrix.{*}.oi.rows_invalid | number | — | Righe rifiutate dalla convalida. può essere assente |
| matrix.{*}.oi.age_s | number | s | Secondi trascorsi dall'ultimo aggiornamento di questa riga. può essere assente |
| matrix.{*}.oi.fresh_within_s | number | s | Finestra di freschezza: i dati più recenti di questo valore sono considerati aggiornati. può essere assente |
| matrix.{*}.oi.usable_within_s | number | s | I dati più vecchi di questo valore non vengono usati affatto. può essere assente |
| matrix.{*}.funding | object | — | Blocco o valore del tasso di finanziamento. può essere assente |
| matrix.{*}.funding.status | string | — | Stato. può essere assente |
| matrix.{*}.funding.rows | number | — | Righe del risultato. può essere assente |
| matrix.{*}.funding.rows_fresh | number | — | Righe aggiornate entro la finestra di freschezza. può essere assente |
| matrix.{*}.funding.rows_usable | number | — | Righe entro la finestra di utilizzabilità. può essere assente |
| matrix.{*}.funding.rows_orphan | number | — | Righe il cui contratto non è più quotato. può essere assente |
| matrix.{*}.funding.rows_invalid | number | — | Righe rifiutate dalla convalida. può essere assente |
| matrix.{*}.funding.age_s | number | s | Secondi trascorsi dall'ultimo aggiornamento di questa riga. può essere assente |
| matrix.{*}.funding.fresh_within_s | number | s | Finestra di freschezza: i dati più recenti di questo valore sono considerati aggiornati. può essere assente |
| matrix.{*}.funding.usable_within_s | number | s | I dati più vecchi di questo valore non vengono usati affatto. può essere assente |
| matrix.{*}.funding.rows_unknown_interval | number | count | Righe di finanziamento aggiornate nelle ultime 4 ore il cui intervallo di regolamento è sconosciuto, per cui non possono essere normalizzate a 8 ore; una qualsiasi di queste righe rende la cella `partial`. può essere assente |
| matrix.{*}.funding.rows_no_next_time | number | ms | Timestamp. può essere assente |
| matrix.{*}.funding.rows_no_liveness | number | count | Righe di finanziamento aggiornate di recente su contratti senza alcuna evidenza di scambi attivi (rimossi dal listino o senza volume); escluse dal conteggio della freschezza. può essere assente |
| matrix.{*}.funding_settle | object | — | Freschezza dello storico dei regolamenti del finanziamento dell'exchange: `status`, `age_s` del regolamento più recente, `symbols` e `history_from`. può essere assente |
| matrix.{*}.funding_settle.status | string | — | Stato. può essere assente |
| matrix.{*}.funding_settle.age_s | number | s | Secondi trascorsi dall'ultimo aggiornamento di questa riga. può essere assente |
| matrix.{*}.funding_settle.symbols | number | — | Simboli. può essere assente |
| matrix.{*}.funding_settle.history_from | number | ms | Record più vecchio conservato. può essere assente |
| matrix.{*}.funding_settle.fresh_within_s | number | s | Finestra di freschezza: i dati più recenti di questo valore sono considerati aggiornati. può essere assente |
| matrix.{*}.liquidation | object | — | Blocco delle liquidazioni. può essere assente |
| matrix.{*}.liquidation.status | string | — | Stato. può essere assente |
| matrix.{*}.liquidation.via | string | — | Percorso di raccolta. può essere assente |
| matrix.{*}.liquidation.last_event_age_s | number|null | s | Secondi trascorsi dall'evento. può essere assente |
| matrix.{*}.liquidation.events_1h | number | count | Ordini di liquidazione memorizzati da questo exchange nell'ultima ora; le dimensioni minime degli ordini variano da un exchange all'altro, quindi i conteggi non sono confrontabili. può essere assente |
| matrix.{*}.liquidation.events_24h | number | count | Ordini di liquidazione memorizzati da questo exchange nelle ultime 24 ore; le dimensioni minime degli ordini variano da un exchange all'altro, quindi i conteggi non sono confrontabili. può essere assente |
| matrix.{*}.liquidation.ws_heartbeat_age_s | number|null | s | Secondi trascorsi dall'evento. può essere assente |
| matrix.{*}.liquidation.judged_by | string | — | Timestamp in base al quale è stato valutato lo stato. può essere assente |
| matrix.{*}.liquidation.idle_ok_s | number | s | Intervallo più lungo senza liquidazioni che è ancora considerato normale per questo exchange; un intervallo più lungo contrassegna il feed come `stale`. può essere assente |
| matrix.{*}.ls | object | — | Freschezza delle righe del rapporto long/short dell'exchange: `status`, conteggi delle righe, `age_s` e le finestre di freschezza / di utilizzabilità. può essere assente |
| matrix.{*}.ls.status | string | — | Stato. può essere assente |
| matrix.{*}.ls.reason | string | — | Codice del motivo. può essere assente |
| matrix.{*}.spot | object | — | Blocco o valore del mercato spot. può essere assente |
| matrix.{*}.spot.status | string | — | Stato. può essere assente |
| matrix.{*}.spot.reason | string | — | Codice del motivo. può essere assente |
| matrix.{*}.sd_contracts | object | — | Freschezza delle righe dei contratti con margine in coin, con margine in USDC e a scadenza dell'exchange: `status`, conteggi delle righe e `age_s`. può essere assente |
| matrix.{*}.sd_contracts.status | string | — | Stato. può essere assente |
| matrix.{*}.sd_contracts.reason | string | — | Codice del motivo. può essere assente |
| matrix.{*}.funding_settle.reason | string | — | Codice del motivo. può essere assente |
| matrix.{*}.liquidation.reason | string | — | Codice del motivo. può essere assente |
| matrix.{*}.liquidation.note | string | — | Nota. può essere assente |
| matrix.{*}.ls.rows | number | — | Righe del risultato. può essere assente |
| matrix.{*}.ls.rows_fresh | number | — | Righe aggiornate entro la finestra di freschezza. può essere assente |
| matrix.{*}.ls.rows_usable | number | — | Righe entro la finestra di utilizzabilità. può essere assente |
| matrix.{*}.ls.rows_orphan | number | — | Righe il cui contratto non è più quotato. può essere assente |
| matrix.{*}.ls.rows_invalid | number | — | Righe rifiutate dalla convalida. può essere assente |
| matrix.{*}.ls.age_s | number | s | Secondi trascorsi dall'ultimo aggiornamento di questa riga. può essere assente |
| matrix.{*}.ls.fresh_within_s | number | s | Finestra di freschezza: i dati più recenti di questo valore sono considerati aggiornati. può essere assente |
| matrix.{*}.ls.usable_within_s | number | s | I dati più vecchi di questo valore non vengono usati affatto. può essere assente |
| matrix.{*}.spot.age_s | number | s | Secondi trascorsi dall'ultimo aggiornamento di questa riga. può essere assente |
| matrix.{*}.spot.coins | number | — | Monete. può essere assente |
| matrix.{*}.spot.fresh_within_s | number | s | Finestra di freschezza: i dati più recenti di questo valore sono considerati aggiornati. può essere assente |
| matrix.{*}.spot.note | string | — | Nota. può essere assente |
| matrix.{*}.sd_contracts.rows | number | — | Righe del risultato. può essere assente |
| matrix.{*}.sd_contracts.rows_fresh | number | — | Righe aggiornate entro la finestra di freschezza. può essere assente |
| matrix.{*}.sd_contracts.age_s | number | s | Secondi trascorsi dall'ultimo aggiornamento di questa riga. può essere assente |
| matrix.{*}.sd_contracts.rows_without_oi | number | count | Righe dei contratti prive di un valore di open interest in USD. può essere assente |
| matrix.{*}.sd_contracts.rows_oi_promoted | number | count | Righe dei contratti il cui open interest è conteggiato anche nei totali di open interest dell'intero sito. può essere assente |
| matrix.{*}.sd_contracts.fresh_within_s | number | s | Finestra di freschezza: i dati più recenti di questo valore sono considerati aggiornati. può essere assente |
| matrix.{*}.{*} | object | — | Matrice indicizzata per riga e colonna. |
| matrix.{*}.{*}.status | string | — | Stato. |
| matrix.{*}.{*}.reason | string | — | Codice del motivo. può essere assente |
| matrix.{*}.{*}.age_s | number | s | Secondi trascorsi dall'ultimo aggiornamento di questa riga. può essere assente |
| matrix.{*}.{*}.coins | number | — | Monete. può essere assente |
| matrix.{*}.{*}.fresh_within_s | number | s | Finestra di freschezza: i dati più recenti di questo valore sono considerati aggiornati. può essere assente |
| matrix.{*}.{*}.note | string | — | Nota. può essere assente |
| matrix.{*}.oi.reason | string | — | Codice del motivo. può essere assente |
| matrix.{*}.{*}.rows | number | — | Righe del risultato. può essere assente |
| matrix.{*}.{*}.rows_fresh | number | — | Righe aggiornate entro la finestra di freschezza. può essere assente |
| matrix.{*}.{*}.rows_usable | number | — | Righe entro la finestra di utilizzabilità. può essere assente |
| matrix.{*}.{*}.rows_orphan | number | — | Righe il cui contratto non è più quotato. può essere assente |
| matrix.{*}.{*}.rows_invalid | number | — | Righe rifiutate dalla convalida. può essere assente |
| matrix.{*}.{*}.usable_within_s | number | s | I dati più vecchi di questo valore non vengono usati affatto. può essere assente |
| matrix.{*}.ticker.dead | boolean | — | Presente solo quando `status` è `stale`: true quando nessuna riga rientra nemmeno nella finestra di utilizzabilità, per cui l'exchange è escluso dagli aggregati. può essere assente |
| matrix.{*}.funding.reason | string | — | Codice del motivo. può essere assente |
| matrix.{*}.liquidation.pipeline_last_event_age_s | number | s | Secondi trascorsi dall'evento. può essere assente |
| matrix.{*}.liquidation.node_heartbeat_age_s | number | s | Secondi trascorsi dall'evento. può essere assente |
| summary | object | — | Blocco di riepilogo. |
| summary.fresh | number | count | Numero di celle exchange × famiglia con stato `fresh`. |
| summary.partial | number | — | true quando è presente solo una parte dei dati attesi. |
| summary.stale | number | — | Righe o flag relativi ai dati più vecchi della finestra di freschezza. |
| summary.invalid | number | count | Numero di celle exchange × famiglia con stato `invalid`. |
| summary.unavailable | number | — | Elementi per i quali non sono disponibili dati, con i motivi. Mai riportati come 0. |
| sources | array | — | Fonti dei dati. |
| sources[] | object | — | Fonti dei dati. |
| sources[].exchange | string | — | ID dell'exchange, in minuscolo (per esempio `binance`). |
| sources[].family | string | — | Famiglia di dati del job del collector a cui appartiene il record di stato di salute, per esempio `oi`, `funding`, `ticker`. |
| sources[].endpoint | string | — | Etichetta della chiamata a monte tracciata: host e percorso dell'API pubblica interrogata, oppure nome di un controllo interno. |
| sources[].ok | boolean | — | false quando il tentativo più recente è fallito, cioè l'ultimo errore è più recente dell'ultimo successo. |
| sources[].last_ok_age_s | number|null | s | Secondi trascorsi dall'evento. |
| sources[].last_err_age_s | number|null | s | Secondi trascorsi dall'evento. |
| sources[].last_status | number | — | Stato HTTP della chiamata più recente. |
| sources[].last_error | string|null | — | Testo dell'errore dell'ultimo fallimento, troncato a 160 caratteri; null quando non ne è registrato alcuno. |
| sources[].last_ms | number | ms | Durata della chiamata più recente; null quando non è stata misurata. |
| sources[].fail_streak | number | count | Chiamate fallite consecutive fino a questo momento; 0 dopo un successo. |
| sources[].ok_count | number | count | Chiamate riuscite registrate nel registro dello stato di salute. |
| sources[].err_count | number | count | Chiamate fallite registrate nel registro dello stato di salute. |
| sources[].http_429 | number | count | Chiamate fallite con risposta HTTP 429 (limite di richieste superato). |
| sources[].http_403 | number | count | Chiamate fallite con risposta HTTP 403 (accesso negato). |
| sources[].http_5xx | number | count | Chiamate fallite con risposta HTTP di stato 5xx. |
| sources[].timeouts | number | count | Chiamate fallite per timeout. |
| errors | object | — | Mappa dall'ID della famiglia al messaggio di errore per le famiglie il cui controllo stesso è fallito; vuota quando tutti i controlli sono stati eseguiti. |
| alerts | array | — | Avvisi del controllo periodico della qualità dei dati aperti o risolti nelle ultime 24 ore, prima quelli aperti (al massimo 200). |
| alerts[] | object | — | Un avviso: `level`, `exchange`, `family`, `code`, `detail`, orari di apertura / ultima osservazione / risoluzione, `hits` e `open`. |
| alerts[].level | string | — | Livello. |
| alerts[].exchange | string | — | ID dell'exchange, in minuscolo (per esempio `binance`). |
| alerts[].family | string | — | Famiglia di dati a cui si riferisce l'avviso. |
| alerts[].code | string | — | Codice. |
| alerts[].detail | string | — | Dettaglio. |
| alerts[].opened_at | number | ms | Timestamp. |
| alerts[].last_seen_at | number | ms | Timestamp. |
| alerts[].resolved_at | number|null | ms | Timestamp. |
| alerts[].hits | number | count | Numero di esecuzioni del controllo periodico (una ogni 5 minuti) che hanno osservato la condizione dall'apertura dell'avviso. |
| alerts[].open | boolean | — | Prezzo di apertura del periodo. |
| monitor | object | — | Stato di salute del monitoraggio stesso: età dell'ultima esecuzione del controllo periodico, età dell'heartbeat del collector e `patrol_ok`. |
| monitor.alert_job_age_s | number | s | Secondi trascorsi dall'evento. |
| monitor.collector_heartbeat_age_s | number | s | Secondi trascorsi dall'evento. |
| monitor.patrol_ok | boolean | — | true quando il controllo periodico è stato eseguito negli ultimi 15 minuti; quando è false l'elenco `alerts` può non essere aggiornato. |
| legend | object | — | Definizione in testo semplice di ogni stato di cella. |
| legend.fresh | string | — | Definizione dello stato `fresh`. |
| legend.partial | string | — | true quando è presente solo una parte dei dati attesi. |
| legend.stale | string | — | Righe o flag relativi ai dati più vecchi della finestra di freschezza. |
| legend.invalid | string | — | Definizione dello stato `invalid`. |
| legend.unavailable | string | — | Elementi per i quali non sono disponibili dati, con i motivi. Mai riportati come 0. |
Generata 2026-11-11 23:01 UTC da 1 risposte reali.
Risposta di esempio
/api/sd/quality · Risposta reale acquisita 2026-11-13 03:53:45 UTC. Array e mappe lunghi sono abbreviati per la visualizzazione: alerts conteneva 3 elementi; matrix conteneva 29 elementi; sources conteneva 262 elementi; exchanges conteneva 29 elementi.
- "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"
- "backpack"
- "summary"
- "fresh"123
- "partial"7
- "stale"1
- "invalid"0
- "unavailable"101
- "sources"
- "errors"
- "alerts"
- "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"
Dettagli
- Autenticazione
- Nessuna. Endpoint pubblico.
- Limite di richieste
- 1200 richieste al minuto per IP
- Cache del server
- 20s
- Micro-cache edge
- 10s
- Frequenza di aggiornamento
- matrice calcolata su richiesta (memoizzazione in-process di 20 s); job degli avvisi ogni 5 min
- Finestra
- ultimo stato; avvisi aperti o risolti nelle ultime 24 h
- Fonti dei dati
- Matrice di freschezza dei dati (exchange x famiglia di dati) calcolata internamente dai timestamp delle tabelle raccolte da CoinBoss.
- Copertura degli exchange
- tutti gli exchange presenti in una qualsiasi famiglia raccolta; le fonti mancanti sono riportate come non disponibili con il motivo
- Paginazione
- avvisi limitati a 200
- Unità
- status per cell: fresh | partial | stale | invalid | unavailable; ages in seconds
- Metodo
- 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
- Timestamp
- Millisecondi dall'epoca Unix (UTC), salvo diversa indicazione nella descrizione del campo
- Formato della risposta
- json
- Stabilità
- Stabile
- Disponibile dal
- 2026-11-11
Stato in tempo reale
Disponibilità, ultimi 30 giorni
100% di 407 verifiche superate
- Restituito ma non documentato: 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
Errori
Le chiamate non riuscite hanno la stessa struttura su tutti gli endpoint. L'elenco completo è nella pagina degli errori. Errori e limiti di richieste →
| Codice | HTTP | Significato | Che cosa fare |
|---|---|---|---|
| INVALID_PARAM | 400 | Manca un parametro obbligatorio oppure un valore non è accettato. `param` indica il nome del parametro quando è noto. | Non riprovare senza modifiche; correggere la richiesta. |
| UNAUTHORIZED | 401 | L'header `CB-API-KEY` è stato inviato ma la chiave è sconosciuta o revocata. I dati pubblici non richiedono alcuna chiave: rimuovere l'header o usare una chiave valida. | Non riprovare senza modifiche. |
| FORBIDDEN | 403 | La route non fa parte dell'API pubblica (interna o riservata agli account). | Non riprovare. |
| NOT_FOUND | 404 | Route sconosciuta, oppure la moneta / l'exchange / il fondo richiesto non esiste. | Non riprovare; verificare il percorso e gli identificatori nel catalogo. |
| RATE_LIMITED | 429 | Più richieste del limite al minuto. `Retry-After` indica i secondi da attendere. | Attendere `Retry-After`, poi riprovare con backoff. |
| INTERNAL | 500 | Errore imprevisto del server. Il messaggio è volutamente generico; citare `request_id` quando lo si segnala. | Riprovare una volta dopo qualche secondo; se persiste, segnalarlo con l'ID della richiesta. |
| UPSTREAM_FAILED | 503 | La fonte di dati alla base di questo endpoint non ha risposto in tempo. Al suo posto non vengono restituiti numeri obsoleti o sostitutivi. | Riprovare con backoff; controllare la pagina di stato. |
| UNAVAILABLE | 501 / 503 | Il dataset è temporaneamente non pronto (riscaldamento della cache) oppure l'endpoint non ha ancora una fonte pubblica lecita. | Riprovare più tardi; il catalogo contrassegna gli endpoint non disponibili per scelta progettuale. |
| REQUEST_FAILED | 200 | Alcuni endpoint meno recenti rispondono HTTP 200 con `success: false`. Controllare sempre `success`, non solo lo stato HTTP. | Dipende dal messaggio; trattare come una richiesta non riuscita. |
Prova
/api/sd/qualityDisponibileNessun parametro.
https://www.coinboss.com/api/sd/qualityAltro in questa categoria
- Matrice della qualità dei dati (vista del collector) /api/sd/quality
- Catalogo dell'API /api/meta/catalog
- Registro delle modifiche e politica di versionamento /api/meta/changelog
- Documentazione di un endpoint /api/meta/endpoint
- Documento OpenAPI /api/meta/openapi
- Matrice della qualità dei dati /api/meta/quality
- Stato del servizio /api/meta/status
- Verifica se il simbolo di una moneta è noto alla piattaforma /api/coin-exists
- Mappa dal simbolo della moneta al percorso dell'icona ospitata in locale /api/coin-icons
- Riepilogo aggregato della pagina moneta /api/content/coin
- Riepilogo delle sezioni dell'intero sito /api/content/summary
- Tabella dei tassi di cambio fiat /api/currency/fx
- Mappa dall'ID dell'exchange al percorso dell'icona ospitata in locale /api/exchange-icons
- Controllo di liveness /api/health
- Statistiche della pagina di ricerca /api/research/stats