跳转到内容

账户

账户接口用来确认 Gateway 会话能访问哪些账户,以及订单、行情和组合接口应该使用哪个 accountId

这一步通常放在程序启动后、下单前:先读取账户列表,再让用户选择或自动绑定一个模拟账户。

官方参考:Client Portal API

接口方法用途
/portfolio/accountsGET获取组合接口可用账户。
/iserver/accountsGET获取交易服务下可用账户,并初始化部分交易会话状态。
/pa/accountsGET获取 PortfolioAnalyst 相关账户。
Terminal window
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账户类型,例如模拟账户、个人账户、机构账户等。
Terminal window
curl -k https://localhost:5000/v1/api/iserver/accounts

这个接口和 /portfolio/accounts 的重点不同:它更偏向交易服务会话。请求订单、预检查、订单状态时,经常需要先调用它让 Gateway 建立或刷新交易账户上下文。

常见返回结构:

{
"accounts": ["DU1234567"],
"selectedAccount": "DU1234567",
"aliases": {
"DU1234567": "模拟账户"
}
}

字段解释:

字段中文说明
accounts该会话可访问的账户列表。
selectedAccount默认交易账户。
aliases账户展示名称映射。
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"))

生产环境不要直接打印完整账户对象。账户标题、账户号和别名都可能属于敏感信息。

运行示例后,应重点检查这些结果:

检查项正常含义
返回中有 accountIdidGateway 会话能看到至少一个账户。
/iserver/accounts 返回 selectedAccount交易服务上下文里有默认交易账户。
账户号前缀符合预期例如模拟账户常见 DU 前缀,真实账户不要写进公开日志。

公开文档和日志不应展示真实账户号。用户运行示例后,应把返回里的 accountId 保存到自己的配置文件或环境变量里。