更新日志
最近更新: 2025-02-12
2025-02-12
- **注意:这些更改将于 2025 年 2 月 26 日 05:00 UTC 生效。请确保在此之前您已下载最新的模式。
AggressorSide (2446)
将在 FIX 市场数据流中提供。QuickFIX 模式 file 也已更新。
2024-01-28
注意: 该变更会在2025年2月3日到2025年2月14日之间逐步推出。
- 以下变更将会同时应用于WebSocket 市场数据流,WebSocket 账户接口 和 WebSocket API:
- WebSocket 服务将会每20秒发送发送 PING 消息而不是每3分钟。
- PONG 消息的延迟将会是每1分钟而不是每10分钟。
- 相关服务的更改所对应的文档都已经更新。
2025-01-09
- FIX 市场数据将在 January 16, 05:00 UTC 提供。FIX API 文档已更新有关此功能。
- 请参阅此 [链接](https://github.com/binance/binance-spot-api-docs/blob/master/fix/schemas/spot-fix-md.xml) 以获取 FIX市场数据的 QuickFIX 模式。
2024-12-17
常规更改:
系统现在在所有相关时间和/或时间戳的字段中支持微秒。微秒支持是 opt-in,默认情况下,请求和响应仍然使用毫秒。文档中的示例也在可预见的将来使用毫秒。
WebSocket Streams
- 可以在连接 URL 中使用新的可选参数
timeUnit
来选择时间单位。- 例如:
/stream?streams=btcusdt@trade&timeUnit=millisecond
- 支持的值为:
MILLISECOND
millisecond
MICROSECOND
microsecond
- 如果未选择时间单位,则默认使用毫秒。
- 例如:
REST API
- 可以在请求中发送新的可选报文头
X-MBX-TIME-UNIT
来选择时间单位。- 支持的值:
MILLISECOND
millisecond
MICROSECOND
microsecond
- 时间单位会影响 JSON 响应中的时间戳字段(例如,
time
、transactTime
)。- 无论时间单位如何,SBE 响应都将继续以微秒为单位。
- 如果未选择时间单位,则默认使用毫秒。
- 支持的值:
- 时间戳参数(例如 'startTime'、'endTime'、'timestamp)' 现在可以以毫秒或微秒为单位传递。
WebSocket API
- 可以在连接 URL 中使用新的可选参数
timeUnit
来选择时间单位。- 支持的值:
MILLISECOND
millisecond
MICROSECOND
microsecond
- 时间单位会影响 JSON 响应中的时间戳字段(例如,
time
、transactTime
)。- 无论时间单位如何,SBE 响应都将继续以微秒为单位。
- 如果未选择时间单位,则默认使用毫秒。
- 支持的值:
- 时间戳参数(例如
startTime
、endTime
、timestamp
) 现在可以以毫秒或微秒为单位传递。
User Data Streams
- 可以在连接 URL 中使用新的可选参数
timeUnit
来选择时间单位。- 支持的值
MILLISECOND
MICROSECOND
microsecond
millisecond
- 支持的值
最近更新: 2024-12-09
2024-12-09
注意: 以下的变更会从2024 年 12 月 12日开始推出,可能需要大约一周的时间才能完成。
常规更改:
- 现在会拒绝距离过去或未来太远的时间戳参数值。
- 时间戳数值在 2017 年 1 月 1 日之前(小于 1483228800000)
- 时间戳数值超过当前时间 10 秒以后(例如,如果当前时间为 1729745280000, 那么使用 1729745290000 或更大是错误的)
- 如果
startTime
和/或endTime
的值超出范围,数值会被调整至正确的范围。 - 已将
quote order quantity
(origQuoteOrderQty
) 字段添加到原先没有该字段的响应中。请注意,对于下单相关的接口,该字段将仅针对newOrderRespType
设置为RESULT
或FULL
的请求显示。
请参阅以下列表,以便了解因带有: origQuoteOrderQty
而受影响的请求:
服务 | 请求 |
---|---|
REST | POST /api/v3/order |
POST /api/v3/sor/order | |
POST /api/v3/order/oco | |
POST /api/v3/orderList/oco | |
POST /api/v3/orderList/oto | |
POST /api/v3/orderList/otoco | |
DELETE /api/v3/order | |
DELETE /api/v3/orderList | |
POST /api/v3/order/cancelReplace | |
WebSocket API | order.place |
sor.order.place | |
orderList.place | |
orderList.place.oco | |
orderList.place.oto | |
orderList.place.otoco | |
order.cancel | |
orderList.cancel | |
order.cancelReplace |
SBE
- 已发布新模式 2:1 spot_2_1.xml。 当前模式 2:0 spot_2_0.xml 将被弃用。根据我们的模式弃用政策,当前模式 2:0 会将在 6个月内从 API 中停用。
- 模式 2:1 是 模式 2:0 的向后兼容更新版本。当您请求模式 2:0 或 2:1 时,您将始终收到 2:1 格式的有效载荷。
- SBE 模式 2:1 中的更改:
- 下单/取消订单响应中的新字段
origQuoteOrderQty
(注意:使用 2:0 模式生成的解码器将忽略此字段):NewOrderResultResponse
NewOrderFullResponse
CancelOrderResponse
NewOrderListResultResponse
NewOrderListFullResponse
CancelOrderListResponse
- 仅限 WebSocket API:会话状态响应中的新字段
userDataStream
:WebSocketSessionLogonResponse
WebSocketSessionStatusResponse
WebSocketSessionLogoutResponse
- 仅限 WebSocket API:在 User Data Stream 中会支持的新消息:
UserDataStreamSubscribeResponse
UserDataStreamUnsubscribeResponse
BalanceUpdateEvent
EventStreamTerminatedEvent
ExecutionReportEvent
ExternalLockUpdateEvent
ListStatusEvent
OutboundAccountPositionEvent
- 下单/取消订单响应中的新字段
WebSocket API
- 您现在可以通过 WebSocket API 连接订阅账户数据流事件。
- 请注意:此功能仅适用于使用 Ed25519 API 密钥的用户。
- 请注意:如果您要订阅使用 SBE 格式的账户数据流,则需使用新的 SBE 模式 2:1。
- 新请求:
userDataStream.subscribe
userDataStream.unsubscribe
- 对于
session.logon
、session.status
和session.logout
的更改。- 添加了一个新字段
userDataStream
,用于显示账户数据流订阅是否处于活跃状态。
- 添加了一个新字段
- 修复了在
session.logon
之后使用userDataStream.start
不会收到新 listenKey 的错误。
User Data Stream
- 仅限于 WebSocket API:当您从 websocket 会话注销或取消订阅账户数据流时,新事件
eventStreamTerminated
将会被发出。 - 当您的现货钱包余额被外部系统锁定/解锁时,新事件
externalLockUpdate
将会被发送。
FIX API
- 模式 中已添加了新的管理消息 News <B>,该消息可用于所有 FIX 服务。收到此消息意味着您的连接即将关闭。
以下更改将在2024 年 12 月 16 日到 2024 年 12 月 20日之间发生:
- 修复一个错误:
BUY
方 OCO 单如果不提供stopPrice
就会被阻止下单。 - 在 OCO 中添加了对
TAKE_PROFIT
和TAKE_PROFIT_LIMIT
的支持。- 以前,OCO 只能由以下订单类型组成:
LIMIT_MAKER
+ 'STOP_LOSS
LIMIT_MAKER
+STOP_LOSS_LIMIT
- 现在,OCO 可以由以下订单类型组成:
LIMIT_MAKER
+STOP_LOSS
LIMIT_MAKER
+STOP_LOSS_LIMIT
TAKE_PROFIT
+STOP_LOSS
TAKE_PROFIT
+STOP_LOSS_LIMIT
TAKE_PROFIT_LIMIT
+STOP_LOSS
TAKE_PROFIT_LIMIT
+STOP_LOSS_LIMIT
- 以下请求支持此功能:
POST /api/v3/orderList/oco
POST /api/v3/orderList/otoco
orderList.place.oco
orderList.place.otoco
NewOrderList<E>
- 错误代码 -1167 将在此次更新后过时,并将在以后的更新中从文档中删除。
- 以前,OCO 只能由以下订单类型组成:
2024-10-18
Rest 和 WebSocket API:
- 注意:根据我们的 SBE 政策,SBE 1:0 模式将于 2024 年 10 月 25 日被禁用 废止后 6 个月。
- 面向生产的 SBE 生命周期 已基于本次更改进行了更新。
2024-10-17
Exchange Information 的更改 (即 REST API 的 GET /api/v3/exchangeInfo
和 WebSocket API 的 exchangeInfo
)。
- 新的可选参数
showPermissionSets
可用于隐藏permissionsSets
的权限信息;这可用于减小消息大小。 - 新的可选参数
symbolStatus
用于仅显示具有指定状态的交易对。(例如:TRADING
,HALT
,BREAK
)
2024-08-26
- 现货未成交订单计数规则 已更新,解释了如何在下订单时减少未成交的订单数量。
2024-08-16
注意: 以下的变更正在逐步推出,可能需要大约一周的时间才能完成。
常规更改:
- 在市场流动性低的情况下,当提交包含
quoteOrderQty
的市价单(又名反向市价单)被拒绝时,添加了新的错误消息。
2024-08-01
- FIX API 和 Drop Copy 会话 将于 8 月 8 日 05:00 UTC 上线。
2024-07-26
- FIX API 和 Drop Copy 会话 已添加到文档中。
- 实时交换的发布日期尚未确定。
2024-07-22
常规更改:
- 修复了 klines 的时间戳不正确的 bug。
- REST API: 带有
timeZone
参数的GET /api/v3/klines
和GET /api/v3/uiKlines
- WebSocket API: 带有
timeZone
参数的klines
和uiKlines
- WebSocket Streams:
<symbol>@kline_<interval>@+08:00
- REST API: 带有
2024-06-11
- 在 6月11日 UTC 时间 05:00,我们将开始推出新功能
One-Triggers-the-Other
(OTO) 订单和One-Triggers-a-One-Cancels-The-Other
(OTOCO) 订单。(请注意,我们可能需要花几个小时来部署到所有服务器。)- 有关详细信息,请参阅以下页面:
- REST API:
POST /api/v3/orderList/oto
POST /api/v3/orderList/otoco
- WebSocket API:
orderList.place.oto
orderList.place.otoco
- REST API:
- 有关详细信息,请参阅以下页面:
- 在 6月18日 UTC 时间 05:00,我们将会把买方的订单 ID(
b
) 和卖方的订单 ID(a
) 从交易流中删除(i.e.<symbol>@trade
)。 (请注意,我们可能需要花几个小时来部署到所有服务器。)- WebSocket 账户接口 与其相关的文档已经被更改了。
- 要监控您的订单是否是交易的一部分,请订阅 WebSocket 账户接口。
2024-06-06
此功能将在6月6日 UTC时间11:59前上线。
REST API
POST /api/v3/order/cancelReplace
新加可选参数orderRateLimitExceededMode
。
WebSocket API
order.cancelReplace
新加可选参数orderRateLimitExceededMode
。
2024-05-30
WebSocket Streams
- Kline 新增加了对 UTC+8 时区的支持。(例如,
btcusdt@kline_1d@+08:00
)
2024-04-10
以下更新的生效时间已被推迟到 4月25日 05:00 UTC
- "交易规范信息"响应中的交易对权限信息已从字段
permissions
移至字段permissionSets
。 - 字段
permissions
将为空,并将在未来版本中删除。 - 以前,
"permissions":["SPOT","MARGIN"]
代表如果您的账户具有SPOT
或MARGIN
权限,您就可以在该交易对上下订单。现在,等效项是"permissionSets":[["SPOT","MARGIN"]]
(请注意额外的方括号)。permissionSets
数组中的每个权限数组称为 "permission set"。 - 交易对的权限现在可以有更多权限类型。例如,
"permissionSets":[["SPOT","MARGIN"],["TRD_GRP_004","TRD_GRP_005"]]
指示除了支持以上提过的权限集,也接受TRD_GRP_004
或TRD_GRP_005
。交易对的permissionSets
中可以有任意排列组合的权限集。
REST API
otoAllowed
现在将出现在GET /api/v3/exchangeInfo
上,指示该交易品种是否支持 One-Triggers-the-Other (OTO) 订单。
WebSocket API
otoAllowed
现在将出现在exchangeInfo
上,指示该交易品种是否支持 One-Triggers-the-Other (OTO) 订单。
SBE
- 已发布新模式 2:0 Spot_2_0.xml。 当前模式 1:0 spot_1_0.xml 将被弃用,并从根据我们模式弃用政策,会将在 6 个月内下线。
- 在 REST API 或 WebSocket API 上使用模式 1:0 时,消息
ExchangeInfoResponse
中的组"权限"将始终为空。在升级到模式 2:0后, 您才可以在permissionSets
组中查找权限信息。 - 最新模式仍将支持已弃用的 OCO 请求。
- 请注意,在模式 2:0 实际发布之前尝试使用它会导致错误。
2024-04-02
注意: 以下的变更将逐步推出,并预计需要大约一周的时间完成。
GET /api/v3/account
新加可选参数omitZeroBalances
,如果启用,则会隐藏所有零余额。account.status
新加可选参数omitZeroBalances
,如果启用,则会隐藏所有零余额。- 以下请求的权重已从 10 增加到 25 (该规定将 于2024年4月4日生效):
GET /api/v3/trades
GET /api/v3/historicalTrades
trades.recent
trades.historical
User Data Stream
- 如果
listenKey
过期,将在流中发出新事件listenKeyExpired
。
REST API
- REST API 上现已弃用
POST /api/v3/order/oco
接口。从今开始,请使用新的POST /api/v3/orderList/oco
接口(请注意,新接口使用不同的参数)。
WebSocket API
- WebSocket API 上现已弃用
orderList.place
请求。从今开始,请使用新的orderList.place.oco
请求(请注意,新接口使用不同的参数)。
以下内容将于发布日期 大约 一周后生效:
- "交易规范信息"响应中的交易对权限信息已从字段
permissions
移至字段permissionSets
。 - 字段
permissions
将为空,并将在未来版本中删除。 - 以前,
"permissions":["SPOT","MARGIN"]
代表如果您的账户具有SPOT
或MARGIN
权限,您就可以在该交易对上下订单。现在,等效项是"permissionSets":[["SPOT","MARGIN"]]
(请注意额外的方括号)。permissionSets
数组中的每个权限数组称为 "permission set"。 - 交易对的权限现在可以有更多权限类型。例如,
"permissionSets":[["SPOT","MARGIN"],["TRD_GRP_004","TRD_GRP_005"]]
指示除了支持以上提过的权限集,也接受TRD_GRP_004
或TRD_GRP_005
。交易对的permissionSets
中可以有任意排列组合的权限集。
REST API
otoAllowed
现在将出现在GET /api/v3/exchangeInfo
上,指示该交易品种是否支持 One-Triggers-the-Other (OTO) 订单。
WebSocket API
otoAllowed
现在将出现在exchangeInfo
上,指示该交易品种是否支持 One-Triggers-the-Other (OTO) 订单。
SBE
- 已发布新模式 2:0 Spot_2_0.xml。 当前模式 1:0 spot_1_0.xml 将被弃用,并从根据我们模式弃用政策,会将在 6 个月内下线。
- 在 REST API 或 WebSocket API 上使用模式 1:0 时,消息
ExchangeInfoResponse
中的组"权限"将始终为空。在升级到模式 2:0后, 您才可以在permissionSets
组中查找权限信息。 - 最新模式仍将支持已弃用的 OCO 请求。
- 请注意,在模式 2:0 实际发布之前尝试使用它会导致错误。
2024-02-28
将于 2024 年 3 月 5 日生效。
简单二进制编码 (SBE) 将部署到现货的 Rest API 和 WebSocket API 生产系统上。
更多关于SBE的信息, 请参考常见问题解答 (FAQ)
2024-02-08
现货的 WebSocket API 现在在测试网上支持简单二进制编码(SBE)。
SBE 模式已经更新了 WebSocket API 元数据,但并没有增加 schemaId
或者 version
。
-
仅在 REST API 上使用 SBE 的用户可以继续使用 SBE 模式
128b94b2591944a536ae427626b795000100cf1d
,或者更新到新提交的 SBE 模式。 -
希望在 WebSocket API 上使用 SBE 的用户,需要更新到最新的 SBE 模式。
SBE 的 FAQ 已经更新。
2023-12-08
简单二进制编码 (SBE) 已经在现货测试网上线。 生产系统会在随后支持。 更多关于SBE的信息, 请参考常见问题解答 (FAQ)
2023-12-04
注意: 以下的变更将逐步推出,并预计需要大约一周的时间完成。
- 错误消息
Precision is over the maximum defined for this asset.
被改为Parameter '%s' has too much precision.
- 当参数的精度超出允许范围时,将返回此错误消息。例如,如果基础资产(
base asset
)精度为6,但是设置quantity=0.1234567
,则会出现此错误消息。 - 这会影响所有具有以下参数的请求:
quantity
quoteOrderQty
icebergQty
limitIcebergQty
stopIcebergQty
price
stopPrice
stopLimitPrice
- 当参数的精度超出允许范围时,将返回此错误消息。例如,如果基础资产(
- 现在,请求查询OCO开单时会正确返回升序的结果。这会影响以下请求:
- REST API:
GET /api/v3/openOrderList
- WebSocket API:
openOrderList.status
- REST API:
- 现在,当指定
startTime
或fromId
时,请求查询所有 OCO 订单会正确返回升序的结果。这会影响以下请求:- REST API:
GET /api/v3/allOrderList
- WebSocket API:
allOrderLists
- REST API:
- 修复了一个错误。订单查询请求不再会对新下的订单错误返回
-2026 ORDER_ARCHIVED
错误。- REST API:
GET /api/v3/order
- WebSocket API:
order.status
- REST API:
REST API
- 新接口
GET /api/v3/account/commission
- 新接口
GET /api/v3/ticker/tradingDay
GET /api/v3/avgPrice
新加字段closeTime
, 用于显示最后交易时间。GET /api/v3/klines
和/api/v3/uiKlines
新加可选参数timeZone
。POST /api/v3/order/test
和POST /api/v3/sor/order/test
新加可选参数computeCommissionRates
。- 关于发送无效接口的变动:
- 以前,如果查询一个不存在的端点(例如
curl -X GET "https://api.binance.com/api/v3/exchangie"
),你会收到 HTTP 404 状态码,以及响应 "<html><body><h2>404 Not found</h2></body></html>
"。 - 从现在开始,只有当接受请求头中包含
text/html
时,HTML响应才会出现在这种情况下。HTTP状态码将保持不变。
- 以前,如果查询一个不存在的端点(例如
WebSocket API
- 新请求
account.commission
- 新增请求以允许会话身份验证: (请注意,这些请求只能使用Ed25519密钥。)
session.logon
session.logout
session.status
- 新请求
ticker.tradingDay
- 方法
avgPrice
新加字段closeTime
, 用于显示最后交易时间。 - 方法
klines
和uiKlines
新加可选参数timeZone
。 - 方法
order.test
和sor.order.test
新加可选参数computeCommissionRates
. - 修复了一个错误。之前在发送 ping 之前未经请求发送的 pongs 会导致断开连接。
WebSocket Streams
- 新数据流
<symbol>@avgPrice
- 请求中的
id
现在支持和 WebSocket API 里id
一样的值:- 64位有符号整数 (之前是无符号整数)
- 字母数字字符串;最大长度36
null
- 修复了一个错误,之前在发送 ping 之前未经请求发送的 pongs 会导致断开连接。
User Data Streams
- 当事件类型为
executionReport
,而执行类型(x)为TRADE_PREVENTION
时,字段l
、L
和Y
现在将始终为0。新增字段pl
、pL
和pY
将描述被阻止执行的数量、被阻止执行的价格和被阻止执行的名义金额。这些新字段显示了如果接收方订单没有启用自成交防止功能时,l
、L
和Y
会是什么值。
以下将在发布日期后_大约_一周后生效:
- 交易对权限将仅影响下单,而不影响取消订单。
permissions
仍然适用于撤消挂单再下单(Cancel-Replace orders)(比如,如果您的账户有使用此请求下单的权限,则将不允许取消操作)。
2023-10-19
从 2023-10-19 00:00 UTC 开始生效
- 调高如下接口的请求权重:
REST API | WebSocket API | 条件 | 之前的权重 | 调整后权重 |
---|---|---|---|---|
GET /api/v3/trades |
trades.recent |
N/A | 2 | 10 |
GET /api/v3/depth |
depth |
Limit 1-100 | 2 | 5 |
Limit 101-500 | 10 | 25 | ||
Limit 501-1000 | 20 | 50 | ||
Limit 1001-5000 | 100 | 250 |