Versions Compared

Key

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

...

...

...

...

...

...

...

...

...

...

...

...

 

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

...

Table of Contents

Version History:

Version

Description

Author

Date

(dd/mm/yyyy)

 1.0.0

 DRAP Onboarding Service (without eKYC flow) Document

 Ajai Antony

07/06/2024

 1.0.1

 Customer updation failure response

Ajai Antony

14/06/2024

1.0.2

AML Alert Closure CallBack API updates

Ajai Antony

15/10/2024

CLASSIFICATION: PUBLIC

The partner will conduct e-KYC or KYC procedures autonomously and employ the listed APIs to enroll customers onto the Customer Data Platform (CDP). They will supply essential customer details obtained from a trusted data source (such as an e-KYC provider or government database), additional information based on country requirements, along with customer documents, including front and back images of the customer's ID, a facial image, and any e-KYC verification or confirmation reports if applicable using the customer onboard API.

Access Token API

An access token is a key to the gateway to access any other API. The API will return the access token if the user is successfully authenticated and have the authorization to access these services. Every access token is tagged with validity and the expiry duration is echoed in the response for the calling application to manage the state accordingly. Token if used after its validity period restrict access to any services and a new token to be generated in this case.

API

https://{{baseUrl}}/auth/realms/cdp/protocol/openid-connect/token

Method

POST

Headers

Content-Type : application/x-www-form-urlencoded

Access Token Payload

Code Block
languagejson
--data-urlencode 'grant_type=password' \
--data-urlencode 'scope=api://3a3f52a1-1b64-4c27-81f0-50a6ca01324d/customer' \
--data-urlencode 'client_id=<<client_id>>' \
--data-urlencode 'client_secret=<<secret>>' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'username=<<username>>' \
--data-urlencode 'password=<<password>>'

Refresh Token Payload

Code Block
--data-urlencode 'grant_type=password' \
--data-urlencode 'client_id=<<client_id>>' \
--data-urlencode 'client_secret=<<secret>>' \
--data-urlencode 'grant_type=refresh_token' \
--data-urlencode 'refresh_token=<<refreshToken>>' \

Response

Code Block
languagejson
{
    "token_type": "bearer",
    "access_token": "<<access_token_value>>",
    "expires_in": 7199,
    "refresh_expires_in": 7199,
    "refresh_token": "<<refresh_token_value>>",
    "scope": "----",
    "not-before-policy": 0,
    "session_state": "<<session_state>>"
}

Header

Name

Data Type

Max Length

Mandatory

Description

Content-Type

String

36

Status
colourGreen
titleMANDATORY

Content type

Payload

Name

Data Type

Max Length

Mandatory

Description

grant_type

String

10

Status
colourGreen
titleMANDATORY

Grant type. Will up provided

scope

String

60

Status
colourGreen
titleMANDATORY

Scope name. Will be provided

client_id

String

60

Status
colourGreen
titleMANDATORY

Client Id. Will be provided

client_secret

String

60

Status
colourGreen
titleMANDATORY

Client secret. Will be provided

username

String

60

Status
colourGreen
titleMANDATORY

Admin user name

password

String

60

Status
colourGreen
titleMANDATORY

Admin password

Response

Name

Data Type

Max Length

Mandatory

Description

token_type

String

-

Status
colourGreen
titleMANDATORY

Token type

scope

String

-

Status
colourGreen
titleMANDATORY

Scope details

access_token

String

600

Status
colourGreen
titleMANDATORY

Access token to access the APIs

refresh_token

String

600

Status
colourGreen
titleMANDATORY

refresh token to refresh the Token.

expires_in

Integer

-

Status
colourGreen
titleMANDATORY

Token expiry time in seconds

refresh_expires_in

Integer

-

Status
colourGreen
titleMANDATORY

Refresh Token expiry time in seconds

 

Customer Lookup API v2

API to be used to look up customer information by ID type and ID number.

API

https://{{baseUrl}}/caas/api/v2/customer/validate

Authorization

 Bearer Token

Method

POST

Headers

Content-Type:application/json

Payload

Code Block
languagejson
{
    "idNumber": "784199554586091",
    "idType": "4"
}

Success Response

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "success",
    "statusCode": 200,
    "data": {
        "ecrn": "7841003233051516",
        "first_name": "ZAFARBASHIR",
        "
customer
middle_
status
name": "
ACTIVE
",
        "
aml
last_
scan_status
name": "
Accepted
BASHIRMASIH",
     
}
 
}

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"
}

 

Header

...

Name

...

Data Type

...

Max Length

...

Mandatory

...

Description

...

Content-Type

...

String

...

36

...

Yes

...

