After the successful bank login in order to access the account data (details, balances, transactions, payments), accounts need to be fetched from the bank and activated in Everifin.
Accounts Data
The list of accounts the bank provides after the successful bank login can be obtained using the endpoint described here: Get Bank Accounts
Transactions Data
The following endpoints needs to be used in order to access the transaction data.
Transaction refresh
Transactions are refreshed periodically in following pattern:
user is online - transactions are refreshed every minute
user is offline - transactions are refreshed 4 times during work hours
for all users - transaction update job is triggered two times a day
Manual transaction refresh
In addition to periodic transaction refresh provided automatically by the system, transaction refresh can be triggered manually by calling a dedicated endpoint. This endpoint initiates the download of the transaction data from the bank to Everifin for all user’s connected active bank accounts. Downloaded and stored transactions can be then accessed using further endpoints.
If there are freshly connected and activated accounts, for these the execution of the endpoint initiates download of the transaction history (since 36 months ago).
Any following endpoint execution downloads only the new transactions (since last downloaded).
Detailed endpoint description can be found here: Transaction Refresh Endpoint
Transaction update
Some banks might change the transaction data after transaction is processed in bank’s systems. After we receive new transaction data from bank, we update it and set new value for lastUpdated
column.
To get only the fresh transactions (i.e. those which has not been downloaded yet or newly updated ones), good approach is to use updatedFrom
query parameter and store the maximum value of lastUpdated
field among all downloaded transactions. Next time you should call the endpoint with stored value plus 1 millisecond.
Very first download
When the bank account is connected for the first time and the initial transactions download from the bank towards Everifin is started, the most recent transactions are stored at first. Download and storing of historical ones follows afterwards. As a result, the older transactions can have more recent timestamp in field lastUpdated
than the newest transactions (because these were stored bit earlier).
Therefore, if you do not want to get historical transactions, you may combine parameter like bookingDateFrom
(or valueDateFrom
depending on your use case) together with updatedFrom
. Once there is new transaction on the account bit later after the whole initial transaction download is finished, updatedFrom
parameter should be sufficient.
Only new transactions
If you do not want to get updates described above, then you can use query parameter createdFrom
(ISO timestamp) and store value from field createdAt
of latest transaction. Next time you should call the endpoint with stored value plus 1 millisecond.
Get Transaction List
Transaction list for specific bank account can be obtained using the endpoint described in detail here: Bank Account Transactions
Get Transaction Detail
The detail for particular transaction can be obtained using this endpoint described here: Get Transaction Detail.