Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

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

...

Yes

...

Content type

Payload

...

Name

...

Data Type

...

Max Length

...

Mandatory

...

Description

...

grant_type

...

String

...

10

...

Yes

...

Grant type. Will up provided

...

scope

...

String

...

60

...

Yes

...

Scope name. Will be provided

...

client_id

...

String

...

60

...

Yes

...

Client Id. Will be provided

...

client_secret

...

String

...

60

...

Yes

...

Client secret. Will be provided

...

username

...

String

...

60

...

Yes

...

Admin user name

...

password

...

String

...

60

...

Yes

...

Admin password

Response

...

Name

...

Data Type

...

Max Length

...

Mandatory

...

Description

...

token_type

...

String

...

-

...

Yes

...

Token type

...

scope

...

String

...

-

...

Yes

...

Scope details

...

access_token

...

String

...

600

...

Yes

...

Access token to access the APIs

...

refresh_token

...

String

...

600

...

Yes

...

refresh token to refresh the Token.

...

expires_in

...

Integer

...

-

...

Yes

...

Token expiry time in seconds

...

refresh_expires_in

...

Integer

...

-

...

Yes

...

Refresh Token expiry time in seconds

 

Customer Lookup API v2

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

...

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

...

Code Block
languagejson
{
    "status": "success",
    "statusCode": 200,
    "message": "Successfully Processed",
    "data": {
        "ecrn": "1058021235161541",
        "first_name": "IRFAN MANAKKAT THEKKE",
        "middle_name": "PURAYIL ISMAIL",
        "last_name": "NANGARATH MUNDACHI",
        "agent_location_id": "784101",
        "primary_mobile_number": "+971502106707",
        "email_id": "irfanmtp1@gmail.com",
        "customer_status": "ACTIVE",
        "aml_scan_status": "Accepted",
        "id_status": "Active",
        "id_date_of_expiry": "2023-08-08T00:00:00.000+00:00"
    }
}

...

Subscription Pending Response

...

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "message": "Customer not subscribed to channel",
    "data": null
}

...

Customer ID not found

...

Code Block
languagejson
{
    "status": "failure",
    "statusCode": 404,
    "message": "Customer ID not found",
    "data": null
}

...

Other Failure Response

...

