失败响应一般是 { "status": "ERROR", "error": "..." } 结构:
{ "status": "ERROR", "error": "今日调用量已达上限 50000 次,次日 UTC 00:00 重置,或升级套餐" }例外:REST 接口查询超出套餐历史范围的数据(如 Starter 查 5 年以前的K线)时,返回 403 且 status 为 NOT_AUTHORIZED:
{ "status": "NOT_AUTHORIZED", "error": "当前套餐不包含该数据:Starter 可查询最近 5 年历史,更早的数据需要 Advanced 套餐" }判断是否失败请以 HTTP 状态码为准。401 密钥缺失或无效;403 密钥停用或已到期(股票和期权分别判断)、未开通对应产品(如没买期权套餐的 Key 请求 O: 期权代码)、超出套餐历史范围、或套餐不含该功能(如体验套餐下载 Flat Files);404 接口不在当前套餐范围内(比如用 Starter 套餐的 Key 调 Advanced 专属接口);429 速率、并发、日调用额度、流量额度或 Flat Files 每日下载额度超限;502/503 数据源暂时不可用(历史数据仍可能命中缓存返回);504 数据源响应超时,稍后重试,批量下载时请降低并发。WebSocket 的错误不走 HTTP 状态码,是 {"ev":"status","status":"auth_failed"|"error","message":"..."} 这种消息,具体原因看 message。