Integrazione Webhooks
Ogni sincronizzazione invia con POST un JSON firmato al suo endpoint HTTPS: transazioni, saldi, posizioni e operazioni da 14K+ banche, verificabili con il suo secret di firma.
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 ]}
Dalla banca al suo server in tre passaggi.
- 01
Colleghi un endpoint
Incolli un URL HTTPS pubblico. BankSync mostra una sola volta un secret di firma whsec_ e invia un evento di test.
URLhttps://api.yourapp.com/…Secretwhsec_••••••••••••Evento di test● 200 in 142 ms - 02
Indirizzi un feed all’endpoint
Scelga i conti e un tipo di dati. Non c’è nulla da mappare: riceve un envelope JSON con versione.
TransazioniSaldiPosizioniOperazioniPrestitiEventotransactions.deltaMappaturaNessuna, un’anteprima del payload - 03
Verifichi ogni consegna
Controlli la firma con una qualsiasi libreria Standard Webhooks, poi esegua l’upsert delle righe in base all’id.
server.js
import { Webhook } from 'standardwebhooks'const wh = new Webhook(secret)const event = wh.verify(body, headers)// deduplicare su event.id
Configurare Webhooks, dall’inizio alla fine.
Configurazione di Webhooks in BankSync, girata con conti di esempio.
Che cosa arriva al suo endpoint.
- id
- Univoco per ogni consegna e stabile tra i tentativi. La sua chiave di idempotenza, uguale all’header webhook-id.
- type
- transactions.delta per le transazioni nuove o modificate; saldi, posizioni, operazioni, ordini e prestiti arrivano come *.snapshot.
- apiVersion
- Il contratto del payload legato a una data, attualmente 2026-06-01.
- feed
- ID, nome e tipo di dati del feed che l’ha inviato.
- job
- L’esecuzione a cui appartiene e che cosa l’ha avviata: scheduled, manual, api, test o redelivery.
- batch
- La posizione del batch nell’esecuzione, per poterli ordinare.
- data
- Le righe. Le transazioni includono id, data, descrizione, importo con segno, valuta, categoria, stato in sospeso e conto.
Il suo endpoint è una tappa. Non l’intero percorso.
Webhooks, in breve.
- Dati
- Transazioni, saldi, posizioni, operazioni, ordini e prestiti, un tipo di dati per feed.
- Firma
- Standard Webhooks: HMAC-SHA256 su id, timestamp e body. Dopo la rotazione del secret, quello precedente resta valido per 24 ore.
- Consegna
- Almeno una volta. 408, 425, 429, 5xx e timeout vengono ritentati con backoff; 410 disattiva l’endpoint.
- Endpoint
- Solo HTTPS pubblici. Gli indirizzi privati, di loopback e interni vengono rifiutati.
- Pianificazione
- Scelga sincronizzazioni automatiche orarie, giornaliere o settimanali in base al suo piano, oppure avvii una sincronizzazione manuale in qualsiasi momento.
- Piano
- Piano Standard o superiore, insieme all’API e a MCP.
- Attivazione
- Circa 5 minuti. Invio di JSON firmato al suo endpoint; nessun costo di terze parti.
- Stato
- Disponibile già oggi.
Domande e risposte.
Come verifico un webhook di BankSync?
Ogni consegna include gli header webhook-id, webhook-timestamp e webhook-signature nel formato Standard Webhooks. Li verifichi con il suo secret whsec_ usando una qualsiasi libreria Standard Webhooks e rifiuti i timestamp più vecchi di 5 minuti.
Che cosa succede se il mio endpoint non è raggiungibile?
La consegna avviene almeno una volta. Le risposte 408, 425, 429, 5xx e i timeout vengono ritentati con backoff esponenziale con lo stesso id, quindi deduplichi in base all’id. Una risposta 410 disattiva l’endpoint.
Quali eventi invia BankSync?
transactions.delta per le transazioni nuove o modificate; balances.snapshot, holdings.snapshot, trades.snapshot, orders.snapshot e loans.snapshot per lo stato attuale; sync.completed o sync.failed al termine di ogni esecuzione; ed endpoint.test per gli eventi di test.
Posso inviare webhook a localhost o a una rete privata?
No. Gli endpoint devono essere URL https:// pubblici. Gli indirizzi che si risolvono in intervalli privati, di loopback, link-local o interni vengono rifiutati al salvataggio.
Quale piano include i webhook?
I webhook sono inclusi nel piano Standard e superiori, insieme all’API e a MCP.
Dati bancari sul suo endpoint.
BankSync non è affiliato a Webhooks, non è approvato da Webhooks e non è un suo partner ufficiale. I marchi Webhooks appartengono ai rispettivi proprietari.
