在调用批量下单的 API 时,需要传入正确的签名参数。以下是一个 Python 示例代码:
import hashlib
import hmac
import requests
api_key = 'your_api_key'
secret_key = 'your_secret_key'
params = {
'symbol': 'BTCUSDT',
'side': 'BUY',
'type': 'LIMIT',
'price': '5000',
'quantity': '1',
'timestamp': 1552343565000
}
# 将参数按照字典序排序并拼接成字符串
query_string = '&'.join(['{}={}'.format(k, v) for k, v in params.items()])
# 对字符串进行 HMAC-SHA256 签名,并转成十六进制字符串
signature = hmac.new(secret_key.encode(), query_string.encode(), hashlib.sha256).hexdigest()
# 把签名加入到参数中
params['signature'] = signature
params['recvWindow'] = 5000
params['timestamp'] = 1552343565000
# 发送请求
response = requests.post('https://api.binance.com/api/v3/batchOrders', headers={"X-MBX-APIKEY": api_key}, data=params)
print(response.json())
在上面的示例代码中,我们首先将参数按照字典序排序并拼接成字符串。然后我们使用 Secret Key 对字符串进行 HMAC-SHA256 签名,并把签名加入到参数中。最后我们发送请求,并将返回结果打印出来。这样就可以正确地调用 batchOrder API 了。