Content type

 

Payload

...

Name

...

Data Type

...

Max Length

...

Mandatory

...

Description

...

channel

...

String

...

20

...

Yes

...

Channel

...

agentLocationId

...

String

...

6

...

Yes

...

Unique Identifier to identify the requester

...

ekycProvider

...

String

...

30

...

Yes

...

EKYC Provider

...

ecrn

...

String

...

255

...

Yes

...

Customer Number

...

primaryMobileNumber

...

String

...

20

...

No

...

Primary Mobile Number

...

emailId

...

String

...

120

...

No

...

Email ID

 

Response

...

Name

...

Data Type

...

Max Length

...

Description

...

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
  "agent_location_id": "784101",
        "primary_mobile_number": "+971554747002",
        "email_id": "BASHIRMASIH@GMAIL.COM",
        "customer_status": "ACTIVE",
        "aml_scan_status": "Accepted",
        "id_status": "Active",
        "id_date_of_expiry": "2030-12-10T00:00:00.000+00:00"
    }
}

Customer Not Found

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "errorCode": 45001,
    "message": "Customer not found"
}

Subscription Pending Response

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "errorCode": 45003,
    "message": "Customer not Subscribed" 
}

Bad Request

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 400,
    "errorCode": 40001,
    "message": "Invalid format input"
}

Internal Server Error

HttpStatusCode : 200

Code Block
languagejson
{		
    "status": "failure",		
    "statusCode": 500,		
    "errorCode": 45006,		
    "message": "Error while searching customer!"		
}

Validation Failure Response - Customer Under Compliance Investigation

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 500,
    "errorCode": 45013,
    "message": "Customer under Compliance investigation!"
}

Validation Failure Response - Blocked Customer

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "errorCode": 45051,
    "message": "Customer can not be Accepted"
}

Authentication Failure Response

HttpStatusCode : 401

Code Block
languagejson
{
    "timestamp": "2023-12-22T06:04:30.477+00:00",
    "status": 401,
    "error": "Unauthorized",
    "path": "/api/v2/customer/validate"
}

Header

Name

Data Type

Max Length

Mandatory

Description

Content-Type

String

36

Status
colourGreen
titleMANDATORY

Content type

Authorization

String

Status
colourGreen
titleMANDATORY

Authorization Token

Payload

Name

Data Type

Max Length

Mandatory

Description

idType

String

3

Status
colourGreen
titleMANDATORY

Customer id type code

idNumber

String

30

Status
colourGreen
titleMANDATORY

Customer id Number

Response

Name

Data Type

Max Length

Description

status

String

255

status description

statusCode

Integer

 -

Status code

errorCode

Integer

-

Error code if any error encountered.

message

String

255

Message

data

Object

-

Data object

ecrn

String

20

Customer unique identification number

first_name

String

100

Customer first name

middle_name

String

60

Customer middle name

last_name

String

60

Customer last name

agent_location_id

String

10

Onboarded Agent

primary_mobile_number

String

20

Customer mobile no

email_id

String

255

Customer email

customer_status

String

20

Customer Status

Status
colourGreen
titleACTIVE
/
Status
colourYellow
titleKYC_PENDING
/
Status
colourYellow
titleINACTIVE
/
Status
colourRed
titleREJECTED
/
Status
colourRed
titleBLOCKED

aml_scan_status

String

20

AML Scanned Status

“Accepted” / “Rejected“ / “Under Investigation”/ “Failed

id_status

String

20

Possible values : "Active", "Expired",”Inactive”

id_date_of_expiry

String

 50

YYYY-MM-DD format

 

Individual Onboarding API

API to be used to onboard a customer.

API

https://{{baseUrl}}/caas-lcm/api/v1/CAAS/onBoarding/customer

Authorization

Bearer Token

Method

POST

Headers

Content-Type:application/json

Payload

