Xlight API用户手册 v1.5.1.2
Xlight极速柜台接口文档
载入中...
搜索中...
未找到
错误码

本文档介绍xlt_api的错误码。

错误信息结构

错误信息通过 x1::xlt_error_info_t 结构体返回:

typedef struct {
uint64_t error_code;
uint64_t sub_error_code;
char error_msg[256];
} xlt_error_info_t;

常见错误

错误代码
error_code
错误子代码
sub_error_code
说明 注释
101 0 上交所错误 详细的上交所错误代码将在sub_error_code给出。error_msg为空,具体错误信息查看交易所文档。
102 0 深交所错误 详细的深交所错误代码将在sub_error_code给出。error_msg为空,具体错误信息查看交易所文档。
103 0 北交所错误 详细的北交所错误代码将在sub_error_code给出。error_msg为空,具体错误信息查看交易所文档。
201 0 网络错误
301 0 API错误
302 0 API版本错误
303 0 API配置错误 如:非法的IP地址参数。
304 0 连接柜台错误 如:无法连接AGW。
305 0 登录错误 如:密码校验失败;重复登录等。
306 0 登录超时
307 0 会话错误 如: session_id不存在。
308 0 委托发送失败 如:申请xid失败。
309 0 请求发送失败 如:请求过快。
310 0 行情错误 如:行情接收启动失败。
401 0 查询错误 如:参数不合法。
501 0 订单错误 如:参数错误(证券代码不存在等);额度不足;撤单订单不存在等。
502 0 委托超出价格范围
503 0 委托超出数量范围
504 0 资金不足
505 0 持仓不足
601 0 权限不足
701 0 风控错误 如:超出流量控制;自成交等。
801 0 资金划拨错误

获取错误信息

当API调用失败时,可以通过 get_last_error() 方法获取错误信息:

if (!api->login(request_id, client_id, account_name, password, pub_key)) {
auto error_info = api->get_last_error();
printf("错误码: %lu, 子错误码: %lu, 错误消息: %s\n",
error_info.error_code,
error_info.sub_error_code,
error_info.error_msg);
}

回调中的错误

某些回调函数也会返回错误信息,例如:

  • on_login():登录响应中的错误信息
  • on_query_assets():查询资金响应中的错误信息
  • on_query_positions():查询持仓响应中的错误信息
  • on_query_orders():查询订单响应中的错误信息

在这些回调中,需要检查 error_info 参数:

void MyTradeSpi::on_query_assets(uint64_t session_id, uint64_t request_id,
xlt_asset_info_t assets[], uint32_t data_count,
bool is_last, xlt_error_info_t *error_info) override {
if (error_info && error_info->error_code != 0) {
printf("查询资金失败: error_code=%lu, error_msg=%s\n",
error_info->error_code, error_info->error_msg);
return;
}
// 处理查询结果
for (uint32_t i = 0; i < data_count; i++) {
// 处理资金信息
}
}