XTB Online Investing 图标

XTB 数据 API:端点与字段

XTB S.A. · 银行

XTB Online Investing 是华沙上市券商 XTB S.A. 的安卓交易与投资应用,将 xStation 平台带到手机端,支持外汇、指数、大宗商品、加密资产及个股的差价合约(CFD)交易,以及现货股票和 ETF 投资。应用还提供基于模板的投资计划、配有实体卡和虚拟卡的电子钱包、儿童账户,以及波兰 AVD Standard 退休账户。用户通过用户名和密码登录,可选用 OTP 验证与可信设备指纹识别;登录后可切换模拟和真实账户、查看图表、提交 CFD 与现货股票订单、查看实时保证金和盈亏、阅读 XNews 与经济日历、设置价格提醒,以及入金和出金,身份验证由 Fourthline 或 Kycaid 支持。作为 xStation 5 的移动端,它面向欧陆、智利、印尼、越南与阿联酋的自主交易散户,与 eToro、Plus500、IG、Trading 212 和 Trade Republic 同属这一市场,服务希望在同一登录下进行 CFD 交易与股票投资的用户。

账户级保证金快照同时包含 equityMargin、equityMarginLevel 和 marginLevel,并提供 netProfit 与 netProfitPercent。已平仓记录在逐笔盈亏之外,还包含 instrumentId、positionSide、displayAssetClass 和 origin。钱包结果以 success 或 failed 表示处理状态,成功结果中的账户包含 currency 与 customerStatus;入金详情则在 bankAccountNumber 中提供 IBAN。卡片记录包含 cardStatus、cardIssuer 与 cardLimitUsageStatus,已保存的入金卡通过 creditCardXtId 标识。

风控团队可据此监测保证金水平收紧,税务批次工具可按资产类别区分 CFD 与现货股票的已平仓盈亏,资金管理集成则可在出金前对照 requestedAmount、feeData 和 methodTitle,预览金额、手续费与付款方式。internalTransferAllowed 用于判断是否允许内部划转。openData Studio 将这些保证金、持仓与钱包字段转化为可调用的开放数据。

应用截图

  • XTB Online Investing 应用截图 1
  • XTB Online Investing 应用截图 2
  • XTB Online Investing 应用截图 3
  • XTB Online Investing 应用截图 4
  • XTB Online Investing 应用截图 5
  • XTB Online Investing 应用截图 6
  • XTB Online Investing 应用截图 7
  • XTB Online Investing 应用截图 8

API 端点一览

