跳到主要内容

订单管理 (Orders)

创建和管理交易订单。

创建订单

接口信息

  • Method: POST
  • Path: /api/v1/orders
  • Authentication: 需要身份验证(JWT Token)
  • Content-Type: application/json

请求参数

参数类型必须描述
symbolstring交易对 (如 BTCUSDT)
sidestring方向 (buy, sell)
order_typestring类型 (limit, market)
amountstring数量(Decimal 字符串)
pricestring价格(限价单必传,Decimal 字符串)
leveragenumber杠杆倍数 (1-50)
signaturestring订单签名(0x开头)
timestampnumberUnix 时间戳(秒)

参数说明

  • order_type: limitmarket
  • side: buysell
  • leverage: 杠杆倍数 (1-50x)
  • signature: 需要对订单消息进行签名,签名消息格式:
    Create Order on ZTDX

    Symbol: {symbol}
    Side: {side}
    Type: {order_type}
    Price: {price}
    Amount: {amount}
    Leverage: {leverage}
    Timestamp: {timestamp}
    Address: {address}

请求示例

{
"symbol": "BTCUSDT",
"side": "buy",
"order_type": "limit",
"amount": "0.1",
"price": "65000",
"leverage": 10,
"signature": "0x...",
"timestamp": 1704067200
}

响应示例

{
"order_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "open",
"filled_amount": "0",
"remaining_amount": "0.1",
"average_price": null,
"created_at": "2024-01-01T00:00:00Z"
}

响应字段说明

字段类型描述
order_idstring订单 UUID
statusstring订单状态(pending/open/partially_filled/filled/cancelled/rejected)
filled_amountstring已成交数量
remaining_amountstring剩余未成交数量
average_pricestring | null平均成交价格
created_atstring创建时间(ISO 8601 格式)

错误响应

HTTP 状态码错误码描述
400INVALID_SYMBOL不支持的交易对
400TIMESTAMP_EXPIRED时间戳已过期
400INVALID_LEVERAGE杠杆倍数必须在1-50之间
400INVALID_AMOUNT订单数量必须大于0
400PRICE_REQUIRED限价单必须指定价格
400INSUFFICIENT_BALANCE可用余额不足
401ORDER_SIGNATURE_INVALID订单签名验证失败
500MATCHING_ERROR撮合引擎错误

查询订单

接口信息

  • Method: GET
  • Path: /api/v1/orders/:order_id
  • Authentication: 需要身份验证

路径参数

参数类型必须描述
order_idstring订单 UUID

响应示例

{
"order_id": "550e8400-e29b-41d4-a716-446655440000",
"symbol": "BTCUSDT",
"side": "buy",
"order_type": "limit",
"price": "65000",
"amount": "0.1",
"filled_amount": "0.05",
"remaining_amount": "0.05",
"leverage": 10,
"status": "partially_filled",
"created_at": "2024-01-01T00:00:00Z"
}

响应字段说明

字段类型描述
order_idstring订单 UUID
symbolstring交易对
sidestring方向(buy/sell)
order_typestring订单类型(limit/market)
pricestring | null订单价格
amountstring订单数量
filled_amountstring已成交数量
remaining_amountstring剩余数量
leveragenumber杠杆倍数
statusstring订单状态
created_atstring创建时间

订单状态说明

状态描述
pending待处理
open已挂单(活动中)
partially_filled部分成交
filled完全成交
cancelled已取消
rejected已拒绝

取消订单

接口信息

  • Method: DELETE
  • Path: /api/v1/orders/:order_id
  • Authentication: 需要身份验证
  • Content-Type: application/json

路径参数

参数类型必须描述
order_idstring订单 UUID

请求参数

参数类型必须描述
signaturestring取消订单签名
timestampnumberUnix 时间戳(秒)

签名消息格式

Cancel Order on ZTDX

Order ID: {order_id}
Timestamp: {timestamp}
Address: {address}

请求示例

{
"signature": "0x...",
"timestamp": 1704067200
}

响应示例

{
"order_id": "550e8400-e29b-41d4-a716-446655440000",
"symbol": "BTCUSDT",
"side": "buy",
"order_type": "limit",
"price": "65000",
"amount": "0.1",
"filled_amount": "0.05",
"remaining_amount": "0.05",
"leverage": 10,
"status": "cancelled",
"created_at": "2024-01-01T00:00:00Z"
}

错误响应

HTTP 状态码错误码描述
400ORDER_NOT_CANCELLABLE订单状态不允许取消
403ORDER_NOT_OWNED无权取消此订单
404ORDER_NOT_FOUND订单不存在
401CANCEL_SIGNATURE_INVALID取消订单签名验证失败

批量取消订单

接口信息

  • Method: POST
  • Path: /api/v1/orders/batch
  • Authentication: 需要身份验证
  • Content-Type: application/json

请求参数

参数类型必须描述
order_idsarray订单 UUID 列表
signaturestring批量取消签名
timestampnumberUnix 时间戳(秒)

签名消息格式

Batch Cancel Orders on ZTDX

Order IDs: {order_id1},{order_id2},{order_id3}
Timestamp: {timestamp}
Address: {address}

请求示例

{
"order_ids": [
"550e8400-e29b-41d4-a716-446655440000",
"550e8400-e29b-41d4-a716-446655440001"
],
"signature": "0x...",
"timestamp": 1704067200
}

响应示例

{
"cancelled": [
"550e8400-e29b-41d4-a716-446655440000"
],
"failed": [
"550e8400-e29b-41d4-a716-446655440001"
]
}

响应字段说明

字段类型描述
cancelledarray成功取消的订单 ID 列表
failedarray取消失败的订单 ID 列表