跳到主要内容

测试下单

接口描述

测试下单的连通性与交易对有效性。该接口不计入下单频率限制,并不实际成交订单。

有限校验

当前实现只校验 symbol 是否指向一个可交易的市场(否则返回 -1121)。其他所有参数 —— 数量、价格、类型、过滤器、保证金 —— 均做检查。在这里通过的请求仍可能被 POST /fapi/v1/order 拒绝。

HTTP请求

POST /fapi/v1/order/test (HMAC SHA256)

请求参数

下单 接口一致 —— 但注意实际只校验 symbol(见上文)。

响应示例

{}

如果测试通过,响应为空对象;如果交易对未知或不可交易,返回错误 -1121

代码示例

cURL

API_KEY="your_api_key"
API_SECRET="your_api_secret"
TIMESTAMP=$(date +%s%3N)
BODY='{"symbol":"BTCUSDT","side":"BUY","type":"LIMIT","timeInForce":"GTC","quantity":"0.01","price":"60000"}'
SIGNATURE=$(echo -n "timestamp=${TIMESTAMP}${BODY}" | openssl dgst -sha256 -hmac "${API_SECRET}" | awk '{print $2}')

curl -s -X POST \
-H "X-MBX-APIKEY: ${API_KEY}" \
-H "Content-Type: application/json" \
-d "${BODY}" \
"https://api.prex.world/fapi/v1/order/test?timestamp=${TIMESTAMP}&signature=${SIGNATURE}"

Python

import time, hmac, hashlib, requests, json

API_KEY = "your_api_key"
API_SECRET = "your_api_secret"
BASE_URL = "https://api.prex.world"

def sign(msg: str) -> str:
return hmac.new(API_SECRET.encode(), msg.encode(), hashlib.sha256).hexdigest()

def signed_post(path, body={}):
ts = int(time.time() * 1000)
qs = f"timestamp={ts}"
body_str = json.dumps(body, separators=(',', ':'))
sig = sign(qs + body_str)
return requests.post(
f"{BASE_URL}{path}?timestamp={ts}&signature={sig}",
data=body_str,
headers={"X-MBX-APIKEY": API_KEY, "Content-Type": "application/json"},
)

# Test a LIMIT BUY order for BTCUSDT (not actually executed)
resp = signed_post("/fapi/v1/order/test", body={
"symbol": "BTCUSDT",
"side": "BUY",
"type": "LIMIT",
"timeInForce": "GTC",
"quantity": "0.01",
"price": "60000",
})
print(resp.json()) # {}