以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。

  • CAS 票据授予票据

    POST /v1/identity/sessions openbanking

    用 username、password 与 fingerprint 换取 CAS 票据授予票据、loginPhase,以及由 otpTimeToLive、otpTokenCount、phoneNumber 描述的可选 OTP 窗口。

    认证方式: 无需既有令牌;请求体携带 username、password、rememberMe 与 fingerprint。返回的 CAS ticket 与 loginPhase 控制后续服务访问,可能需要 OTP。

    • username
    • password
    • rememberMe
    • fingerprint
    • success
    • loginPhase
    • ticket
    • authType
    • otpTimeToLive
    • otpTokenCount
    • otpThrottleTimeRemaining
    • phoneNumber
    POST /v1/identity/sessions HTTP/1.1
    Content-Type: application/json
    
    {
      "username": "<example-username>",
      "password": "<example-password>",
      "rememberMe": true,
      "fingerprint": "<example-device-fingerprint>"
    }
    {
      "success": true,
      "loginPhase": "AUTHENTICATED",
      "ticket": "<example-ticket-granting-ticket>",
      "authType": "PASSWORD",
      "otpTimeToLive": 60,
      "otpTokenCount": 0,
      "otpThrottleTimeRemaining": null,
      "phoneNumber": null
    }
  • CAS 服务票据

    POST /v1/identity/service-grants openbanking

    用票据授予票据为选定的已认证服务签发一次性 serviceTicket。

    认证方式: 请求体 tgt 携带 CAS 票据授予票据;一次性 serviceTicket 用于选定服务的授权及 Bearer 令牌兑换。

    • tgt
    • service
    • success
    • serviceTicket
    POST /v1/identity/service-grants HTTP/1.1
    Content-Type: application/json
    
    {
      "tgt": "<example-ticket-granting-ticket>",
      "service": "<example-service-identifier>"
    }
    {
      "success": true,
      "serviceTicket": "<example-service-ticket>"
    }
  • 账户余额摘要流

    POST /v1/risk/person-snapshots/stream openfinance

    服务端推送账户级保证金与盈亏摘要,包括 equityMargin、equityMarginLevel、marginLevel、netProfit 与 netProfitPercent。

    认证方式: gRPC 元数据携带 Authorization: Bearer <accessToken>,令牌来自已登录的 CAS 会话。

    • equityMargin
    • equityMarginLevel
    • marginLevel
    • netProfit
    • netProfitPercent
    • valueProfitSummaryType
    POST /v1/risk/person-snapshots/stream HTTP/2
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "accountId": "<example-account-id>"
    }
    {
      "equityMargin": "15000.00",
      "equityMarginLevel": "750.00",
      "marginLevel": "750.00",
      "netProfit": "180.00",
      "netProfitPercent": "1.20",
      "valueProfitSummaryType": "PERSON"
    }
  • 电子钱包账户余额

    POST /v1/wallets/balance-snapshots openbanking

    通过 success 或 failed 读取电子钱包多币种账户余额结果,各账户含 currency 与 customerStatus。

    认证方式: gRPC 元数据携带 Authorization: Bearer <accessToken>,令牌来自已登录的 CAS 会话。

    • success
    • failed
    • currency
    • customerStatus
    POST /v1/wallets/balance-snapshots HTTP/2
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {}
    {
      "success": {
        "accounts": [
          {
            "currency": "EUR",
            "customerStatus": "ACTIVE"
          }
        ]
      },
      "failed": null
    }
  • 电子钱包账户详情

    POST /v1/wallets/deposit-details openbanking

    加载电子钱包账户的 bankAccountNumber(含 iban)与 customerStatus,供入金详情页面使用。

    认证方式: gRPC 元数据携带 Authorization: Bearer <accessToken>,令牌来自已登录的 CAS 会话。

    • success
    • failed
    • bankAccountNumber
    • iban
    • customerStatus
    POST /v1/wallets/deposit-details HTTP/2
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "currency": "EUR"
    }
    {
      "success": {
        "bankAccountNumber": {
          "iban": "<example-iban>"
        },
        "customerStatus": "ACTIVE"
      },
      "failed": null
    }
  • 电子钱包卡限额

    POST /v1/wallets/spending-status openbanking

    读取电子钱包卡的 cardStatus、cardIssuer 与 cardLimitUsageStatus,展示消费限额状态。

    认证方式: gRPC 元数据携带 Authorization: Bearer <accessToken>,令牌来自已登录的 CAS 会话。

    • success
    • failed
    • cardStatus
    • cardIssuer
    • cardLimitUsageStatus
    POST /v1/wallets/spending-status HTTP/2
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "cardId": "<example-card-id>"
    }
    {
      "success": {
        "cardStatus": "ACTIVE",
        "cardIssuer": "MASTERCARD",
        "cardLimitUsageStatus": "OK"
      },
      "failed": null
    }
  • 信用卡详情

    POST /v1/funding/stored-cards/lookup openbanking

    按 creditCardXtId 加载已存入金卡的 cardName 与 cardIssuer,供入金或周期扣款页面使用。

    认证方式: gRPC 元数据携带 Authorization: Bearer <accessToken>,令牌来自已登录的 CAS 会话。

    • creditCardXtId
    • cardName
    • cardIssuer
    • success
    • failed
    POST /v1/funding/stored-cards/lookup HTTP/2
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "creditCardXtId": "<example-funding-card-id>"
    }
    {
      "success": {
        "creditCardXtId": "<example-funding-card-id>",
        "cardName": "Example funding card",
        "cardIssuer": "VISA"
      },
      "failed": null
    }
  • 已平仓持仓

    POST /v1/portfolios/realized-lots/search openfinance

    按 instrumentId、positionSide、displayAssetClass、origin 分页已平仓持仓,并返回逐笔 netProfit 与 netProfitPercent。

    认证方式: gRPC 元数据携带 Authorization: Bearer <accessToken>,令牌来自已登录的 CAS 会话。

    • instrumentId
    • positionSide
    • displayAssetClass
    • netProfit
    • netProfitPercent
    • origin
    POST /v1/portfolios/realized-lots/search HTTP/2
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "accountId": "<example-account-id>",
      "displayAssetClass": "CFD_FOREX"
    }
    {
      "positions": [
        {
          "instrumentId": {
            "symbol": "EURUSD"
          },
          "positionSide": "BUY",
          "displayAssetClass": "CFD_FOREX",
          "netProfit": "35.00",
          "netProfitPercent": "0.80",
          "origin": "MANUAL"
        }
      ]
    }
  • 出金摘要

    POST /v1/payouts/fee-preview openbanking

    确认出金前预览 tradingAccount、requestedAmount、feeData、methodTitle、methodDescription,以及可选的 cardName、cardIssuer、etaTranslationKeys。

    认证方式: gRPC 元数据携带 Authorization: Bearer <accessToken>,令牌来自已登录的 CAS 会话。

    • tradingAccount
    • requestedAmount
    • feeData
    • methodTitle
    • methodDescription
    • cardName
    • cardIssuer
    • etaTranslationKeys
    POST /v1/payouts/fee-preview HTTP/2
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "tradingAccount": "<example-account-id>",
      "requestedAmount": {
        "value": "350.00",
        "currency": "EUR"
      }
    }
    {
      "tradingAccount": "<example-account-id>",
      "requestedAmount": {
        "value": "350.00",
        "currency": "EUR"
      },
      "feeData": {
        "fee": "0.00",
        "currency": "EUR"
      },
      "methodTitle": "Bank transfer",
      "methodDescription": "Illustrative withdrawal method",
      "cardName": null,
      "cardIssuer": null,
      "etaTranslationKeys": []
    }
  • 带转账限额的交易账户

    POST /v1/transfers/eligible-books openfinance

    列出转账选择器可用的交易账户、accountId、accountType,以及 internalTransferAllowed 是否开启。

    认证方式: gRPC 元数据携带 Authorization: Bearer <accessToken>,令牌来自已登录的 CAS 会话。

    • internalTransferAllowed
    • accountId
    • accountType
    POST /v1/transfers/eligible-books HTTP/2
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {}
    {
      "internalTransferAllowed": true,
      "accounts": [
        {
          "accountId": "<example-account-id>",
          "accountType": "REAL"
        }
      ]
    }
  • 价格提醒订阅

    POST /v1/alerts/price-rules/search opendata

    按 symbol、type 与 price 列出有效价格提醒订阅,供提醒页面使用。

    认证方式: gRPC 元数据携带 Authorization: Bearer <accessToken>,令牌来自已登录的 CAS 会话。

    • success
    • symbol
    • type
    • price
    POST /v1/alerts/price-rules/search HTTP/2
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {}
    {
      "success": {
        "subscriptions": [
          {
            "symbol": "EURUSD",
            "type": "ABOVE",
            "price": "1.0900"
          }
        ]
      }
    }
  • 品种信息头

    POST /v1/catalog/instrument-cards opendata

    按 accountId、instrumentIdType 与 instrumentIdValue 加载品种页头,返回 displayName、description、logoUrl 与 displayAssetClass。

    认证方式: gRPC 元数据携带 Authorization: Bearer <accessToken>,令牌来自已登录的 CAS 会话。

    • accountId
    • instrumentIdType
    • instrumentIdValue
    • displayName
    • description
    • logoUrl
    • displayAssetClass
    POST /v1/catalog/instrument-cards HTTP/2
    Authorization: Bearer <accessToken>
    Content-Type: application/json
    
    {
      "accountId": "<example-account-id>",
      "instrumentIdType": "SYMBOL",
      "instrumentIdValue": "EURUSD"
    }
    {
      "accountId": "<example-account-id>",
      "instrumentIdType": "SYMBOL",
      "instrumentIdValue": "EURUSD",
      "displayName": "EUR/USD",
      "description": "Euro vs US Dollar",
      "logoUrl": "<example-logo-url>",
      "displayAssetClass": "CFD_FOREX"
    }

