Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This API is used to onboard a customer via eKYC by authorized entities associated with Lulu. The API provides encrypted HTML page content with a unique eKYC request Id as a response. The sequence diagram below provides further insight into the rich customer onboarding experience.

...

 

Customer onboarding

API

/api/v1_0/ras/onboarding

Authorization

 Bearer Token

Method

POST

Headers

Content-Type:application/json

sender : <<sender_name>>
channel: <<channel_name>>

company: <<company_code>>

branch: <<branch_code>>

 

Payload

Code Block
{
    "salutation": "Mr",
    "first_name": "rahul",
    "middle_name": "krishna",
    "last_name": "kumar",
    "nationality": "IN",
    "date_of_birth": "1986-12-10",
    "country_of_birth": "IN",
    "visa_type_code": "101",
    "gender": "M",
    "mobile_number": "+96858792858",
    "email": "rahul.k2754@gmail.com",
    "profession_code": "547",
    "country_code": "IN",
    "country_of_residence":"OM",
    "sender_id": [
        {
            "id_code": "9",
            "id": "225522338",
            "issued_country_code": "IN",
            "issued_by": "Govt.",
            "issued_on": "2010-12-10",
            "valid_through": "2030-12-10",
            "id_front": {
                "base64_data": "....",
                "content_type": "application/pdf",
                "document_type": "passport front page"
            },
            "id_back": {
                "base64_data": ".....",
                "content_type": "application/pdf",
                "document_type": "passport back page"
            }
        }
    ],
    "sender_address": [
        {
            "address_type": "PERMANENT",
            "building_number": "123/5",
            "street_name": "Chittatumukk",
            "address_line": "abc",
            "country_code": "IN",
            "country_subdivision": "KOKOKOKOKK",
            "town_name": "THRISSUR",
            "post_code": "695301"
        },
        {
            "address_type": "PRESENT",
            "building_number": "102/6",
            "street_name": "Chittatumukk",
            "address_line": "abc",
            "country_code": "OM",
            "country_subdivision": "KOKOKOKOKK",
            "town_name": "Test town",
            "post_code": "695301"
        }
    ],
    "customer_classification": {
        "annual_income_range_id": "1",
        "employer_name": "Lulu",
        "income_type": 1,
        "txvol_month": 100,
        "txn_count_month": 10
    }
}

 

Response

Code Block
{
    "status": "success",
    "status_code": 200,
    "data": {
        "customer_number": "1000001220000001",
        "customer_status": "ACTIVE",
        "aml_scan_status": "Accepted"
    }
}

Header

Name

Data Type

Max Length

Mandatory

Description

Content-Type

String

36

Yes

Content type

sender

String

60

Yes

Agent / Partner name.

channel

String

30

Yes

Ripple / Direct

company

String

6

Yes

Will be shared

branch

String

6

Yes

Will be shared

Ocp-Apim-Subscription-Key

String

32

Yes

Subscription key

Payload

Name

Data Type

Max Length

Mandatory

Description

salutation

String

 3

Yes

Customer salutation

first_name

String

255

Yes

Customer first name

middle_name

String

255

No

Customer middle name

last_name

String

255

Yes

Customer last name

nationality

String

2

Yes

Customer nationality

date_of_birth

String

-

Yes

Customer date of birth

country_of_birth

String

2

Yes

Customer country of birth

visa_type_code

String

 3

Yes

 Sender visa type code

gender

String

1

Yes

Customer gender. Possible values are M and F

mobile_number

String

20

Yes

Customer mobile no

email

String

30

Yes

Customer email

profession_code

String

 4

Yes

 Profession code

country_code

String

2

Yes

Customer Country code

country_of_residence

String

2

Yes

 Country of residence

sender_id

object

 -

Yes

 Sender details

id_code

String

3

Yes

Customer id type code. Example : 4 for emirates ID

id

String

30

Yes

Customer ID / number. Example : Emirates ID

issued_country_code

String

2

Optional

Customer id issued country

issued_by

String

255

Optional

Customer id issued by

issued_on

String

-

Optional

 YYYY-MM-DD format

valid_through

String

-

Optional

 YYYY-MM-DD format

id_front

Object

 -

Optional

 

base64_data

String

-

Yes

PDF content base 64 data

content_type

String

30

Yes

Content type. application/pdf

document_type

String

255

Yes

Document type description

id_back

Object

-

Optional

 

base64_data

String

-

Yes

PDF content base 64 data

content_type

String

30

Yes

Content type. application/pdf

document_type

String

255

Yes

 

sender_address

Object

 -

Yes

Data object

address_type

String

20

Yes

Sender address type like Present, Permanent

address_line

String

70

Yes

Building name

street_name

String

70

Yes

Street name

country_code

String

2

Yes

Country

country_subdivision

String

35

Yes

Sender country sub division

town_name

String

35

Yes

Sender town name

post_code

String

12

Yes

Sender postal area code. Example: Zipcode, Pincode

customer_classification

Object

 -

Yes

Data object

annual_income_range_id

String

3

Yes

Customer annual income range id

employer_name

String

255

Yes

Employer name(eg:LULU)

income_type

Integer

-

Yes

Customer Income Type

txvol_month