Code Block
languagejson
{
  "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

...

Ocp-Apim-Subscription-Key

...

String

...

32

...

Yes

...

Subscription key

 Payload

...

Name

...

Data Type

...

Max Length

...

Mandatory

...

Description

...

idType

...

String

...

3

...

Yes

...

Customer id type code

...

idNumber

...

String

...

30

...

Yes

...

Customer id/Number

 Response

...

Name

...

Data Type

...

Max Length

...

Description

...

status

...

String

...

255

...

status description

...

status_code

...

Int

...

 -

...

Status code

...

message

...

String

...

255

...

Message

...

data

...

Object

...

-

...

Data object

...

ecrn

...

String

...

16

...

Customer unique identification number

...

first_name

...

String

...

255

...

Customer first name

...

middle_name

...

String

...

255

...

Customer middle name

...

last_name

...

String

...

255

...

Customer last name

...

agent_location_id

...

String

...

20

...

Onboarded Agent

...

primary_mobile_number

...

String

...

20

...

Customer mobile no

...

email_id

...

String

...

30

...

Customer email

...

customer_status

...

String

...

20

...

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

...

aml_scan_status

...

String

...

20

...

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

...

id_status

...

String

...

20

...

Possible values : "Active", "Expired"

...

id_date_of_expiry

...

String

...

 

...

YYYY-MM-DD format

Individual Onboarding API

API to be used to onboard customer.

...

API

...

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

...

Authorization

...

Bearer Token

...

Method

...

POST

...

Headers

...

Content-Type:application/json

...

Payload

...

languagejson

...

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",
        "middle_name": "",
        "last_name": "BASHIRMASIH",
        "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": [
            {
                "
issued_on
dateUpdated": "
2020
2024-
08-08
03-26T07:09:24.605116Z",
                "
date
address_
of
type_
expiry
id": "
2023-08-08
1",
                "
default
building_
status
name":
true,
 "MANKHOOL  BUILDING 2",
                "
active
street_
status
name": 
true
"GHG",
            
"id_front
    "landmark": 
{
"AL NAHDA",
                "
base64_data
city": "
<<base64Data>>
EMIRATE OF DUBAI",
                "
content_type
district": "
image/jpeg
HGJH",
           
},
     "state": "JGHFHG",
                "
id_back
country": 
{
"AE",
                "
base64_data
zip": 
"<<base64Data>>"
0,
                "
content
po_
type
box": 
"image/jpeg"
null,
            
}
    
},
"mobile_number": null
   
{
         }
   
"id_type":
 
2,
    ],
        "id_
number
details":
"P4006315",
 [
            {
  
"visa_number":
 
"VISA123",
             "
visa_expiry_date
dateUpdated": "2024-
06-30",
03-26T07:09:24.605116Z",
                "
name_as_per_id
id_type": 
"IRFAN
1,
 
M
 
T
 
P",
             "
issued
id_
country
number": "
IN
126657",
                "
issued
visa_
by
number": "
India Govt.
TRF45",
                "
issued
visa_expiry_
at
date": 
"Kozhikkode
"2025-08-08",
                "
issued_on
name_as_per_id": "
2016-04-28
 ",
                "
date
issued_
of_expiry
country": "
2026-04-27
AE",
                "
default
issued_
status
by": 
true,
"EIDA GOVT",
                "
active
issued_
status
at": 
true
null,
                "
id
issued_
front
on": 
{
"2020-08-08",
                "
base64
date_of_
data
expiry": "
<<base64Data>>
2025-08-08",
                "
content
default_
type
status": 
"image/jpeg"
false,
                
},
"active_status": false,
                "id_
back
front": {
                    "base64_data": "
<<base64Data>>
",
                    "
content
file_
type
name": "
image/jpeg"
customer/id/7841003247752409_ID_FR_1_126657.jpg",
            
}
        "content_type": "image/jpg"
   
}
     
],
     
"customer_classification":
 
{
  },
      
"customer_type_id":
 
2,
         "
annual_income_range_id
id_back": {
 
15,
         
"annual_income_currency_code":
 
"AED",
         "
social
base64_
security_number
data": "
SSN123
",
        
"tax_registration_number": 123,
            "
txn
file_
issued_country
name": "
AE
customer/id/7841003247752409_ID_BK_1_126657.jpg",
        
"employer_name": "EMKE",
            "
employer
content_
address
type": "
UAE",
image/jpg"
                }
"employer_phone":
 
"+971502106101",
         
"employer_ecrn":
 
"",
 }
       
"employer_establishment_id": "LULUEXCHANGE123"
 ],
        "
