NEWIntroducing the new Mono Dashboard
Mono Blog

How to Implement Mono Connect White Labelling API

Aug 12, 2022Engineering

Share article

What is Mono Connect?

Mono Connect is a product that allows businesses to reliably access customer financial data with their users’ consent.

What is the Connect Widget?

The Mono Connect widget is our user interface component that is used during the account linking process on Mono.

It allows you to safely authenticate a user's financial account and return the user's authentication code. This code is then swapped for an Account ID representing the user - through the Exchange Token endpoint.

You can then use this Account ID with the secret key generated from the app on your Mono dashboard to access Mono financial data APIs such as bank statements, transactions, income, identity, and more.

White Labelling: Using Mono Connect without the pre-built widget

Although the Mono Connect widget comes pre-built by Mono, we also provide access to the API that powers it to generate the same authentication code the widget returns which you can then use to retrieve an Account ID and interact with Mono APIs, this is called white labelling.

To use Mono without the Connect Widget, you need to implement our Mono Connect White Labelling API to your product. This gives you the ability to create an entirely unique and new experience tailored to your specific needs, from simple use cases such as finer control over UI and styling or an extra verification step before final login during onboarding to more complex use cases such as using Mono APIs in building a USSD solution.

User safety considerations for White Labelling

The Mono Connect White Labelling API is available to select partners only. As a business you have to meet certain requirements to be considered eligible for the White Labelling API, they are:

  • You have to be a registered business in your country of operation.

  • The business should have a government-issued Operation License or a partnership with a Licensed Partner i.e MFB license, PSSP license, etc if this is required for their business operations.

  • The business should have been in full business operations for at least 6 months.

  • The business will have to sign our Data Privacy Agreement document.

Data Encryption Process

We also implement some data privacy measures to ensure that all users’ data are encrypted when a business access users’ financial data via the Mono Connect White Labelling API. Here’s how we do that:

  • Using the standard AES 256-bit encryption, we ensure that all account information and login details are encrypted on our database servers.

  • We require HTTPS for all connections to our API server to ensure that data is always encrypted as it travels from our server to the Provider's App. We also encourage Providers to employ the same techniques to ensure that information is encrypted all the way.

Benefits of White Labelling

  1. Absolute control of your customer experience: Our White Labelling APIs expand the possibilities for creating unique financial experiences for your customers. You get the freedom and control to design the workflow and user interface best suited to your business needs.

  2. Product Focus and Loyalty: Your brand stays front and centre with our White Labelling API service, you have the opportunity to continue to offer innovative, personalised services to users without any third-party interference. Whether it is on your mobile or web app, your brand remains prominent and consistent throughout the user experience of your product.

How to implement White Labelling for Mono Connect

We’ve outlined the process for implementing the Mono Connect White Labelling API below:

  1. Fetch available financial institutions

  2. Create a Mono Connect session

  3. Login user to the financial institution

  4. Understand the next steps for the returned response

  5. Re-commit session again if required

  1. Fetch available financial institutions

The first step in implementing the Mono Connect White Labelling API is to get the list of all the supported financial institutions. Here’s how to do this.

Make a Get request to this endpoint

Response

From the response above, _id refers to the institution ID, while the auth_methods array contains the different authentication method types and the UI object available for a financial institution. These two parameters, alongside the app ID which you can find on the Apps page on your Mono dashboard, will be used in the next step to create a Mono-Connect session.

2. Create a Mono-Connect session

The next step is to create a Mono-Connect session by making a POST request to the endpoint below with the institution ID, auth_method, and app ID.

Endpoint

Ensure that you pass the mono-sec-key (secret key) in the headers for a successful request to be made. Here is a guide on how to generate your secret key on the Mono dashboard.

Body Parameters

Response

3. Login user to a financial institution

To log in, you need to get the x-session-id returned from the response above in step two and pass it in the headers along with the mono-sec-key. Afterward, make a POST request to the login endpoint with the user’s credentials.

Endpoint

Body Parameters

Response

4. Understand the next steps for the returned response

It is important to note that an institution might need multiple levels of authorization flow before granting user access. For this reason, the next steps for the authorization flow are determined by the responseCode received from the login response above in step three.

If the status returned is 200, you will obtain a response code of either 99, 101, or 102.

'99' indicates that the user has successfully signed in. You will be given a temporary authorization code which you can use to access your Account ID through our Exchange token endpoint.

'101' indicates that your user has several accounts. The user would be required to pick the desired account to be enrolled. An array containing all of the discovered accounts will be returned in this response.

'102' indicates that an input is required from the user to proceed, this may be a security question, OTP, token, etc.

5. Re-commit session again if required

This is the final step in the authorization flow if a user’s input is required during the process (e.g account selection, OTP, security answer).

Also, before you make a POST request to the endpoint, ensure you pass the x-session-id and mono-sec-key in the headers.

Endpoint

Body Parameters

The body parameter could be either one of the following (account, answer, OTP) depending on the response code received after a successful login attempt.

Response

Once the code has been retrieved in the authorization flow, proceed to the Exchange token endpoint to request an Account ID that will be used in making requests to Mono financial data endpoints.

You can also watch this short tutorial video to see how to implement the Mono Connect White Labelling API via Postman.

Like what you read?

Become a subscriber and receive notifications about blog posts, company events and announcements, products and more.

Next Read

Oct 2, 2024Engineering

Building an automated loan recovery process with Mono Direct Debit APIs

Read the story
Building an automated loan recovery process with Mono Direct Debit APIs
Jul 15, 2024Engineering

How to Implement the Mono Telco Data API

Read the story
How to Implement the Mono Telco Data API
Apr 19, 2024Engineering

How to build a robust credit-decisioning system with Mono Lookup APIs

Read the story
How to build a robust credit-decisioning system with Mono Lookup APIs

Start building with Mono today

© Mono Technologies Nigeria Limited

trust mark NIGtrust mark QR Codeiso-iec27001iso-iec27002iso-iec27003

Disclaimer:
The information provided on this website is intended for general informational purposes only and does not constitute financial, legal, or professional advice. While we strive to ensure that the content presented is accurate and up-to-date, we make no representations or warranties of any kind, express or implied, about the completeness, accuracy, reliability, suitability, or availability with respect to the website or the information, products, services, or related graphics contained on the website for any purpose. Any reliance you place on such information is therefore strictly at your own risk.

Our platform is designed to ensure secure access to financial accounts for the purposes of retrieving statements, monitoring transactions in real-time, and verifying customer identities. Despite our use of advanced security protocols to protect sensitive information, we cannot guarantee the absolute security of your data. Users are advised to independently verify the accuracy and completeness of all information obtained through our services before making any financial or business decisions.

Furthermore, while we endeavor to keep the website running smoothly, we take no responsibility for, and will not be liable for, the website being temporarily unavailable due to technical issues beyond our control. In no event will we be liable for any loss or damage including without limitation, indirect or consequential loss or damage, or any loss or damage whatsoever arising from loss of data or profits arising out of, or in connection with, the use of this website.

This website may contain links to other websites which are not under the control of our company. We have no control over the nature, content, and availability of those sites. The inclusion of any links does not necessarily imply a recommendation or endorse the views expressed within them.

By using this website, you agree to these terms and acknowledge that any reliance on the information provided here is at your own risk. If you have any questions regarding this disclaimer or the website's content, please contact us directly.