订单簿
获取订单簿数据
检索特定市场结果的订单簿。
端点: GET /api/v1/orderbook/{outcomeId}
路径参数:
| 参数 | 类型 | 描述 |
|---|---|---|
| outcomeId | string | 唯一结果标识符 |
代码示例
// 获取订单簿数据
const API_KEY = 'YOUR_API_KEY'
const BASE_URL = 'https://engine.xmarket.app/api/v1';
async function getOrderbook(outcomeId) {
const response = await fetch(
`${BASE_URL}/orderbook/${outcomeId}`,
{
headers: {
'x-api-key': API_KEY,
'Content-Type': 'application/json'
}
}
);
const orderbook = await response.json();
return orderbook;
}
获取价差
检索特定市场结果的订单簿价差。
端点: GET /api/v1/orderbook/spread/{outcomeId}
路径参数:
| 参数 | 类型 | 描述 |
|---|---|---|
| outcomeId | string | 唯一结果标识符 |
最佳实践
- 轮询频率:不要过于频繁地轮询;遵守速率限制
- 数据缓存:使用适当的 TTL 缓存订单簿数据
- 错误处理:优雅地处理网络错误和无效响应
- 价格验证:验证价格在有效范围内(0-1)
- 深度分析:下大单时考虑市场深度
- 实时更新:对于高频更新,考虑使用 WebSocket 连接(如可用)
性能提示
- 使用分页限制响应大小
- 为最近查看的市场缓存订单簿数据
- 为重试逻辑实现指数退避
- 考虑并行聚合多个结果的订单簿
- 监控速率限制头以避免被限流