OpenAPI 接口说明

通过 REST API 获取行情、账户与下单,支持用户接入程序化/量化交易。所有接口均需在请求头携带 X-API-Key 进行鉴权(含行情接口,以确认用户已付费)。

接入说明

  • Base URLhttps://<你的域名>/api,例如 https://your-domain.com/api
  • API 密钥:在「我的」创建,每个密钥收费 200,000 LQL,密钥仅创建时展示一次请妥善保存
  • 鉴权所有接口(含行情)均需在请求头携带 X-API-Key: ll_<你的密钥>,未携带或无效返回 401,账户冻结返回 403
  • Content-Type:POST 请求请使用 application/json
  • 统一错误响应:响应体为 { "error": "&lt;message&gt;" }。状态码:400 参数/业务错误、401 未授权、403 账户冻结、404 资源不存在、500 服务器错误

认证

在「我的」中创建 API 密钥(每个密钥收费 200,000 LQL),请求时在 Header 中携带:

X-API-Key: your_api_key_here

以上列出的开放接口全部需携带有效 X-API-Key,否则返回 401。

接口列表

行情需 X-API-Key
GET/api/market/depthquery: symbol, depth?订单簿深度
GET/api/market/klinequery: symbol, interval, from?, to?K 线
GET/api/market/tradesquery: symbol, limit?最新成交
账户需 X-API-Key
GET/api/account/balance账户余额
GET/api/account/positions持仓
GET/api/account/fund-flowsquery: limit?, type?资金流水
交易需 X-API-Key
POST/api/trade/order限价单下单
GET/api/trade/ordersquery: symbol?, limit?委托查询
DELETE/api/trade/order/[orderId]撤单

接口详细规范

以下各接口均采用统一结构:请求(参数表)、成功响应(JSON 与字段说明)、错误响应(HTTP 状态码与说明)。所有接口均需在 Header 中携带 X-API-Key

1. 订单簿深度

GET /api/market/depth

请求

参数名类型必填说明
symbolstring标的符号,如 NOVA
depthnumber档位数量,默认 20,最大 100

成功响应 (200)

{ "symbol": "NOVA", "bids": [[128.5, 10], [128.0, 20]], "asks": [[129.0, 15], [129.5, 8]] }
字段名类型必填说明
symbolstring标的符号
bidsarray买盘,每项 [price, amount],按价格从高到低
asksarray卖盘,每项 [price, amount],按价格从低到高

错误响应

HTTP 状态码说明
400缺少 symbol 或参数无效
401未授权(缺少或无效 X-API-Key)
403账户已冻结
500服务器内部错误

2. K 线

GET /api/market/kline

请求

参数名类型必填说明
symbolstring标的符号
intervalstringK 线周期:1m / 5m / 15m / 1h / 4h / 1d
fromnumber起始时间,Unix 秒
tonumber结束时间 Unix 秒;缺省到当前,时间跨度最多 7 天

成功响应 (200)

{ "symbol": "NOVA", "interval": "1h", "klines": [[1704067200, 100, 102, 99, 101.5, 1000], ...] }
字段名类型必填说明
symbolstring标的符号
intervalstringK 线周期
klinesarray每项 [ts, open, high, low, close, volume],ts 为 Unix 秒

错误响应

HTTP 状态码说明
400缺少 symbol、interval 无效或参数非法
401未授权
403账户已冻结
404标的不存在
500服务器内部错误

3. 最新成交

GET /api/market/trades

请求

参数名类型必填说明
symbolstring标的符号
limitnumber返回条数,默认 50,最大 200

成功响应 (200)

{ "symbol": "NOVA", "trades": [{ "price": 128.5, "amount": 10, "side": "buy", "time": 1704067200000 }] }
字段名类型必填说明
symbolstring标的符号
tradesarray成交列表
trades[].pricenumber成交价格
trades[].amountnumber成交数量
trades[].sidestring主动方方向:buy / sell
trades[].timenumber成交时间,毫秒时间戳

错误响应

HTTP 状态码说明
400缺少 symbol 或参数无效
401未授权
403账户已冻结
500服务器内部错误

4. 账户余额

GET /api/account/balance

请求

无查询参数。

成功响应 (200)

{ "balances": [{ "currency": "LQL", "available": 50000, "frozen": 1000 }, { "currency": "NOVA", "available": 100, "frozen": 0 }] }
字段名类型必填说明
balancesarray余额列表
balances[].currencystring资产类型:LQL 或标的符号
balances[].availablenumber可用数量
balances[].frozennumber冻结数量

错误响应

HTTP 状态码说明
401未授权
403账户已冻结
404用户不存在
500服务器内部错误

