Welcome to the Global Data Consortium’s (GDC) Worldview Platform Quick Start Guide for KYC & Identity Verification. This guide is intended to help GDC clients quickly test and validate the Worldview platform integration. The guide is intended to accompany other product documentation such as the Worldview Web Services Integration Guide.
GDC’s Worldview platform (WV service) provides electronic Identity Verification, Know Your Customer (KYC) compliance, Watchlist/PEP, Business Verification, and Know Your Business (KYB) checks. The Worldview service is a scalable solution that enables customers and partners to verify and validate Identity and Business data sources for Customer on-boarding, Fintech, and AML compliance transactions. This guide focuses on rapid integration and validation of KYC & Identity Verification services using Worldview.
Connecting to Worldview
- Download the Postman collection and use a preferred API testing client (Postman is shown below).
Worldview supports both REST and SOAP formats for API requests. The Quick Start Guide is focused on how to integrate and validate using REST. The Postman collection is available for download here, as well as at the end of this guide under the name "Documentation.postman_collection". To import this collection, click on the “import” button on the top left corner of the postman window.
Then click on Import from file and select the JSON file from the postman collection.
Once it is connected successfully, there will be a sample request in Postman which is available for testing.
TLS v1.2: The API requires that calling application be TLS v1.2 compliant.. Contact support if you have any questions – help@globaldataconsortium.com
- Properly Format the Request.
- Enter the Credentials provided to you by the GDC Sales team.
- Username
- Password
- Tenant
{
"options": "identityverify;messageverbose",
"credentials": {
"tenant": "",
"username": "",
"password": ""
},
"address": {
"addressLine1": "111 TALBOT ST W",
"addressLine2": "",
"houseNumber": "",
"houseNumberAddition":"",
"thoroughfare": "",
"locality": "LEAMINGTON",
"postalCode": "B0713133",
"province": "",
"countryCode": "CA"
},
"identity": {
"completename": "MIKE ALLEN",
"givenfullname": "",
"surname_first": "",
"nationalid": "",
"dob": "10/19/1968"
},
"phone": {
"phone_number": "4162252598"
},
"email": {
"full_email_address": ""
}
}
- Make a Request and Validate Result
Using the Postman client with the populated sample request, you should be able to make a request to our service. After submitting the request, you should see the response returned, without any errors
{
"address": {
"name": "",
"organization": "",
"houseNumber": "",
"houseNumberAddition": "",
"preIndicator": "",
"postIndicator": "",
"thoroughfare": "",
"postBox": "",
"postalCode": "B0713133",
"postTown": "",
"province": "",
"county": "",
"premise": "",
"department": "",
"building": "",
"locality": "LEAMINGTON",
"district": "",
"subDistrict": "",
"latitude": "",
"longitude": "",
"countryName": "Canada",
"formalCountryName": "Canada",
"countryCode": "CA",
"countryNumber": "124",
"countryISO3": "CAN",
"dpvCoded": "",
"dpvFootnotes": "",
"dpvIndicator": "",
"dpvIsCMRA": "",
"dpvIsPBSA": "",
"dpvIsVacant": "",
"dpvIsNoStat": "",
"urbanization": "",
"hausCode": "",
"provinceCode": "",
"countyCode": "",
"municipalityCode": "",
"urbanArea": "",
"lotNumber": "",
"eggCode": "",
"congressionalDistrict": "",
"census": "",
"cebucoCode": "",
"lacsIndicator": "",
"timezone": "",
"addressLine1": "111 TALBOT ST W",
"addressLine2": "",
"addressLine3": "",
"addressLine4": "",
"addressLine5": "",
"addressLine6": "",
"addressLine7": "",
"addressLine8": "",
"addressLine9": "",
"addressLine10": "",
"codes": {
"reliability": "30",
"adaptation": "30",
"detailCode": "WS-9624504.2020.4.27.13.48.17.373",
"detail_list": "",
"options": "identityverify;messageverbose;debug",
"messages": [],
"detailList": ""
}
},
"codes": {
"reliability": "30",
"adaptation": "30",
"detailCode": "WS-9624504.2020.4.27.13.48.17.373",
"detail_list": "",
"options": "identityverify;messageverbose;debug",
"messages": [],
"detailList": ""
},
"email": {
"full_email_address": "",
"domain": "",
"top_level": "",
"addressee": "",
"display_name": "",
"countryCode": "CA",
"codes": {
"reliability": "30",
"adaptation": "30",
"detailCode": "WS-9624504.2020.4.27.13.48.17.373",
"detail_list": "",
"options": "identityverify;messageverbose;debug",
"messages": [
{
"code": "WV",
"value": "Email could not be verified. Original input returned."
}
],
"detailList": ""
},
"displayName": "",
"fullEmailAddress": "",
"topLevel": ""
},
"identity": {
"completename": "MIKE ALLEN",
"formofaddress": "",
"qualificationpreceding": "",
"givenfullname": "",
"givennameinitials": "",
"qualification_int_first": "",
"surname_prefix_first": "",
"surname_first": "",
"indicator": "",
"qualification_int_second": "",
"surname_prefix_second": "",
"qualification_suceeding": "",
"name_qualified": "",
"function": "",
"gender": "",
"nationality": "",
"nationalid": "",
"organization_name": "",
"dob": "10/19/1968",
"businessid": "",
"contact_type": "",
"countryCode": "CA",
"passport": "",
"codes": {
"reliability": "10",
"adaptation": "0",
"detailCode": "WS-9624504.2020.4.27.13.48.17.373",
"detail_list": "",
"options": "identityverify;messageverbose;debug",
"messages": [
{
"code": "1MT-CA-CNS3-COMPLETENAME",
"value": "Full match was made on Complete Name"
},
{
"code": "1MT-CA-CNS3-FIRSTINITIAL",
"value": "Full match was made on First Initial"
},
{
"code": "1MT-CA-CNS3-FIRSTNAME",
"value": "Full match was made on First Name/Given Name"
},
{
"code": "1MT-CA-CNS3-LASTNAME",
"value": "Full match was made on Last Name/Surname "
},
{
"code": "1MT-CA-CNS3-ADDRESS",
"value": "Full match was made on address elements provided in Address Lines"
},
{
"code": "1MT-CA-CNS3-THOROUGHFARE",
"value": "Full match was made on Street/Thoroughfare"
},
{
"code": "1MT-CA-CNS3-LOCALITY",
"value": "Full match was made on City/Locality"
},
{
"code": "1MT-CA-CNS3-POSTALCODE",
"value": "Full match was made on Postal Code/Zip Code"
},
{
"code": "1MT-CA-CNS3-PHONENUMBER",
"value": "Full match was made on Phone Number"
},
{
"code": "1MT-CA-CNS3-DATEOFBIRTH",
"value": "Full match was made on Date of Birth"
},
{
"code": "1MT-CA-CNS3-DAYOFBIRTH",
"value": "Full match was made on Day of Birth"
},
{
"code": "1MT-CA-CNS3-MONTHOFBIRTH",
"value": "Full match was made on Month of Birth"
},
{
"code": "1MT-CA-CNS3-YEAROFBIRTH",
"value": "Full match was made on Year of Birth"
},
{
"code": "1AU-400-LASTNAME",
"value": "Full match was made on Last Name/Surname"
},
{
"code": "1AU-350-FIRSTNAME",
"value": "Full match was made on First Name/Given Name"
},
{
"code": "1AU-375-FIRSTINITIAL",
"value": "Full match was made on First Initial"
},
{
"code": "1AU-425-COMPLETENAME",
"value": "Full match was made on Complete Name"
},
{
"code": "1AU-625-YEAROFBIRTH",
"value": "Full match was made on Year of Birth"
},
{
"code": "1AU-600-MONTHOFBIRTH",
"value": "Full match was made on Month of Birth"
},
{
"code": "1AU-575-DAYOFBIRTH",
"value": "Full match was made on Day of Birth"
},
{
"code": "1AU-550-DATEOFBIRTH",
"value": "Full match was made on Date of Birth"
},
{
"code": "1AU-650-PHONENUMBER",
"value": "Full match was made on Phone Number"
},
{
"code": "1AU-275-POSTALCODE",
"value": "Full match was made on Postal Code/Zip Code"
},
{
"code": "1AU-250-LOCALITY",
"value": "Full match was made on City/Locality"
},
{
"code": "1AU-175-THOROUGHFARE",
"value": "Full match was made on Street/Thoroughfare"
},
{
"code": "1AU-200-ADDRESS",
"value": "Full match was made on Address Elements provided in Address Lines"
},
{
"code": "Codes",
"value": "1AU-175-THOROUGHFARE;1AU-200-ADDRESS;1AU-250-LOCALITY;1AU-275-POSTALCODE;1AU-350-FIRSTNAME;1AU-375-FIRSTINITIAL;1AU-400-LASTNAME;1AU-425-COMPLETENAME;1AU-550-DATEOFBIRTH;1AU-575-DAYOFBIRTH;1AU-600-MONTHOFBIRTH;1AU-625-YEAROFBIRTH;1AU-650-PHONENUMBER;1MT-CA-CNS3-ADDRESS;1MT-CA-CNS3-COMPLETENAME;1MT-CA-CNS3-DATEOFBIRTH;1MT-CA-CNS3-DAYOFBIRTH;1MT-CA-CNS3-FIRSTINITIAL;1MT-CA-CNS3-FIRSTNAME;1MT-CA-CNS3-LASTNAME;1MT-CA-CNS3-LOCALITY;1MT-CA-CNS3-MONTHOFBIRTH;1MT-CA-CNS3-PHONENUMBER;1MT-CA-CNS3-POSTALCODE;1MT-CA-CNS3-THOROUGHFARE;1MT-CA-CNS3-YEAROFBIRTH;"
}
],
"detailList": ""
},
"contactType": "",
"nameQualified": "",
"organizationName": "",
"qualificationIntFirst": "",
"qualificationIntSecond": "",
"qualificationSuceeding": "",
"surnameFirst": "",
"surnamePrefixFirst": "",
"surnamePrefixSecond": ""
},
"phone": {
"name": "",
"phone_number": "4162252598",
"calling_from": "",
"formatted_international": "",
"line_type": "",
"international_prefix": "",
"calling_code": "",
"trunk": "",
"area_code": "",
"number": "",
"timezone": "",
"countryCode": "CA",
"codes": {
"reliability": "30",
"adaptation": "30",
"detailCode": "WS-9624504.2020.4.27.13.48.17.373",
"detail_list": "",
"options": "identityverify;messageverbose;debug",
"messages": [],
"detailList": ""
},
"areaCode": "",
"callingCode": "",
"callingFrom": "",
"formattedInternational": "",
"internationalPrefix": "",
"lineType": "",
"phoneNumber": "4162252598"
}
}
Your transaction response should also include a detail code, called the WSID. This is unique to the specific transaction you made at a point in. Please store this code and provide it for support and audit inquiries. <detailCode>WS-8908834.2017.10.21.10.22.31.567</detailCode>
Worldview Integration and Mappings
Mapped input values for integration testing using cache data
Credentials
{username} |
username |
{password} |
password |
{tenant} |
tenant |
Identity Elements
Element |
Description |
{completename} |
Full Name |
{givenfullname} |
First name |
{surname_first} |
Last name |
{nationalid} |
National ID/Number |
{dob} |
Date of Birth (MM/DD/YYYY) |
The names can either be sent parsed or unparsed. To optimize match rates it is recommended names are sent parsed out in givenfullname and surname_first. You can either send it in completename field or parsed out fields, or both.
Address Elements
Element |
Description |
{addressLine1} |
Address Line |
{houseNumber} |
House Number |
{thoroughfare} |
Street Name |
{locality} |
City |
{province} |
State/Province |
{postalCode} |
Postal Code / Zip Code |
{countryCode} |
ISO2 Country Code |
The addresses can either be sent parsed or unparsed. To optimize match rates it is recommended addresses are sent parsed out in house number and street fields. We also have parsing engines if you send it unparsed in addressLine1.
Phone Elements
Element |
Description |
{phone} |
Phone Number |
The phone number can be sent in with or without the country code.
Options
identityverify;messageverbose;debug = these are the options/parameters which instruct the Worldview platform as to what process should occur on this request – in this case identity verification without any data quality being applied on the input, and producing all MT level messages on the response. Messageverbose enables the return of MT level message detail which are messages specific to data source and type.
Debug
The debug option is critical to understand and leverage as you are verifying the Worldview integration. Debug instructs the service to persist and log the resulting transaction detail for 7 days. The detail is indexed by the transaction id, or detailcode returned with the request. As you are tuning and improving your integration you may activate debug and provide GDC support with the detailcode of a transaction in order to better troubleshoot and answer questions.
For a complete list of options and messages available please refer to the Integration Guide.
- Map Request
{
"options": "identityverify;messageverbose;debug",
"credentials": {
"tenant": "{tenant}",
"username": "{username}",
"password": "{password}"
},
"address": {
"addressLine1": "{addressLine1}",
"addressLine2": "",
"houseNumber": "{houseNumber}",
"houseNumberAddition":"",
"thoroughfare": "{thoroughfare}",
"locality": "{locality}",
"postalCode": "{postalCode}",
"province": "{province}",
"countryCode": "{countryCode}"
},
"identity": {
"completename": "{completename}",
"givenfullname": "{givenfullname}",
"surname_first": "{surname_first}",
"nationalid": "{nationalid}",
"dob": "{dob}"
},
"phone": {
"phone_number": "{phone}"
},
"email": {
"full_email_address": ""
}
}
- Map Response
You are now ready to map the responses that are returned by Worldview into your Third-Party application. You can map the responses either based on reliability codes, AU messages or MT messages. Please refer to the integration guide for details on the response.
Confirming Worldview Integration Using the Test Cache
The Worldview test cache is a great tool in pre-integration, post-integration and during the integration. The test cache is a consistent, and engineered set of test records. It is designed to be used by developers to validate integration and validate results processing without the need for live data and “real people.” For the final steps of the quick start guide, we recommend using these records for validation of the integration.
1) Endpoints and Credentials
Each of the two endpoints for the Worldview platform:
JSON/REST Endpoint https://api.globaldataconsortium.com/rest/validate
Use the test cache credentials to access the test cache records.
Important – Test cache input records do not work in production.
2) Sample Soap Request & Response
The onboarding package which is included with the Quick Start Guide contains 3 files which will be useful in testing the integration with the sample data.
- Excel spreadsheet named - full_cacheYYYYMM.xlsx contains the list of test input which will function with the cache for integration testing and sign-off.
- cache_request.json contains the request in JSON format for a single request in the cache.
- cache_response.json contains the response in JSON format for a single request in the cache.
Switching Worldview Integration to Production
After you have successfully validated the integration using the test cache, you can switch to production or live access with the following step:
Change to production credentials: request production credentials from our sales/account rep and/or support (help@globaldataconsortium.com). Credentials consist of:
username: username provided for authentication
password: strong password for the user within the tenant
tenant: this is the company rule set that has been configured. A tenant represents a company’s configuration and it is shared between users.