Migrating from the Integrated Finance API

Resource and convention mapping for integrations built against Integrated Finance.

Operators that move to WireBloom from a direct Integrated Finance (IF) integration can port their integration resource by resource. WireBloom sits in front of the banking partner: your system talks only to the WireBloom API, whichever partner the operator runs.

Resources

Integrated FinanceWireBloomReference
clientcustomer (X-Tenant-Id)Tenancy
bankAccount / transactionAccountbalancelistBalances
outgoingTransferpaymentcreatePayment
exchangeexchange (quote, then exchange)createExchange
beneficiaryrecipientcreateRecipient
webhook envelope {webhook, data, connect, metadata}IntegratorEventEvent catalogue

Conventions

TopicIntegrated FinanceWireBloom
IdempotencyX-Idempotency-Key, X-Idempotency-StatusIdempotency-Key, Idempotency-Replayed: true (Idempotency)
Pagination0-based metadata.pageopaque cursors page.nextCursor (Pagination)
Filtersdotted, e.g. data.client.status=filter[status]=
Errorsnot cataloguedRFC 9457 problem details, error catalogue
Webhook signaturesEd25519 with published keysHMAC-SHA256 with your endpoint secret (Webhooks)
Webhook registrationtwo fixed URLs per instance, set by IFself-service, up to 10 endpoints per customer
Custom dataattributesmetadata (20 keys, 500 characters per value)

Steps

  1. Map your stored IF ids to WireBloom ids (customers, balances, recipients); keep both during the cut-over.
  2. Replace polling of IF transfer statuses with the payment.status_changed webhook and re-read the payment.
  3. Replace IF webhook verification with the HMAC check and de-duplicate on WireBloom-Event-Id.
  4. Run the whole flow against the sandbox with a wb_test_ key before switching production keys.

Markdown version: migrating-from-integrated-finance.md