Integer

 -

Yes

Transaction volume per month

txn_count_month

Integer

-

Yes

Transaction count per month

Response

Name

Data Type

Max Length

Name

Description

Name

Data Type

Max Length

Name

Description

status

String

255

Yes

status description

status_code

Int

 -

Yes

Status code

data

Object

-

Yes

Data object

customer_number

String

16

Yes

Customer unique identification number

customer_status

String

20

Yes

Customer status. Possible status : "ACTIVE", "KYC_PENDING" "INACTIVE" "BLOCKED"

aml_scan_status

String

20

Yes

AML status. Possible Status : "Accepted" , "Under Investigation" , "Rejected"

 

EKYC Presentation Request

API

/api/v1/request

Authorization

 Bearer Token

Method

POST

Headers

Content-Type:application/json

Payload

Code Block
{
  "channel": "BRANCH",
  "agentLocationId": "784101",
  "ekycProvider": "EFR",
  "ecrn": "123456789",
  "primaryMobileNumber": "+971502106707",
  "emailId": "irfanmtp1@gmail.com"
}

Success Response

Code Block
{
    "status": "success",
    "statusCode": 200,
    "data": {
        "ekyc_request_id": "4e41d40a-6f16-4874-977b-017798d1e583",
        "ekyc_request_data": {
            "ekyc_portal_html": "<<encrypted_base_64_ekyc_portal_html_if_any>>"
        }
    }
}

Authentication Failure

Code Block
{
  "timestamp": "2022-12-05T13:44:31.557+00:00",
  "status": 401,
  "error": "Unauthorized",
  "path": "/api/v1/request"
}

Other Failure Response

Code Block
{
  "status": "failure",
  "statusCode": 400,
  "errorCode": 40000,
  "message": "Payload not readable or corrupt"
}

...

Name

Data Type

Max Length

Description

status

String

255

status description

status_code

Int

 -

Status code

message

String

255

Message

data

Object

-

Data object

ekyc_request_id

String

50

EKYC Request unique identification number

ekyc_request_data

Object

-

Data object

ekyc_portal_html

String

4000

Base 64 Encrypted EKYC Portal Html content

 

Lookup

API to be used to look up customer information by id type, id number and mobile number.

API

/api/v1_0/ras/lookup

Authorization

 Bearer Token

Method

POST

Headers

Content-Type:application/json

sender : <<sender_name>>
channel: <<channel_name>>

company: <<company_code>>

branch: <<branch_code>>

 

Payload

Code Block
{
    "mobile_number": "+96864313460",
    "id_code": "15",
    "id": "225522319"
}


 

Response

Code Block
{
    "status": "success",
    "status_code": 200,
    "data": {
        "customer_number": "5121121220000006",
        "first_name": "CHOCKY",
        "middle_name": "NAIR",
        "last_name": "DO",
        "mobile_number": "+96864313460",
        "email": "CHOCKY.96864313460@gmail.com",
        "customer_status": "ACTIVE",
        "aml_scan_status": "Accepted",
        "id_status" : "Active",
        "id_details": [
            {
                "id_code": "15",
                "id": "225522319",
                "valid_through": "2030-12-10"
            }
        ]
    }
}


Response (No customer found)

Code Block
{
    "status": "failure",
    "status_code": 404,
    "error_code": 40100,
    "message": "Customer not found"
}

Response (Mobile number NOT matched)

Code Block
{
    "status": "failure",
    "status_code": 404,
    "error_code": 40100,
    "message": "ID matched, but mobile number not matched"
}

Header

Name

Data Type

Max Length

Mandatory

Description

Content-Type

String

36

Yes

Content type

sender

String

60

Yes

Agent / Partner name.

channel

String

30

Yes

Ripple / Direct

company

String

6

Yes

Will be shared

branch

String

6

Yes

Will be shared

Ocp-Apim-Subscription-Key

String

32

Yes

Subscription key

Payload

Name

Data Type

Max Length

Mandatory

Description

mobile_number

String

20

Yes

Customer mobile no

id_code

String

3

Yes

Customer id type code

id

String

30

Yes

Customer id/Number

Response

Name

Data Type

Max Length

Name

Description

Name

Data Type

Max Length

Name

Description

status

String

255

Yes

status description

status_code

Int

 -

Yes

Status code

data

Object

-

Yes

Data object

customer_number

String

16

Yes

Customer unique identification number

first_name

String

255

Yes

Customer first name

middle_name

String

255

Yes

Customer middle name

last_name

String

255

Yes

Customer last name

mobile_number

String

20

Yes

Customer mobile no

email

String

30

Yes

Customer email

customer_status

String

20

Yes

Possible values : "ACTIVE", "KYC_PENDING", "INACTIVE", "BLOCKED", "DISABLED", "SUBSCRIPTION_PENDING"

aml_scan_status

String

20

Yes

Possible values : "Accepted" , "Under Investigation" , "Rejected", "Failed"

id_status

String

20

Yes

Possible values : "Active", "Expired"

id_details

Object

 

Yes

id details

id_code

String

3

Yes

Customer id type code

id

String

30

Yes

customer id/Number

valid_through

String

 

Yes

YYYY-MM-DD format