5. 持仓

GET /api/account/positions

请求

无查询参数。

成功响应 (200)

{ "positions": [{ "symbol": "NOVA", "name": "Nova Asset", "amount": 100, "frozen": 10, "availableToSell": 90, "avgCost": 120, "markPrice": 128.5 }] }
字段名类型必填说明
positionsarray仅返回 amount &gt; 0 的持仓
positions[].symbolstring标的符号
positions[].namestring标的名称
positions[].amountnumber持仓数量
positions[].frozennumber挂单冻结数量
positions[].availableToSellnumber可卖数量
positions[].avgCostnumber持仓成本
positions[].markPricenumber最新价(最新成交价)

错误响应

HTTP 状态码说明
401未授权
403账户已冻结
404用户不存在
500服务器内部错误

6. 资金流水

GET /api/account/fund-flows

请求

参数名类型必填说明
limitnumber返回条数,默认 50,最大 200
typestring按类型筛选:trade_settle、api_key_fee、invite_bonus 等

成功响应 (200)

{ "flows": [{ "id": "clx...", "type": "trade_settle", "currency": "LQL", "amount": 100, "createdAt": "2024-01-01T12:00:00.000Z" }] }
字段名类型必填说明
flowsarray流水列表
flows[].idstring流水 ID
flows[].typestring类型:issue、trade_freeze、trade_settle、invite_bonus、api_key_fee 等
flows[].currencystring币种
flows[].amountnumber变动数量
flows[].createdAtstringISO 8601 时间

错误响应

HTTP 状态码说明
401未授权
403账户已冻结
500服务器内部错误

7. 下单

POST /api/trade/order

请求 Body (JSON)

字段名类型必填说明
symbolstring标的符号
sidestring方向:buy / sell
typestring订单类型,当前仅支持 limit
pricenumber限价单价格,必须 &gt; 0
amountnumber数量,必须 &gt; 0

成功响应 (200)

{ "orderId": "clx...", "filledAmount": 0, "trades": [] }
字段名类型必填说明
orderIdstring订单 ID
filledAmountnumber已成交数量
tradesarray成交明细,每项含 price、amount、takerSide 等

错误响应

HTTP 状态码说明
400缺少必填字段、side/type 非法、价格或数量无效、标的不存在或未上市、余额/持仓不足等
401未授权
403账户已冻结
500服务器内部错误

8. 委托查询

GET /api/trade/orders

请求

参数名类型必填说明
symbolstring按标的筛选
limitnumber返回条数,默认 100。仅返回未完全成交的委托(pending/partial)

成功响应 (200)

{ "orders": [{ "id": "clx...", "symbol": "NOVA", "side": "buy", "type": "limit", "price": 128.5, "amount": 10, "filledAmount": 2, "remaining": 8, "status": "partial", "createdAt": "2024-01-01T12:00:00.000Z" }] }
字段名类型必填说明
ordersarray委托列表,仅 remaining &gt; 0
orders[].idstring订单 ID
orders[].symbolstring标的符号
orders[].sidestringbuy / sell
orders[].typestringlimit
orders[].pricenumber限价
orders[].amountnumber委托数量
orders[].filledAmountnumber已成交数量
orders[].remainingnumber未成交数量
orders[].statusstringpending / partial
orders[].createdAtstringISO 8601 时间

错误响应

HTTP 状态码说明
401未授权
403账户已冻结
500服务器内部错误

9. 撤单

DELETE /api/trade/order/[orderId]

请求

参数名类型必填说明
orderIdstring路径参数,订单 ID

成功响应 (200)

{ "ok": true }

错误响应

HTTP 状态码说明
401未授权
403账户已冻结
404订单不存在或不属于当前用户
500服务器内部错误

调用示例

your-domain.com 替换为你的部署域名,your_api_key 替换为你在「我的」中创建的 API 密钥。

订单簿深度

curl -X GET "https://your-domain.com/api/market/depth?symbol=NOVA&depth=20" \
  -H "X-API-Key: your_api_key"

下单(POST body JSON)

curl -X POST "https://your-domain.com/api/trade/order" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: your_api_key" \
  -d '{"symbol":"NOVA","side":"buy","type":"limit","price":128.5,"amount":10}'

委托查询

curl -X GET "https://your-domain.com/api/trade/orders?symbol=NOVA&limit=100" \
  -H "X-API-Key: your_api_key"

撤单

curl -X DELETE "https://your-domain.com/api/trade/order/订单ID" \
  -H "X-API-Key: your_api_key"

在「我的」中创建并管理 API 密钥

前往个人中心