Code Block
languagejson
{
    "channel": "WEB",
    "first_name": "IRFAN MANAKKAT THEKKE",
    "salutation": "Mr",
    "middle_name": "PURAYIL ISMAIL",
    "last_name": "NANGARATH MUNDACHI",
    "preferred_name": "IRFAN MANAKKAT THEKKE",
    "nationality": "IN",
    "second_nationality": "GB",
    "native_region": 1,
    "date_of_birth": "1995-07-28",
    "country_of_birth": "IN",
    "place_of_birth": "INDIA",
    "resident_type_id": 101,
    "country_of_residence": "AE",
    "gender": "Male",
    "mothers_maiden_name": "SAFIYA",
    "primary_mobile_number": "+971502106707",
    "secondary_mobile_number": "+971502412378",
    "email_id": "irfanmtp1@gmail.com",
    "phone_number": "+971502106707",
    "occupation_id": 2856,
    "political_exposed_person": false,
    "updated_by": "784irfan",
    "additional_docs": [
        {
            "base64_data": "<<base64Data>>",
            "content_type": "image/jpeg",
            "document_id": "1"
        },
        {
            "base64_data": "<<base64Data>>",
            "content_type": "image/jpeg",
            "document_id": "2"
        }
    ],
    "address_list": [
        {
            "address_type_id": "1",
            "building_name": "MANKHOOL BUILDING",
            "street_name": "Electra Street",
            "landmark": "HOT Bread",
            "city": "Electra Street",
            "district": "Abu Dhabi",
            "state": "Abu Dhabi",
            "country": "AE",
            "zip": 0,
            "po_box": null,
            "mobile_number": "+971502106707"
        },
        {
            "address_type_id": "2",
            "building_name": "ABC House",
            "street_name": "Kaikottukadavu",
            "landmark": "ABC School",
            "city": "Thrikkaripur",
            "district": "Kasaragod",
            "state": "kerala",
            "country": "IN",
            "zip": 13345,
            "mobile_number": "+971502106707"
        }
    ],
    "id_details": [
        {
            "id_type": 4,
            "id_number": "784199554586091",
            "name_as_per_id": "Irfan Manakkat Thekke Purayil",
            "issued_country": "AE",
            "issued_by": "EIDA",
            "issued_at": "AE Govt.",
            "issued_on": "2020-08-08",
            "date_of_expiry": "2023-08-08",
            "default_status": true,
            "active_status": true,
            "id_front": {
                "base64_data": "<<base64Data>>",
                "content_type": "image/jpeg"
            },
            "id_back": {
                "base64_data": "<<base64Data>>",
                "content_type": "image/jpeg"
            }
        },
        {
            "id_type": 2,
            "id_number": "P4006315",
            "visa_number": "VISA123",
            "visa_expiry_date": "2024-06-30",
            "name_as_per_id": "IRFAN M T P",
            "issued_country": "IN",
            "issued_by": "India Govt.",
            "issued_at": "Kozhikkode",
            "issued_on": "2016-04-28",
            "date_of_expiry": "2026-04-27",
            "default_status": true,
            "active_status": true,
            "id_front": {
                "base64_data": "<<base64Data>>",
                "content_type": "image/jpeg"
            },
            "id_back": {
                "base64_data": "<<base64Data>>",
                "content_type": "image/jpeg"
            }
        }
    ],
    "customer_classification": {
        "customer_type_id": 2,
        "annual_income_range_id": 15,
        "annual_income_currency_code": "AED",
        "social_security_number": "SSN123",
        "tax_registration_number": 123,
        "txn_issued_country": "AE",
        "employer_name": "EMKE",
        "employer_address": "UAE",
        "employer_phone": "+971502106101",
        "employer_ecrn": "",
        "employer_establishment_id": "LULUEXCHANGE123",
        "risk_rating_id": 3,
        "pep_category": 1,
        "personal_mohre_id": "IRFAN786",
        "income_type": 1,
        "profession_category": "PC1",
        "reason_for_acc": "Remittance",
        "txn_vol_month": 1,
        "txn_count_month": 1,
        "show_remarks_on_txn": false,
        "customer_remarks": "Test Remarks",
        "agent_ref_no": "786000786",
        "social_links": [
            {
                "social_links_id": 2,
                "text_field": "insta.com"
            },
            {
                "social_links_id": 1,
                "text_field": "fb.com"
            }
        ],
        "first_language": "en",
        "marital_status": 2,
        "dnfbp": false,
        "dpms": false,
        "profile_category": 1,
        "profile_photo": {
            "base64_data": "<<bas64data>>",
            "content_type": "image/jpeg"
        }
    }
}

Success Response

HttpStatusCode : 200

Code Block
languagejson
{
    "status": "success",
    "data": {
        "aml_scan_status": "Accepted",
        "ecrn": "7841003247752409",
        "customer_status": "ACTIVE",
        "pep": false,
        "aml_category": 2
    },
    "status_code": 200,
    "request_id": "4138e3038999d41b7534ce12a18a6031"
}

Validation Failure Response - Customer Under Compliance Investigation

HttpStatusCode : 406

Code Block
languagejson
{
    "request_id": "9dff05c2a18e6e73964c0c91f75f463b",
    "status": "failed",
    "status_code": 406,
    "error_code": 45013,
    "message": "Customer 7841003236577331 Under Compliance Investigation"
}

Validation Failure Response - Blocked Customer

HttpStatusCode : 406

