🛠️Contributor API development guide

This guide provides the options and technical specifications for developing and securely consuming the specified REST API endpoint securely and effectively.

1.Options for integration

2.Integration via Contributor API endpoint

The API structure below is just an example. Every contributor can make the endpoint in their own way.

Overview

This document explains how Contributors should return data when they get an API request from the LenderLink API. It covers the authentication methods and parameters needed to make the process easy and straightforward. This way, when a lender makes a request for a specific number to the LenderLink API, we will be able to obtain this information from the contributors.

API response layout

  1. The structure of the Contributor Database table to be used as a layout for the API response.

  2. The contributors should keep the data, which will be returned to LendeLink upon enquiry, up-to-date.

  3. The response data should be generated in real-time or reflect data as of the most recent update (the same day or the day before).

Authentication Method

The API you are going to build must include some form of authentication. This could be either JWT (JSON Web Token) as a Bearer token, or a simple one-time generated token that you provide to LenderLink.

Additionally, IP whitelisting can be implemented, especially if using a one-time token.

Request for a Borrower Data

Contributors should build a REST API endpoint which accepts a request payload with the Query parameters below, and returns a detailed response containing KYC and loan information.

Example API Endpoint

  • GET API URL (Endpoint)

https://somedomain.com/api/v1/borrower
  • Request Headers

    • Content-Type: application/json

    • Authorization: Token <token>

  • Query params:

Property Name
Property Type
Mandatory
Description

requestId

String

Yes

Unique identifier

mobileNumber

String

Yes

Borrower's mobile number

email

String

No

Borrower's email address

idNumber

String

No

Borrower's ID document number. ID, Driver license, etc

Response of a borrower data request

  • Success Response

[
  {
    "recordId": "X123-AB45",
    "kycSurname": "Doe",
    "kycFirstName": "John",
    "kycMiddleName": "Smith",
    "kycDateOfBirth": "1990-01-01",
    "kycIdNumber": "ABC123456",
    "kycIdType": 4,
    "kycMobileNumber": "639170000001",
    "kycEmailAddress": "[email protected]",
    "kycAddress": "123 Main St, Anytown, USA",
    "loanInfoLoanType": 1,
    "loanInfoApplicationDate": "2024-01-01",
    "loanInfoOpenDate": "2024-01-01",
    "loanInfoLoanTerm": 5,
    "loanInfoOpenBalance": 10000,
    "loanInfoOutstandingBalance": 8000,
    "loanInfoNextDueDate": "2024-06-01",
    "loanInfoLastPaymentAmount": 200,
    "loanInfoLastPaymentDate": "2024-07-01",
    "loanInfoStatusCode": "Active",
    "loanInfoInstallmentAmount": 500,
    "loanInfoOverdueAmount": 100,
    "loanInfoRepaymentFrequency": 1,
    "loanInfoRepaymentHistory": "0000",
    "loanInfoCloseDate": "2024-05-25",
    "loanInfoRepaymentFullHistory": [
      {
        "dueDate": "15-03-2024",
        "paymentDate": "15-03-2024",
        "paymentAmount": 1300.00
      },
      {
        "dueDate": "15-04-2024",
        "paymentDate": "15-04-2024",
        "paymentAmount": 1250.50
      },
      {
        "dueDate": "15-05-2024",
        "paymentDate": "15-05-2024",
        "paymentAmount": 1275.75
      },
      {
        "dueDate": "15-06-2024",
        "paymentDate": "15-06-2024",
        "paymentAmount": 1320.25
      },
      {
        "dueDate": "15-07-2024",
        "paymentDate": "15-07-2024",
        "paymentAmount": 1295.00
      }
    ]
  }
]
                        

NB! In case there is information for more than one loan in the current response, the information is returned as each loan follows the structure described in the table, collected in an array (array of JSON object, each one following the example above).

{
    "recordId": "123456789",
    "kycSurname": "Doe",
    "kycFirstName": "John",
    "kycMiddleName": "Smith",
    "kycDateOfBirth": "1990-01-01",
    "kycIdNumber": "ABC123456",
    "kycIdType": 4,
    "kycMobileNumber": "639123456789",
    "kycEmailAddress": "[email protected]",
    "kycAddress": "123 Main St, Anytown, USA",
    "loanInfoLoanType": 1,
    "loanInfoApplicationDate": "2022-01-01",
    "loanInfoOpenDate": null,
    "loanInfoLoanTerm": 5,
    "loanInfoOpenBalance": 10000,
    "loanInfoOutstandingBalance": null,
    "loanInfoNextDueDate": null,
    "loanInfoLastPaymentAmount": null,
    "loanInfoLastPaymentDate": null,
    "loanInfoStatusCode": "Rejected",
    "loanInfoInstallmentAmount": 500,
    "loanInfoOverdueAmount": null,
    "loanInfoRepaymentFrequency": 1,
    "loanInfoRepaymentHistory": null,
    "loanInfoCloseDate": null,
    "loanInfoRepaymentFullHistory": null
}

  • Fields Description

Last updated