Mono/ Decide Integration Guide
This feature focuses on quickly integrating the mono widget on your application without going through the hassle of signing up for, maintaining a mono account, and fetching transactions.
This allows your customers to log in to their bank accounts via the mono widget, give authorization then we will pull the customers' transaction data and provide you with a Decide bank statement analysis for the customer.
To set up, the steps are as follows:
Mono/Decide Widget Integration Set up Guide
Step 1: Register a merchant on the Indicina Mono account by creating an app.
Creating an app will immediately auto-generate public and secret keys.
Step 2: Configure the public key and secret key on admin.
Step 3: Send the public key to the merchant.
The merchant will use this public key to generate an access token which will help the merchants when integrating the widget.
Step 4: Mono Connect Guide
At this step, we will be connecting to the mono connect widget from within the merchant’s application so that you can link the bank accounts with Mono from within the merchant’s application.
Below are the different SDK guides to help you set up the widget.
https://indicina1.atlassian.net/wiki/spaces/PROD/pages/1507000348
https://indicina1.atlassian.net/wiki/spaces/PROD/pages/1506410510
https://indicina1.atlassian.net/wiki/spaces/PROD/pages/1506967557
https://indicina1.atlassian.net/wiki/spaces/PROD/pages/1506705416
Step 5: The end-user picks their institution and completes the authorization flow.
Step 6: When successful enrolment occurs, Mono Connect passes back a code which you then use to retrieve the account id for that particular user.
API Documentation
After completing the mono connect flow, an accountId
(that identifies the authenticated account) will be returned to your application.
Using the returned accountId
we can now make an API call to Decide
The Content-Type Header
The content-type header MUST be application/json
.
Content-Type: application/json
Endpoint
POST {BASE_URL}/client/bsp/mono
Request Body
The request the accounted as well as some transaction filters
{
"customer": {
"id": "5f171a530295e231abca1153"
},
"startDate": "01-11-2020",
"endDate": "01-12-2020",
"request_type": "score"
}
Response
If successful you will receive a response with the format
{
"data": {
"behaviouralAnalysis": {
"accountSweep": "No",
"gamblingRate": 0.0,
"inflowOutflowRate": "Positive Cash Flow",
"loanAmount": 0.0,
"loanInflowRate": 0.0,
"loanRepaymentInflowRate": 0.0,
"loanRepayments": 0.0,
"topIncomingTransferAccount": "Kudabank Com",
"topTransferRecipientAccount": "Oladipupo"
},
"cashFlowAnalysis": {
"accountActivity": 1.0,
"averageBalance": 96925.31,
"averageCredits": 97465.33,
"averageDebits": 12580.44,
"closingBalance": 4894.64,
"firstDay": "2020-06-17",
"lastDay": "2020-09-14",
"monthPeriod": "June - September",
"netAverageMonthlyEarnings": 1369432.54,
"noOfMonths": 4,
"totalCreditTurnover": 1369432.54,
"totalDebitTurnover": 1380699.92,
"yearInStatement": "2020"
},
"incomeAnalysis": {
"averageOtherIncome": 0,
"averageSalary": 374385.22,
"confidenceIntervalonSalaryDetection": 0.67,
"expectedSalaryDay": 24,
"lastSalaryDate": "2020-08-24",
"medianIncome": 374385.33,
"numberOtherIncomePayments": 0,
"numberSalaryPayments": 3,
"salaryEarner": "Yes",
"salaryFrequency": "1"
},
"spendAnalysis": {
"airtime": 0.0,
"atmWithdrawalsSpend": 0.0,
"averageRecurringExpense": 0.0,
"bankCharges": 0.0,
"bills": 0.0,
"cableTv": 0.0,
"clubsAndBars": 0.0,
"gambling": 0.0,
"hasRecurringExpense": "No",
"internationalTransactionsSpend": 0.0,
"posSpend": 0.0,
"religiousGiving": 0.0,
"spendOnTransfers": 0.0,
"totalExpenses": 1380699.92,
"ussdTransactions": 0.0,
"utilitiesAndInternet": 0.0,
"webSpend": 0.0
},
"transactionPatternAnalysis": {
"MAWWZeroBalanceInAccount": {},
"NODWBalanceLess5000": 22,
"highestMAWOCredit": {
"month": "June",
"week_of_month": 4
},
"highestMAWODebit": {
"month": "June",
"week_of_month": 4
},
"lastDateOfCredit": "2020-09-14",
"lastDateOfDebit": "2020-09-14",
"mostFrequentBalanceRange": "100,000 - 500,000",
"mostFrequentTransactionRange": "< 10,000",
"recurringExpense": {},
"transactionsBetween100000And500000": 6,
"transactionsBetween10000And100000": 33,
"transactionsGreater500000": 0,
"transactionsLess10000": 91
}
},
"status": "success"
}