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

使用BingX API V2永续合约下单报错(code100001)求助

代码问题分析及修正方案

以下是你的代码存在的问题及对应修正:

  • 缺少必填参数
    BingX API V2永续合约市价单(MARKET)要求必须传入quantity参数(下单数量),你的代码未包含该参数,会触发接口参数校验失败。

  • 请求参数位置错误
    下单接口为POST请求,所有业务参数(含timestamp、signature)需放在请求体(body)中,而非URL的query部分。你的代码将参数拼接到URL,不符合API规范。

  • 签名生成时参数未按字典序排序
    生成签名前,需将除signature外的所有参数按字典序升序排列后拼接,你的代码直接按原有顺序拼接,会导致签名不匹配,这是code:100001(签名/参数错误)的常见原因。

  • POST请求未传递请求体
    你的post函数创建Request对象时,未传入body数据,导致接口无法接收下单参数。

  • 冗余模块导入
    代码重复导入json模块,可删除其中一个。


修正后的代码示例

import urllib.request
import json
import hmac
import time

APIURL = "https://open-api.bingx.com"
APIKEY = "MyApiKEY"
SECRETKEY = "MySecretKey"

def genSignature(paramsStr):
    return hmac.new(SECRETKEY.encode("utf-8"),
        paramsStr.encode("utf-8"), digestmod="sha256").digest()

def post(url, body):
    req = urllib.request.Request(
        url,
        data=body.encode("utf-8"),  # 传递请求体数据
        headers={
            'User-Agent': 'Mozilla/5.0',
            'X-BX-APIKEY': APIKEY,
            'Content-Type': 'application/x-www-form-urlencoded'  # 添加表单类型头
        },
        method="POST"
    )
    return urllib.request.urlopen(req).read()

def tradeOrder(symbol, side, tradeType, quantity):
    paramsMap = {
        "symbol": symbol,
        "side": side,
        "type": tradeType,
        "quantity": quantity,  # 添加必填数量参数
        "timestamp": int(time.time()*1000),
    }
    # 按字典序排序参数
    sorted_params = sorted(paramsMap.items(), key=lambda x: x[0])
    paramsStr = "&".join(["%s=%s" % (k, v) for k, v in sorted_params])
    signature = genSignature(paramsStr).hex()
    # 将signature加入参数体
    paramsStr += "&signature=" + signature
    url = "%s/openApi/swap/v2/trade/order" % APIURL
    return post(url, paramsStr)

def main():
    # 传入具体下单数量,例如0.001 BTC
    tradeOrder("BTC-USDT", "BUY", "MARKET", 0.001)

if __name__ == "__main__":
        main()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 19:36:12