Code Block
languagejson
{
    "request_id": "d0f7edcbb91abefa58f3fc9672711e1b",
    "status": "failed",
    "status_code": 406,
    "error_code": 45051,
    "message": "Customer 1074023185717024 Cannot be Accepted"
}

Validation Failure Response - Invalid Master Data

HttpStatusCode : 400

Code Block
languagejson
{
    "request_id": "cb3bc0a37334c4eacdbea088f926b7ab",
    "status": "failed",
    "status_code": 406,
    "error_code": 45053,
    "message": " Invalid Nationality INN!"
}

Validation Failure Response - Mandatory Field Missing

HttpStatusCode : 400

Code Block
languagejson
{
    "status": "failure",
    "status_code": 400,
    "error_code": 40002,
    "message": "Invalid format or missing mandatory request",
    "details": {
        "firstName": "Invalid first name"
    },
    "request_id": "729d5085e553f3830277d0cb5372f2b2"
}

Customer Updation Failure Responce

Code Block
languagejson
{
  "request_id": "6212f1084eb59c5d88b34078c8330a0c",
  "status": "failed",
  "status_code": 404,
  "error_code": 45032,
  "message": "Customer update failed"
}

Authentication Failure Response

HttpStatusCode : 401

Code Block
languagejson
{
    "timestamp": "2023-03-15T14:26:24.292+00:00",
    "status": 401,
    "error": "Unauthorized",
    "message": "",
    "path": "/api/v1/CAAS/onBoarding/customer"
}

Internal Server Error

HttpStatusCode : 502

Code Block
languagejson
{
    "status": "failed",
    "message": "Backend Technical Problem",
    "status_code": 502,
    "error_code": 40001,
    "request_id": "a700be42dcbb3c71f36c1bcea42f41fa"
}

Header

Name

Data Type

Max Length

Mandatory

Description

Content-Type

String

 

Status
colourGreen
titleMANDATORY

Content Type

Authorization

String

 

Status
colourGreen
titleMANDATORY

Authorization Token

Payload

Name

Data Type

Max Length

Mandatory

Description

channel

String

20

Status
colourGreen
titleMANDATORY

Channel

salutation*

String

3

 

Status
colourYellow
titleCONDITIONAL

Salutation(Mr, Ms) , Salutation Id As per SALUTATION master

first_name

String

100

Status
colourGreen
titleMANDATORY

First Name

middle_name

String

60

 

Status
colourYellow
titleCONDITIONAL

Middle Name

last_name

String

60

 

Status
colourGreen
titleMANDATORY

Last Name

preferred_name

String

255

 

Preferred Name

nationality*

String

2

 

Status
colourGreen
titleMANDATORY

Nationality code as per NATIONALITY Master

second_nationality*

String

2

 

Status
colourYellow
titleCONDITIONAL

Second Nationality code of Customer as per NATIONALITY Master

native_region*

Integer

 

 

Status
colourYellow
titleCONDITIONAL

Native Region code asper NATIVE_REGION Master

date_of_birth

Date

 

 

Status
colourGreen
titleMANDATORY

Date of Birth in “YYYY-MM-DD” Format

country_of_birth*

String

2

 

Status
colourGreen
titleMANDATORY

Country of Birth code as per COUNTRY Master

place_of_birth

String

40

 

Status
colourYellow
titleCONDITIONAL

Place of Birth

resident_type_id*

Long

 

 

Status
colourYellow
titleCONDITIONAL

Resident Type Id as per RESIDENT_TYPE Master

country_of_residence*

String

2

 

Status
colourGreen
titleMANDATORY

Resident Country code as per COUNTRY master

gender

Male

12

 

Status
colourGreen
titleMANDATORY

Gender

mothers_maiden_name

String

255

 

Status
colourYellow
titleCONDITIONAL

Mothers Name

primary_mobile_number

String

20

 

Status
colourGreen
titleMANDATORY

Primary Mobile Number

secondary_mobile_number

String

20

 

Status
colourYellow
titleCONDITIONAL

Secondary Mobile Number

email_id

String

255

 

Status
colourGreen
titleMANDATORY

Email Id

phone_number

String

20

 

Status
colourYellow
titleCONDITIONAL

Phone Number

occupation_id

Long

 

 

Status
colourYellow
titleCONDITIONAL

Occupation Id

political_exposed_person

Boolean

 

 

Status
colourYellow
titleCONDITIONAL

Political Exposed Person

additional_docs

Object

 

 

Status
colourYellow
titleCONDITIONAL

Data Object

document_id*

String

 

Status
colourYellow
titleCONDITIONAL

Document Id as per DOCUMENT_TYPE master

base64_data

String

 

 

