Onboarding to our API
You will find here an overview of the steps that need to be taken to integrated PSD2 API Hub with your services and applications. These steps are shown in the diagram below.
Registration
Registering on the Developer Portal is necessary as it gives you access to our documentation and the sandbox environment. After registering you need to subscribe to the selected product and then, after verification, you will get credentials necessary to use a sandbox.
Sandbox API Access
A sandbox is provided to test your integration to our API Hub and to allow you to a deeper understanding of how the API works. The Sandbox supports a full end to end experience for multiple banks and has been fully tested with our QA team.
Integration
With the sandbox, you can comfortably test connecting to banking sandboxes, register and test your callbacks, redirect urls and the format of the actual financial data. We don't serve you mock data or hardcoded values - what you get is actual data from banking sandboxes. There are differences between sandboxes and production environments of banking APIs but it's not the case with our API. We hide those differences to provide you consistent experience between different environments.
Contractual
In order to use actual banking data and our TPP License, we need you to meet legal requirements. This involves a signed contract between you and banqware in order to establish a formal relationship that will allow us to give you access to production APIs and actual financial data of your customers.
Production API Access
With a signed contract, we can start the process of connecting you to our production environment. We will need a few items to finalize this:
certificate generated from the CSR that you provide based on our guidelines which we will use to verify your identity when connecting to our Production API
list of IP addresses that we will add to our whitelist and which will have access to our Production API
After the process is finished you can access actual financial data of multiple banks through our API and go live with Open Banking.
Have fun!
Account data aggregation
AIS provides you with access to the account information of multiple banks. You can access both accounts and transactions limited only by the scope of the user's consent.
However, when using PSD2 HubCzy to jest oddzielny byt od APIHub (tak nazywa się na stronie) i czy ten i poniższe fragmenty odnoszą się do TPP-as-a-service czy też do pierwotnego hubu? you don't call banking AIS methods directly. You also don't call them indirectly. In order to unify flows provided by multiple banks and multiple standards, we do the synchronization "under the hood" then save the data in our internal persistent store. After the data update, you can access general financial data or identity verification data using our Account Info API and KYC API respectively.
In order to fill our internal storage and be able to access data you only need to follow few simple steps described below which depends on Sync API.
Related resources:
•Management resources
•User resources
•Consent resources
•Update resource
Authorization
To find out how to authorize to our API please visit Security section.
Callbacks
When you get access first thing you need to do is to register redirect urls (mandatory) and callback urls (optional). In order to register or update urls you can use below method.
curl -X PUT "https://api.banqware.com/sandbox/management-resources/api/tenant/urls"
-H "accept: application/json"
-H "Content-Type: application/json"
-d "{\"redirectUrls\":[\"string\"],\"updateCallbackUrls\":[\"string\"]}"
When creating either consent or update later on you will be able to pass one of the registered urls. You
can register a list of redirects so that you will be able to use our sandbox and production on different environments and different setups.
User account
All the rest endpoints need to always be used in the user's scope so we need to create user first. ClientId is an optional user's identifier. You can use it interchangeably with userId given by us.
curl -X POST "https://api.banqware.com/sandbox/user-resources/api/user"
-H "accept: application/json"
-H "Content-Type: application/json"
-d "{\"clientId\":\"<client-id>\"}"
Customer's consent
In order to get user's consent to acquire his data you need to:
Create an object representing user's consent to access data from a specific bank. The initial status of the consent is requested.
curl -X POST "https://api.banqware.com/sandbox/consent-resources/api/user/id/<user-id>/consent"
-H "accept: application/json"
-H "Content-Type: application/json"
-d "{\"bankId\":\"<bank-id>\",\"bankIdType\":\"<bank-id-type>\",\"redirectUrl\":\"<redirect-url>\"}"
You have to pass one of the registered redirect URLs so that you'll be redirected after user's authentication from the bank website.
Then pass the authorization URL to the customer.
User uses the URL to authorize access to his or her data.
User is redirected to our redirect URL.
We receive code which we exchange to token.
We change consent's status to given. You can check status:
curl -X GET "https://api.banqware.com/sandbox/consent-resources/api/user/id/<user-id>/consent/<consent-id>"
-H "accept: application/json"
Now we're ready to go and we can make an update request to PSD2 Hub.
Data update
An update object is an abstraction representing the process of updating user data. In order to initialize update, you need to be given customer's consent and use below endpoint.
curl -X POST "https://api.banqware.com/sandbox/update-resources/api/user/id/<user-id>/consent/<consent-id>/update"
-H "accept: application/json"
-H "Content-Type: application/json"
-d "{\"callbackUrl\":\"<callback-url>\"}"
You can either provide callback URL on which we'll post information about the update status change or you can check the status of the update by calling endpoint as below.
curl -X GET "https://api.banqware.com/sandbox/update-resources/api/user/id/<user-id>/update/<update-id>"
-H "accept: application/json"
Update status completed means that all the data has been fetched, processed and unified and are now available through our API endpoints. First call can take a bit longer - we're fetching as much data as we can, but every following update is just incremental.h1.Data access
After the update status changes to completed, you can access the account information and KYC information using account information resources and KYC resources respectively.
Delete data
When the user's data is no longer needed you can delete bot the user's consent and all the data that has been acquired with this consent with the below call.
curl -X DELETE "https://api.banqware.com/sandbox/consent-resources/api/user/id/<user-id>/consent/<consent-id>"
-H "accept: application/json"