Matriz de qualidade dos dados (visão do coletor)
Camada de dados própria: matriz de qualidade dos dados (corretora × família de dados)
/api/sd/qualityRequisição
Este endpoint não recebe parâmetros.
Exemplo de requisição
curl -s "https://www.coinboss.com/api/sd/quality"Campos da resposta
A tabela de campos é gerada a partir de respostas reais, portanto lista exatamente o que o endpoint retorna. Os caminhos usam a[] para itens de array e {*} para objetos indexados por um nome dinâmico, como uma moeda ou uma corretora.
| Campo | Tipo | Unidade | Descrição |
|---|---|---|---|
| success | boolean | — | true quando a requisição foi bem-sucedida. Em caso de falha, o corpo é `{ success: false, code, error, request_id }`. |
| now | number | ms | Horário do servidor em que a resposta foi montada. |
| families | array | — | Famílias de dados verificadas em cada corretora, na ordem de exibição. |
| families[] | string | — | ID da família: `ticker`, `oi`, `funding`, `funding_settle`, `liquidation`, `ls`, `spot` ou `sd_contracts`. |
| exchanges | array | — | Corretoras. |
| exchanges[] | string | — | Corretoras. |
| matrix | object | — | Matriz indexada por linha e coluna. chaves dinâmicas: aster,backpack,binance,bingx,bitfinex,bitget |
| matrix.{*} | object | — | Matriz indexada por linha e coluna. chaves dinâmicas: ticker,oi,funding,funding_settle,liquidation,ls |
| matrix.{*}.ticker | object | — | Atualidade dos tickers de futuros da corretora: `status`, contagens de linhas, `age_s` e as janelas de atualidade / de uso. As chaves do mapa são IDs de corretora. pode estar ausente |
| matrix.{*}.ticker.status | string | — | Status. pode estar ausente |
| matrix.{*}.ticker.rows | number | — | Linhas do resultado. pode estar ausente |
| matrix.{*}.ticker.rows_fresh | number | — | Linhas atualizadas dentro da janela de atualidade. pode estar ausente |
| matrix.{*}.ticker.rows_usable | number | — | Linhas dentro da janela de uso. pode estar ausente |
| matrix.{*}.ticker.rows_orphan | number | — | Linhas cujo contrato não está mais listado. pode estar ausente |
| matrix.{*}.ticker.rows_invalid | number | — | Linhas rejeitadas pela validação. pode estar ausente |
| matrix.{*}.ticker.age_s | number | s | Segundos desde a última atualização desta linha. pode estar ausente |
| matrix.{*}.ticker.fresh_within_s | number | s | Janela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente |
| matrix.{*}.ticker.usable_within_s | number | s | Dados mais antigos que isso não são usados de forma alguma. pode estar ausente |
| matrix.{*}.oi | object | — | Contratos em aberto. pode estar ausente |
| matrix.{*}.oi.status | string | — | Status. pode estar ausente |
| matrix.{*}.oi.rows | number | — | Linhas do resultado. pode estar ausente |
| matrix.{*}.oi.rows_fresh | number | — | Linhas atualizadas dentro da janela de atualidade. pode estar ausente |
| matrix.{*}.oi.rows_usable | number | — | Linhas dentro da janela de uso. pode estar ausente |
| matrix.{*}.oi.rows_orphan | number | — | Linhas cujo contrato não está mais listado. pode estar ausente |
| matrix.{*}.oi.rows_invalid | number | — | Linhas rejeitadas pela validação. pode estar ausente |
| matrix.{*}.oi.age_s | number | s | Segundos desde a última atualização desta linha. pode estar ausente |
| matrix.{*}.oi.fresh_within_s | number | s | Janela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente |
| matrix.{*}.oi.usable_within_s | number | s | Dados mais antigos que isso não são usados de forma alguma. pode estar ausente |
| matrix.{*}.funding | object | — | Bloco ou valor da taxa de financiamento. pode estar ausente |
| matrix.{*}.funding.status | string | — | Status. pode estar ausente |
| matrix.{*}.funding.rows | number | — | Linhas do resultado. pode estar ausente |
| matrix.{*}.funding.rows_fresh | number | — | Linhas atualizadas dentro da janela de atualidade. pode estar ausente |
| matrix.{*}.funding.rows_usable | number | — | Linhas dentro da janela de uso. pode estar ausente |
| matrix.{*}.funding.rows_orphan | number | — | Linhas cujo contrato não está mais listado. pode estar ausente |
| matrix.{*}.funding.rows_invalid | number | — | Linhas rejeitadas pela validação. pode estar ausente |
| matrix.{*}.funding.age_s | number | s | Segundos desde a última atualização desta linha. pode estar ausente |
| matrix.{*}.funding.fresh_within_s | number | s | Janela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente |
| matrix.{*}.funding.usable_within_s | number | s | Dados mais antigos que isso não são usados de forma alguma. pode estar ausente |
| matrix.{*}.funding.rows_unknown_interval | number | count | Linhas de financiamento atualizadas nas últimas 4 horas cujo intervalo de liquidação é desconhecido e que, portanto, não podem ser normalizadas para 8 horas; qualquer linha desse tipo torna a célula `partial`. pode estar ausente |
| matrix.{*}.funding.rows_no_next_time | number | ms | Timestamp. pode estar ausente |
| matrix.{*}.funding.rows_no_liveness | number | count | Linhas de financiamento atualizadas recentemente em contratos sem evidência de negociação ativa (deslistados ou sem volume); ficam fora da contagem de atualidade. pode estar ausente |
| matrix.{*}.funding_settle | object | — | Atualidade do histórico de liquidações de financiamento da corretora: `status`, `age_s` da liquidação de financiamento mais recente, `symbols` e `history_from`. pode estar ausente |
| matrix.{*}.funding_settle.status | string | — | Status. pode estar ausente |
| matrix.{*}.funding_settle.age_s | number | s | Segundos desde a última atualização desta linha. pode estar ausente |
| matrix.{*}.funding_settle.symbols | number | — | Símbolos. pode estar ausente |
| matrix.{*}.funding_settle.history_from | number | ms | Registro mais antigo mantido. pode estar ausente |
| matrix.{*}.funding_settle.fresh_within_s | number | s | Janela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente |
| matrix.{*}.liquidation | object | — | Bloco de liquidações. pode estar ausente |
| matrix.{*}.liquidation.status | string | — | Status. pode estar ausente |
| matrix.{*}.liquidation.via | string | — | Caminho de coleta. pode estar ausente |
| matrix.{*}.liquidation.last_event_age_s | number|null | s | Segundos desde o evento. pode estar ausente |
| matrix.{*}.liquidation.events_1h | number | count | Ordens de liquidação armazenadas desta corretora na última hora; os tamanhos mínimos de ordem diferem entre corretoras, portanto as contagens não são comparáveis. pode estar ausente |
| matrix.{*}.liquidation.events_24h | number | count | Ordens de liquidação armazenadas desta corretora nas últimas 24 horas; os tamanhos mínimos de ordem diferem entre corretoras, portanto as contagens não são comparáveis. pode estar ausente |
| matrix.{*}.liquidation.ws_heartbeat_age_s | number|null | s | Segundos desde o evento. pode estar ausente |
| matrix.{*}.liquidation.judged_by | string | — | A partir de qual timestamp o status foi avaliado. pode estar ausente |
| matrix.{*}.liquidation.idle_ok_s | number | s | Maior intervalo sem liquidações que ainda conta como normal para esta corretora; um intervalo mais longo marca o feed como `stale`. pode estar ausente |
| matrix.{*}.ls | object | — | Atualidade das linhas de razão long/short da corretora: `status`, contagens de linhas, `age_s` e as janelas de atualidade / de uso. pode estar ausente |
| matrix.{*}.ls.status | string | — | Status. pode estar ausente |
| matrix.{*}.ls.reason | string | — | Código do motivo. pode estar ausente |
| matrix.{*}.spot | object | — | Bloco ou valor do mercado spot. pode estar ausente |
| matrix.{*}.spot.status | string | — | Status. pode estar ausente |
| matrix.{*}.spot.reason | string | — | Código do motivo. pode estar ausente |
| matrix.{*}.sd_contracts | object | — | Atualidade das linhas de contratos com margem em cripto, com margem em USDC e com vencimento da corretora: `status`, contagens de linhas e `age_s`. pode estar ausente |
| matrix.{*}.sd_contracts.status | string | — | Status. pode estar ausente |
| matrix.{*}.sd_contracts.reason | string | — | Código do motivo. pode estar ausente |
| matrix.{*}.funding_settle.reason | string | — | Código do motivo. pode estar ausente |
| matrix.{*}.liquidation.reason | string | — | Código do motivo. pode estar ausente |
| matrix.{*}.liquidation.note | string | — | Observação. pode estar ausente |
| matrix.{*}.ls.rows | number | — | Linhas do resultado. pode estar ausente |
| matrix.{*}.ls.rows_fresh | number | — | Linhas atualizadas dentro da janela de atualidade. pode estar ausente |
| matrix.{*}.ls.rows_usable | number | — | Linhas dentro da janela de uso. pode estar ausente |
| matrix.{*}.ls.rows_orphan | number | — | Linhas cujo contrato não está mais listado. pode estar ausente |
| matrix.{*}.ls.rows_invalid | number | — | Linhas rejeitadas pela validação. pode estar ausente |
| matrix.{*}.ls.age_s | number | s | Segundos desde a última atualização desta linha. pode estar ausente |
| matrix.{*}.ls.fresh_within_s | number | s | Janela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente |
| matrix.{*}.ls.usable_within_s | number | s | Dados mais antigos que isso não são usados de forma alguma. pode estar ausente |
| matrix.{*}.spot.age_s | number | s | Segundos desde a última atualização desta linha. pode estar ausente |
| matrix.{*}.spot.coins | number | — | Moedas. pode estar ausente |
| matrix.{*}.spot.fresh_within_s | number | s | Janela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente |
| matrix.{*}.spot.note | string | — | Observação. pode estar ausente |
| matrix.{*}.sd_contracts.rows | number | — | Linhas do resultado. pode estar ausente |
| matrix.{*}.sd_contracts.rows_fresh | number | — | Linhas atualizadas dentro da janela de atualidade. pode estar ausente |
| matrix.{*}.sd_contracts.age_s | number | s | Segundos desde a última atualização desta linha. pode estar ausente |
| matrix.{*}.sd_contracts.rows_without_oi | number | count | Linhas de contratos que não trazem valor de contratos em aberto em USD. pode estar ausente |
| matrix.{*}.sd_contracts.rows_oi_promoted | number | count | Linhas de contratos cujos contratos em aberto também são contabilizados nos totais de contratos em aberto de todo o site. pode estar ausente |
| matrix.{*}.sd_contracts.fresh_within_s | number | s | Janela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente |
| matrix.{*}.{*} | object | — | Matriz indexada por linha e coluna. |
| matrix.{*}.{*}.status | string | — | Status. |
| matrix.{*}.{*}.reason | string | — | Código do motivo. pode estar ausente |
| matrix.{*}.{*}.age_s | number | s | Segundos desde a última atualização desta linha. pode estar ausente |
| matrix.{*}.{*}.coins | number | — | Moedas. pode estar ausente |
| matrix.{*}.{*}.fresh_within_s | number | s | Janela de atualidade: dados mais recentes que isso contam como atualizados. pode estar ausente |
| matrix.{*}.{*}.note | string | — | Observação. pode estar ausente |
| matrix.{*}.oi.reason | string | — | Código do motivo. pode estar ausente |
| matrix.{*}.{*}.rows | number | — | Linhas do resultado. pode estar ausente |
| matrix.{*}.{*}.rows_fresh | number | — | Linhas atualizadas dentro da janela de atualidade. pode estar ausente |
| matrix.{*}.{*}.rows_usable | number | — | Linhas dentro da janela de uso. pode estar ausente |
| matrix.{*}.{*}.rows_orphan | number | — | Linhas cujo contrato não está mais listado. pode estar ausente |
| matrix.{*}.{*}.rows_invalid | number | — | Linhas rejeitadas pela validação. pode estar ausente |
| matrix.{*}.{*}.usable_within_s | number | s | Dados mais antigos que isso não são usados de forma alguma. pode estar ausente |
| matrix.{*}.ticker.dead | boolean | — | Presente somente quando `status` é `stale`: true quando tampouco há linhas dentro da janela de uso, de modo que a corretora é excluída dos agregados. pode estar ausente |
| matrix.{*}.funding.reason | string | — | Código do motivo. pode estar ausente |
| matrix.{*}.liquidation.pipeline_last_event_age_s | number | s | Segundos desde o evento. pode estar ausente |
| matrix.{*}.liquidation.node_heartbeat_age_s | number | s | Segundos desde o evento. pode estar ausente |
| summary | object | — | Bloco de resumo. |
| summary.fresh | number | count | Número de células corretora × família com status `fresh`. |
| summary.partial | number | — | true quando apenas parte dos dados esperados está presente. |
| summary.stale | number | — | Linhas ou indicador referentes a dados mais antigos que a janela de atualidade. |
| summary.invalid | number | count | Número de células corretora × família com status `invalid`. |
| summary.unavailable | number | — | Itens para os quais não há dados disponíveis, com os motivos. Nunca são reportados como 0. |
| sources | array | — | Fontes de dados. |
| sources[] | object | — | Fontes de dados. |
| sources[].exchange | string | — | ID da corretora, em minúsculas (por exemplo, `binance`). |
| sources[].family | string | — | Família de dados do job coletor a que o registro de saúde pertence, por exemplo, `oi`, `funding`, `ticker`. |
| sources[].endpoint | string | — | Rótulo da chamada à origem que está sendo monitorada: host e caminho da API pública consultada, ou o nome de uma verificação interna. |
| sources[].ok | boolean | — | false quando a tentativa mais recente falhou, isto é, quando o último erro é mais recente que o último sucesso. |
| sources[].last_ok_age_s | number|null | s | Segundos desde o evento. |
| sources[].last_err_age_s | number|null | s | Segundos desde o evento. |
| sources[].last_status | number | — | Status HTTP da chamada mais recente. |
| sources[].last_error | string|null | — | Texto de erro da última falha, truncado em 160 caracteres; null quando nenhum está registrado. |
| sources[].last_ms | number | ms | Duração da chamada mais recente; null quando não foi medida. |
| sources[].fail_streak | number | count | Chamadas com falha consecutivas até agora; 0 após um sucesso. |
| sources[].ok_count | number | count | Chamadas bem-sucedidas registradas no log de saúde. |
| sources[].err_count | number | count | Chamadas com falha registradas no log de saúde. |
| sources[].http_429 | number | count | Chamadas com falha respondidas com HTTP 429 (limite de requisições). |
| sources[].http_403 | number | count | Chamadas com falha respondidas com HTTP 403 (acesso proibido). |
| sources[].http_5xx | number | count | Chamadas com falha respondidas com um status HTTP 5xx. |
| sources[].timeouts | number | count | Chamadas com falha por tempo limite esgotado. |
| errors | object | — | Mapa de ID de família para mensagem de erro, para as famílias cuja própria verificação falhou; vazio quando todas as verificações foram executadas. |
| alerts | array | — | Alertas da ronda de qualidade dos dados que estão abertos ou foram resolvidos nas últimas 24 horas, com os abertos primeiro (no máximo 200). |
| alerts[] | object | — | Um alerta: `level`, `exchange`, `family`, `code`, `detail`, horários de abertura / última ocorrência / resolução, `hits` e `open`. |
| alerts[].level | string | — | Nível. |
| alerts[].exchange | string | — | ID da corretora, em minúsculas (por exemplo, `binance`). |
| alerts[].family | string | — | Família de dados a que o alerta se refere. |
| alerts[].code | string | — | Código. |
| alerts[].detail | string | — | Detalhe. |
| alerts[].opened_at | number | ms | Timestamp. |
| alerts[].last_seen_at | number | ms | Timestamp. |
| alerts[].resolved_at | number|null | ms | Timestamp. |
| alerts[].hits | number | count | Número de execuções da ronda (uma a cada 5 minutos) que observaram a condição desde a abertura do alerta. |
| alerts[].open | boolean | — | Preço de abertura do período. |
| monitor | object | — | Saúde do próprio monitoramento: idade da última execução da ronda, idade do heartbeat do coletor e `patrol_ok`. |
| monitor.alert_job_age_s | number | s | Segundos desde o evento. |
| monitor.collector_heartbeat_age_s | number | s | Segundos desde o evento. |
| monitor.patrol_ok | boolean | — | true quando a ronda foi executada nos últimos 15 minutos; quando false, a lista `alerts` pode estar desatualizada. |
| legend | object | — | Definição em texto simples de cada status de célula. |
| legend.fresh | string | — | Definição do status `fresh`. |
| legend.partial | string | — | true quando apenas parte dos dados esperados está presente. |
| legend.stale | string | — | Linhas ou indicador referentes a dados mais antigos que a janela de atualidade. |
| legend.invalid | string | — | Definição do status `invalid`. |
| legend.unavailable | string | — | Itens para os quais não há dados disponíveis, com os motivos. Nunca são reportados como 0. |
Gerada 2026-11-11 23:01 UTC a partir de 1 respostas reais.
Exemplo de resposta
/api/sd/quality · Resposta real capturada 2026-11-13 03:59:27 UTC. Arrays e mapas longos são encurtados para exibição: alerts tinha 3 itens; matrix tinha 29 itens; sources tinha 262 itens; exchanges tinha 29 itens.
- "success"true
- "now"1794542357043
- "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"20
- "collector_heartbeat_age_s"17
- "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"
Detalhes
- Autenticação
- Nenhuma. Endpoint público.
- Limite de requisições
- 1200 requisições por minuto por IP
- Cache do servidor
- 20s
- Microcache de borda
- 10s
- Frequência de atualização
- matriz calculada a cada requisição (memoização no processo por 20 s); job de alertas a cada 5 min
- Janela
- estado mais recente; alertas abertos ou resolvidos nas últimas 24 h
- Fontes de dados
- Matriz de atualidade dos dados (corretora x família de dados) calculada internamente a partir dos timestamps das tabelas coletadas pela própria CoinBoss.
- Cobertura de corretoras
- todas as corretoras presentes em qualquer família coletada; fontes ausentes são reportadas como indisponíveis, com um motivo
- Paginação
- alertas limitados a 200
- Unidades
- status per cell: fresh | partial | stale | invalid | unavailable; ages in seconds
- Método
- 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
- Timestamps
- Milissegundos da época Unix (UTC), salvo se a descrição do campo indicar o contrário
- Formato da resposta
- json
- Estabilidade
- Estável
- Disponível desde
- 2026-11-11
Status ao vivo
Disponibilidade, últimos 30 dias
100% de 408 verificações aprovadas
- Retornado, mas não documentado: 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
Erros
As chamadas com falha têm o mesmo formato em todos os endpoints. A lista completa está na página de erros. Erros e limites de requisições →
| Código | HTTP | Significado | O que fazer |
|---|---|---|---|
| INVALID_PARAM | 400 | Falta um parâmetro obrigatório ou um valor não é aceito. `param` indica o nome do parâmetro quando ele é conhecido. | Não repita a requisição sem alterações; corrija-a. |
| UNAUTHORIZED | 401 | O cabeçalho `CB-API-KEY` foi enviado, mas a chave é desconhecida ou foi revogada. Dados públicos não exigem chave — remova o cabeçalho ou use uma chave válida. | Não repita a requisição sem alterações. |
| FORBIDDEN | 403 | A rota não faz parte da API pública (é interna ou exclusiva de conta). | Não tente novamente. |
| NOT_FOUND | 404 | Rota desconhecida, ou a moeda / corretora / fundo solicitado não existe. | Não tente novamente; confira o caminho e os identificadores no catálogo. |
| RATE_LIMITED | 429 | Mais requisições do que o limite por minuto. `Retry-After` informa os segundos a aguardar. | Aguarde `Retry-After` e então tente novamente com backoff. |
| INTERNAL | 500 | Erro inesperado do servidor. A mensagem é genérica de propósito; cite `request_id` ao reportá-lo. | Tente novamente uma vez após alguns segundos; se persistir, reporte-o com o ID da requisição. |
| UPSTREAM_FAILED | 503 | A fonte de dados por trás deste endpoint não respondeu a tempo. Nenhum número desatualizado ou substituto é retornado em seu lugar. | Tente novamente com backoff; consulte a página de status. |
| UNAVAILABLE | 501 / 503 | O conjunto de dados ainda não está pronto temporariamente (aquecimento do cache) ou o endpoint ainda não tem uma fonte pública lícita. | Tente novamente mais tarde; o catálogo marca os endpoints que são indisponíveis por design. |
| REQUEST_FAILED | 200 | Alguns endpoints mais antigos respondem HTTP 200 com `success: false`. Verifique sempre `success`, não apenas o status HTTP. | Depende da mensagem; trate como uma requisição com falha. |
Experimente
/api/sd/qualityDisponívelSem parâmetros.
https://www.coinboss.com/api/sd/qualityMais nesta categoria
- Matriz de qualidade dos dados (visão do coletor) /api/sd/quality
- Catálogo da API /api/meta/catalog
- Registro de alterações e política de versionamento /api/meta/changelog
- Documentação do endpoint /api/meta/endpoint
- Documento OpenAPI /api/meta/openapi
- Matriz de qualidade dos dados /api/meta/quality
- Status do serviço /api/meta/status
- Verifica se o símbolo de uma moeda é conhecido pela plataforma /api/coin-exists
- Mapa de símbolo de moeda para o caminho do ícone hospedado localmente /api/coin-icons
- Resumo agregado da página da moeda /api/content/coin
- Resumo das seções de todo o site /api/content/summary
- Tabela de taxas de câmbio fiduciárias /api/currency/fx
- Mapa de ID de corretora para o caminho do ícone hospedado localmente /api/exchange-icons
- Verificação de atividade /api/health
- Estatísticas da página de pesquisa /api/research/stats