更新日志
最近更新: 2025-08-28
2025-08-28
- 更新了 “简单二进制编码(SBE)常见问题” 文档中 关于对旧版本的支持 部分,增加了关于模式兼容性的更多细节,并解释了
NonRepresentable
和NonRepresentableMessage
的用法。
2025-08-26
- 更新了 REST API 和 WebSocket API 文档的 “请求鉴权类型” 部分,不过相关的功能没有改动。
2025-08-25
- SBE: 模式 3:1 (spot_3_1.xml)将于2025-08-25 05:00 UTC 进行更新。
- 以下字段已被重命名,用于解决通过 SbeTool 代码生成器所生成的 Java 代码被发现无法进行编译的问题。
- 虽然只有受此问题影响的用户才需要更新模式文档,但我们建议所有用户都升级到最新版本以保持一致性。
- 消息
MaxAssetFilter
- 字段
limitExponent
重命名为qtyExponent
- 字段
limit
重命名为maxQty
- 字段
- 以下字段已被重命名,用于解决通过 SbeTool 代码生成器所生成的 Java 代码被发现无法进行编译的问题。
2025-08-19
userDataStream.subscribe
在响应中返回subscriptionId
。
这在 previous 变更日志条目中被遗漏了
2025-08-12
通知: 本节中的更改将逐步推出,需要大约两周时间才能完成部署。
常规更改
- 新的错误代码
-1120
和1211
。有关详情,请参阅 错误代码汇总。 - 以下请求包含一个名为
specialCommission
的新结构。请参阅 佣金率。- REST API
GET /api/v3/account/commission
POST /api/v3/order/test
并设置computeCommissionRates=true
POST /api/v3/sor/order/test
并设置computeCommissionRates=true
- WebSocket API
account.commission
order.test
并设置computeCommissionRates=true
sor.order.test
并设置computeCommissionRates=true
- REST API
- SBE: 新模式 3:1 (spot_3_1.xml) 将可以使用。
- 现行模式 3:0 (spot_3_0.xml) 将会被废止并根据我们的废止政策,在6个月内停止使用。
- 模式 3:1 中的更改:
ExchangeInfoResponse
:增加新字段pegInstructionsAllowed
ExecutionReportEvent
:增加新字段pricePeg
,pricePegOffsetLevel
和peggedPrice
UserDataStreamSubscribeResponse
:新字段subscriptionId
- 所有的用户数据流事件都增加了新字段
subscriptionId
。 - 对于
WebSocketSessionLogonResponse
,WebSocketSessionStatusResponse
和WebSocketSessionLogoutResponse
,字段apiKey
被改名为loggedOnApiKey
OrderTestWithCommissionsResponse
:增加2个新字段specialCommissionForOrderMaker
和specialCommissionForOrderTaker
AccountCommissionResponse
:增加4个新字段specialCommissionMaker
,specialCommissionTaker
,specialCommissionBuyer
和specialCommissionSeller
- 支持
EXCHANGE_MAX_NUM_ORDER_LISTS
,MAX_NUM_ORDER_LISTS
和MAX_NUM_ORDER_AMENDS
过滤器。 ExecutionReportEvent
:字段rejectReason
和origClientOrderId
在 SBE 格式也会显示它们的默认值,以和 JSON 格式保持一致,NonRepresentableMessage
:添加了一条新消息,用于表示无法使用现有schema ID
和version
来显示的信息。收到此消息则表示应该有可用内容,但不适用于当前使用的 SBE 模式。
- 最终状态为
EXPIRED_IN_MATCH
(即因 STP 而过期的订单)且累计数量为 0 的订单将在 90 天后做归档处理。 - 查询订单列表请求将首先查询 缓存中的数据,如果找不到,再去查询数据库。
- REST API:
GET /api/v3/openOrderLists
- WebSocket API:
openOrderLists.status
- REST API:
WebSocket API
- 单个 WebSocket 连接可以同时订阅多个用户数据流。
- 单个连接上,每个帐户只能有一个订阅。
- 新增了
userDataStream.subscribe.signature
方法,允许您无需事先登录即可订阅用户数据流。- 此方法也不需要 Ed25519 API 密钥,并且可以与任何 API Key 类型 配合使用。
- 为了获得 SBE 支持,您至少需要使用架构 3:1。
- 新增了
session.subscriptions
方法,用于列出当前会话中所有有效的订阅。 - 会话请求中字段
userDataStream
的含义略有变化。- 之前,如果您订阅了已登录帐户的用户数据流,则此方法返回
true
。 - 现在,如果您至少有一个有效的用户数据流订阅,它将返回
true
,否则为false
。
- 之前,如果您订阅了已登录帐户的用户数据流,则此方法返回
userDataStream.unsubscribe
支持关闭多个订阅。- 调用时不带参数,将关闭所有订阅。
- 调用时传入
subscriptionId
,如果该 ID 存在的话,将尝试关闭与该 ID 匹配的订阅。 - 此请求的授权已更改为
NONE
。
- 通过 WebSocket API 进行监听时,用户数据流事件 负载中新增了字段
subscriptionId
。这个字段会标识事件来自哪个订阅。
FIX API
- 当客户端发送拒绝消息时,FIX API 将不再向客户端返回
<3>
拒绝消息。 - 现在,当标签无效、缺少值、字段值为空或格式错误时,错误消息将更加清晰明了。
-
{"code": -1169, "msg": "Invalid tag number."}
-
{"code": -1177, "msg": "Tag specified without a value."}
-
{"code": -1102, "msg": "Field value was empty or malformed."}
-