Integração com o Webhooks

Cada sincronização faz POST de JSON assinado para o seu endpoint HTTPS: transações, saldos, posições e operações de 14 mil+ bancos, verificados com o seu próprio segredo de assinatura.

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  ]}
Uma entrega transactions.delta de Chase Checking e Amex Gold, assinada com o seu segredo whsec_ no formato Standard Webhooks.

Do banco para o seu servidor em três passos.

  1. 01

    Ligue um endpoint

    Cole um URL HTTPS público. O BankSync mostra uma única vez um segredo de assinatura whsec_ e envia um evento de teste.

    URLhttps://api.yourapp.com/…
    Segredowhsec_••••••••••••
    Evento de teste● 200 em 142 ms
  2. 02

    Aponte um feed para ele

    Escolha as contas e um tipo de dados. Não há nada para mapear: recebe um envelope JSON com versão.

    TransaçõesSaldosPosiçõesOperaçõesEmpréstimos
    Eventotransactions.delta
    MapeamentoNenhum, uma pré-visualização do payload
  3. 03

    Verifique cada entrega

    Verifique a assinatura com qualquer biblioteca Standard Webhooks e depois faça upsert das linhas pelo id.

    server.js

    import { Webhook } from 'standardwebhooks'const wh = new Webhook(secret)const event = wh.verify(body, headers)// eliminar duplicados por event.id

Configure o Webhooks do início ao fim.

Configuração do Webhooks no BankSync, filmada com contas de exemplo.

O que chega ao seu endpoint.

id
Único por entrega e estável entre repetições. A sua chave de idempotência, igual ao cabeçalho webhook-id.
type
transactions.delta para transações novas ou alteradas; saldos, posições, operações, ordens e empréstimos chegam como *.snapshot.
apiVersion
O contrato do payload fixado por data, atualmente 2026-06-01.
feed
O id, o nome e o tipo de dados do feed que o enviou.
job
A execução a que pertence e o que a iniciou: scheduled, manual, api, test ou redelivery.
batch
A posição do lote na execução, para que os possa ordenar.
data
As linhas. As transações incluem id, data, descrição, valor com sinal, moeda, categoria, estado pendente e a conta.
As tabelas de campos de cada tipo de dados e o código de verificação em várias linguagens estão na referência de webhooks.

O seu endpoint é apenas uma etapa. Não é tudo.

Webhooks, em resumo.

Dados
Transações, saldos, posições, operações, ordens e empréstimos, um tipo de dados por feed.
Assinatura
Standard Webhooks: HMAC-SHA256 sobre o id, o timestamp e o corpo. Ao rodar o segredo, o antigo continua válido durante 24 horas.
Entrega
Pelo menos uma vez. Após respostas 408, 425, 429, 5xx ou tempos limite, a entrega é repetida com backoff; 410 desativa o endpoint.
Endpoints
Só HTTPS público. Os endereços privados, de loopback e internos são rejeitados.
Periodicidade
Escolha sincronizações automáticas de hora a hora, diárias ou semanais, conforme o seu plano, ou faça uma sincronização manual a qualquer momento.
Plano
Plano Standard ou superior, a par da API e do MCP.
Configuração
Cerca de 5 minutos. Envie JSON assinado para o seu próprio endpoint; sem custos de terceiros.
Estado
Já disponível.

Perguntas e respostas.

Como verifico um webhook do BankSync?

Cada entrega inclui os cabeçalhos webhook-id, webhook-timestamp e webhook-signature no formato Standard Webhooks. Verifique-os com o seu segredo whsec_ usando qualquer biblioteca Standard Webhooks e rejeite timestamps com mais de 5 minutos.

O que acontece se o meu endpoint estiver em baixo?

A entrega é feita pelo menos uma vez. Após respostas 408, 425, 429 e 5xx ou tempos limite, a entrega é repetida com backoff exponencial com o mesmo id, por isso elimine duplicados pelo id. Uma resposta 410 desativa o endpoint.

Que eventos envia o BankSync?

transactions.delta para transações novas ou alteradas; balances.snapshot, holdings.snapshot, trades.snapshot, orders.snapshot e loans.snapshot para o estado atual; sync.completed ou sync.failed no fim de cada execução; e endpoint.test para eventos de teste.

Posso enviar webhooks para localhost ou para uma rede privada?

Não. Os endpoints têm de ser URL https:// públicos. Os endereços que resolvem para intervalos privados, de loopback, link-local ou internos são rejeitados quando os guarda.

Que plano inclui webhooks?

Os webhooks estão incluídos no plano Standard e nos planos superiores, juntamente com a API e o MCP.

Dados bancários no seu endpoint.

O BankSync não é afiliado a Webhooks, não é apoiado por Webhooks nem é seu parceiro oficial. As marcas de Webhooks pertencem aos respetivos proprietários.