Integración con Webhooks
Cada sincronización envía por POST JSON firmado a su endpoint HTTPS: transacciones, saldos, posiciones y operaciones de 14 mil+ bancos, verificado con su propio secreto de 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 ]}
Del banco a su servidor en tres pasos.
- 01
Conecte un endpoint
Pegue una URL HTTPS pública. BankSync muestra una sola vez un secreto de firma whsec_ y envía un evento de prueba.
URLhttps://api.yourapp.com/…Secretowhsec_••••••••••••Evento de prueba● 200 en 142 ms - 02
Dirija un feed hacia él
Elija las cuentas y un tipo de datos. No hay nada que asignar: recibe un sobre JSON versionado.
TransaccionesSaldosPosicionesOperacionesPréstamosEventotransactions.deltaAsignaciónNinguno, una vista previa del payload - 03
Verifique cada entrega
Compruebe la firma con cualquier biblioteca de Standard Webhooks y luego inserte o actualice las filas por id.
server.js
import { Webhook } from 'standardwebhooks'const wh = new Webhook(secret)const event = wh.verify(body, headers)// deduplicar por event.id
Configure Webhooks, de principio a fin.
Configuración de Webhooks en BankSync, grabada con cuentas de ejemplo.
Lo que llega a su endpoint.
- id
- Único por entrega y estable entre reintentos. Es su clave de idempotencia, igual que la cabecera webhook-id.
- type
- transactions.delta para transacciones nuevas o modificadas; saldos, posiciones, operaciones, órdenes y préstamos llegan como *.snapshot.
- apiVersion
- El contrato de payload fijado por fecha, actualmente 2026-06-01.
- feed
- El id, el nombre y el tipo de datos del feed que la envió.
- job
- La ejecución a la que pertenece y qué la inició: scheduled, manual, api, test o redelivery.
- batch
- La posición del lote en la ejecución, para que pueda ordenarlos.
- data
- Las filas. Las transacciones incluyen id, fecha, concepto, importe con signo, divisa, categoría, estado pendiente y la cuenta.
Su endpoint es una parada más. No el recorrido completo.
Webhooks, en resumen.
- Datos
- Transacciones, saldos, posiciones, operaciones, órdenes y préstamos, un tipo de datos por feed.
- Firma
- Standard Webhooks: HMAC-SHA256 sobre el id, la marca de tiempo y el cuerpo. Al rotar el secreto, el anterior sigue siendo válido durante 24 horas.
- Entrega
- Al menos una vez. Las respuestas 408, 425, 429, 5xx y los tiempos de espera agotados se reintentan con espera progresiva; un 410 desactiva el endpoint.
- Endpoints
- Solo HTTPS público. Se rechazan las direcciones privadas, de loopback e internas.
- Programación
- Elija sincronizaciones automáticas cada hora, a diario o semanalmente según su plan, o ejecute una sincronización manual en cualquier momento.
- Plan
- Plan Standard o superior, junto con la API y MCP.
- Configuración
- Aproximadamente 5 minutos. Envío de JSON firmado a su propio endpoint; sin costes de terceros.
- Estado
- Disponible ya.
Preguntas, respondidas.
¿Cómo verifico un webhook de BankSync?
Cada entrega incluye las cabeceras webhook-id, webhook-timestamp y webhook-signature en el formato Standard Webhooks. Verifíquelas con su secreto whsec_ usando cualquier biblioteca de Standard Webhooks y rechace las marcas de tiempo de más de 5 minutos.
¿Qué ocurre si mi endpoint no está disponible?
La entrega se realiza al menos una vez. Las respuestas 408, 425, 429 y 5xx y los tiempos de espera agotados se reintentan con espera exponencial con el mismo id, así que deduplique por id. Una respuesta 410 desactiva el endpoint.
¿Qué eventos envía BankSync?
transactions.delta para transacciones nuevas o modificadas; balances.snapshot, holdings.snapshot, trades.snapshot, orders.snapshot y loans.snapshot para el estado actual; sync.completed o sync.failed al final de cada ejecución, y endpoint.test para los eventos de prueba.
¿Puedo enviar webhooks a localhost o a una red privada?
No. Los endpoints deben ser URL https:// públicas. Las direcciones que se resuelven en rangos privados, de loopback, de enlace local o internos se rechazan al guardarlas.
¿Qué plan incluye webhooks?
Los webhooks se incluyen en el plan Standard y superiores, junto con la API y MCP.
Datos bancarios en su endpoint.
BankSync no está afiliado a Webhooks, no cuenta con su respaldo ni es socio oficial de Webhooks. Las marcas de Webhooks pertenecen a sus respectivos titulares.
