📡 交易接口基础

REST & WebSocket · 实战对接

🔌 REST API 与 WebSocket

  • REST API · 请求-响应模式 · 无状态 · 适合查询、下单、撤单
  • WebSocket · 全双工推送 · 实时行情/成交/账户变动
  • 组合使用 · REST 做控制 + WebSocket 收数据流
💡 实盘建议
高频交易依赖 WebSocket 降低延迟;REST 用于鉴权与风控。

📮 HTTP 请求方法 (GET / POST / DELETE)

方法典型用途幂等请求体示例 (交易接口)
GET查询账户、持仓、订单状态✅ 是无GET /api/v1/account
POST创建订单、批量操作❌ 否JSONPOST /api/v1/order
DELETE撤销订单、取消所有委托✅ 是通常无DELETE /api/v1/order/<id>
🔐 鉴权方式: API Key + Secret 签名 (HMAC SHA256) 通常放在 Header 中。

📄 数据格式 · JSON & CSV

📋 JSON

  • 键值对结构,嵌套灵活
  • 交易接口主流格式 (REST 请求/响应)
  • WebSocket 消息通常也是 JSON

📊 CSV

  • 表格数据,轻量易读
  • 常用于历史数据导出、回测
  • 部分接口支持 CSV 批量下载
// 交易接口 POST 订单 JSON 示例
{
  "symbol": "BTCUSDT",
  "side": "BUY",
  "type": "LIMIT",
  "price": "45000.00",
  "quantity": "0.01",
  "timestamp": 1712567890123
}
// CSV 格式 (历史K线)
timestamp,open,high,low,close,volume
1712563200000,45200.0,45380.0,45120.0,45290.0,12.5
1712566800000,45290.0,45410.0,45150.0,45350.0,8.3

🧩 软件架构 · 双协议协作

交易系统 核心引擎 REST 客户端 WebSocket 客户端 交易所 REST 行情 WebSocket HTTP 请求 实时推送 REST (请求/响应) WebSocket (全双工)

⬆️ 实盘对接中 REST 负责指令,WebSocket 负责数据流

🧰 接口对接 checklist

  • ✅ 使用 REST 获取服务器时间 & 签名
  • ✅ 维护 WebSocket 心跳 (ping/pong)
  • ✅ 重连机制 + 指数退避
  • ✅ JSON 序列化/反序列化性能优化
  • ✅ CSV 解析用标准库 (避免注入)
  • ✅ 所有请求添加 API Key 与签名
  • ✅ 限频管理 (Rate Limit)
  • ✅ 日志记录请求与响应原始数据