Onboarding

This section describes the API for customer onboarding. It is recommended to read the document Onboard Your Customer to understand the onboarding process of Choice bank.

Create a new client

POST /onboarding/submitOnboardingRequest

<Use this endpoint to onboard a new client and submit its kyc information>

Parameters

Parameters
Type
Description
Is Required

userId

string

A unique string to identify the user in the partner system.

TRUE

firstName

string

First name of the onboarding customer

TRUE

middleName

string

middle name of the onboarding customer

FALSE

lastName

string

last name of the onboarding customer

TRUE

birthday

string

Date of Birth; yyyy-MM-dd

TRUE

address

string

Physical address of the onboarding customer

TRUE

gender

integer

0 - Female

1 - Male

TRUE

countryCode

string

The country code of the mobile, that the customer is using to onboard

TRUE

mobile

string

The mobile number that the customer is using to onboard

TRUE

email

string

Email address of the customer

FALSE

idType

string

Type of the document that the customer is using to onboard.

101 - (Kenya) National ID

102 - (Kenya) Alien ID

103 - Passport

TRUE

idNumber

string

ID Number of National ID/Passport/Alien ID

TRUE

kraPin

string

KRA PIN / Tax Number

TRUE

employmentStatus

string

Customer's work status.

A - Employee

B - Self employed

C - Unemployed

D - Employer

E - Student

F - Others

TRUE

monthlyIncome

string

Customer monthly income information.

A - Less than Ksh. 14,999

B - Ksh. 15,000-24,999

C - Ksh. 25,000-39,999

D - Ksh. 40,000-59,999

E - Ksh. 60,000-84,999

F - Above Ksh. 85,000

TRUE

businessIndustry

string

This field captures the industry the business is operating in. Please submit the number representing the business sector.

1 - Agriculture and Agribusiness

2 - Manufacturing and Processing

3 - Construction and Engineering

4 - Retail and Wholesale Trade

5 - Information and Communication Technology

6 - Tourism and Hospitality

7 - Health and Wellness Services

8 - Education and Training

9 - Financial Services

10 - Professional Services

11 - Creative Industries

12 - Renewable Energy and Environmental Conservation

13 - Transport and Logistics

14 - Food and Beverage

15 - Textiles and Apparel

16 - Automotive and Engineering Services

17 - Beauty and Personal Care

18 - Real Estate and Property Development

19 - Consulting and Business Services

20 - Social Enterprises and NGOs

21 - Others, please specify

FALSE

specifyIndustry

string

When businessIndustry == Others, please specify, this field is Mandatory.

FALSE

Response

{
  "onboardingRequestId": "ONBOARD7695534567876"
}

Upload client KYC document

POST /onboarding/uploadMedia

<Use this endpoint to submit onboarding client's media file, like its ID documents, selfie document>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

string

The unique onboarding request id that was returned from Choice system.

TRUE

mediaType

string

This is to specify the document type. Please refer to Documents

TRUE

mediaBase64

integer

BASE64 text of the document file

TRUE

contentType

string

File type of the document.

It's either PDF or Image.

When this parameter value is not given, the default type will be used.

FALSE

Response

{
  "code": "00000",
  "msg": "Completed successfully"
}

Query onboarding status

POST /onboarding/getOnboardingStatus

<Use this endpoint to query the onboarding status>

Parameters

Parameters
Type
Description
Is Required

userId

string

The unique string to identify the user in the partner system.

FALSE

onboardingRequestId

string

The unique onboarding request id that was returned from Choice system.

FALSE

mobile

string

The mobile number that the customer is using to onboard.

Use either one from userId / onboardingRequestId / mobile to query the onboarding status.

FALSE

Response

{
  "onboardingRequestId": "ONBOARD2309LKSD90432",
  "onboardingStatus": "Completed successfully"
}

Query client KYC information

POST /onboarding/getUserKyc

<Use this endpoint to get the KYC information and its status>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

string

The unique onboarding request id that was returned from Choice system.

TRUE

Response

{
  "onboardingRequestId": "ONBOARD2309LKSD90432",
  "baasChannelId": "", //This is your channel ID
  "userId": "", //The unique user identifier in your system
  "firstName": "Lily",
  "middleName": "IMISA",
  "lastName": "WAMBUI",
  "gender": "0", //0-Female; 1-Male;
  "nationality": "Kenya",
  "idType": "", //101-(Kenya) National ID; 102-(Kenya) Alien ID; 103-Passport
  "idNumber": "",
  "birthday": "",
  "address": "",
  "countryCode": "", //country code for mobile number
  "mobile": "",
  "employmentStatus": "", //Please refer to Employment Status Enumeration
  "monthlyIncome": "", //Please refer to Monthly Income Enumeration
  "kraPin": "", //Kenya KRA PIN code or tax number from other countries
  "businessIndustry": "",
  "specifyIndustry": "",
  "profileCheck": "", //0-Not Checked; 1-Submitted; 2-Validated; 3-Declined; 4-Processing;
  "profileCheckResultCode": "",
  "profileCheckResultText": "",
  "createTime": "",
  "updateTime": "",
  "status": "", //1-Submitted; 2-Processing; 3-Passed; 4-Rejected; 
  //5-Account Closed; 9-Manual Reviewing
  
}

Query client KYC media information

POST /onboarding/personal/getKycMediaList

<Use this endpoint to get client's kyc media information>

Parameters

Parameters
Type
Description
Is Required

onboardingRequestId

string

The unique onboarding request id that was returned from Choice system.

TRUE

Response

{
    "mediaList": [
        {    
            "mediaType": "",
            "fileTypeId": "",
            "mediaUrl": "",
        }, {}    
    ]
}

Query client onboarding request ID

POST /onboarding/getOnboardingRequestId

<This endpoint allows you to get client's onboardingRequestId using its user ID or mobile number>

Parameters

Parameters
Type
Description
Is Required

userId

string

The unique string to identify the user in the partner system.

FALSE

mobile

string

User's mobile number / The mobile number that the user used to onboard

FALSE

Response

{
  "onboardingRequestId": ""
}

Last updated