Webhooks連携

同期のたびに、署名付きJSONをHTTPSエンドポイントへPOSTします。1万+の銀行の取引、残高、保有資産、売買を届け、ご自身の署名シークレットで検証できます。

POST api.yourapp.com/webhooks/banksync200 OK · 142 ms
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  ]}
Chase CheckingとAmex Goldの取引を届けるtransactions.deltaの配信1件。whsec_シークレットを使い、Standard Webhooks形式で署名されています。

銀行からサーバーまで、3ステップで

  1. 01

    エンドポイントを接続

    公開HTTPSのURLを貼り付けます。BankSyncがwhsec_署名シークレットを一度だけ表示し、テストイベントを送信します。

    URLhttps://api.yourapp.com/…
    シークレットwhsec_••••••••••••
    テストイベント● 142msで200
  2. 02

    フィードの送信先に設定

    口座とデータ型を選びます。マッピングは不要で、バージョン付きのJSONエンベロープを受け取れます。

    取引残高保有資産売買ローン
    イベントtransactions.delta
    マッピング不要。ペイロードのプレビューを表示
  3. 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、口座が含まれます。
全データ型のフィールド表と、複数の言語での検証コードはWebhookリファレンスにあります。

エンドポイントは経由地のひとつ。それがすべてではありません

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の商標は各所有者に帰属します。