跳转到内容

生成报表

生成报表的第一步是调用 SendRequest。它不会直接返回完整报表,而是返回一个 Reference Code。

https://ndcdyn.interactivebrokers.com/AccountManagement/FlexWebService/SendRequest

常见参数:

参数中文说明
tFlex Token。
qQuery ID。
v版本号,通常按官方示例填写。
Terminal window
curl "https://ndcdyn.interactivebrokers.com/AccountManagement/FlexWebService/SendRequest?t=YOUR_FLEX_TOKEN&q=YOUR_QUERY_ID&v=3"

这类 URL 会把 Token 放在查询参数里。复制命令时不要把真实 Token 发到聊天、公开仓库或问题图片中;服务器日志、代理日志和 shell 历史也要注意脱敏。

import requests
url = "https://ndcdyn.interactivebrokers.com/AccountManagement/FlexWebService/SendRequest"
params = {
"t": "YOUR_FLEX_TOKEN",
"q": "YOUR_QUERY_ID",
"v": "3",
}
response = requests.get(url, params=params, timeout=30)
response.raise_for_status()
print(response.text)

生产代码不应直接打印完整响应。成功时可以只记录 Status 和脱敏后的 ReferenceCode;失败时记录错误码和错误文本,但隐藏 t 参数。

<FlexStatementResponse timestamp="...">
<Status>Success</Status>
<ReferenceCode>REFERENCE_CODE</ReferenceCode>
<Url>...</Url>
</FlexStatementResponse>

字段解释:

字段中文说明
Status请求状态。
ReferenceCode下载报表时使用的引用码。
Url可选下载地址或相关提示。

如果返回错误,不要继续 GetStatement;先检查 Token、Query ID、报表权限和 Query 是否启用。