Mono-dotnet is a .net sdk wrapper for Mono .
For complete information about the API, head to the docs.
SDK is compatible with both .NET Core and .NET Standard project.
- Register on Mono website and get your Authorization key.
- Setup your mono connect with your mono public key.
Check the Mono.Net.Sdk on nuget: https://www.nuget.org/packages/Mono.Net.Sdk
Install via the nuget package manager console:
PM> Install-Package Mono.Net.Sdk
Install via the dotnet cli:
> dotnet add package Mono.Net.Sdk
The Mono Sdk needs to be configured with your account's secretKey
, which is
available in the Mono Dashboard.
//Instantiate the MonoClient Sdk using your secret key
var monoClient = new MonoClient("test_sk_xxxxxxxxxx");
//Get your account information, pass your accountId
var response = await monoClient.Accounts.GetAccountInformation(accountId: "848848je94943308899");
- Get Account ID from Auth Code
- Account Information
- Wallet Balance
- Account Statement
- Poll Account Statement PDF
- Transactions
- Income Information
- Identity
- Institutions
- Unlink Account
- Business LookUp
- Business Shareholder Details
- Sync Data
- Re-auth Code
Once an instance of the client has been created you use the following methods:
This resource returns the account id (that identifies the authenticated account) after successful enrolment on the Mono Connect Widget.
await monoClient.Auth.GetAccountId(new AuthAccountRequest
{
Code = "code_xxxxxxxxxxxx"
});
This resource returns the account details with the financial institution.
await monoClient.Accounts.GetInformation(string accountId);
This resource allows you to check the available balance in your Mono wallet
await monoClient.User.GetWalletBalance();
This resource returns the bank statement of the connected financial account in JSON.
You can query 1-12 months bank statement in one single call.
await monoClient.Accounts.GetStatementsInJson(string accountId);
This resource returns the bank statement of the connected financial account in PDF.
You can query 1-12 months bank statement in one single call.
await monoClient.Accounts.GetStatementsPdf(string accountId);
With this resource, you set the output as PDF, and you can use this endpoint to poll the status
await monoClient.Accounts.GetPollPdfAccountStatementStatus(string accountId, string jobId);
This resource returns the known transactions on the account.
await monoClient.Accounts.GetTransactions(string accountId, string type="credit");
For more options you can filter with the following:
- Start: start period of the transactions eg. 01-10-2020
- End: end period of the transactions eg. 07-10-2020
- Narration: narration filters all transactions by narration e.g Uber transactions
- Limit: limit the number of transactions returned per API call
- Paginate: true or false (If you want to receive the data all at once or you want it paginated)
This resource will return income information on the account.
await monoClient.Accounts.GetIncome(string accountId);
This resource returns a high level overview of an account identity data.
await monoClient.Accounts.GetUserIdentity(string accountId);
This resource returns the available institutions on Mono
await monoClient.Misc.GetInstitutions();
This resource provides your customers with the option to unlink their financial account(s)
await monoClient.Misc.UnlinkAccount(string accountId)
This resource returns the information of a particular business/company by searching with the business/company name
await monoClient.Misc.BusinessLookUp(string companyName);
This resource returns the shareholder details of a particular business/company using the ID returned from the business lookup method.
await monoClient.Misc.ShareholderDetails(string businessId);
This resource attempts to Sync data manually.
await monoClient.Auth.SyncDataManually(string accountId);
This resource returns a Re-auth code which is a mono generated code for the account you want to re-authenticate,
await monoClient.Auth.ReAuthorizeCode(string accountId);
The MIT License (MIT). Please see License File for more information.
If you would like to contribute to the Mono .NET SDK, Please feel free to raise a pull request.