Customers
Last updated July 9th, 2024
Overview
This comprehensive guide enables businesses to seamlessly manage customer onboarding within their application ecosystem using Mono's API. Our customer management endpoints serve as pivotal resources, enabling businesses to efficiently add users to their platform while ensuring compliance with regulatory requirements.
By leveraging these endpoints, businesses can capture essential user details and perform Know Your Customer (KYC) checks, facilitating a smooth onboarding process within Mono’s ecosystem.
Key Features
Efficient Onboarding Process: The customer creation endpoint streamlines the onboarding process by allowing businesses to capture vital user information effortlessly.
KYC Compliance: Businesses can perform Know Your Customer (KYC) checks, ensuring compliance with regulatory requirements and mitigating risks associated with fraudulent activities.
Integration with Connect and Payment V2 Endpoints: The customer object/id serves as a crucial component for all calls to Connect and Payment V2 endpoints, enabling seamless integration across the Mono-product ecosystem.
Prerequisites
To get started, please ensure to:
- Sign up on the Mono Dashboard.
- Create an App and fetch the generated public and secret key.
To begin utilizing the customers’ endpoints and leverage its benefits for your business, refer to the detailed guide provided below. It includes information on request body parameters, successful response structures, and data types, enabling you to effectively implement customer onboarding within your application ecosystem.
Creating a Customer
The customer creation endpoint allows businesses to seamlessly onboard new users by capturing essential user details and performing Know Your Customer (KYC) checks. This process ensures compliance with regulatory requirements and facilitates the efficient addition of users to your platform.
You can create a customer for either an Individual or a Business entity.
Request
POST https://api.withmono.com/v2/customers
Headers Parameters
- mono-sec-key (required): Your dashboard app secret key.
Creating an Individual Customer
To initiate a create an Individual Customer, send a POST request to the endpoint with the following body params:
Request Body Parameters
Field | Description | Required | Data Type |
Email address of the customer | Yes | String | |
first_name | First name of the customer | Yes | String |
last_name | Last name of the customer | Yes | String |
address | Address line of the customer | Yes | String |
phone | Phone number of the customer | Yes | String |
identity.type | Type of identification | Yes | String |
identity.number | Identification number of the customer | Yes | String |
cURL Sample Request
Request
curl --request POST \
--url https://api.withmono.com/v2/customers \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'mono-sec-key: string' \
--data '
{
"identity": {
"type": "string",
"number": "string"
},
"email": "string",
"last_name": "string",
"first_name": "string",
"address": "string",
"phone": "string"
}
'
Success Response
If the request is successful, you will receive the following response:
Request
{
"status": "successful",
"message": "Created customer successfully",
"data": {
"id": "63f73564afc1d9fcc92daa0e",
"name": "Mono Customer",
"first_name": "Mono",
"last_name": "Customer",
"email": "mono@gmail.com",
"address_line_1": "Some Address",
"address_line_2": "Lagos State",
"identification_no": "72232218030",
"identification_type": "nin",
"bvn": null
}
}
Creating a Business Customer
To initiate a create a Business Customer, send a POST request to the endpoint with the following body params:
Request Body Parameters
Field | Description | Required | Data Type |
Email address of the business | Yes | String | |
type | this field expects the type of customer i.e. business | Yes | String |
business_name | Name of the business | Yes | String |
address | Address of the business | Yes | String |
phone | Phone number of the customer | Yes | String |
identity.type | This expects identification type of BVN. Note that it must be one | Yes | String |
identity.number | Identification number of the customer | Yes | String |
cURL Sample Request
Request
curl --request POST \
--url https://api.withmono.com/v2/customers \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--header 'mono-sec-key: string' \
--data '
{
"identity": {
"type": "string",
"number": "string"
},
"email": "string",
"type": "string",
"business_name": "string",
"address": "string",
"phone": "string"
}
'
Success Response
If the request is successful, you will receive the following response:
Request
{
"status": "successful",
"message": "Created customer successfully",
"data": {
"id": "668d3036d2d5aac",
"type": "business",
"business_name": "Nomo Global Systems",
"email": "only@nomo.co",
"phone": "01042658500",
"address": "1 Nomo Street, Yaba ",
"identification_no": "12461501556",
"identification_type": "bvn",
"bvn": "12461501556"
}
}
Success Response Parameters
Field | Description | Data Type |
status | Status of the operation (successful/error) | String |
message | Message indicating the outcome of the operation | String |
data.id | Unique ID assigned to the created customer | String |
data.name | Full name of the customer | String |
data.business_name | Name of the business in the case of Business customers | String |
data.first_name | First name of the customer | String |
data.last_name | Last name of the customer | String |
data.email | Email address of the customer | String |
data.address_line_1 | Address line 1 of the customer | String |
data.address_line_2 | Address line 2 of the customer | String |
data.identification_no | Identification number of the customer | String |
data.identification_type | Type of identification | String |
data.bvn | Bank Verification Number (if available) | String |
By utilizing this endpoint, businesses can efficiently use the customer ID returned in the response can be used for various actions on the Connect and Payment V2 endpoints in the Mono-product ecosystem.
Customer Operations
Other operations related to customers that a business can handle include:
1. Retrieve a Customer: This endpoint allows you to fetch details of a specific customer within your application ecosystem. By providing the customer ID, you can access their information, including personal details and transaction history.
2. List all Customers: With this endpoint, you can retrieve a comprehensive list of all customers registered within your application ecosystem. It provides an overview of your customer base, facilitating efficient management and analysis.
3. Get Customer Transactions: Utilize this endpoint to access transaction details associated with a specific customer. By specifying the customer ID, you can retrieve information such as transaction amounts, dates, and descriptions.
4. Update a Customer: This endpoint enables you to modify the details of an existing customer within your application ecosystem. Whether it's updating contact information or addressing changes in personal details, you can seamlessly keep customer records up-to-date.
5. Delete a Customer: With this endpoint, you can remove a customer from your application ecosystem. Whether due to account closure or other reasons, deleting a customer ensures their data is no longer accessible within your system.
6. Fetch all Linked Accounts: Use this endpoint to retrieve a list of all linked accounts associated with a specific customer. It provides visibility into the financial accounts connected to the customer profile, enabling enhanced financial management and analysis.