Webhooks 集成
每次同步都会向您的 HTTPS 端点 POST 签名 JSON:来自 1万+ 家银行的交易、余额、持仓和成交记录,并可用您自己的签名密钥验证。
webhook-id: evt_job-7q2_0_1_1webhook-timestamp: 1792501320webhook-signature: v1,K5oZfzN95Z9UVu1EsfQmfVNQhnkZ2pj9o9NDN/H/pI4=content-type: application/json { "id": "evt_job-7q2_0_1_1", "type": "transactions.delta", "apiVersion": "2026-06-01", "createdAt": "2026-10-20T13:02:00.000Z", "feed": { "id": "feed_9d1", "name": "Chase to Webhook", "dataType": "transactions" }, "job": { "id": "job_7q2", "trigger": "scheduled" }, "batch": { "sequence": 1 }, "data": [ { "id": "10a4d071832649a", "date": "2026-10-19", "amount": 4200.00, … }, { "id": "4bdd8e6931727cd", "date": "2026-10-19", "amount": -86.42, … }, …1 more ]}
从银行到您的服务器,只需三步
- 01
连接端点
粘贴公开的 HTTPS URL。BankSync 会显示一次 whsec_ 签名密钥,并发送一个测试事件。
URLhttps://api.yourapp.com/…密钥whsec_••••••••••••测试事件● 142ms 内返回 200 - 02
将数据源指向该端点
选择账户和数据类型。无需映射:您将收到带版本号的 JSON 信封。
交易余额持仓成交记录贷款事件transactions.delta映射无需映射,提供载荷预览 - 03
验证每次投递
使用任意 Standard Webhooks 库校验签名,然后按 id 更新插入数据行。
server.js
import { Webhook } from 'standardwebhooks'const wh = new Webhook(secret)const event = wh.verify(body, headers)// 按 event.id 去重
完整演示 Webhooks 的设置过程
在 BankSync 中设置 Webhooks 的过程,使用示例账户录制。
送达端点的内容
- id
- 每次投递唯一,重试时保持不变。即您的幂等键,与 webhook-id 请求头相同。
- type
- 新增或变更的交易为 transactions.delta;余额、持仓、成交记录、订单和贷款以 *.snapshot 形式送达。
- apiVersion
- 按日期固定的载荷契约,当前为 2026-06-01。
- feed
- 发送该事件的数据源的 id、名称和数据类型。
- job
- 所属的运行,以及启动方式:scheduled、manual、api、test 或 redelivery。
- batch
- 该批次在本次运行中的位置,便于排序。
- data
- 数据行。交易包含 id、日期、描述、带正负号的金额、币种、类别、待入账状态和账户。
Webhooks:要点一览
- 数据
- 交易、余额、持仓、成交记录、订单和贷款,每个数据源一种数据类型。
- 签名
- Standard Webhooks:对 id、时间戳和正文进行 HMAC-SHA256 签名。轮换密钥后,旧密钥在 24 小时内仍然有效。
- 投递
- 至少一次。408、425、429、5xx 和超时会按退避策略重试;410 会停用该端点。
- 端点
- 仅限公开 HTTPS。私有、环回和内部地址会被拒绝。
- 同步计划
- 可根据套餐选择每小时、每天或每周自动同步,也可随时手动同步。
- 套餐
- Standard 或更高套餐,与 API 和 MCP 一起提供。
- 设置
- 约 5 分钟。 将签名 JSON 发送到您自己的端点,无第三方费用。
- 状态
- 现已可用。
常见问题解答
如何验证 BankSync Webhook?
每次投递都带有 Standard Webhooks 格式的 webhook-id、webhook-timestamp 和 webhook-signature 请求头。使用任意 Standard Webhooks 库和您的 whsec_ 密钥进行验证,并拒绝超过 5 分钟的时间戳。
如果端点宕机会怎样?
投递保证至少一次。408、425、429、5xx 响应和超时会以相同 ID 按指数退避重试,因此请按 id 去重。410 响应会停用该端点。
BankSync 会发送哪些事件?
新增或变更的交易为 transactions.delta;余额、持仓、成交记录、订单和贷款的当前状态分别为 balances.snapshot、holdings.snapshot、trades.snapshot、orders.snapshot 和 loans.snapshot;每次运行结束时为 sync.completed 或 sync.failed;测试事件为 endpoint.test。
可以将 Webhook 发送到 localhost 或私有网络吗?
不能。端点必须是公开的 https:// URL。解析到私有、环回、链路本地或内部地址范围的地址会在保存时被拒绝。
哪个套餐包含 Webhook?
Webhook 属于开发者功能,与 API 和 MCP 一起包含在 Standard 及更高套餐中。
BankSync 与 Webhooks 无关联,未获其认可,也不是其官方合作伙伴。Webhooks 商标归其各自所有者所有。
