账户
账户接口用来确认 Gateway 会话能访问哪些账户,以及订单、行情和组合接口应该使用哪个 accountId。
这一步通常放在程序启动后、下单前:先读取账户列表,再让用户选择或自动绑定一个模拟账户。
官方参考:Client Portal API
| 接口 | 方法 | 用途 |
|---|---|---|
/portfolio/accounts | GET | 获取组合接口可用账户。 |
/iserver/accounts | GET | 获取交易服务下可用账户,并初始化部分交易会话状态。 |
/pa/accounts | GET | 获取 PortfolioAnalyst 相关账户。 |
获取组合账户
Section titled “获取组合账户”curl -k https://localhost:5000/v1/api/portfolio/accounts常见返回是数组:
[ { "id": "DU1234567", "accountId": "DU1234567", "accountVan": "DU1234567", "accountTitle": "账户标题", "displayName": "DU1234567", "type": "DEMO" }]字段解释:
| 字段 | 中文说明 |
|---|---|
id / accountId | 账户编号,很多接口路径都需要它。 |
accountVan | 账户别名或展示编号,通常和账户编号接近。 |
accountTitle | 账户标题。公开图片或日志中应隐藏。 |
displayName | 页面展示用名称。 |
type | 账户类型,例如模拟账户、个人账户、机构账户等。 |
获取交易账户
Section titled “获取交易账户”curl -k https://localhost:5000/v1/api/iserver/accounts这个接口和 /portfolio/accounts 的重点不同:它更偏向交易服务会话。请求订单、预检查、订单状态时,经常需要先调用它让 Gateway 建立或刷新交易账户上下文。
常见返回结构:
{ "accounts": ["DU1234567"], "selectedAccount": "DU1234567", "aliases": { "DU1234567": "模拟账户" }}字段解释:
| 字段 | 中文说明 |
|---|---|
accounts | 该会话可访问的账户列表。 |
selectedAccount | 默认交易账户。 |
aliases | 账户展示名称映射。 |
Python 请求示例
Section titled “Python 请求示例”import requests
BASE_URL = "https://localhost:5000/v1/api"
response = requests.get( f"{BASE_URL}/portfolio/accounts", verify=False, # 仅限开发调试;正式环境请配置受信任证书 timeout=10,)response.raise_for_status()
accounts = response.json()for account in accounts: print(account.get("accountId") or account.get("id"))生产环境不要直接打印完整账户对象。账户标题、账户号和别名都可能属于敏感信息。
运行示例后,应重点检查这些结果:
| 检查项 | 正常含义 |
|---|---|
返回中有 accountId 或 id | Gateway 会话能看到至少一个账户。 |
/iserver/accounts 返回 selectedAccount | 交易服务上下文里有默认交易账户。 |
| 账户号前缀符合预期 | 例如模拟账户常见 DU 前缀,真实账户不要写进公开日志。 |
公开文档和日志不应展示真实账户号。用户运行示例后,应把返回里的 accountId 保存到自己的配置文件或环境变量里。