What is Data Sync?
Data Sync is a Mono feature that allows you to fetch new data (balance, transactions, and statements) from financial accounts connected to your web or mobile app. This data is retrieved from your customers' financial institution and can be refreshed to retrieve up-to-date information.
How does Data Sync Work?
The basics
You can trigger a request to update the financial data on a connected customer account, through our Data Sync feature. To trigger Data Sync, you can do it via an API call here. With Data Sync, you have a rate limit of one API call per connected account, every two minutes. Also, only accounts connected after Data Sync was enabled for your business, will receive webhook events notifications.
For accounts that have 2FA/MFA(Multi-Factor Authentication) enabled, they need to be prompted to provide authorization before the Data Sync process can be run.
A clearer picture of how Data Sync works
For example, Mr. Adam connects his account to a business named XYZ Ltd, at 1.00 pm on 20th August 2021 with his account balance at NGN 10,000 and thirty minutes later, he performs various transactions worth NGN 5,000. At this point, the current balance in his bank app will be displayed as NGN 5,000, but when XYZ Ltd checks the Information API endpoint, NGN 10,000 will still be displayed as his balance. To get the current balance/transaction history on Mr Adam's account, here’s how XYZ Ltd can do this:
XYZ Ltd needs to trigger the Data Sync endpoint. Once triggered successfully, XYZ Ltd can then call the Information endpoint to get the real-time account balance of Mr. Adam. What this means is that XYZ Ltd is able to get the updated account balance on a connected account without requiring the user to reconnect their financial account. We refer to this process as Data Sync.
An edge case
There may be cases where a user changes the password to their account(s), so an OTP, security answer, token, CAPTCHA, etc will be required from their bank before such account(s) can be re-synced successfully and new data returned. This is the Re-authorisation or MFA (Multi-Factor Authentication) case.
When a data sync trigger fails, a failed response will be sent in the status field as "failed", followed by a reauthorisation_required event which contains the Account ID, of the user/customer.
How to set up re-authorisation on MFA-enabled accounts
The first thing to do would be to call the Re-authorisation endpoint by passing in the Account ID. A temporary reauth token will be sent which will expire after 10 minutes.
Next, you will pass this reauth to the connect.reauthorise() handler, which replaces the connect.setup() handler in your Mono Connect frontend (e.g JS, Android, IOS). Now the Mono widget will pop up prompting your user to only re-authorise.
Once this is successful, a webhook notification event will be sent to your business indicating that new data is currently available. You can then proceed to call your desired endpoint for the newly returned data.
How you can build with Mono Data Sync
Finance Management
For personal finance management apps like Trakka, after a user signs up, they would have to connect their bank account to the PFM using Mono. Mono then returns the updated user data from the connected financial institution and provides the requested data at each endpoint.
If more transactions are carried out after the initial connection via Mono Connect, they aren't returned as part of the data in the desired endpoints. To retrieve the user transactions in real-time, the personal finance management app will need to enable Data Sync.
When Data Sync is initiated, we pull in up-to-date transaction/balance data from their bank or institutions with the user's account ID as an identifier. This allows the finance management app to track recent transactions and cash flow on a connected account.
And for a corporate finance management tool or app like Float, that helps SMEs or business owners to micro-track their expenses and manage their finances with ease, it would be necessary to help these businesses to identify their revenues and expenses on the fly, on all their business accounts, for reporting and bookkeeping purposes.
Each time a business owner logs into the finance management app, Data Sync can be triggered to fetch new transaction data on their connected accounts and then show these insights (be it balances, transactions etc) on their dashboard when it is processed and ready.
Lending
For lending companies such as Carbon, one of the important parts of the loan application process is getting access to customers' financial history in order to assess their creditworthiness and decide whether to offer them loans or not. Usually, this means they need to retrieve the customer's bank statement for three or six months, as the case applies.
Now, what if a customer returns a second time to borrow a much higher loan than the previous amount borrowed. How do you view their past transaction history and re-assess their creditworthiness without putting them through the repetitive process of sharing their statements multiple times?
This is where Data Sync comes into play. For example, If Ada borrowed NGN50,000 in April 2022 and during the process, connected her bank account through Mono to share her transaction history with the lender.
When she returns to obtain a loan of NGN150,000 in August 2023, all she simply has to do is log into the lender's app or website, and Data Sync will be triggered to share her updated transaction history with the lender in real-time. With this, the lender can then closely monitor the returned transaction data to underwrite her and determine whether to increase or decrease her credit limit. This also ensures that lenders are able to assess customers' creditworthiness easily and offer loans faster.
Getting started with Data Sync
How to activate Data Sync
Log into your Mono dashboard (app.mono.co). Click here to sign up, if you don’t have a Mono account.
Expand the More tab at the sidebar menu and click on Products
Navigate to Add-ons > Data Sync and click the Add to plan button.
How to set up Data Sync
via API integration
Navigate to the Manual Data Sync section on the API reference page to see the endpoint used to trigger the sync. The parameters required are:
Account ID of the connected account
Mono Secret Key from App created on the dashboard
via the Mono dashboard
Expand the Financial Data tab and click on Accounts.
On the Accounts page, click on any connected account.
Then click the Sync now button at the top right to fetch their updated data.
Benefits of using Data sync
For businesses/developers:
Up-to-date data for all connected accounts
Ability to monitor updates on connected accounts on demand
Perform checks and fact-finding on connected accounts
For end-users:
Your users can easily authorize with their bank when your business needs their recent or updated transaction data.
Users can seamlessly connect and provide financial data to businesses and organizations that need it.
NOTE: Please go through this documentation for more technical insight on how to implement Data Sync to your business solution