Status
colourYellow
titleCONDITIONAL

Base64 Data

content_type

String

 

 

Status
colourYellow
titleCONDITIONAL

Content Type

id_details

Object

 

 

Status
colourGreen
titleMANDATORY

Data Object

id_type

Long

 

Status
colourGreen
titleMANDATORY

Id Type

id_number

String

30

Status
colourGreen
titleMANDATORY

Id Number

name_as_per_id

String

30

 

Status
colourYellow
titleCONDITIONAL

Name as per Id

issued_country

String

3

 

Status
colourYellow
titleCONDITIONAL

Issued Country code as per COUNTRY master

issued_by

String

30

Status
colourYellow
titleCONDITIONAL
 

Issued By

issued_at

String

30

 

Status
colourYellow
titleCONDITIONAL

Issued At

issued_on

Date

 

 

Status
colourYellow
titleCONDITIONAL

Issued On in “YYYY-MM-DD” Format

date_of_expiry

Date

 

 

Status
colourYellow
titleCONDITIONAL

Date of Expiry in “YYYY-MM-DD” Format

visa_number

String

30

 

Status
colourYellow
titleCONDITIONAL

Visa Number

visa_expiry_date

Date

 

 

Status
colourYellow
titleCONDITIONAL

Visa Expiry Date in “YYYY-MM-DD” Format

default_status

String

30

 

Status
colourYellow
titleCONDITIONAL

Default Status

active_status

String

30

 

Status
colourYellow
titleCONDITIONAL

Active Status

id_front

Object

 

Status
colourYellow
titleCONDITIONAL
 

Data Object

base64_data

String

 

 

Status
colourYellow
titleCONDITIONAL

Base 64 Data

content_type

String

 

Status
colourYellow
titleCONDITIONAL
 

Content Type

id_back

Object

 

 

Status
colourYellow
titleCONDITIONAL

Data Object

base64_data

String

 

 

Status
colourYellow
titleCONDITIONAL

Base 64 Data

content_type

String

 

 

Status
colourYellow
titleCONDITIONAL

Content Type

addressList

Object

 

 

Status
colourGreen
titleMANDATORY

Data Object

address_type_id

Long

 

Status
colourYellow
titleCONDITIONAL

Address Type Id as per ADDRESS_TYPE master

building_name

String

255

 

Status
colourYellow
titleCONDITIONAL

Building Name

street_name

String

255

 

Status
colourYellow
titleCONDITIONAL

Street Name

landmark

String

255

 

Status
colourYellow
titleCONDITIONAL

Landmark

country

String

3

 

Status
colourYellow
titleCONDITIONAL

Country

state

String

255

 

Status
colourYellow
titleCONDITIONAL

State

district

String

255

 

Status
colourYellow
titleCONDITIONAL

District

city

String

60

 

Status
colourYellow
titleCONDITIONAL

City

zip

Long

 

 

Status
colourYellow
titleCONDITIONAL

Zip

mobile_number

String

20

 

Status
colourYellow
titleCONDITIONAL

Mobile Number

status

String

30

 

Status
colourYellow
titleCONDITIONAL

Disable

customer_classification

Object

 

Status
colourYellow
titleCONDITIONAL
 

Data Object

customer_type_id

Long

 

 

Status
colourYellow
titleCONDITIONAL

Customer Type Id

annual_income_range_id

Long

 

 

Status
colourYellow
titleCONDITIONAL

Annual Income Range

annual_income_currency_code

String

30

 

Status
colourYellow
titleCONDITIONAL

Annual Income Currency Code

social_security_number

String

30

Status
colourYellow
titleCONDITIONAL
 

Social Security Number

tax_registration_number

Long

 

 

Status
colourYellow
titleCONDITIONAL

Tax Registration Number

txn_issued_country

String

2

 

Status
colourYellow
titleCONDITIONAL

Tax Issued Country

employer_name

String

30

 

Status
colourYellow
titleCONDITIONAL

Employer Name

employer_address

String

30

 

Status
colourYellow
titleCONDITIONAL

Employer Address

employer_phone

String

20

 

Status
colourYellow
titleCONDITIONAL

Employer Phone

employer_ecrn

String

16

 

Status
colourYellow
titleCONDITIONAL

Employer ECRN

employer_establishment_id

String

30

 

Status
colourYellow
titleCONDITIONAL

Employer Establishment ID

risk_rating_id

Long

 

 

Status
colourYellow
titleCONDITIONAL

Risk Rating ID

compliance_category_id

Long

 

Status
colourYellow
titleCONDITIONAL
 

Compliance Category ID

last_review_date

Date

 

 

Status
colourYellow
titleCONDITIONAL

