一个 ttb touch 登录背后同时挂着一大堆东西:存款账户、共同基金持仓、汽车贷款、保险保单,还有一个人收发过的每一笔 PromptPay 转账。TMBThanachart 把这些全部汇总到一个 Account Sum 视图里,这恰恰是做聚合、放贷或对账的团队想要一条程序化取数路径的原因。这款应用是 ttb(由 TMB 与 Thanachart 合并而来)的零售银行渠道,据其 Google Play 页面显示,包名为 com.TMBTOUCH.PRODUCTION。下文梳理这个登录背后的数据、合规授权的取数方式,以及与我们合作能得到什么。
ttb touch 里都有哪些数据,逐个产品看
下表每一行都对应应用真实呈现给用户的一个界面。颗粒度就是应用所显示的;对接返回的是同样的字段,只是经过规整。
| 数据域 | 在 ttb touch 里的位置 | 颗粒度 | 对接方拿它做什么 |
|---|---|---|---|
| 存款账户与余额 | Account Sum 菜单(ttb all free、ttb no fixed、FCD 账户) | 每个账户:类型、币种、当前余额 | 实时余额展示、多行净资产聚合 |
| 交易历史 | Smart Search | 每笔交易:对手方、金额、方向、PromptPay 参考号、日期 | 对账、现金流分析、经授权的授信输入 |
| 电子账单(e-Statement) | Request e-Statement(存款与贷款) | 每个账户的周期性 PDF | 账单归档、单据核验、后台导入 |
| 共同基金持仓 | Account Sum / Investment 中的 MF port | 持仓、份额、净值、基金代码 | 财富看板、组合跟踪 |
| 贷款与还款 | View Loan Payment History | 未偿余额、分期计划、历史还款 | 偿债视图、负担能力评估 |
| PromptPay 身份与转账 | Transfer to Deposit / PromptPay | 已注册别名(手机号、公民 ID)、转账记录 | 支付对账、放款确认 |
| 保障与汽车 | My Protection、My Car | 持有的保单、保障范围、车贷状态 | 保单与产品信息增强(只读) |
合规授权的取数路径
对这款应用真正有分量的路径有两条,另有一条只针对纯账单需求的轻量导出路径。每一条都在账户持有人授权的前提下安排;开通与接入都在项目内处理。
用户授权的对接方式
我们与一位授权的账户持有人配合,观察 ttb touch 如何认证、如何与其后端通信,再重建那些返回 Account Sum、Smart Search 历史、MF 持仓和贷款还款历史的调用。这条路径能触及应用自身展示的一切。代价在于稳定性:应用前端会随版本更新而变化,所以要靠一轮维护让解析器跟上。对于一个现在就需要实时余额和完整交易窗口的团队,这就是我们会用来搭建管道的那条路径。
泰国央行 Open Data(Your Data)
BOT 的 Your Data 计划建立了一条标准化、经授权的通道,让个人可以在不同机构之间转移自己的金融数据。据泰国央行,它先开放个人存款数据,再分阶段扩展到更多数据类别。在它覆盖某个项目所需内容的地方,它是长期更稳定的数据源,我们会作为数据接收方与授权用户完成注册。由于它仍在推进中,我们把设计做成:对接可以随每类数据陆续开放而逐类切换到这条通道上,而不是把交付卡在它身上。
原生电子账单导出
ttb touch 允许用户为存款和贷款账户申请电子账单。对于只需要周期性账单、而非实时数据的人,这是一条低成本的补充路径,我们可以把它解析成结构化记录——比对接路径窄,但简单而稳定。
一次「余额加账单」的调用长什么样
下面是示意性的形态——字段名是规整后的,认证模式则以经授权对接过程中的确认为准。ttb touch 需针对某台设备激活(按应用的说法,需要激活码,外加一张借记卡或信用卡,或一个分期付款号),并以 PIN 或生物识别登录,从而拿到一个应用会刷新的短时效会话令牌。
# 1) Device-bound login -> short-lived session token
POST /auth/device/login
{ deviceId, activationBound: true, pinProof }
-> 200 { accessToken, refreshToken, expiresIn: 900 }
# 2) Account Sum: every product behind the login in one list
GET /accounts/summary Authorization: Bearer <accessToken>
-> 200 {
deposits: [ { acctId, type: "all_free", ccy: "THB", balance } ],
mfPort: [ { fundCode, units, nav } ],
loans: [ { loanId, outstanding, nextInstalment } ]
}
# 3) Transaction history for one deposit account
GET /accounts/{acctId}/transactions?from=2026-01-01&to=2026-06-30
-> 200 { items: [ { postedDate, amount, direction,
counterparty, promptpayRef, channel } ] }
# postedDate arrives in the Buddhist-era calendar; we convert to CE
on 401 -> refresh(refreshToken) # keep the session alive
on 429 -> exponential backoff
log consentId + requestId per pull # for the consent record
我们为 ttb touch 交付什么
下面的一切都围绕上文这些界面来界定,而不是一份通用功能清单。
- 一份覆盖你所需端点的 OpenAPI/Swagger 规范:Account Sum、交易历史、电子账单获取、MF 持仓、贷款还款历史。
- 一份协议与认证流程报告——设备绑定、PIN/生物识别登录、bearer 令牌与刷新链路,均以对接过程中的实际观察为准。
- 关键端点在 Python 和 Node.js 下的可运行源码:登录与令牌刷新、账户列表、账单获取、交易拉取,并内置佛历到公历的日期换算。
- 把录制响应作为 fixtures 回放的自动化测试,这样每次运行都能校验解析器,而不必真的去打一个活跃账户。
- 你方工程师能直接上手的接口文档,外加面向 PDPA 的数据留存与授权记录指引。
授权与泰国央行的规则
泰国适用两套框架。《个人数据保护法》(PDPA)管辖个人金融数据的收集、存储和处理,因此每一次拉取都基于账户持有人的授权、都带着授权标识记录在案,并且只保留项目真正会用到的字段。泰国央行的 Open Data / Your Data 计划则加上一条标准化的数据可携带通道:客户可以给出周期性授权——据 BOT 的征求意见稿,最长可达十二个月——通过安全的数字通道分享账户数据,而且 BOT 要求撤回授权必须和给予授权一样容易。我们把撤销与再授权直接做进同步里,而不是事后再补。受监管的存款数据通道正在分阶段开放,所以一个项目今天可以依靠的可靠基础,是那份用户授权,Your Data 则随其上线而逐步纳入。
针对这款应用的对接要点
下面每一条都是 ttb touch 的一个具体特征,构建时都会考虑进去。
设备绑定与会话时效
应用绑定到一台已激活的设备,并在 PIN 或生物识别之后跑在一个短时效会话令牌上。我们围绕这个绑定设备的会话及其刷新来设计认证流程,让管道持有一个稳定的会话,而不是每次运行都重新注册;设备注册会与授权的账户持有人一起作为启动的一部分来安排。
一个视图,多个后端
Account Sum 把存款、共同基金、贷款和保险摆在一处,但它们来自不同系统,字段和颗粒度都不一样。我们把每种产品类型映射到各自的规整 schema——一条基金净值记录和一条存款交易记录保持独立——这样下游代码就不用去拆一坨压扁的数据。
泰文文本与佛历日期
账单和交易标签是以泰文过来的,日期则是佛历。我们在输出时把佛历(BE)换算成公历(CE),并把泰文标签映射到稳定的英文键,这样无论显示语言是什么,你的数据层看到的都是一致的字段名。
团队把这些数据用在哪里
- 一款个人理财应用,在同一个看板里把用户的 TTB 余额和交易与他们的其他银行账户并排展示。
- 一家放贷机构,在申请人授权下读取十二个月的交易历史和贷款还款历史,作为授信输入。
- 一个中小企业记账工具,把 PromptPay 的收付款与发票对账。
- 一个财富视图,跟踪 MF 持仓及净值随时间的变化。
价格与交付方式
一套可用的 ttb touch 对接——可运行端点、认证流程报告、测试和接口文档——在一到两周内交付。你可以按源码交付来拿:你所需端点的完整源码与文档,300 美元起,只在交付、并且你确认它跑得起来之后才开票。也可以当成托管 API 来调用,由我们搭建并维护端点,你按调用计费、无需预付。告诉我们应用是 ttb touch、你想从中得到什么,接入、沙箱和合规文件就从这里开始与你一起安排。就你的 ttb touch 项目聊一聊。
来自应用的界面截图
公开的 Play Store 截图,供界面参考。点选一张可放大。
同一版图里的其他泰国银行应用
对接方很少只想要孤零零一家银行。以下这些应用,在一个项目聚合泰国零售银行数据时,通常会和 ttb touch 摆在一起,此处仅出于关键词与生态语境列出。
- K PLUS(Kasikornbank)—— 泰国用户量最大的手机银行;涵盖存款、转账、卡与投资数据。
- Make by KBank(Kasikornbank)—— 一款侧重生活方式的伴侣应用,围绕整理支出与转账。
- SCB Easy(Siam Commercial Bank)—— 账户、转账、卡,以及一整套个人理财产品。
- Krungthai NEXT(Krungthai Bank)—— 零售银行,被大量用于政府相关的缴费与转账。
- KMA(Krungsri / Bank of Ayudhya)—— 账户、信用卡、贷款、PromptPay 与跨境转账集于一个应用。
- Bualuang mBanking(Bangkok Bank)—— 存款、共同基金、政府债券与跨境转账。
- MyMo(Government Savings Bank)—— 在泰国广泛使用的零售存款与支付应用。
对接方常问的关于 ttb touch 的问题
能从 ttb touch 取出完整的交易历史,还是只有近期记录?
应用内的 Smart Search 提供按账户可检索的历史,授权对接取到的就是应用自身展示的同一批记录——对手方、金额、PromptPay 参考号、渠道和日期。我们把每一条都规整成 JSON,并把应用返回的佛历日期换算成公历。
共同基金持仓的数据和存款账户相比是怎么过来的?
Account Sum 里显示的 MF 持仓与存款交易来自不同的后端,字段也不一样——是基金代码、份额和净值,而不是入账余额和对手方。我们把它们保持为各自独立的规整 schema,基金持仓和存款交易绝不会被塞进同一种结构里。
泰国央行的 Your Data 计划能不能让我们直接正式申请 TTB 的数据?
据泰国央行(Bank of Thailand),BOT 的 Your Data / Open Data 通道正在分阶段推进,先开放个人存款数据,再扩展到贷款和支付。在它还未覆盖某个项目所需的数据之前,可靠的基础仍是账户持有人本人通过对接方式给出的授权;我们把管道设计成随着每类数据陆续开放,能够迁移到 Your Data 通道上。
当 TTB 发布新版 ttb touch、界面变了,会怎么办?
我们会针对已授权的账户重新采集受影响的流程,更新解析器和字段映射。让抽取在应用版本迭代中保持稳定,是我们日常维护的一部分,而不是把整个项目推倒重来。
资料来源与审阅说明
数据域读自 ttb 自家的 ttb touch 用户指南(电子账单、PromptPay 和贷款历史页面)以及 Google Play 页面;监管方面的信息来自泰国央行的 Open Data 计划及其 Your Data 公告,于 2026 年 7 月核对。主要来源: BOT Open Data、 BOT——「Your Data」项目、 ttb touch 电子账单指南、 ttb touch 的 Google Play 页面。
由 OpenBanking Studio 集成小组整理,2026 年 7 月。
应用简介:ttb touch
ttb touch 是 TMBThanachart Bank(ttb)的零售手机银行应用,该行由泰国的 TMB Bank 与 Thanachart Bank 合并而成。它支持在线开户,可通过应用本身或 7-Eleven 完成自助认证,提供把存款和共同基金持仓汇总在一起的 Account Sum 视图、跨交易的 Smart Search、电子账单、PromptPay 转账、贷款、保险(My Protection)、汽车服务板块(My Car)以及应用内助手。它运行在 Android 和 iOS 上;据其 Play 页面,Android 包名为 com.TMBTOUCH.PRODUCTION。本段概述取自应用自身的商店描述和 ttb 的用户指南。