数据类别

  • CAS 票据
  • 保证金与净值
  • 未实现盈亏
  • 电子钱包余额
  • IBAN 收款地址
  • 卡片消费限额
  • 入金卡
  • 已平仓持仓
  • 出金手续费
  • 内部转账
  • 价格提醒
  • 品种目录

数据使用场景与案例

  • 实时保证金预警

    风控订阅账户摘要流,在 equityMarginLevel 或 marginLevel 相对 equityMargin 收紧时告警,并配对 netProfit / netProfitPercent,CFD 账本不必再等下一次轮询。

  • 已平仓税务批次

    年底收割任务按 displayAssetClass 与 positionSide 分页已平仓,按 instrumentId 汇总 netProfit 与 netProfitPercent,让 CFD 与现金股票盈亏落入对应包装。

  • 电子钱包卡上限盯梢

    费用工具读取电子钱包卡的 cardStatus、cardIssuer、cardLimitUsageStatus,并以 creditCardXtId / cardName 对齐入金卡,锁卡或发卡行变更当天即可看见。

  • 出金手续费预览

    资金在汇出前把 requestedAmount 对 feeData 与 methodTitle 报价,并检查 internalTransferAllowed 与 tradingAccount,避免把内部账本划转当成外部 SEPA 计费。

常见问题