Last review Date

next_review_date

Date

 

 

Status
colourYellow
titleCONDITIONAL

Next Review Date

pep_category

Integer

 

 

Status
colourYellow
titleCONDITIONAL

Pep Category

personal_mohre_id

String

30

Status
colourYellow
titleCONDITIONAL
 

Personal Mohre Id

customer_cards

String

30

 

Status
colourYellow
titleCONDITIONAL

Customer Cards

card_number

String

30

 

Status
colourYellow
titleCONDITIONAL

Card Number

income_type

String

30

 

Status
colourYellow
titleCONDITIONAL

Income Type

profession_category

String

30

 

Status
colourYellow
titleCONDITIONAL

Profession Category

reason_for_acc

String

30

 

Status
colourYellow
titleCONDITIONAL

Reason for ACC

txn_vol_month

String

30

 

Status
colourYellow
titleCONDITIONAL

Transaction Volume Month

txn_count_month

String

30

Status
colourYellow
titleCONDITIONAL
 

Transaction Count Month

show_remarks_on_txn

Boolean

 

 

Status
colourYellow
titleCONDITIONAL

show Remarks on transaction

customer_remarks

String

30

 

Status
colourYellow
titleCONDITIONAL

Remarks on Transaction

agent_ref_no

String

30

 

Status
colourYellow
titleCONDITIONAL

Agent reference number

social_links

Object

 

 

Status
colourYellow
titleCONDITIONAL

Data Object

social_links_id

Long

 

Status
colourYellow
titleCONDITIONAL

Social Link Id

text_field

String

30

 

Status
colourYellow
titleCONDITIONAL

Text Field

status

String

30

 

Status
colourYellow
titleCONDITIONAL

Status

first_language

String

3

 

Status
colourYellow
titleCONDITIONAL

Customer Preferred Language

marital_status

Integer

 

 

Status
colourYellow
titleCONDITIONAL

Marital Status

profile_category

Integer

 

 

Status
colourYellow
titleCONDITIONAL

Profile Category

dnfbp

Boolean

 

 

Status
colourYellow
titleCONDITIONAL

Designated Non-Financial Business and Professions

dpms

Boolean

 

 

Status
colourYellow
titleCONDITIONAL

Dealers in Precious Metals and Stones

 

Response

Name

Data Type

Max Length

Description

status

String

255

status description

status_code

Int

 -

Status code

data

Object

-

Data object

ecrn

String

20

Customer Number

aml_scan_status

String

20

AML Scanned Status

“Accepted”/”Under investigation”/”Failed”/”NA”

customer_status

String

20

Customer Status

Get Customer API v2

API to be used to get the customer information by customer number.

API

https://{{baseUrl}}/caas/api/v2/customer/{{ecrn}}

Authorization

 Bearer Token

Method

GET

Headers

Content-Type: application/json

Payload

Code Block
None

Success Response

HttpStatusCode: 200

