跳转到内容

Client Portal Web API

Client Portal Web API 是 IBKR 面向 Web 集成场景提供的一组 HTTP 和 WebSocket 接口。它更接近普通 Web 开发习惯:通过 endpoint 发送请求,通过 JSON 获取响应,部分实时数据通过 WebSocket topic 订阅。

如果你已经习惯 REST API、WebSocket、OAuth、服务端网关这些概念,Client Portal Web API 会比 TWS API 更容易从“Web 系统”的角度理解。

场景为什么适合
Web 后台或管理系统HTTP/JSON 接口更容易接入后端服务。
账户、组合、订单、行情查询官方提供了覆盖账户、组合、市场数据、订单等方向的 endpoint。
浏览器或服务端需要 WebSocket 数据WebSocket topic 比 TWS Socket 更接近前后端常见模型。
团队更熟悉 REST/WebSocket学习成本通常低于 TWS API 的 EClient / EWrapper 回调模型。

不适合的场景:

场景建议
只想快速用 Python 连接本机 TWS 跑模拟交易TWS API 更直接。
需要复用大量 TWS API 示例代码TWS API 的资料和代码结构更匹配。
想完全避开登录、会话和认证问题Client Portal Web API 仍然需要处理会话认证。
只要日终报表和流水Flex Web Service 更合适。

Client Portal Web API 的典型链路是:

你的 Web 服务或脚本
↓ HTTP / WebSocket
Client Portal Gateway 或官方认证入口
IBKR 后端

和 TWS API 最大的区别在于:它不是连接 TWS 的 7497 Socket 端口,而是通过 Web 风格接口访问。

Client Portal Web API 里经常会看到两类概念:

名称中文理解用途
endpointHTTP 接口地址用来请求账户、组合、订单、行情快照等数据。
WebSocket topicWebSocket 订阅主题用来订阅实时行情、订单通知、账户更新等消息。

HTTP endpoint 更像一次性查询;WebSocket topic 更像持续订阅。

例如:

HTTP 请求:查询账户列表、合约信息、订单状态
WebSocket 订阅:持续接收行情或通知

具体 endpoint 和 topic 适合到对应目录中按业务场景查询。入门页先理解它们的区别,不需要一次性背完。

Client Portal Web API 的难点通常不在“怎么发 HTTP 请求”,而在认证和会话管理。

开发时需要特别注意:

事项说明
会话有效期登录状态不是永久有效,需要处理过期和重新认证。
Gateway 状态如果使用 Client Portal Gateway,需要确认它已经启动并可访问。
多会话限制同一个账户在不同客户端、浏览器或网关中的登录状态可能互相影响。
生产环境认证真正上线时要按官方要求处理认证、权限和安全边界。

这也是为什么很多个人开发者第一步仍然会选择 TWS API:先在本机模拟账户里把交易和行情逻辑跑通,再决定是否需要 Web API 方案。

对比项Client Portal Web APITWS API
协议风格HTTP / WebSocketTCP Socket
数据格式JSON 为主Python/Java/C++/C# 客户端对象和回调
开发习惯更像 Web 后端更像连接交易客户端
是否需要 TWS通常不直接连接 TWS 端口必须连接 TWS 或 IB Gateway
示例代码风格curl、HTTP client、WebSocket clientEClientEWrapper、回调方法
入门难点认证、会话、GatewayTWS 设置、Socket 连接、回调模型

简单理解:

  • 你要做普通 Web 服务集成,优先研究 Client Portal Web API。
  • 你要写本地 Python 策略和完整交易逻辑,优先研究 TWS API。

Client Portal Web API 的请求通常由本地 Gateway 或官方认证入口转发到 IBKR 后端。入门阶段先理解结构,不急着复制代码。

部分中文理解常见内容
Gateway 地址本地 Client Portal Gateway 的访问地址。常见是 https://localhost:5000/v1/api
endpointHTTP 接口路径。账户、组合、行情、订单、会话等路径。
认证状态当前浏览器或 Gateway 会话是否已经登录。会话过期时接口会失败。
证书处理本地 Gateway 常涉及 HTTPS 自签证书。开发环境和生产环境处理方式不同。

例如账户查询在结构上属于:

项目内容
MethodGET
endpoint/portfolio/accounts
请求体
前置条件Gateway 已启动,账户已登录,会话有效。

真正放入可复制代码前,应先确认 Gateway、认证、证书和返回结果都已经在本机或测试环境验证通过。

如果你当前目标是:

  • 在 Windows 本机已经登录 TWS
  • 想先验证模拟账户连接
  • 想复制 Python 示例请求行情和历史 K 线
  • 想理解合约对象、订单对象、错误码和限频

那就先从 TWS API 开始。Client Portal Web API 更适合作为 Web 化、服务端化或 OAuth 接入方向的补充。

继续了解 Client Portal Web API 时,可以按下面的顺序阅读:

主题内容
Client Portal Gateway本地 Gateway 的安装、启动和端口访问。
认证与会话登录状态、会话检查、重新认证和连接维护。
账户与组合账户列表、账户信息、组合数据和持仓查询。
行情数据行情快照、市场数据权限和 WebSocket 行情订阅。
订单接口下单、改单、撤单和订单状态查询。
WebSockettopic 订阅、通知消息和连接保活。

如果当前目标是先写 Python 策略或验证 TWS 模拟账户,可以先回到 TWS API 相关章节。