- 1. API Objective
- 2. Request Details
- 2.1. Sample Encrypted Request
- 2.2. Request Encryption Steps
- 2.3. Sample Decrypted RequestData
- 3. Request Parameter
- 4.1. Sample Encrypted Response Data
- 4.2. Sample Decrypted Success Response Data
- 4.3. Sample Decrypted Failure Response Data
- 5. Response Parameter Description
- 6. Error Codes
- 7.1. Request XSD
- 7.2. Response XSD
1. API Objective #
This RESTful API helps to calculate the risk of Individuals and Legal Entity. The application will request A75 API with KYC details in the following XML format and in response, the API will return back the risk of the customer. It will also send the pdf report which will be base 64 encoded listing the Risk Score of KYC attributes.
2. Request Details #
URL: http:///crmapi/a75riskprofiling/v1/GetRisk
needs to be replaced by actual DNS URL for TrackWizz CRM API that is deployed.
HTTP Request Type: POST
Request Headers:
Content-Type: application/xml
2.1. Sample Encrypted Request #
<?xml version="1.0" encoding="utf-16"?> <A75RiskRatingEncryptedRequestModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <ApiToken>95b05ccd-db9c-42d3-9eb4-926723e93620</ApiToken> <SessionKey>B5RH450dJi6dZoY+NEvJM3bUaXqtKnWsTTCVFmFIr9D5YMVeWW6H2dhjOtzgyabx5QD+iUWI+yvec0bSI5O6A1+Pn/GvDsET EAbjDCJtNwqz2mxaNMLloCRxcNsOhDypUgmajGAbNcUPb9kdKO8u5RgDo+W7fk+ab+q3sOz3rI/sjfcGFVWaqehyGJD5z/G3IEmZs+hyn+D3q MuVAO3W0FlGYR90aylPU048RwZyfyefZIJhmQwkzG/3gLcaRwdzO4JYzFkiEP/EyJjK/ZHQvEvG/eOoS9Un8d4Yso9RQf1L/Eb8jXEJ5hNf3T99 EBlEOGxltdgxNDs4AxSHXGO1wQ==</SessionKey> <RequestData>0d2Lw/k/BlfRczL+4LATXjguf8oxTLhK/YiEzdyEGiPjWRhTQivAYxS76yeMPQl3bScM+Sot5LigRL3N6CVpzqhIwdXhTyUUMH wVBQF/pC87fuegwj7ZAAvBM61jZpklz9cg1z0fU52D6+fa5AlzvEgz/6cXM4feh6+zMwA2xMYgnzh65H/JQ5tqO0++u9qxlk1eH2Z1dECC8Sk9C czjjmS/mp3E59xafd6gtj2uN+ilv3yEKj92TvQ5qlwYj2APSVAQKVZ/WLwMoh45qIBdU57XbDkIHSd2qfl0+1q+2Ce8f0lR4jeoZfhIVXP+SZW8fu NsnaOhd/GranD/djPmu48I9xyufG7AQE/TspYalHTE/eZxdWRJKEMNK5r7ApR0xP3mcXVkSShDDSua+wKelnPWp+3930L4RG2DANMnCdafF 2yrZNXb6sQQiMh9T1HFaef10hneK8gP2jz1sWr0dJIjAPcMQ8NXS0zIXCx7Cs/ydO8i4CoyROjzpqa8nUYWFBcUvVjJGI87ngNMaNJ4DmvSTVP4 tq54Z3qT6+Cv2N4uziN83Om8P9GalZEqIZz0w7bAizPJ7xj3Eqrifdb/z0pCgoNckaOdOaaoOYPFEEIjGBg287q6PBmT67m433zmIYZUVg45sUU dvgFsURz447SXYTs+THXYB0o/SNqT/WwDvIocGoYF/Mu93sIdV+n17zLN1WnIkVEJaVuJ4VR90RMH9XC/upe++62K75zf/+EssOeZTGkU5zU gb99lIewB9REmMWb7TRvuPN2C/zyWOxljYIIN4HrO3bNCrA0eKGFN1JOqFPDg7rf06fT3nwOU4ZKmUBbw4ecbb6ISkHotk4nO2qiATusVZUC QLlcg</RequestData> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /> <Reference URI=""> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /> </Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <DigestValue>xIitcIsVD4YW5sSCpJ2pPkeRBDo=</DigestValue> </Reference> </SignedInfo> <SignatureValue>IwlDyXVQH5FS2dmps8VdzXabMueQubd/QbbjefE4zIqmfTuByq8RNAyGvuY05cmvcXSca3Zfy/sy2U1sxkYHeFEMI3ZucSz 3RpSTSG0vHFFEAzuvJ7yEZo1pKo/T1Xbr4xF0bFVh1V8Wa0XD7Kyp3vzJxbBmX8y4z87skYY47Cst63ssNelJ7tOlt4gk2luWew8CAzuTX9bIcvS doMx7Cl6gYWiemBMhsmuvgEWQsyfly+i+rvBnhm8GZAl5cra6WuHjFtP3KmwFUOfqMTtM9rqySKCY2qLQ8z09pY4vr5/pm6qIuGm3q1E312 ysMucmM1IzkCeDeuNOZvBlmCL0vw==</SignatureValue> <KeyInfo> <X509Data> <X509SubjectName>CN=SAGAR CHANDRAKANT TANNA, SERIALNUMBER=8c5b2ed5ea341e9a890f9582d9b413c98c7561f1e3da51dd5c0efca6beff0ad3, OID.2.5.4.51="KAMALA MILL COMPOUND,710, TRADE WORLD C WING, SENAPATI BAPAT MARG, LOWER PAREL WEST, MUMBAI CITY, MAHARASHTRA", STREET=MUMBAI CITY, S=MAHARASHTRA, PostalCode=400013, OU=DIRECTOR, O=TSS CONSULTANCY PRIVATE LIMITED, C=IN</X509SubjectName> <X509Certificate>MIIGlzCCBX+gAwIBAgIEAR3GGDANBgkqhkiG9w0BAQsFADCBkzELMAkGA1UEBhMCSU4xKjAoBgNVBAoTIWVNdWRoc mEgQ29uc3VtZXIgU2VydmljZXMgTGltaXRlZDEdMBsGA1UECxMUQ2VydGlmeWluZyBBdXRob3JpdHkxOTA3BgNVBAMTMGUtTXVkaHJhiEtQ vQrgshwfMZr0qc=</X509Certificate> </X509Data> </KeyInfo> </Signature> </A75RiskRatingEncryptedRequestModel>
2.2. Request Encryption Steps #
Following are the steps to be followed for encryption
- Generate a Session Key of 256 bit.
- Encrypt the data using AES (Symmetric Algorithm) using the above generated Session Key.
- Encode the above encrypted data to Base64 string. Example: The above sample data would look like following: f86EzPWUEaqwTEAMyfrjANBgkqhkiG9w0BAQsFADCBkzr2ZLVncZb3u
- Encrypt the session key using Public Key of the Receiver, using RSA (Asymmetric Algorithm)
- Encode the above encrypted Session Key to Base64 string.
- Add this encrypted and encoded data and Session Key to the request XML.
2.3. Sample Decrypted RequestData #
<?xml version="1.0" encoding="utf-16"?> <A75RiskRatingRequestData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <RiskCalculationFor>01</RiskCalculationFor> <RequestId>234234987</RequestId> <RecordIdentifier>33474f86-8d7a-4b7f-be54-21783007cf0b</RecordIdentifier> <ApplicationRefNumber>324899812</ApplicationRefNumber> <IntermediaryCode>Inter2</IntermediaryCode> <SourceSystemName>ECS</SourceSystemName> <ParentCompany>AAAAA8597P</ParentCompany> <ProposedAs>01</ProposedAs> <Segments> <SegmentDetail> <Segment>01</Segment> </SegmentDetail> </Segments> <ProductSegments> <ProductSegmentDetail> <ProductSegment>CDSL</ProductSegment> </ProductSegmentDetail> <ProductSegmentDetail> <ProductSegment>Other</ProductSegment> </ProductSegmentDetail> </ProductSegments> <CustomerType>1</CustomerType> <CustomerSubType>47</CustomerSubType> <Prefix>Mr.</Prefix> <FirstName>Vishal</FirstName> <MiddleName>Ankit</MiddleName> <LastName>Shetty</LastName> <Gender>M</Gender> <MaritalStatus>U</MaritalStatus> <Citizenship> <CountryDetail> <Country>IN</Country> </CountryDetail> <CountryDetail> <Country>BD</Country> </CountryDetail> </Citizenship> <CountryOfResidence>IN</CountryOfResidence> <OccupationType>01</OccupationType> <NatureOfBusiness> <NatureOfBusinessDetail> <Business>TW01</Business> </NatureOfBusinessDetail> <NatureOfBusinessDetail> <Business>TW05</Business> </NatureOfBusinessDetail> </NatureOfBusiness> <ActivitySector>M</ActivitySector> <ActivitySectorOther>NA</ActivitySectorOther> <DateOfBirth>24-Dec-1998</DateOfBirth> <CorrespondenceAddressLine1>Kamala Mills Compound, 602/603</CorrespondenceAddressLine1> <CorrespondenceAddressLine2>Trade link, E wing, A block</CorrespondenceAddressLine2> <CorrespondenceAddressLine3>Lower Parel</CorrespondenceAddressLine3> <CorrespondenceAddressCity>Mumbai </CorrespondenceAddressCity> <CorrespondenceAddressState>MH</CorrespondenceAddressState> <CorrespondenceAddressCountry>IN</CorrespondenceAddressCountry> <CorrespondenceAddressPinCode>400013</CorrespondenceAddressPinCode> <PermanentAddressLine1>Kamala Mills Compound, 602/603</PermanentAddressLine1> <PermanentAddressLine2>Trade link, E wing, A block</PermanentAddressLine2> <PermanentAddressLine3>Lower Parel</PermanentAddressLine3> <PermanentAddressCity>Mumbai </PermanentAddressCity> <PermanentAddressState>MH</PermanentAddressState> <PermanentAddressCountry>IN</PermanentAddressCountry> <PermanentAddressPinCode>400013</PermanentAddressPinCode> <TaxResidencyAddressLine1>Kamala Mills Compound, 602/603</TaxResidencyAddressLine1> <TaxResidencyAddressLine2>Trade link, E wing, A block</TaxResidencyAddressLine2> <TaxResidencyAddressLine3>Lower Parel</TaxResidencyAddressLine3> <TaxResidencyAddressCity>Mumbai </TaxResidencyAddressCity> <TaxResidencyAddressState>MH</TaxResidencyAddressState> <TaxResidencyAddressCountry>IN</TaxResidencyAddressCountry> <TaxResidencyAddressPinCode>400013</TaxResidencyAddressPinCode> <WorkMobileISD>+91</WorkMobileISD> <WorkMobileNumber>9876543211</WorkMobileNumber> <PersonalMobileISD>+91</PersonalMobileISD> <PersonalMobileNumber>9876543211</PersonalMobileNumber> <WorkEmail>[email protected]</WorkEmail> <PersonalEmail>[email protected]</PersonalEmail> <CountryOfBirth>IN</CountryOfBirth> <BirthCity>Mumbai</BirthCity> <Minor>0</Minor> <Listed>No</Listed> <Industry>CNC5</Industry> <Nationality> <CountryDetail> <Country>IN</Country> </CountryDetail> </Nationality> <CountryofOperation> <CountryDetail> <Country>IN</Country> </CountryDetail> <CountryDetail> <Country>AT</Country> </CountryDetail> </CountryofOperation> <IncomeRange>2</IncomeRange> <ExactIncome>20000</ExactIncome> <IncomeCurrency>USD</IncomeCurrency> <IncomeEffectiveDate>24-Dec-2015</IncomeEffectiveDate> <IncomeDescription>NA</IncomeDescription> <Networth>2000</Networth> <NetworthCurrency>USD</NetworthCurrency> <NetworthEffectiveDate>24-Dec-2017</NetworthEffectiveDate> <NetworthDescription>NA</NetworthDescription> <PEP>PEP</PEP> <PEPClassification> <PEPClassificationDetail> <Classification>CORPEP2</Classification> </PEPClassificationDetail> <PEPClassificationDetail> <Classification>CORPEP1</Classification> </PEPClassificationDetail> </PEPClassification> <AdverseMedia>0</AdverseMedia> <AdverseMediaClassification> <AdverseMediaClassificationDetail> <Classification>2</Classification> </AdverseMediaClassificationDetail> <AdverseMediaClassificationDetail> <Classification>1</Classification> </AdverseMediaClassificationDetail> </AdverseMediaClassification> <AdverseMediaDetails>NA</AdverseMediaDetails> <InsiderInformation>TW01</InsiderInformation> <RegAMLSpecialCategoryDetails> <RegAMLSpecialCategoryDetail> <RegAMLSpecialCategory>TW01</RegAMLSpecialCategory> </RegAMLSpecialCategoryDetail> <RegAMLSpecialCategoryDetail> <RegAMLSpecialCategory>TW02</RegAMLSpecialCategory> </RegAMLSpecialCategoryDetail> </RegAMLSpecialCategoryDetails> <Tags> <TagDetail> <Tag>2</Tag> </TagDetail> <TagDetail> <Tag>13</Tag> </TagDetail> </Tags> <Channel>1</Channel> <Links>www.trackwizz.com</Links> <ReputationClassification> <ReputationClassificationDetail> <Classification>TW01</Classification> </ReputationClassificationDetail> <ReputationClassificationDetail> <Classification>TW02</Classification> </ReputationClassificationDetail> </ReputationClassification> <FinancialExposure>23644</FinancialExposure> <AUM>23644</AUM> <ResponseDocument>Yes</ResponseDocument> <SpecificRisk> <RiskDetail> <Risk>03</Risk> </RiskDetail> <RiskDetail> <Risk>02</Risk> </RiskDetail> </SpecificRisk> </A75RiskRatingRequestData>
3. Request Parameter #
Field Name / XML Tag |
Mandatory |
Data Type |
Length |
Remarks |
ApiToken |
Yes |
String |
60 |
Static Value Will be shared by TrackWizz Team during implementation. |
SessionKey |
Yes |
String |
|
|
RequestData |
Yes |
Complex |
|
|
Field Name / XML Tag |
Mandatory | Data Type | Length | Remarks |
RequestId | Yes | String | 60 | It is a Request number, basically a Transaction request number. |
RecordIdentifier | Yes | String | 200 | |
ApplicationRefNumber | No | String | 500 | |
IntermediaryCode | No | String | 300 | Refer Table 3.20 for IntermediaryCode |
SourceSystem | Yes | String | 50 | Name of the Source System from where the data is flowing should be mentioned. Please inform prior to Trackwizz team for creating the SourceSystem which you will pass in the request. |
CustomerType | Yes | String | 100 | Refer Table 3.4 for Code |
CustomerSubType | No | String | 40 | Refer Table 3.5 for Code |
ParentCompany | Yes | String | 500 | Will be shared by TrackWizz Team after deployment. |
ProposedAs | Yes | String | 5 | Refer Table 3.2, Pass code as per table If record is customer and related party both then pass it as customer. |
Segments | Yes | Complex | Multiple, Refer Table 3.3 for Code Classification like Retail, Wholesale, Institutional etc. |
|
Prefix | No | String | 10 | |
FirstName | Yes | String | 400 | |
MiddleName | No | String | 400 | |
LastName | No | String | 400 | |
Gender | No | String | 20 | Refer Table 3.6 for Code |
MaritalStatus | No | String | 50 | Refer Table 3.7 for Code |
DateofBirth | No | String | 11 | Format DD-MMM-YYYY For Non ind pass date of Incorporation |
CountryOfBirth | No | String | 5 | Refer Table 3.8 for Iso2DigitCode |
RiskCalculationFor | Yes | String | 50 | |
CountryOfResidence | No | Complex | Multiple,Refer Table 3.8 for Iso2DigitCode | |
OccupationType | No | String | 50 | Refer Table 3.9 for Code |
ActivitySector | No | String | 50 | |
Minor | No | Number | 0 = Not Minor & 1 = Minor | |
Listed | No | Number | 0 = Not listed & 1 = Listed | |
Industry | No | String | 500 | Refer Table 3.21 for Code |
IncomeRange | No | String | 50 | Refer Table 3.17 for Code |
IncomeCurrency | No | String | 5 | Refer Table 3.18 for Code |
BirthCity | No | String | 100 | |
ActivitySectorOther | No | String | 100 | |
Exact Income | No | decimal | 28,2 | |
IncomeEffectiveDate | No | String | 11 | Format DD-MMM-YYYY |
IncomeDescription | No | String | 8000 | |
Networth | No | Decimal | 28,2 | |
NetworthCurrency | No | String | 5 | Refer Table 3.18 for Code |
NetworthEffectiveDate | No | String | 11 | Format DD-MMM-YYYY |
NetworthDescription | No | String | 8000 | |
AdverseMedia | No | Number | 0 = No & 1 = Yes | |
AdverseMediaClassification | No | Complex | Multiple, Refer Table 3.24 for Code | |
AdverseMediaDetails | No | String | 8000 | |
InsiderInformation | No | String | 50 | |
Channel | No | String | 50 | Refer Table 3.26 for Code |
Links | No | String | 8000 | |
AUM | No | Decimal | (16,2) | |
FinancialExposure | No | String | 50 | Refer table 3.35 |
Tags | No | Complex | Multiple, Refer Table 3.25 for Code | |
Reputation Classification | No | Complex | Multiple, Refer Table 3.28 for Code | |
PEP | No | String | 50 | Refer Table 3.22 for Code |
PEP Classification | No | Complex | Multiple,Refer Table 3.23 for Code | |
Product Segments | No | Complex | Multiple, Refer Table 3.19 for Code | |
Citizenship | No | Complex | Multiple,Refer Table 3.8 for Iso2DigitCode | |
Nationality | No | Complex | Multiple,Refer Table 3.8 for Iso2DigitCode | |
Country of Operation | No | Complex | Multiple,Refer Table 3.8 for Iso2DigitCode | |
Nature Of Business | No | Complex | 50 | Multiple, Refer Table 3.10 for Code |
RegAmlSpecialCategory | No | Complex | Refer Table 3.34 | |
Correspondence Address Line1 |
No | Varchar | ||
Correspondence Address Line2 |
No | Varchar | ||
Correspondence Address Line3 |
No | Varchar | ||
Correspondence Address City |
No | Varchar | ||
Correspondence Address State |
No | Varchar | ||
Correspondence Address Country |
No | Varchar | Country should be in ISO 2 digit as per table 1.1 Country Enum |
|
Correspondence Address PinCode |
No | Varchar | Zip code | |
Permanent AddressLine1 |
No | Varchar | ||
Permanent AddressLine2 |
No | Varchar | ||
Permanent AddressLine3 |
No | Varchar | ||
Permanent AddressCity |
No | Varchar | ||
Permanent AddressState |
No | Varchar | ||
Permanent AddressCountry |
No | Varchar | Country should be in ISO 2 digit as per table 1.1 Country Enum |
|
Permanent AddressPinCode |
No | Varchar | Zip code | |
WorkMobileISD | No | Varchar | ||
WorkMobileNumber | No | Varchar | ||
PersonalMobileISD | No | Varchar | ||
Personal MobileNumber |
No | Varchar | ||
WorkEmail | No | Varchar | ||
PersonalEmail | No | Varchar | ||
TaxResidency AddressLine 1 |
No | Varchar | ||
TaxResidency AddressLine 2 |
No | Varchar | ||
TaxResidency AddressLine 3 |
No | Varchar | ||
TaxResidency AddressCity |
No | Varchar | ||
TaxResidency AddressState |
No | Varchar | ||
TaxResidency AddressCountry |
No | Varchar | Country should be in ISO 2 digit as per table 1.1 Country Enum |
|
TaxResidency AddressPinCode |
No | Varchar | Zip code | |
ResponseDocument | No | Varchar | ||
SpecificRisk | No | Complex |
4.1. Sample Encrypted Response Data #
<?xml version="1.0" encoding="utf-16"?> <A75RiskRatingEncryptedResponseModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SessionKey>MdkT50hDs3LGw6wcJCbIxPnmYhE25T1sjMBQZrd/K3yOykZ2y5VupoFUDuPpNXlYSGJ/N6Dyid8IzLUAPHEZ2lq 46vkQwJqwGugR04o2SacWLE1mc3bqf1rh4ifn0I5s6f/tUo2rS3TG+ZpXfq5fUBZ3IDB7LCGgawPp1hMuQioPe0sDcFCBiCJq8B WJLgGg1qXlCOJb/gATVUnlEJn1wWDgH9jQWwDWMe0QQDyruAW1reBl6diKW11de12ttUDWiSaDiSx/yZQTW3q0he/oWNkapjKyT HQG1eXDcEX2AIaiA9lq//pqh1+OU6DKp8rhLbTaDq+u5VDIE4/sjLT1Jw==</SessionKey> <ResponseData>L63E5mC3J27AU9wUexRQUG5NPkfGBNITm3ec3wZm5ngwMMOlLN6QtcySChyVIzWVzhl6nXz1rKmpzBKUyM0pP vnHRDua4yDT+aUZK4NiIAC1nKqWSXRHShUf0UaBMZqwaGz6/yaf7mc+X+1KrBhkkcXf95WEZRp4QB6j3gSqQlJEhh3TkPm5oQfJ JwuyU4P65ZxZSMrJ76u815LvYGXObGO0HL35BcUlw0gWrUNyA9RrRzXVrRxFZ1DO3ZJds+FkitxEyUX0v4pZZm2NPX2tUtoeN05 JXR+7h66InDZvjhQxgjMxYoahCcG18kl5WXjlhSckY2GhIZSjwyt2/Wo5pJRhohrS1CUdEHHsvYdCaqIMlAP7miHnxjy5mA7VM3 H60ku/nQ1lanMzqQR6aUBuj7w==</ResponseData> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#"> <SignedInfo> <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" /> <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" /><Reference URI=""> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /></Transforms> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <DigestValue>iwO6ZfRBSnlRSvj2sN46dITR9ww=</DigestValue></Reference></SignedInfo><SignatureValue>hOa 9nEHoWdYx0GeUtmP0VhniLvJY2YsyJExnwWCTfqABxESe75oNV+kIsMT/GdJOFSy0QjxPobfZDzA87qGvKZkNp+tehKML0zogQU XY0g9On2IybsKWVTW2pMSIUjWcdhElEXWuCDqxgl76jHFB9TsBwqcDK04l+EQz7g==</SignatureValue> <KeyInfo><X509Data><X509SubjectName>CN=SAGAR CHANDRAKANT TANNA, SERIALNUMBER=8c5b2ed5ea341e9a890f9582d9b413c98c7561f1e3da51dd5c0efca6beff0ad3, OID.2.5.4.51="KAMALA MILL COMPOUND,710, TRADE WORLD C WING, SENAPATI BAPAT MARG, LOWER PAREL WEST, MUMBAI CITY, MAHARASHTRA", STREET=MUMBAI CITY, S=MAHARASHTRA, PostalCode=400013, OU=DIRECTOR, O=TSS CONSULTANCY PRIVATE LIMITED, C=IN</X509SubjectName><X509Certificate>MIIGlzCCBX+gAwIBAgIEAR3GGDANBgkqhkiG9w0BAQsFADCBkzELMAkGA1UE BhMCSU4xKjAoBcEv9pMsrwgJyLB9QA5B9z0NRMtIn8NlVErXo6kQv/tB9FE30SJmtPO3ESsi/Fs28PVyrQw9Bb1sdsS1zz/yWC/ bogmSkXCzeEQEt6RuWCmdphkfMUN86H6OUMSK0y5ZQtCF8BDwGOskFkh0Ts07AS0mUoEcT/DCQi3rrKQYU3WrusRpaJjIwMq2GF iT4TimWPTTKD+yYJTdRRLrwFkWiEtQvQrgshwfMZr0qc=</X509Certificate></X509Data></KeyInfo> </Signature></A75RiskRatingEncryptedResponseModel>
4.2. Sample Decrypted Success Response Data #
<?xml version="1.0" encoding="utf-16"?> <A75RiskRatingResponseModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RequestId>3242</RequestId> <ApiToken>ea4e66bb-a531-4f66-ac04-b44c0b9c5927</ApiToken> <RecordIdentifier>08c9150d-b784-4819-a915-3e47252182f7</RecordIdentifier> <Risk>Low</Risk> <NextReviewDate>21-Aug-2021</NextReviewDate> <RequestStatus>Accepted By TW</RequestStatus> <RequestRejectionCode /> <RequestRejectionDescription /> <ReportData>JVBERi0xLjMNCjEgMCBvYmoNClsvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJXQ0KZW5kb2JqDQo 2IDAgb2JqDQo8PCAvTGVuZ3RoIDMwMzcgL0ZpbHRlciAvRmxhdGVEZWNvZGUgPj4gc3RyZWFtDQpYCb1cWXPbRhJ+T5X/wzwmWy UEc2EAvymynVWt5EPSbiq13gdahGSsSYAmQTvKr9+eE4ODx4y4KVVJJWjw9dfHdPcc1IsfvqIUMZpQhhEveMIYEnmaUFqgdYl+Q /WLH9IkZRTBM8LhO8/R+hHhIiEZQ5TKP8JPjpNCFAjnSSrfe3gBuASbMUSPYUKPYXqMwv7lDv38hqIiKYoC3T0grL5AAOMkEThH d1cKR8JkSZGhuzn68bbZru+r+hG9KttZtdj8hO7+i+7+hl7fvfjhwzRfKiRIRxiDqoKJacJpnhQp/C0TSZrKsQmmYkg5t5RT9TV JGd7Mfc4lun3atOUSvUQ+Z4XIphBTAQ7JJGLBADHvQbDAwMDAxMTc1OSAwMDAwMCBuDQowMDAwMDExODExIDAwMDAwIG4NCnRyY WlsZXIgPDwgL1NpemUgMTAgL1Jvb3QgOCAwIFIgL0luZm8gOSAwIFIgPj4NCnN0YXJ0eHJlZg0KMTIxMDENCiUlRU9G</Report Data> </A75RiskRatingResponseModel>
4.3. Sample Decrypted Failure Response Data #
4.3.1. If API Token is Invalid
<?xml version="1.0" encoding="utf-16"?> <A75RiskRatingEncryptedResponseModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RejectionCode>RC666</RejectionCode> <RejectionMessage>Invalid API Token or API Token is not recognized.</RejectionMessage> <RequestStatus>Rejected by TW</RequestStatus> </A75RiskRatingEncryptedResponseModel>
4.3.2. If API Token is Vvalid
<?xml version="1.0" encoding="utf-16"?> <A75RiskRatingResponseModel xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <RequestId>3242</RequestId> <ApiToken>ea4e66bb-a531-4f66-ac04-b44c0b9c5927</ApiToken> <RecordIdentifier>08c9150d-b784-4819-a915-3e47252182f7</RecordIdentifier> <Risk /> <RequestStatus>Rejected By TW</RequestStatus> <RequestRejectionCode>RC712</RequestRejectionCode> <RequestRejectionDescription>RC712:Parent Company is not recognized or missing.</RequestRejectionDescription> </A75RiskRatingResponseModel>
5. Response Parameter Description #
Field Name / XML Tag |
Data Type |
Length |
Remarks |
ApiToken |
String |
|
|
RecordIdentifier |
String |
|
|
Risk |
String |
|
|
NextReviewDate |
DateTime |
|
In DD-MMM-YYYY format |
RequestStatus |
String |
|
|
RequestRejectionCode |
String |
|
|
RequestRejectionDescription |
String |
|
|
ReportData |
String |
|
Base64 pdf file |
6. Error Codes #
Error Code | Description | Field Name |
RC664 | The Employee does not have access to API in Employee Master. | ApiToken |
RC665 | API Token is mandatory. | ApiToken |
RC666 | Invalid API Token or API Token is not recognized. | ApiToken |
RC776 | Request Invalid. Only numbers expected | RequestId |
RC779 | Request Id is mandatory | RequestId |
RC717 | Record Identifier missing. | Record Identifier |
EC1251 | IntermediaryCode should be as per the Enum/List. | IntermediaryCode |
RC777 | Parent Company is missing | ParentCompany |
RC712 | Parent Company is not recognized or missing. | ParentCompany |
EC1193 | ProposedAs is Mandatory. | ProposedAs |
EC1194 | ProposedAs Code should be as per the Enum/List. | ProposedAs |
EC1272 | CustomerSegment should be as per the Enum/List. | Segment |
EC1249 | ProductSegments should be as per the Enum/List | ProductSegments |
EC1198 | CustomerType Code as per the Enum/List | CustomerType |
EC1197 | CustomerType is Mandatory | CustomerType |
RC693 | First Name is incorrect.The expected format is only alphabets. | First Name |
RC778 | First Name is Missing | First Name |
RC719 | Middle Name is incorrect.The expected format is only alphabets. | Middle Name |
RC720 | Last Name is incorrect.The expected format is only alphabets | Last Name |
EC1208 | Gender Code should be as per the Enum/List | Gender |
EC1209 | Marital Status Code should be as per the Enum/List | Marital Status |
EC1210 | Citizenship should be as per the Enum/List | Citizenship |
EC1211 | Occupation Code should be as per the Enum/List | Occupation Code |
RC732 |
Date Of Birth is in incorrect format.Expected format is dd-mmm-yyyy. (Eg: 10- Sep-1990) | DateofBirth |
RC765 |
CorrespondanceAddressCountry is not recognized. The expected value is ISO – 2 digit code. (Eg: IN for India). | CorrespondenceAddre ssCountry |
RC766 |
CorrespondanceAddressPinCode is incorrect. The expected value is a 6 digit number. | CorrespondenceAddre ssPinCode |
RC767 |
PermanentAddressCountry is not recognized. The expected value is ISO – 2 digit code. (Eg: IN for India). | PermanentAddressCo untry |
RC768 |
PermanentAddressPinCode is incorrect. The expected value is a 6 digit number. | PermanentAddressPin Code |
EC3816 |
TaxResidencyAddressCountry is not recognized. The expected value is ISO – 2 digit code. (Eg: IN for India). | TaxResidencyAddress Country |
EC3817 |
TaxResidencyAddressPinCode is incorrect. The expected value is a 6 digit number. | TaxResidencyAddress PinCode |
RC769 | WorkMobileNumber should be numbers only | WorkMobileNumber |
RC770 |
PersonalMobileNumber should be numbers only |
PersonalMobileNumb er |
RC771 | Invalid Work Email Id | WorkEmail |
RC772 | Invalid Personal Email Id | PersonalEmail |
RC763 |
CountryOfBirth is not recognized. The expected value is ISO – 2 digit code. (Eg: IN for India) | CountryOfBirth |
EC1254 | Industry should be as per the Enum/List. | Industry |
EC1252 | Listed should be as either 0 or 1 | Listed |
EC1256 | Nationality should be as per the Enum/List. | Nationality |
EC1258 | CountryofOperation should be as per the Enum/List. | CountryofOperation |
EC1259 | IncomeRange should be as per the Enum/List. | IncomeRange |
EC1260 | ExactIncome should have positive value, should not be zero and should be digits only. | ExactIncome |
EC1263 | PEP should be as per the Enum/List. | pep |
EC1264 | PEPClassification should be as per the Enum/List. | PEPClassification |
EC1265 | AdverseMedia should be as per the Enum/List. | AdverseMedia |
EC1266 | AdverseMediaClassification should be as per the Enum/List. | AdverseMediaClassification |
EC1268 | Tags should be as per the Enum/List. | Tags |
EC1269 | Channel should be as per the Enum/List. | Channel |
EC1273 |
ReputationClassification should be as per the Enum/List. | ReputationClassificati on |
EC3813 | ResponseDocument should be as per the TrackWizz Code | ResponseDocument |
EC1199 | CustomerSubType Code should be as per the Enum/List | CustomerSubType |
EC1250 |
Length is inappropriate for ApplicationRefNumber. | ApplicationRefNumber . |
EC1733 | PEP is mandatory | PEP |
EC2315 | SourceSystemName is mandatory. It cannot be blank/Null. | SourceSystemName |
EC1759 | SourceSystemName is not available in External System Master. | SourceSystemName |
EC1995 | AUM should be numeric only | AUM |
EC1994 | Aum length | AUM |
EC3758 | FinancialExposure length should not be greater then 16 digits and 2 decimals. | FinancialExposure |
EC3786 | FinancialExposureshould be numeric only | FinancialExposure |
EC1195 | Segments is Mandatory if code in ProposedAs is "01" | Segment |
EC3815 | SpecificRisk should be as per the TrackWizz Code | SpecificRisk |
7.1. Request XSD #
<?xml version="1.0" encoding="utf-16"?> <xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xsd:element name="A75RiskRatingRequestData"> <xsd:complexType> <xsd:sequence> <xsd:element name="RiskCalculationFor" type="xsd:unsignedByte" /> <xsd:element name="RequestId" type="xsd:unsignedInt" /> <xsd:element name="RecordIdentifier" type="xsd:string" /> <xsd:element name="ApplicationRefNumber" type="xsd:unsignedInt" /> <xsd:element name="IntermediaryCode" type="xsd:string" /> <xsd:element name="SourceSystemName" type="xsd:string" /> <xsd:element name="ParentCompany" type="xsd:string" /> <xsd:element name="ProposedAs" type="xsd:unsignedByte" /> <xsd:element name="Segments"> <xsd:complexType> <xsd:sequence> <xsd:element name="SegmentDetail"> <xsd:complexType> <xsd:sequence> <xsd:element name="Segment" type="xsd:unsignedByte" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="ProductSegments"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" name="ProductSegmentDetail"> <xsd:complexType> <xsd:sequence> <xsd:element name="ProductSegment" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="CustomerType" type="xsd:unsignedByte" /> <xsd:element name="CustomerSubType" type="xsd:unsignedByte" /> <xsd:element name="Prefix" type="xsd:string" /> <xsd:element name="FirstName" type="xsd:string" /> <xsd:element name="MiddleName" type="xsd:string" /> <xsd:element name="LastName" type="xsd:string" /> <xsd:element name="Gender" type="xsd:string" /> <xsd:element name="MaritalStatus" type="xsd:string" /> <xsd:element name="Citizenship"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" name="CountryDetail"> <xsd:complexType> <xsd:sequence> <xsd:element name="Country" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="CountryOfResidence" type="xsd:string" /> <xsd:element name="OccupationType" type="xsd:unsignedByte" /> <xsd:element name="NatureOfBusiness"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" name="NatureOfBusinessDetail"> <xsd:complexType> <xsd:sequence> <xsd:element name="Business" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="ActivitySector" type="xsd:string" /> <xsd:element name="ActivitySectorOther" type="xsd:string" /> <xsd:element name="DateOfBirth" type="xsd:string" /> <xsd:element name="CorrespondenceAddressLine1" type="xsd:string" /> <xsd:element name="CorrespondenceAddressLine2" type="xsd:string" /> <xsd:element name="CorrespondenceAddressLine3" type="xsd:string" /> <xsd:element name="CorrespondenceAddressCity" type="xsd:string" /> <xsd:element name="CorrespondenceAddressState" type="xsd:string" /> <xsd:element name="CorrespondenceAddressCountry" type="xsd:string" /> <xsd:element name="CorrespondenceAddressPinCode" type="xsd:unsignedInt" /> <xsd:element name="PermanentAddressLine1" type="xsd:string" /> <xsd:element name="PermanentAddressLine2" type="xsd:string" /> <xsd:element name="PermanentAddressLine3" type="xsd:string" /> <xsd:element name="PermanentAddressCity" type="xsd:string" /> <xsd:element name="PermanentAddressState" type="xsd:string" /> <xsd:element name="PermanentAddressCountry" type="xsd:string" /> <xsd:element name="PermanentAddressPinCode" type="xsd:unsignedInt" /> <xsd:element name="TaxResidencyAddressLine1" type="xsd:string" /> <xsd:element name="TaxResidencyAddressLine2" type="xsd:string" /> <xsd:element name="TaxResidencyAddressLine3" type="xsd:string" /> <xsd:element name="TaxResidencyAddressCity" type="xsd:string" /> <xsd:element name="TaxResidencyAddressState" type="xsd:string" /> <xsd:element name="TaxResidencyAddressCountry" type="xsd:string" /> <xsd:element name="TaxResidencyAddressPinCode" type="xsd:unsignedInt" /> <xsd:element name="WorkMobileISD" type="xsd:byte" /> <xsd:element name="WorkMobileNumber" type="xsd:unsignedLong" /> <xsd:element name="PersonalMobileISD" type="xsd:byte" /> <xsd:element name="PersonalMobileNumber" type="xsd:unsignedLong" /> <xsd:element name="WorkEmail" type="xsd:string" /> <xsd:element name="PersonalEmail" type="xsd:string" /> <xsd:element name="CountryOfBirth" type="xsd:string" /> <xsd:element name="BirthCity" type="xsd:string" /> <xsd:element name="Minor" type="xsd:unsignedByte" /> <xsd:element name="Listed" type="xsd:string" /> <xsd:element name="Industry" type="xsd:string" /> <xsd:element name="Nationality"> <xsd:complexType> <xsd:sequence> <xsd:element name="CountryDetail"> <xsd:complexType> <xsd:sequence> <xsd:element name="Country" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="CountryofOperation"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" name="CountryDetail"> <xsd:complexType> <xsd:sequence> <xsd:element name="Country" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="IncomeRange" type="xsd:unsignedByte" /> <xsd:element name="ExactIncome" type="xsd:unsignedShort" /> <xsd:element name="IncomeCurrency" type="xsd:string" /> <xsd:element name="IncomeEffectiveDate" type="xsd:string" /> <xsd:element name="IncomeDescription" type="xsd:string" /> <xsd:element name="Networth" type="xsd:unsignedShort" /> <xsd:element name="NetworthCurrency" type="xsd:string" /> <xsd:element name="NetworthEffectiveDate" type="xsd:string" /> <xsd:element name="NetworthDescription" type="xsd:string" /> <xsd:element name="PEP" type="xsd:string" /> <xsd:element name="PEPClassification"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" name="PEPClassificationDetail"> <xsd:complexType> <xsd:sequence> <xsd:element name="Classification" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="AdverseMedia" type="xsd:unsignedByte" /> <xsd:element name="AdverseMediaClassification"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" name="AdverseMediaClassificationDetail"> <xsd:complexType> <xsd:sequence> <xsd:element name="Classification" type="xsd:unsignedByte" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="AdverseMediaDetails" type="xsd:string" /> <xsd:element name="InsiderInformation" type="xsd:string" /> <xsd:element name="RegAMLSpecialCategoryDetails"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" name="RegAMLSpecialCategoryDetail"> <xsd:complexType> <xsd:sequence> <xsd:element name="RegAMLSpecialCategory" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Tags"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" name="TagDetail"> <xsd:complexType> <xsd:sequence> <xsd:element name="Tag" type="xsd:unsignedByte" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="Channel" type="xsd:unsignedByte" /> <xsd:element name="Links" type="xsd:string" /> <xsd:element name="ReputationClassification"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" name="ReputationClassificationDetail"> <xsd:complexType> <xsd:sequence> <xsd:element name="Classification" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="FinancialExposure" type="xsd:unsignedShort" /> <xsd:element name="AUM" type="xsd:unsignedShort" /> <xsd:element name="ResponseDocument" type="xsd:string" /> <xsd:element name="SpecificRisk"> <xsd:complexType> <xsd:sequence> <xsd:element maxOccurs="unbounded" name="RiskDetail"> <xsd:complexType> <xsd:sequence> <xsd:element name="Risk" type="xsd:unsignedByte" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xs:schema>
7.2. Response XSD #
<?xml version="1.0" encoding="utf-16"?> <xs:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified"> <xsd:element name="A75RiskRatingResponseModel"> <xsd:complexType> <xsd:sequence> <xsd:element name="RequestId" type="xsd:unsignedShort" /> <xsd:element name="ApiToken" type="xsd:string" /> <xsd:element name="RecordIdentifier" type="xsd:string" /> <xsd:element name="Risk" type="xsd:string" /> <xsd:element name="NextReviewDate" type="xsd:string" /> <xsd:element name="RequestStatus" type="xsd:string" /> <xsd:element name="RequestRejectionCode" /> <xsd:element name="RequestRejectionDescription" /> <xsd:element name="ReportData" type="xsd:string" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xs:schema>