You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用python-binance获取订单的orderId?

获取python-binance中的orderId方法

嘿,我懂这种翻遍文档找不到关键信息的抓狂感——当初我第一次用python-binance的时候也踩过这个坑。其实orderId的获取方式很直接,主要有这几种场景:

一、创建订单时直接获取

当你通过create_order()(或者测试用的create_test_order())提交订单后,API的响应结果里就会直接返回orderId。举个简单的例子:

from binance.client import Client

client = Client(api_key='你的API_KEY', api_secret='你的API_SECRET')

# 创建一个限价订单
order_response = client.create_order(
    symbol='BTCUSDT',
    side=Client.SIDE_BUY,
    type=Client.ORDER_TYPE_LIMIT,
    timeInForce=Client.TIME_IN_FORCE_GTC,
    quantity=0.001,
    price='30000'
)

# 直接从响应中提取orderId
order_id = order_response['orderId']
print(f"新创建的订单ID:{order_id}")

市价订单的响应结构也是一样的,同样能拿到orderId。

二、查询历史/当前订单获取

如果你需要找已经存在的订单(不管是已成交还是挂单状态),可以用以下方法:

  • get_open_orders():获取当前所有未成交的挂单,返回的是订单对象列表,每个对象都包含orderId
  • get_all_orders():获取指定交易对的历史订单(默认返回最近500条,可通过参数调整数量)

示例代码:

# 获取BTCUSDT的所有历史订单
all_orders = client.get_all_orders(symbol='BTCUSDT')

# 遍历订单列表,提取每个订单的orderId
for order in all_orders:
    print(f"订单ID:{order['orderId']},状态:{order['status']}")

三、通过其他标识查询订单获取orderId

如果你只记得订单的自定义标识origClientOrderId(创建订单时可以自己设置这个参数),或者知道交易对,可以用get_order()方法来查询订单详情,从而拿到orderId:

# 通过origClientOrderId查询订单
order_details = client.get_order(
    symbol='BTCUSDT',
    origClientOrderId='你自定义的订单标识'
)

order_id = order_details['orderId']
print(f"查询到的订单ID:{order_id}")

小提示

  • 确保你的API密钥拥有读取订单的权限(在Binance后台创建密钥时要勾选对应的权限)
  • 所有返回订单数据的API接口,响应里的orderId都是整数类型,注意不要和字符串类型的clientOrderId混淆

内容的提问来源于stack exchange,提问作者Hoodiedoodie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 06:07:36