Oracle WebSocket API
本页由 Oracle AsyncAPI 3.0 协议定义生成。价格与成交量使用十进制字符串,事件时间均为 Unix 毫秒。
通过 Oracle 行情看板 查看实时数据。
订阅类型
连接与鉴权
wss://api.coinpost.ai/oracle/v2/ws启用 CP Auth 时,在握手请求中发送具有 oracle scope 的 Authorization: Bearer <token>。浏览器也可在此端点使用 ?token=<token> 或 ?access_token=<token>。
行情订阅只推送新事件,不提供初始行情快照;需要初始数据时请调用 REST API。重连后需要重新订阅。行情事件不包含订阅 ID,多个订阅匹配同一事件时仅推送一次。
鉴权方式
| 方式 | 位置 | 名称 |
|---|---|---|
| bearer | header | Authorization |
| httpApiKey | query | token |
| httpApiKey | query | access_token |
订阅 (type: subscribe)
使用 type: "subscribe" 创建或替换订阅,通过 channels 选择 klines、tickers、sourceTickers 或 status。各订阅子页分别列出该类型的适用参数;只订阅其中一种数据时,需要显式填写对应的 channels。
订阅限制
每个连接最多支持 100 个订阅和 100 个不同 symbol。
同时省略 symbol 和 symbols 的全资产行情订阅会占满该连接的 symbol 配额。一个连接只能有一条这样的订阅,不能同时添加指定 symbol 的订阅或另一条全资产订阅,即使 quote 不同也不行。额外的行情订阅应使用独立连接。仅包含 status channel 且不指定 symbol 的订阅可以与它共存。违反限制会返回 code: "symbol_limit" 错误,已有订阅保持有效。使用相同的订阅 id 会替换该订阅。
组合订阅与默认行为
subscribe客户端 → 服务端
同一 ID 需要订阅多种数据时,可在 channels 中组合填写。intervals 只作用于 klines,sources 只作用于 sourceTickers。省略 channels 或传空数组时,默认订阅 klines、tickers、sourceTickers;status 必须显式添加。复用 ID 会替换整条订阅,需要重新发送全部所需参数。同一连接上的独立订阅应使用不同 ID;省略 id 时始终使用 default。
确认消息: subscribed
取消订阅 (type: unsubscribe)
unsubscribe客户端 → 服务端
按请求中的 id 取消整个订阅,包括其中所有 channels。省略或留空 id 时取消 default 订阅。服务端使用 subscription_id 返回确认,即使该 ID 不存在也会确认。
确认消息: unsubscribed
消息字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 固定为 unsubscribe。可选值: "unsubscribe" |
id | string | 否 | 要取消的订阅 ID,默认 default。默认值: "default" |
取消订阅确认 (type: unsubscribed)
unsubscribed服务端 → 客户端
返回已取消的 ID,即使原先不存在该订阅。
消息字段
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
type | string | 是 | 可选值: "unsubscribed" |
subscription_id | string | 是 | 请求中的订阅 ID;省略或留空时为 default。 |