risk
customer_
rating_id
classification":
3,
 {
            "
pep_category
dateUpdated": 
1
"2024-03-26T07:51:57.909545Z",
        
"group_companies
    "customer_type_id": 
1
2,
        
"group_employer_code
    "annual_income_range_id": 
"786000777"
15,
         
"personal_mohre_id
   "annual_income_currency_code": 
"IRFAN786"
null,
        
"income_type
    "social_security_number": 
1
null,
            "
profession
tax_registration_
category
number":
"PC1",
 null,
            "
reason
txn_
for
issued_
acc
country": 
"Remittance"
null,
            "
referred
employer_
by
name": "
1058021235161541
EMKE",
            "
referred
employer_
by_type
address": 
1,
"null",
            "
txn
employer_
vol_month
phone": " 
1
",
            "
txn
employer_
count_month
ecrn": 
1
"",
            "
show
employer_
remarks
establishment_
on_txn
id": 
false
"",
        
"customer_remarks": "Test Remarks",
    "risk_rating_id": 3,
            "
agent
last_
ref
review_
no
date": "
786000786
2024-03-26",
            "
ekyc
next_review_
provider
date": "
EFR
2025-03-26",
            "
ekyc
pep_
ref_no
category": 
"EFR123",
null,
            "
social
group_
links
companies": 
[
null,
            
{
"group_employer_code": " ",
            "
social
personal_
links
mohre_id": 
2
"",

            
"
text
income_
field
type":
"insta.com"
 1,
            
}
"profession_category": "",
            
{
"reason_for_acc": " ",
            "
social
referred_
links_id
by": 
1
"1058021235161541",
            
"text_field
"referred_by_type": 
"fb.com"
1,
            
}
"txn_vol_month": 1,
    
],
        
"
subscriptions
txn_count_month": 
[
1,
            
{
"show_remarks_on_txn": false,
            
"
subsciption
customer_
type
remarks": "
PREMIUM
JHGJG",

            
"
subscription
agent_ref_
id
no": 
"GOLD CARD",
null,
            "
status
ekyc_provider": 
"active"
null,
           
},
 "ekyc_ref_no": null,
          
{
  "customer_cards": null,
            
"
subsciption
card_
type
number": 
"PREMIUM"
null,
            
"
subscription
social_
id
links": 
"HNI CUSTOMER"
[],
            
"
status
subscriptions": 
"active"
[
            
},
    
{
   
{
                 "subsciption_type": "Digital Channel",
                    "subscription_id": "LULUMONEY",
                    "status": "active"
            
}
    
]
},
     
"first_language": "en", "marital_status": 2,
           {
"dnfbp":
 
false,
         
"dpms":
 
false,
         "
profile
subsciption_
category
type": 
1
"PREMIUM",
        
"profile_photo":
 
{
           "
base64
subscription_
data
id": "
<<bas64data>>
GOLD CARD",
                    "
content_type
status": "
image/jpeg
active"
         
}
     
},
  }
  
"customer_relations":
 
[
         
{
],
            "
relation
first_
type
language": 
16
null,
            "
relative
marital_
ecrn
status": 
"0102220151851339"
null,
            "
active_status
dnfbp": 
true
false,
            "
authentication_letter
dpms": 
{
false,
            "
base64
profile_
data
category": 
"<<bas64data>>"
1,

            
"content_type
"profile_photo_file_name": 
"image/jpeg"
null
        
},
        
}
"customer_relations": [],
   
],
     "communication_consents": [
            {
                "
allow
communication_type": 
true
1,
                "
communication_type
allow": 
1
true
        
},
    },
    
{
        {
    
"allow":
 
true,
           
"communication_type": 2
}
,
    
]
 
}

Success Response

Code Block
languagejson
{
     
"status":
 
"success",
     "
data
allow": 
{
true
          
"aml_scan_status":
 
"Accepted",
 }
       
"ecrn": "1058021235161541"
 ],
        "
customer_status
updated_agent_location_id": "
ACTIVE
784101",
    
},
    
"
status
updated_
code
channel": 
"200 OK"
"BRANCH"
    }
}
Validation

Authentication Failure Response

- Customer Not Acceptable / Under Compliance Investigation

HttpStatusCode: 401