XTB 应用暴露哪些交易与钱包数据?

已列出的模型涵盖账户级保证金与盈亏流(equityMargin、equityMarginLevel、marginLevel、netProfit)、多币种钱包账户结果(currency、customerStatus)、bankAccountNumber 中的 IBAN、卡片及消费限额状态(cardStatus、cardIssuer、cardLimitUsageStatus)、已平仓盈亏(instrumentId、positionSide、displayAssetClass、netProfit)、出金预览(requestedAmount、feeData、methodTitle),以及内部划转资格(internalTransferAllowed)。

应用如何鉴权 API 调用?

用户名、密码与设备指纹用于获取 CAS 票据授予票据(ticket、loginPhase)。一次性 serviceTicket 支持访问令牌兑换,已认证的账户调用携带 Authorization: Bearer。需要 OTP 时,authType、otpTimeToLive 与 phoneNumber 描述验证窗口。页面路径与示例仅用于说明,不是生产连接信息。

覆盖哪些市场?

XTB S.A. 在华沙上市;应用含德国、西班牙、法国、智利、印尼、越南与阿联酋的国家配置。数据模型描述已登录的手机会话;这里的示例路径不代表公开开发者计划,也不提供生产访问权限。

模型是否包含已平仓盈亏与具体的卡限额金额?

已平仓记录按 instrumentId、positionSide 与 displayAssetClass 提供 netProfit 和 netProfitPercent。钱包卡模型提供 cardLimitUsageStatus,以及 cardStatus 和 cardIssuer,但已列出的字段未给出消费限额金额或剩余额度。已保存的入金卡另以 creditCardXtId 标识,并包含 cardName 与 cardIssuer。

与 XTB Online Investing 相似的应用

  • Trading 212: Stocks, ETFs, ISA — Trading 212 是总部位于伦敦、2004 年创立于保加利亚的欧洲券商,提供免佣金上市股票与 ETF,以及差价合约,并于 2024 年推出借记卡。
  • Trade Republic: Broker & Bank — Trade Republic 是 2015 年成立的柏林在线券商兼银行,通过手机应用提供经纪服务,并在 2023 年获得欧洲央行银行牌照后推出储蓄与活期账户。
  • eToro — eToro 是 2007 年于特拉维夫创立的以色列跨国公司,运营电子交易平台与社交跟单系统,面向散户。
  • Plus500 — Plus500 是总部位于海法、在伦敦证券交易所上市的多资产金融科技公司,提供差价合约、股票交易、期货、预测市场与期货期权。
  • IG — IG Group 是 1974 年成立、总部位于伦敦的在线交易与投资服务商,提供点差交易、美国期货与期权以及股票和加密资产交易,其英国业务受 FCA 监管。
  • Interactive Brokers — Interactive Brokers 是总部位于康涅狄格州格林尼治的券商,在全球电子市场提供股票、期权、期货、外汇、债券与基金的自动执行与托管。
  • DEGIRO — DEGIRO 是荷兰在线券商品牌,2013 年在荷兰向散户开放、随后扩展到欧洲,现为 Flatexdegiro Bank 的荷兰分行。
  • MetaTrader 4 Forex Trading — MetaTrader 4 是 MetaQuotes Software 于 2005 年推出的电子交易平台,授权给外汇券商,客户可用它看实时报价、画图、下单并管理账户。

相关主题

  • XTB API
  • XTB equityMargin
  • XTB netProfit
  • XTB 电子钱包
  • xStation 手机 API
  • XTB 已平仓
  • XTB 出金手续费
  • CFD 券商数据 API

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价