KYC (know your customer) is becoming mandatory for a majority of internet applications such as finance, insurance, medical proofs. In short, wherever money is involved, the KYC process is becoming mandatory either by regulation or by the company itself to help reduce fraud and increase trust and safety.
It is important and cost/time effective to verify the user’s identity or organization’s identity electronically versus a physical inspection that requires manual processes or an in-person identity check. When it comes to the identity verification of a person, I highly recommend Trulioo ’s global identity verification platform because I only need to integrate once to access hundreds of reliable identity data sources and services to verify the identities of users around the globe.
I have personally integrated with Trulioo’s GlobalGateway API to develop the fastest KYC process to onboard customers for a remittance company that offers fast and secure international money transfers in over 60 countries.
In this article, I’ll show you how to use Trulioo’s global identity verification platform.
Getting Started with Trulioo
Head over to Trulioo’s developer page and create your account.
Once your account is approved, you will receive a user name and you can set the password of your choice. This user name and password combination will be used in the API calls, so do not share it with anyone.
Trulioo API Collection
By large Trulioo API’s are divided into 4 collection:
- Identity Verification
- Document Verification
- Business Verification
- AML Watchlist
Let’s learn in brief each.
Identity Verification
By using this API, we can verify our user electronically and strengthen the know your customer and anti-money laundering process.
Document Verification
By using this API we can verify the documents provided by the user such as passport, driving license, etc. Trulioo supports 3,500 different types of documents. You can use this API to further improve your KYC process.
Business Verification
This API provides business intelligence and information which an entity can use for tasks like due diligence etc.
AML Watchlist
AML watchlist API provides you details about domestic and international AML lists to help and prevent you from any sort of AML rule breach. This is a must-have for business involving in money transfer across the border.
Let’s learn how to use the Identity verification API.
Using Trulioo Identity Verification Platform
Here is the endpoint to call the identity verification API.
URL: https://api.globaldatacompany.com
You need to pass the Authorization header in order to access any resource. The Authorization header is a base64 encoded version of a string which is a combination of your username and password separated by a colon.
Let me explain.
Suppose your username is john and the password is 1e22333. The Authorization header would be a base64 version of john:1e22333.
Just to try out the API, you can visit this site to do the encoding part. Add your user name and password and hit encode.
You can pass the encoded string in the Authorization header like this.
Authorization Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Let’s understand it using an example. I am assuming you have generated the base64 encoded string as of now.
Open postman or any API simulator tool.
Let’s call an API to retrieve a test identity i.e test users to perform testing on a testnet environment.
Here is the endpoint.
https://api.globaldatacompany.com/configuration/v1/testentities/Identity Verification/US
You can change the country code of your choice.
Add your header and hit the API. Refer to the image below for reference.
You should see the test users as a response. Congratulations! You have called the first Trulioo API successfully.
The API fields are normalized i.e you don’t need to change the field name every single time you change the country. For example, if you pass Building number for a country like Canada, API will still accept and normalize it to Civic number.
Let’s integrate it into code. I am going to use Node.js to integrate the Trulioo API.
Integrating Trulioo with Nodejs
Create a new folder and initialize the node js project using this command.
Then install the required dependency.
Here is the sample code to perform the verification of the user. We are using the user from the test identity API call.
var options = { method: 'POST',
url: 'https://api.globaldatacompany.com/verifications/v1/verify',
headers: {
Authorization: 'Basic ' + new Buffer("<your username>:<your password>").toString("base64"),
'Content-Type': 'application/json' },
body:
{ AcceptTruliooTermsAndConditions: true,
Timeout: 21,
CleansedAddress: false,
ConsentForDataSources: [],
CountryCode: 'US',
DataFields:
{ PersonInfo:
{ FirstGivenName: 'John',
FirstSurName: 'James',
MiddleName: 'Smith',
DayOfBirth: 17,
MonthOfBirth: 12,
YearOfBirth: 1991,
MinimumAge: 26,
Gender: 'M' },
Location:
{ BuildingNumber: '452',
UnitNumber: '2',
StreetName: 'Michigan',
StreetType: 'Avenue',
City: 'Chicago',
StateProvinceCode: 'MI',
Country: 'US',
PostalCode: '90010' },
NationalIds: [ { Number: '929-02-1234', Type: 'socialservice' } ] } },
json: true };
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
Note to editor: I will remove the token later.
When you run the code, you will receive the following output.
We received a nomatch in the response because I input the wrong data. Below is the response received when I input the correct info obtained from the test identity API response.
As you can see, we received a match in the response. This verifies that the provided details from the user are correct and valid in a particular country.
In a similar way, you can verify the document, business etc. Visit the official developer page for more detailed information.
Further Study:
Conclusion
KYC is a really important step to prevent fraud and fake malicious users. You can use services such as Trulioo to avoid such incidents and serve the real authentic user inefficient way possible.