BudgetBakers Wallet 数据 API
Wallet: Budget Expense Tracker 是 BudgetBakers 的安卓个人理财应用(由 droid4you 包名演进而来的 Wallet 品牌)。家庭与自由职业者登记现金与刷卡支出、拆分信封与分类预算,通过 Salt Edge、Yodlee 与 FastLink 连接支票与信用卡账户,跟踪股票、ETF 与加密资产,导入银行 CSV/PDF 对账单,并由 Pay & Track 把 Google Pay 通知落成记账。9.3.12 为 prodWallet 渠道。它与 Spendee、Money Manager、YNAB 同场,面向希望把现金、银行同步与投资放进同一本账、而不是只用银行自家 App 的用户。
盐边与 Yodlee 登录下的账户行带有 balance 与 currencyCode(Checking、CreditCard、Savings、Ewallet),随后一次刷新把远端流水拉进同一 owner/login。投资界面用 symbol、exchangeCode 以及股票与加密的日期 value 序列计价;多币种账本经 from/to 的 rate 换算。
Google Pay 通知以 payee 加 mobilePaymentService 发出,返回 merchantId、categoryId 与 envelopeId。CSV/PDF 导入在激活前给出解析后的 rawValue。家庭看板、组合小组件与房租机器人消费这些对象;openData Studio 把它们变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
SSO 登录换票
POST
/v1/identity/sso-loginopendata用 SSO 令牌换取 Wallet 会话 JWT,供银行同步、行情与商户标注请求携带 Authorization: Bearer。
认证方式: 无需登录;请求体为邮箱/Google/Facebook SSO。后续调用携带 Authorization: Bearer 以及 X-Client-ID、X-Client-Version-Name、X-Client-Source-Platform。
- ssoToken
- ssoKey
- identificationType
- identification
- token
- tokenId
- loginExpiresAt
- tokenExpiresAt
POST /v1/identity/sso-login HTTP/1.1 Content-Type: application/json X-Client-Version-Name: 9.3.12 X-Client-Source-Platform: ANDROID { "ssoToken": "<sso-provider-token>", "ssoKey": "google", "identificationType": "EMAIL", "identification": "[email protected]" }{ "token": "<session-jwt>", "tokenId": "tok_8f21c0ab", "loginExpiresAt": "2026-11-19T12:00:00Z", "tokenExpiresAt": "2026-10-21T12:00:00Z" }银行同步国家列表
GET
/v1/bank-links/countriesopenbanking列出至少有一个 Salt Edge、Yodlee 或 BudgetBakers 银行同步机构的 ISO 国家代码,供连接银行选择器筛选。
认证方式: POST /v1/identity/sso-login 下发的 Bearer;另带 X-Client-ID 与 X-Client-Version-Name。
- countries
- code
GET /v1/bank-links/countries HTTP/1.1 Authorization: Bearer <session-jwt> X-Client-ID: user_ada X-Client-Version-Name: 9.3.12{ "countries": [ {"code": "DE"}, {"code": "FR"}, {"code": "ES"}, {"code": "US"} ] }常用银行机构
GET
/v1/bank-links/countries/{countryCode}/popular-institutionsopenbanking返回某国最常用的银行与电子钱包机构,含 Salt Edge/Yodlee 来源、可回溯天数以及是否需要 Premium 才能连接。
认证方式: POST /v1/identity/sso-login 下发的 Bearer;另带 X-Client-ID 与 X-Client-Version-Name。
- providers
- name
- countryCode
- integrationSource
- logoUrl
- code
- maxTransactionHistoryInDays
- needPremiumToConnect
- isAutomatic
GET /v1/bank-links/countries/DE/popular-institutions HTTP/1.1 Authorization: Bearer <session-jwt> X-Client-Version-Name: 9.3.12{ "providers": [ { "id": "prv_sparkasse", "name": "Sparkasse", "countryCode": "DE", "integrationSource": "SALTEDGE", "logoUrl": "https://cdn.example.com/bank-logos/sparkasse.png", "code": "sparkasse_de", "maxTransactionHistoryInDays": 90, "needPremiumToConnect": true, "isAutomatic": true } ] }已连接银行账户
GET
/v1/owners/{ownerId}/bank-links/{source}/logins/{loginId}/accountsopenbanking读取某次银行登录下的支票、信用卡、储蓄与电子钱包账户,含实时余额及其映射到的 Wallet 账本 id。
认证方式: POST /v1/identity/sso-login 下发的 Bearer;X-Client-ID 标识 owner。
- accounts
- id
- name
- type
- balance
- currencyCode
- connectedAppAccountId
GET /v1/owners/user_ada/bank-links/SALTEDGE/logins/login_77c1/accounts HTTP/1.1 Authorization: Bearer <session-jwt> X-Client-ID: user_ada{ "accounts": [ { "id": "acc_remote_checking", "name": "Girokonto", "type": "Checking", "balance": 2481.55, "currencyCode": "EUR", "connectedAppAccountId": "acc_wallet_giro" } ] }绑定银行账户
POST
/v1/owners/{ownerId}/bank-links/{source}/logins/{loginId}/accounts/linkopenbanking用户勾选要保留的账户后,把远端银行账户映射到 Wallet 账本账户(及可选的现金对手账户)。
认证方式: POST /v1/identity/sso-login 下发的 Bearer;X-Client-ID 标识 owner。
- accounts
- remoteAccountId
- appAccountId
- cashAccountId
POST /v1/owners/user_ada/bank-links/SALTEDGE/logins/login_77c1/accounts/link HTTP/1.1 Authorization: Bearer <session-jwt> Content-Type: application/json { "accounts": [ { "remoteAccountId": "acc_remote_checking", "appAccountId": "acc_wallet_giro", "cashAccountId": "acc_wallet_cash" } ] }{ "accounts": [ { "remoteAccountId": "acc_remote_checking", "appAccountId": "acc_wallet_giro", "cashAccountId": "acc_wallet_cash" } ] }刷新银行流水
POST
/v1/owners/{ownerId}/bank-links/{source}/logins/{loginId}/syncopenbanking触发 Salt Edge / Yodlee 拉取,使该银行登录下的新远端流水进入 Wallet 记录流。
认证方式: POST /v1/identity/sso-login 下发的 Bearer;X-Client-ID 标识 owner。
- loginId
- status
- integrationSource
POST /v1/owners/user_ada/bank-links/SALTEDGE/logins/login_77c1/sync HTTP/1.1 Authorization: Bearer <session-jwt> X-Client-ID: user_ada{ "loginId": "login_77c1", "status": "OK", "integrationSource": "SALTEDGE" }金融工具目录
GET
/v1/markets/instrumentsopenfinance搜索上市股票、ETF 及相关工具,供投资界面把持仓绑到交易所代码与报价货币。
认证方式: POST /v1/identity/sso-login 下发的 Bearer。
- financialInstruments
- symbol
- name
- currencyCode
- type
- exchange
- exchangeCode
- country
GET /v1/markets/instruments?type=STOCK&query=AAPL&limit=20 HTTP/1.1 Authorization: Bearer <session-jwt>{ "financialInstruments": [ { "symbol": "AAPL", "name": "Apple Inc.", "currencyCode": "USD", "type": "STOCK", "exchange": "NASDAQ", "exchangeCode": "XNAS", "country": "US" } ] }股票价格历史
GET
/v1/markets/equities/{symbol}/historyopendata返回股票或 ETF 的日期收盘价,供投资账户按市值计价持仓。
认证方式: POST /v1/identity/sso-login 下发的 Bearer。
- metadata
- history
- temporaryFrom
- validFor
- date
- value
GET /v1/markets/equities/AAPL/history?from=2025-10-01&to=2026-10-01 HTTP/1.1 Authorization: Bearer <session-jwt>{ "metadata": { "temporaryFrom": "2024-01-01", "validFor": 86400000 }, "history": [ {"date": "2026-10-01", "value": 227.41}, {"date": "2026-10-02", "value": 229.08} ] }加密价格历史
GET
/v1/markets/crypto/{cryptoId}/historyopendata返回加密报价日期序列,供 INVESTMENT_CRYPTO 账户给比特币与山寨币仓位计价。
认证方式: POST /v1/identity/sso-login 下发的 Bearer。
- metadata
- history
- date
- value
- temporaryFrom
- validFor
GET /v1/markets/crypto/BTC/history?from=2026-09-01&to=2026-10-01 HTTP/1.1 Authorization: Bearer <session-jwt>{ "metadata": { "temporaryFrom": "2020-01-01", "validFor": 3600000 }, "history": [ {"date": "2026-10-01", "value": 64210.5}, {"date": "2026-10-02", "value": 65102.0} ] }外汇货币对汇率
GET
/v1/rates/{from}/{to}opendata查询中间价,供多币种账本把一笔记账金额换算成用户的参考货币。
认证方式: POST /v1/identity/sso-login 下发的 Bearer。
- from
- to
- rate
GET /v1/rates/EUR/USD HTTP/1.1 Authorization: Bearer <session-jwt>{ "from": "EUR", "to": "USD", "rate": 1.0852 }Pay & Track 商户标注
POST
/v1/transactions/annotateopendata把 Google Pay(及其他 Pay & Track)通知行归到分类、商户、信封与标签,避免账本只留下原始收款人字符串。
认证方式: POST /v1/identity/sso-login 下发的 Bearer。
- userId
- accountId
- mobilePaymentService
- records
- amount
- payee
- note
- categoryId
- merchantId
- envelopeId
- envelopeAssignSource
- labelIds
POST /v1/transactions/annotate HTTP/1.1 Authorization: Bearer <session-jwt> Content-Type: application/json { "userId": "user_ada", "accountId": "acc_wallet_giro", "mobilePaymentService": "GooglePay", "records": [ { "id": "rec_gpay_1001", "amount": -12.4, "payee": "STARBUCKS 1234 BERLIN", "note": "Google Pay" } ] }[ { "id": "rec_gpay_1001", "categoryId": "cat_coffee", "merchantId": "mrc_starbucks", "envelopeId": "env_food", "envelopeAssignSource": "MERCHANT", "labelIds": ["lbl_dining"] } ]对账单导入记录
GET
/v1/imports/{itemId}/rowsopenfinance返回已上传 CSV/PDF 对账单的解析列,供映射界面在激活前绑定 Amount、Payee、RecordDate 与 CurrencyCode。
认证方式: POST /v1/identity/sso-login 下发的 Bearer。
- itemId
- accountId
- fileName
- transactionId
- tokens
- colName
- rawValue
- type
- colIndex
GET /v1/imports/imp_44c0/rows HTTP/1.1 Authorization: Bearer <session-jwt>{ "itemId": "imp_44c0", "accountId": "acc_wallet_giro", "fileName": "sparkasse-sep-2026.csv", "transactionId": "parse_9aa1", "tokens": [ {"colName": "amount", "rawValue": "-12,40", "type": "Amount", "colIndex": 3} ] }账单支付机构
GET
/v1/bill-pay/providersopenbanking列出 Zaplaceno 账单支付银行及其行号与单笔上限,供用户选择国内转账的出资账户。
认证方式: POST /v1/identity/sso-login 下发的 Bearer。
- providers
- source
- providerCode
- providerName
- logoUrl
- bankCode
- maxAmountLimit
GET /v1/bill-pay/providers HTTP/1.1 Authorization: Bearer <session-jwt>{ "providers": [ { "source": "SALTEDGE", "providerCode": "csas", "providerName": "Česká spořitelna", "logoUrl": "https://cdn.example.com/bank-logos/csas.png", "bankCode": "0800", "maxAmountLimit": 50000.0 } ] }账单支付下单
POST
/v1/bill-pay/checkout-sessionsopenbanking发起 Zaplaceno 国内付款,返回银行托管跳转地址与 paymentId,供后续轮询状态。
认证方式: POST /v1/identity/sso-login 下发的 Bearer。
- amount
- currencyCode
- providerCode
- fromBankAccountNumber
- fromBankCode
- toBankAccountNumber
- toBankCode
- iban
- variableSymbol
- note
- paymentId
- redirectUrl
POST /v1/bill-pay/checkout-sessions HTTP/1.1 Authorization: Bearer <session-jwt> Content-Type: application/json { "amount": 1299.0, "currencyCode": "CZK", "providerCode": "csas", "fromBankAccountNumber": "1234567890", "fromBankCode": "0800", "toBankAccountNumber": "9988776655", "toBankCode": "0100", "iban": "CZ6508000000192000145399", "variableSymbol": 20261020, "note": "Rent October" }{ "paymentId": "pay_zap_3310", "redirectUrl": "https://bank-redirect.example.com/checkout/pay_zap_3310" }
数据类别
- 银行账户
- 余额
- 交易
- 投资
- 汇率
- 商户
- 支付
数据使用场景与案例
开放银行账本对账
夜间任务拉取已连接支票与信用卡账户(balance、currencyCode、type),再触发一次同步,让 ERP 或家庭看板与 Wallet 的 Salt Edge / Yodlee 源对齐,而无需刮取界面。
投资持仓市值计价
组合小组件用 financialInstruments 查 symbol/exchangeCode,再把股票与加密历史行情的 value 序列叠到 Wallet 投资账户上。
Google Pay 商户打标
Pay & Track 行(payee、amount、mobilePaymentService=GooglePay)走标注接口,拿到 merchantId、categoryId 与 envelopeId,使消费分析与用户信封保持一致。
国内账单支付交接
房租或发票机器人列出 Zaplaceno 支付机构,再把 amount、iban、variableSymbol 提交到结账接口并取得 redirectUrl,保存 paymentId 直到银行返回 OK。
常见问题
Wallet 能拿到银行实时余额,还是只有本地现金?
实时远端余额。会话换票之后,GET /v1/owners/{ownerId}/bank-links/{source}/logins/{loginId}/accounts 返回用户已连接的 Salt Edge 或 Yodlee 账户的 balance 与 currencyCode,POST .../sync 再拉取新远端流水。
Wallet 如何给股票和加密定价?
GET /v1/markets/instruments 搜索 symbol、交易所与 currencyCode。收盘价来自 /v1/markets/equities/{symbol}/history 与 /v1/markets/crypto/{cryptoId}/history 的 history[].date 与 history[].value。
Pay & Track 对 Google Pay 通知发送什么?
POST /v1/transactions/annotate 发送 userId、accountId、mobilePaymentService(默认 GooglePay)以及含 amount、payee、note 的 records。响应把每条 id 映射到 categoryId、merchantId、envelopeId 与 labelIds。
会话如何鉴权?
POST /v1/identity/sso-login 用 ssoToken 换 token、tokenId、loginExpiresAt 与 tokenExpiresAt。后续调用携带 Authorization: Bearer 以及 X-Client-ID、X-Client-Version-Name。
与 Wallet: Budget Expense Tracker 相似的应用
- Spendee — Spendee 是一款理财应用,可记录现金、银行、电子钱包和加密资产支出,设置预算与共享钱包,并通过连接账户自动导入交易。
- YNAB — YNAB(You Need A Budget)是面向 iOS、Android 和网页的零基信封预算法应用,把每一块钱先指定用途,并可通过 Plaid 导入银行交易。
- Money Manager Expense & Budget — Money Manager Expense & Budget 是个人理财应用,用于记录支出、按分类设预算、保存收据照片,并在 Android 与 iOS 上查看周度和月度汇总。
- Goodbudget — Goodbudget 是覆盖网页、Android 和 iPhone 的家庭预算应用,用虚拟信封法跟踪支出、为目标存钱并偿还债务。
- PocketGuard — PocketGuard 是理财应用,通过关联账户跟踪支出、生成个性化预算,并协助支付账单、还债和储蓄目标。
- Toshl Finance — Toshl Finance 是个人理财应用,用于记录支出、整理账单与预算,并在多台设备上汇总银行账户。
- Monarch — Monarch 是一体化理财应用,用于做预算、跟踪账户与净资产,并可与伴侣共同记账。
- Mobills: Budget Planner — Mobills 是巴西个人理财应用,用于登记收支、连接账户与信用卡,并设定月度预算和理财目标。
相关主题
- Wallet BudgetBakers API
- 盐边银行同步
- Yodlee 账户余额
- Google Pay 商户标注
- 股票行情 API
- Zaplaceno 支付
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业