Code Block
languagejson
{
    "status": "success",
    "statusCode": 200,
    "data": {
        "dateUpdated": "2024-03-26T07:51:57.909545Z",
        "registrationDate": "2024-03-26 07:09:24",
        "ecrn": "7841003247752409",
        "first_name": "VINOTH",
        "salutation": null,
        "middle_name": "PURAYIL ISMAIL",
        "last_name": "NANGARATH MUNDACHI",
        "preferred_name": "IRFAN M T P",
        "nationality": "IN",
        "second_nationality": "GB",
        "native_region": 1,
        "date_of_birth": "1973-07-28",
        "country_of_birth": "IN",
        "place_of_birth": "INDIA",
        "resident_type_id": 101,
        "country_of_residence": "AE",
        "gender": "Male",
        "mothers_maiden_name": null,
        "primary_mobile_number": "+971502106709",
        "secondary_mobile_number": "+971502106708",
        "email_id": "IRFANMTP1@GMAIL.COM",
        "phone_number": null,
        "occupation_id": 2856,
        "political_exposed_person": false,
        "channel": "BRANCH",
        "aml_scan_status": "Accepted",
        "customer_iban": "AE253147841003247752409",
        "agent_location_id": "784101",
        "customer_status": "ACTIVE",
        "aml_category": 2,
        "additional_docs": [],
        "address_list": [
            {
                "dateUpdated": "2024-03-26T07:09:24.605116Z",
                "address_type_id": "1",
                "building_name": "MANKHOOL  BUILDING 2",
                "street_name": "GHG",
                "landmark": "AL NAHDA",
                "city": "EMIRATE OF DUBAI",
                "district": "HGJH",
                "state": "JGHFHG",
                "country": "AE",
                "zip": 0,
                "po_box": null,
                "mobile_number": null
            }
        ],
        "id_details": [
            {
                "dateUpdated": "2024-03-26T07:09:24.605116Z",
                "id_type": 1,
                "id_number": "126657",
                "visa_number": "TRF45",
                "visa_expiry_date": "2025-08-08",
                "name_as_per_id": " ",
                "issued_country": "AE",
                "issued_by": "EIDA GOVT",
                "issued_at": null,
                "issued_on": "2020-08-08",
                "date_of_expiry": "2025-08-08",
                "default_status": false,
                "active_status": false,
                "id_front": {
                    "base64_data": "",
                    "file_name": "customer/id/7841003247752409_ID_FR_1_126657.jpg",
                    "content_type": "image/jpg"
                },
                "id_back": {
                    "base64_data": "",
                    "file_name": "customer/id/7841003247752409_ID_BK_1_126657.jpg",
                    "content_type": "image/jpg"
                }
            }
        ],
        "customer_classification": {
            "dateUpdated": "2024-03-26T07:51:57.909545Z",
            "customer_type_id": 2,
            "annual_income_range_id": 15,
            "annual_income_currency_code": null,
            "social_security_number": null,
            "tax_registration_number": null,
            "txn_issued_country": null,
            "employer_name": "EMKE",
            "employer_address": "null",
            "employer_phone": " ",
            "employer_ecrn": "",
            "employer_establishment_id": "",
            "risk_rating_id": 3,
            "last_review_date": "2024-03-26",
            "next_review_date": "2025-03-26",
            "pep_category": null,
            "group_companies": null,
            "group_employer_code": " ",
            "personal_mohre_id": "",
            "income_type": 1,
            "profession_category": "",
            "reason_for_acc": " ",
            "referred_by": "1058021235161541",
            "referred_by_type": 1,
            "txn_vol_month": 1,
            "txn_count_month": 1,
            "show_remarks_on_txn": false,
            "customer_remarks": "JHGJG",
            "agent_ref_no": null,
            "ekyc_provider": null,
            "ekyc_ref_no": null,
            "customer_cards": null,
            "card_number": null,
            "social_links": [],
            "subscriptions": [
                {
                    "subsciption_type": "Digital Channel",
                    "subscription_id": "LULUMONEY",
                    "status": "active"
                },
                {
                    "subsciption_type": "PREMIUM",
                    "subscription_id": "GOLD CARD",
                    "status": "active"
                }
            ],
            "first_language": null,
            "marital_status": null,
            "dnfbp": false,
            "dpms": false,
            "profile_category": 1,
            "profile_photo_file_name": null
        },
        "customer_relations": [],
        "communication_consents": [
            {
                "communication_type": 1,
                "allow": true
            },
            {
                "communication_type": 2,
                "allow": true
            }
        ],
        "updated_agent_location_id": "784101",
        "updated_channel": "BRANCH"
    }
}

Authentication Failure Response

HttpStatusCode: 401

Code Block
languagejson
{
    "timestamp": "2024-04-03T06:39:36.337+00:00",
    "status": 401,
    "error": "Unauthorized",
    "path": "/api/v2/customer/7841001228796988"
}

Customer Not Subscribed Failure Response

HttpStatusCode: 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "errorCode": 45003,
    "message": "Customer not Subscribed"
}

Customer not found Failure Response

HttpStatusCode: 200

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "errorCode": 45001,
    "message": "Customer not found"
}

 Header

Name

Data Type

Max Length

Mandatory

Description

Content-Type

String

36

Status
colourGreen
titleMANDATORY

Content type

Ocp-Apim-Subscription-Key

String

32

Status
colourGreen
titleMANDATORY

Subscription key

 Parameter

Name

Data Type

Max Length

Mandatory

Description

ecrn

String

16

Status
colourGreen
titleMANDATORY

Customer unique identification number

 Response

Name

Data Type

Max Length

Description

agent_location_id

String

30

Agent Location Id

channel

String

30

Channel

salutation

String

3

Salutation(Mr, Ms)

first_name

String

100

First Name

middle_name

String

60

Middle Name

last_name

String

60

Last Name

preferred_name

String

255

Preferred Name

nationality

String

2

Nationality

second_nationality

String

2

Second Nationality of Customer

native_region

Integer

 

Native Region

date_of_birth

Date

 

Date of Birth

country_of_birth

String

2

Country of Birth

place_of_birth

String

100

Place of Birth

resident_type_id

Long

 

Resident Type Id

country_of_residence

String

2

Country of Residence

gender

Male

12

Gender

mothers_maiden_name

String

30

Mothers Name

primary_mobile_number

String

20

