SDKs overview

Mono offers a suite of Software Development Kits (SDKs) and libraries designed to streamline the integration of its financial data and payment services into various applications. These SDKs are developed to simplify interactions with the Mono API reference, abstracting the complexities of HTTP requests and response parsing. By using an SDK, developers can focus on application logic rather than the intricacies of API communication, leading to faster development cycles and reduced integration effort.

The SDKs provide language-specific interfaces for accessing core Mono products such as Connect, Statement Pages, DirectPay, and Percept. This includes functionalities like initiating connections to financial institutions, retrieving bank statements, processing direct payments, and utilizing data analytics tools. The availability of SDKs across multiple popular programming languages aims to cater to a broad developer audience, facilitating adoption and integration into diverse technology stacks.

In addition to official SDKs, the Mono ecosystem may also include community-contributed libraries. These resources, while not officially maintained by Mono, can offer alternative approaches or support for languages not covered by official offerings. Developers are encouraged to consult the Mono developer documentation for the most current and authoritative information regarding SDKs and library usage.

Official SDKs by language

Mono provides official SDKs for several programming languages, ensuring robust and supported integrations. These SDKs are maintained by Mono and are designed to offer the most reliable and up-to-date access to the platform's features. Each SDK typically includes client libraries, authentication mechanisms, and helper functions tailored to the specific language's conventions.

The following table outlines the official SDKs available, along with their respective package names and typical installation commands:

Language Package Name Installation Command Maturity
Node.js @mono.co/connect npm install @mono.co/connect Stable
Python mono-python pip install mono-python Stable
Go github.com/mono-co/mono-go go get github.com/mono-co/mono-go Stable
PHP mono-php/mono-sdk composer require mono-php/mono-sdk Stable
Ruby mono-ruby gem install mono-ruby Stable

These SDKs are continuously updated to reflect new API features and improvements. Developers are advised to refer to the Mono SDKs & Libraries documentation for detailed release notes and versioning information.

Installation

Installing Mono's official SDKs typically involves using the standard package manager for the respective programming language. The process is designed to be straightforward, allowing developers to quickly set up their development environment and begin integrating with Mono's services.

Node.js

For Node.js projects, the Mono SDK can be installed via npm:

npm install @mono.co/connect

Python

Python developers can install the Mono SDK using pip:

pip install mono-python

Go

To incorporate the Mono Go SDK into a Go project, use the go get command:

go get github.com/mono-co/mono-go

PHP

PHP projects using Composer can add the Mono SDK with the following command:

composer require mono-php/mono-sdk

Ruby

For Ruby applications, the Mono SDK is available as a gem:

gem install mono-ruby

After installation, the SDKs can be imported into your project files, allowing access to Mono's client objects and methods. Authentication with the Mono API typically requires an API key, which can be obtained from the Mono developer dashboard. This key should be handled securely, ideally using environment variables or a secrets management system, as recommended by security best practices for API keys, such as those outlined by Google Cloud's API key security guidance.

Quickstart example

This quickstart example demonstrates how to initialize the Mono Node.js SDK and fetch a user's account details after a successful connection. This assumes you have already obtained an API key from your Mono dashboard and have a connected account to query.

First, ensure the Node.js SDK is installed:

npm install @mono.co/connect

Then, you can use the following code snippet:

const Mono = require('@mono.co/connect');

// Replace with your actual Mono Secret Key from your dashboard
const monoSecretKey = process.env.MONO_SECRET_KEY;

// Replace with the account ID of a connected institution
const accountId = 'YOUR_ACCOUNT_ID'; 

const monoClient = new Mono(monoSecretKey);

async function getAccountDetails() {
  try {
    const account = await monoClient.getAccount(accountId);
    console.log('Account Details:', account.data);
  } catch (error) {
    console.error('Error fetching account details:', error.response ? error.response.data : error.message);
  }
}

getAccountDetails();

This example initializes the Mono client with your secret key and then calls the getAccount method to retrieve information for a specified accountId. The accountId is typically obtained after a user successfully links their bank account through Mono Connect. For more comprehensive examples and detailed API usage, refer to the official Mono SDK documentation.

Community libraries

While Mono provides a set of officially supported SDKs, the developer community may contribute additional libraries or integrations. These community-driven projects can offer support for niche use cases, alternative programming languages, or experimental features not yet part of the official offerings. Community libraries are often shared on platforms like GitHub, npm, PyPI, or Packagist.

When considering community libraries, developers should evaluate their maturity, maintenance status, and adherence to security best practices. It is advisable to check the project's documentation, recent commit history, and issue tracker to gauge its reliability. While community contributions can extend the reach of Mono's API, they may not carry the same level of support or guarantees as official SDKs.

Developers interested in contributing to the Mono ecosystem or finding community-supported tools can explore relevant repositories on GitHub or participate in developer forums. The Mono developer portal might also list or link to notable community projects, providing a starting point for discovery. Always prioritize security and verify the source of any third-party library before integrating it into a production environment, consistent with general software development security guidelines such as those provided by OWASP Top Ten recommendations.