Code Block
language
json{
json
{
    "timestamp": "2024-04-03T06:39:36.337+00:00",
    "status": 
"failed"
401,
    "
message
error": "
Customer 784100000001 Under Compliance Investigation
Unauthorized",
    "
status_code
path": "
400
/api/v2/customer/7841001228796988"
}
Validation Failure Response - Mandatory Fields Missing/ Invalid Data

Customer Not Subscribed Failure Response

HttpStatusCode: 200

Code Block
languagejson
{
    "status": "
failed
failure",
    "
message
statusCode": 
" Invalid Base64 data ID Doc null!
404,
Invalid
 
Profile
 
Category
 
0!, Invalid Nationality INA!"
 "errorCode": 45003,
    "
status_code
message": "
400
Customer not Subscribed"
}
Authentication

Customer not found Failure Response

HttpStatusCode: 200

Code Block
languagejson
{
    "
timestamp
status": "
2023-03-15T14:26:24.292+00:00
failure",
    "
status
statusCode": 
401
404,
    "
error
errorCode": 
"Unauthorized"
45001,
    "message": "
",
Customer not 
"path
found"
: "/api/v1/CAAS/onBoarding/customer" }

...


}

 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

Content-Type

ecrn

String

 

16

Yes

Status

Content Type

colour

Authorization

Green

String

title

 

Yes

Authorization Token

...

MANDATORY

Customer unique identification number

 Response

Name

Data Type

Max Length

Mandatory

Description

agent_location_id

String

30

Yes

Agent Location Id

channel

String

30

Yes

Channel

salutation

*

String

3

 

Salutation(Mr, Ms)

, Salutation Id As per SALUTATION masterYes

first_name

String

30

 

100

First Name

middle_name

String

30

60

Middle Name

last_name

String

30

60

 yes

Last Name

preferred_name

String

30

255

 

Preferred Name

nationality

*

String

2

 yes

Nationality

code as per NATIONALITY Master

second_nationality

*

String

2

 

Second Nationality

code

of Customer

as per NATIONALITY Master

native_region

*

Integer

 

 

Native Region

code asper NATIVE_REGION MasterDate of Birth in “YYYY-MM-DD” Format

date_of_birth

Date

 

 yes

Date of Birth

country_of_birth

*

String

2

 yes

Country of Birth

code as per COUNTRY Master

place_of_birth

String

100

 

Place of Birth

resident_type_id

*

Long

 

 

Resident Type Id

as per RESIDENT_TYPE Master

country_of_residence

*Resident Country code as per COUNTRY master

String

2

 yes

Country of Residence

gender

Male

12

 yes

Gender

mothers_maiden_name

String

30

  yes

Mothers Name

primary_mobile_number

String

30

20

Primary Mobile Number

secondary_mobile_number

String

30

20

 

Secondary Mobile Number

email_id

String

30

 yes

Email Id

phone_number

String

30

 

20

Phone Number

occupation_id

Long

 

 

Occupation Id

political_exposed_person

Boolean

 

 

Political Exposed Person

additional_docs

Object

 

 

Data Object

document_id*

idNameId

String

 

Document Id as per DOCUMENT_TYPE master

Id name id

base64_data

String

 

 

Base64 Data

content_type

String

 

 

Content Type

id_details

Object

 

 

Data Object

id_type

Long

 

Yes

Id Type

id_number

String

30

Yes

Id Number

name_as_per_id

String

30

 

Name as per Id

issued_country

String

2

 

Issued Country

code as per COUNTRY master

issued_by

String

30

 

Issued By

issued_at

String

30

 

Issued On in “YYYY-MM-DD” Format

Issued At

issued_on

Date

 

 

Issued On

date_of_expiry

Date

 

 

Date of Expiry

in “YYYY-MM-DD” Format

visa_number

String

30

 

Visa Number

visa_expiry_date

Date

 

 

Visa Expiry Date

in “YYYY-MM-DD” Format

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

 

 yes

Data Object

address_type_id

Long

 

Address Type Id

as per ADDRESS_TYPE master 

building_name

String

30

 

255

Building Name

street_name

String

30

 

255

Street Name

landmark

String

30

255

Landmark

country

String

2

 

Country

state

String

30

255

 

 

State

district

String

30

255

District

city

String

30

60

 

City

zip

Long

 

 

Zip

mobile_number

String

30

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

30

20

Employer Phone

employer_ecrn

String

30

 

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

 

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

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