Primary Mobile Number

secondary_mobile_number

String

20

Secondary Mobile Number

email_id

String

30

Email Id

phone_number

String

20

Phone Number

occupation_id

Long

 

Occupation Id

political_exposed_person

Boolean

 

Political Exposed Person

additional_docs

Object

 

Data Object

idNameId

String

 

Id name id

base64_data

String

 

 

content_type

String

 

Content Type

id_details

Object

 

Data Object

id_type

Long

 

Id Type

id_number

String

30

Id Number

name_as_per_id

String

30

Name as per Id

issued_country

String

2

Issued Country

issued_by

String

30

Issued By

issued_at

String

30

Issued At

issued_on

Date

 

Issued On

date_of_expiry

Date

 

Date of Expiry

visa_number

String

30

Visa Number

visa_expiry_date

Date

 

Visa Expiry Date

default_status

String

30

Default Status

active_status

String

30

Active Status

id_front

Object

 

Data Object

base64_data

String

 

Base 64 Data

content_type

String

 

Content Type

id_back

Object

 

Data Object

base64_data

String

 

Base 64 Data

content_type

String

 

Content Type

addressList

Object

 

Data Object

address_type_id

Long

 

Address Type Id

building_name

String

255

Building Name

street_name

String

255

Street Name

landmark

String

255

Landmark

country

String

2

Country

state

String

255

State

district

String

255

District

city

String

60

City

zip

Long

 

Zip

mobile_number

String

20

Mobile Number

status

String

30

Disable

customer_classification

Object

 

Data Object

customer_type_id

Long

 

Customer Type Id

annual_income_range_id

Long

 

Annual Income Range

annual_income_currency_code

String

30

Annual Income Currency Code

social_security_number

String

30

Social Security Number

tax_registration_number

Long

 

Tax Registration Number

txn_issued_country

String

2

Tax Issued Country

employer_name

String

30

Employer Name

employer_address

String

30

Employer Address

employer_phone

String

20

Employer Phone

employer_ecrn

String

16

Employer ECRN

employer_establishment_id

String

30

Employer Establishment ID

risk_rating_id

Long

 

Risk Rating ID

compliance_category_id

Long

 

Compliance Category ID

last_review_date

Date

 

Last review Date

next_review_date

Date

 

Next Review Date

pep_category

Integer

 

Pep Category

group_companies

Integer

 

Group Company

group_employer_code

String

30

Group Employee Code

personal_mohre_id

String

30

Personal Mohre Id

customer_cards

String

30

Customer Cards

card_number

String

30

Card Number

income_type

String

30

Income Type

profession_category

String

30

Profession Category

reason_for_acc

String

30

Reason for ACC

referred_by_type

Integer

 

Referred By Type

referred_by

String

30

Reffered By

txn_vol_month

String

30

Transaction Volume Month

txn_count_month

String

30

Transaction Count Month

show_remarks_on_txn

Boolean

 

show Remarks on transaction

customer_remarks

String

30

Remarks on Transaction

agent_ref_no

String

30

Agent reference number

ekyc_provider

String

30

ekyc provider

ekyc_ref_no

String

30

ekyc ref number

social_links

Object

 

Data Object

social_links_id

Long

 

Social Link Id

text_field

String

30

Text Field

subscriptions

Object

 

Data Object

subsciption_type

String

30

Subscription Type

subscription_id

String

30

Subscription Id

status

String

30

Status

first_language

String

3

Customer Preferred Language

marital_status

Integer

 

Marital Status

profile_category

Integer

 

Profile Category

dnfbp

Boolean

 

Designated Non-Financial Business and Professions

dpms

Boolean

 

Dealers in Precious Metals and Stones

 

AML Alert Closure CallBack Api

We will be calling partner API to update the customer status and AML status.

Payload

Code Block
{
   "aml_scan_status": "Accepted",
   "ecrn": "1058021235161541",
   "customer_status": "ACTIVE"
 }

Name

Data Type

Max Length

Description

ecrn

String

20

CDP Customer Unique Identification Number will be present if customer is onboarded to CDP

aml_scan_status

String

20

AML Scanned Status will be p[resent if customer is onboarded to CDP

“Accepted” / “Rejected“ / “Under Investigation”/ “Failed” / “N/A” (not available when screening not done)

customer_status

String

20

Customer Status will be present if customer is onboarded to CDP

Status
colourGreen
titleACTIVE
/
Status
colourYellow
titleKYC PENDING
/
Status
colourYellow
titleINACTIVE
/
Status
colourRed
titleREJECTED
/
Status
colourRed
titleBLOCKED

Master Data

View file
nameCDP-Master Values.xlsx