灵活网络服务允许IB客户通过HTTPS协议进入预配置的灵活查询,不用登录到账户管理。此特点使得客户能够用其偏好的语言写出自动化的客户软件,从而能够实时地请求先前定义的灵活账单查询。
目前有两种版本灵活网络服务可用:第二版及第三版。第三版可供您指定使用的版本并回复更多有意义的错误信息。对两个版本的描述列出如下。
要对一个账户启用灵活网络服务,登录到账户管理并在报告管理菜单下点击被标记为“灵活网络服务”的链接。点击此链接将对账户启用灵活网络服务。
在获得确认号码前,检查服务状态是否为有效是很重要的。如果状态被设为暂停,只需点击链接来重新激活。
您将在确认灵活网络服务已被批准的相同屏幕上收到确认号码。此确认号码将被用于:
确认号码被默认为6小时有效,在此时间之后您必须通过账户管理获得一个新确认号码。您有机会选择增将灵活确认号码有效的时间范围。确认号码也能够被附在特定的IP地址上以获得更高的安全性。
要启动灵活自动请求您将需要以下信息:
注: 编制程序访问需要设置User-Agent HTTP标题。可接受的值是:Blackberry 或 Java.
第二版查询格式
https://www.interactivebrokers.com/Universal/servlet/FlexStatementService.SendRequest?t=TOKEN&q=QUERY_ID&v=2
此处:
TOKEN = 您已经获得的确认号码
QUERY_ID = 您创建灵活查询时生成的灵活查询ID
v=2指明您使用的是灵活网络服务第二版。请注意如果您不指定版本,系统将使用第二版。
第二版XML回复
您将从IB收到XML回复,包括下列信息:
第二版XML回复举例
如果成功:
如果发生错误:
第三版查询格式
https://www.interactivebrokers.com/Universal/servlet/FlexStatementService.SendRequest?t=TOKEN&q=QUERY_ID&v=3
此处:
TOKEN = 您已经获取的确认号码
QUERY_ID = 您创建灵活查询时生成的灵活查询ID
v=3指明您使用的是灵活网络服务第三版。请注意如果您不指定版本,系统将使用第二版。
第三版XML回复
您将从IB收到XML回复,包括下列信息:
第三版举例 - 成功XML回复
如果要求不成功,回复将包含下列参数:
第三版举例 - 失败的XML回复
检索灵活数据,您将需要以下信息:
注:如果您提交要求获取报表时报表仍在生成,请勿重新启动灵活要求,而请不断尝试获取报表。
查询格式
https://www.interactivebrokers.com/Universal/servlet/FlexStatementService.GetStatement?q=REFERENCE_CODE&t=TOKEN
&v=VERSION
此处:
REFERENCE_CODE = 您在提出要求时收到的回复的一部分。
TOKEN = 您已经获取的确认号码
VERSION = 2或3,指明您使用的灵活网络服务版本。请注意如果您不指定版本,系统将使用第二版。
如果查询成功,您收到的回应将为灵活数据。否则,您将收到基于XML的回应,告知您查询无效。
要求不成功时XML回复第二版举例
要求不成功时XML回复第三版举例
下面的表格中列出了错误编码和错误信息参数回复的所有错误编码和错误描述。
错误编码 | 错误信息 |
1001 | 现在不能生成报表。请稍后再试。(Statement could not be generated at this time. Please try again shortly.) |
1003 | 报表不可用。(Statement is not available.) |
1004 | 报表不完整。请稍后再试。(Statement is incomplete at this time. Please try again shortly.) |
1005 | 未准备好结算数据。请稍后再试。(Settlement data is not ready at this time. Please try again shortly.) |
1006 | 未准备好FIFO P/L数据。请稍后再试。(FIFO P/L data is not ready at this time. Please try again shortly.) |
1007 | 未准备好MTM P/L数据。请稍后再试。(MTM P/L data is not ready at this time. Please try again shortly.) |
1008 | 未准备好MTM和FIFO P/L数据。请稍后再试。(MTM and FIFO P/L data is not ready at this time. Please try again shortly.) |
1009 | 服务器负载较重。现在不能生成报表。请稍后再试。(The server is under heavy load. Statement could not be generated at this time. Please try again shortly.) |
1010 | 不再支持历史灵活查询。请转换到活动灵活。(Legacy Flex Queries are no longer supported. Please convert over to Activity Flex.) |
1011 | 服务账户不活跃。(Service account is inactive.) |
1012 | 确认号码已过期。(Token has expired.) |
1013 | IP限制。(IP restriction.) |
1014 | 查询无效。(Query is invalid.) |
1015 | 确认号码无效。(Token is invalid.) |
1016 | 账户无效。(Account is invalid.) |
1017 | 参考编码无效。(Reference code is invalid.) |
1018 | 该确认号码提出了过多的要求。请稍后再试。(Too many requests have been made from this token. Please try again shortly.) |
1019 | 正在生成报表。请稍后再试。(Statement generation in progress. Please try again shortly.) |
1020 | 无效要求或无法确认要求。(Invalid request or unable to validate request.) |
1021 | 现在不能获取报表。请稍后再试。(Statement could not be retrieved at this time. Please try again shortly.) |