Integracja Webhooks
Każda synchronizacja wysyła żądaniem POST podpisany JSON do punktu końcowego HTTPS: transakcje, salda, pozycje i transakcje giełdowe z 14 tys.+ banków, weryfikowane własnym sekretem podpisu.
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 ]}
Z banku na serwer w trzech krokach.
- 01
Połącz punkt końcowy
Wklej publiczny adres URL HTTPS. BankSync jednorazowo pokaże sekret podpisu whsec_ i wyśle zdarzenie testowe.
URLhttps://api.yourapp.com/…Sekretwhsec_••••••••••••Zdarzenie testowe● 200 w 142 ms - 02
Skieruj do niego feed
Wybierz konta i typ danych. Nie trzeba niczego mapować: dane przychodzą w wersjonowanej kopercie JSON.
TransakcjeSaldaPozycjeKupno/sprzedażKredytyZdarzenietransactions.deltaMapowanieBrak, podgląd ładunku - 03
Weryfikuj każdą dostawę
Sprawdź podpis dowolną biblioteką Standard Webhooks, a następnie wykonaj upsert wierszy po id.
server.js
import { Webhook } from 'standardwebhooks'const wh = new Webhook(secret)const event = wh.verify(body, headers)// deduplikacja po event.id
Konfiguracja narzędzia Webhooks od początku do końca.
Konfiguracja narzędzia Webhooks w BankSync, nagrana na przykładowych kontach.
Co trafia do punktu końcowego.
- id
- Unikalne dla każdej dostawy i stałe przy ponowieniach. Klucz idempotencji, taki sam jak nagłówek webhook-id.
- type
- transactions.delta dla nowych lub zmienionych transakcji; salda, pozycje, transakcje giełdowe, zlecenia i kredyty przychodzą jako *.snapshot.
- apiVersion
- Kontrakt ładunku przypięty do daty, obecnie 2026-06-01.
- feed
- Id, nazwa i typ danych feedu, który wysłał dostawę.
- job
- Przebieg, do którego należy, i co go uruchomiło: scheduled, manual, api, test lub redelivery.
- batch
- Miejsce partii w przebiegu, aby można było je uporządkować.
- data
- Wiersze. Transakcje zawierają id, datę, opis, kwotę ze znakiem, walutę, kategorię, status oczekiwania i konto.
Punkt końcowy to jeden przystanek. Nie cała trasa.
Webhooks w skrócie.
- Dane
- Transakcje, salda, pozycje, transakcje giełdowe, zlecenia i kredyty – jeden typ danych na feed.
- Podpisywanie
- Standard Webhooks: HMAC-SHA256 z id, znacznika czasu i treści. Po rotacji sekretu stary pozostaje ważny przez 24 godziny.
- Dostarczanie
- Co najmniej raz. 408, 425, 429, 5xx i przekroczenia czasu są ponawiane z rosnącym odstępem; 410 wyłącza punkt końcowy.
- Punkty końcowe
- Tylko publiczne HTTPS. Adresy prywatne, pętli zwrotnej i wewnętrzne są odrzucane.
- Harmonogram
- Automatyczna synchronizacja co godzinę, codziennie lub co tydzień, zależnie od planu, albo ręczna synchronizacja w dowolnym momencie.
- Plan
- Plan Standard lub wyższy, razem z API i MCP.
- Konfiguracja
- Około 5 minut. Podpisany JSON trafia do własnego endpointu; bez kosztów zewnętrznych usług.
- Status
- Dostępna już dziś.
Pytania i odpowiedzi.
Jak zweryfikować webhook BankSync?
Każda dostawa zawiera nagłówki webhook-id, webhook-timestamp i webhook-signature w formacie Standard Webhooks. Należy je zweryfikować sekretem whsec_ za pomocą dowolnej biblioteki Standard Webhooks i odrzucać znaczniki czasu starsze niż 5 minut.
Co się dzieje, gdy punkt końcowy jest niedostępny?
Dostarczanie odbywa się co najmniej raz. Odpowiedzi 408, 425, 429, 5xx i przekroczenia czasu są ponawiane z wykładniczo rosnącym odstępem pod tym samym id, dlatego należy deduplikować po id. Odpowiedź 410 wyłącza punkt końcowy.
Jakie zdarzenia wysyła BankSync?
transactions.delta dla nowych lub zmienionych transakcji; balances.snapshot, holdings.snapshot, trades.snapshot, orders.snapshot i loans.snapshot dla bieżącego stanu; sync.completed lub sync.failed na koniec każdego przebiegu oraz endpoint.test dla zdarzeń testowych.
Czy można wysyłać webhooki na localhost lub do sieci prywatnej?
Nie. Punkty końcowe muszą być publicznymi adresami https://. Adresy rozwiązywane do zakresów prywatnych, pętli zwrotnej, link-local lub wewnętrznych są odrzucane przy zapisie.
Który plan obejmuje webhooki?
Webhooki są dostępne w planie Standard i wyższych, razem z API i MCP.
Dane bankowe w punkcie końcowym.
BankSync nie jest powiązany z marką Webhooks, nie jest przez nią wspierany ani nie jest jej oficjalnym partnerem. Znaki towarowe marki Webhooks należą do ich właścicieli.
