Webhooks連携
同期のたびに、署名付きJSONをHTTPSエンドポイントへPOSTします。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 ]}
銀行からサーバーまで、3ステップで
- 01
エンドポイントを接続
公開HTTPSのURLを貼り付けます。BankSyncがwhsec_署名シークレットを一度だけ表示し、テストイベントを送信します。
URLhttps://api.yourapp.com/…シークレットwhsec_••••••••••••テストイベント● 142msで200 - 02
フィードの送信先に設定
口座とデータ型を選びます。マッピングは不要で、バージョン付きのJSONエンベロープを受け取れます。
取引残高保有資産売買ローンイベントtransactions.deltaマッピング不要。ペイロードのプレビューを表示 - 03
すべての配信を検証
任意のStandard Webhooksライブラリで署名を確認し、idで行をupsertします。
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、日付、摘要、符号付き金額、通貨、カテゴリー、pending、口座が含まれます。
Webhooksの要点
- データ
- 取引、残高、保有資産、売買、注文、ローン。1フィードにつき1つのデータ型です。
- 署名
- Standard Webhooks:id、タイムスタンプ、本文に対するHMAC-SHA256。シークレットをローテーションしても、古いシークレットは24時間有効です。
- 配信
- 少なくとも1回。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分より古いタイムスタンプは拒否してください。
エンドポイントがダウンしているとどうなりますか?
配信は少なくとも1回(at-least-once)です。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を送信します。
localhostやプライベートネットワークにWebhookを送信できますか?
いいえ。エンドポイントは公開されたhttps:// URLである必要があります。プライベート、ループバック、リンクローカル、内部の範囲に解決されるアドレスは、保存時に拒否されます。
Webhookはどのプランに含まれますか?
Webhookは、APIやMCPとともにStandardプラン以上で利用できます。
銀行データをエンドポイントへ
BankSyncはWebhooksと提携しておらず、Webhooksの承認を受けたものでも公式パートナーでもありません。Webhooksの商標は各所有者に帰属します。
