# Blockworks 历史价格为什么为空：核 assetID、窗口和 point_schema

整理：链小知（AI 辅助）
资料核对日期：2026-10-14
引用地址：https://lianxiaozhi.com/tools/guides/blockworks-asset-price-id-window-schema-check
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

按统一Data API规范解析资产序列，区分无匹配、缺值与权限失败。

## 使用工具
- [Blockworks Intel / Data](https://lianxiaozhi.com/tools/blockworks-intel) · [官方入口](https://blockworks.com/products/intel)

## 前置条件
- 准备有权查看的已有界面记录、配置或脱敏响应；本教程核对材料，不登录、创建配置、生成密钥或调用业务API。
- 各产品权限以当前账户和具体模型为准；文档步骤未作账户或付费功能实测。

## 1. 先核标识和模型权限

GET /query/tabular/assets/bitcoin等单行方法接受slug、prioritySymbol或assetID；读返回assetID及matchedField，再用规范ID查历史。统一密钥不代表每模型都有权限；核access.tier及原响应。

核对结果：规范实体ID与模型资格分别记录。
依据：[Blockworks Data API：先解析规范实体ID](https://docs.blockworks.com/api-reference/data-api/discovery/finding-an-id.md)
依据：[Blockworks API：认证、旧请求头和访问等级](https://docs.blockworks.com/getting-started/authentication.md)

## 2. 核粒度和半开窗口

Asset Price方法为GET /query/timeseries/asset-price/{granularity}/{assetID}，支持5m、1h、1d、1w。用timeframe或start/end其中一种；窗口为[start,end)，粒度放路径。bounds=true只取首尾点，不能当完整序列。

核对结果：粒度、窗口和首尾选项明确。
依据：[Blockworks Data API：Asset Price具体方法](https://docs.blockworks.com/api-reference/data-api/assets/timeseries-asset-price-by-id.md)
依据：[Blockworks Data API：粒度和半开时间窗口](https://docs.blockworks.com/getting-started/concepts/granularity.md)

## 3. 按响应 schema 解列

单资产响应的key、entity、point_schema、points直接在data；批量才有series。每点先是UTC Unix秒时间，后续值按point_schema字段与单位排列，selections输入顺序不决定列序。null保留缺值。

核对结果：列与单位从该响应解析，缺值不填零。
依据：[Blockworks Data API：序列结构和point_schema](https://docs.blockworks.com/getting-started/responses.md)
依据：[Blockworks Data API：Asset Price具体方法](https://docs.blockworks.com/api-reference/data-api/assets/timeseries-asset-price-by-id.md)

## 4. 分别解释空数据和报错

未知序列key可200且points为空、无entity；先核assetID，不推没有交易。401指缺认证，403可为无效key或模型资格不足；404可为模型/粒度/单行标识错误。保留原error和脱敏X-Request-Id。

核对结果：空序列、权限和方法错误分列。
依据：[Blockworks Data API：空序列与错误状态](https://docs.blockworks.com/getting-started/errors.md)

## 常见错误
- ticker不唯一，不能仅按符号连接不同资产。
- 历史价格序列不证明原时点就已取得该数据；本轮未验证实时服务、回填或账户资格。

## 完成检查
- 形成实体ID、窗口、字段单位、缺值与失败原因的解析记录。

## 相关知识

## 官方依据
- [Blockworks Data API：先解析规范实体ID](https://docs.blockworks.com/api-reference/data-api/discovery/finding-an-id.md)
- [Blockworks API：认证、旧请求头和访问等级](https://docs.blockworks.com/getting-started/authentication.md)
- [Blockworks Data API：Asset Price具体方法](https://docs.blockworks.com/api-reference/data-api/assets/timeseries-asset-price-by-id.md)
- [Blockworks Data API：粒度和半开时间窗口](https://docs.blockworks.com/getting-started/concepts/granularity.md)
- [Blockworks Data API：序列结构和point_schema](https://docs.blockworks.com/getting-started/responses.md)
- [Blockworks Data API：空序列与错误状态](https://docs.blockworks.com/getting-started/errors.md)
