Country Fields
Each verification request to the GlobalGateway API contains a set of fields describing the individual being verified (eg. FirstGivenName, DayOfBirth etc..). It also includes the country for which the verification should be performed. The list of possible data fields varies by country. For example, Canada and the United States might have a StateProvince field, but a country like Singapore might not.
Get Fields
The Get Fields endpoint provides the full list of fields for a given country, including which are required by the datasources you're using.
If you're not sure which countries you're configured for, Get Country Codes endpoint will return the full list of country codes for your account.
The response you get from Get Fields will vary based on the requested country, and is tailored to your account configuration. Therefore, it will tell you everything you need to know about what data fields to provide when you want to verify an identity through GlobalGateway.
Example Request
GET <<endpoint>>/configuration/v1/fields/Identity Verification/CN
Authorization: Basic ACCESS_TOKEN
//Example Username: JoeNapoli_API_Demo, Example Password: 05uZuPRCyPi!6
ApiClient apiClient = new ApiClient();
apiClient.setUsername("JoeNapoli_API_Demo");
apiClient.setPassword("05uZuPRCyPi!6");
ConfigurationApi configurationClient = new ConfigurationApi(apiClient);
//getFields
Object o = configurationClient.getFields("AU", "Identity Verification");
//getFieldsAsync
configurationClient.getFieldsAsync("AU", "Identity Verification", new ApiCallback<Object>() {
@Override
public void onFailure(ApiException e, int statusCode, Map<String, List<String>> responseHeaders) {
Logger.getLogger(SdkJavaV1Sample.class.getName()).log(Level.SEVERE, null, e);
}
@Override
public void onSuccess(Object result, int statusCode, Map<String, List<String>> responseHeaders) {
System.out.println(result); //To change body of generated methods, choose Tools | Templates.
}
@Override
public void onUploadProgress(long bytesWritten, long contentLength, boolean done) {
//To change body of generated methods, choose Tools | Templates.
}
@Override
public void onDownloadProgress(long bytesRead, long contentLength, boolean done) {
//To change body of generated methods, choose Tools | Templates.
}
});
//Example Username: JoeNapoli_API_Demo, Example Password: 05uZuPRCyPi!6
var truliooClient = new TruliooApiClient("JoeNapoli_API_Demo", "05uZuPRCyPi!6");
Dictionary<string, dynamic> e = await truliooClient
.Configuration.GetFieldsAsync("AU", "Identity Verification");
Important:
Trulioo provides multiple global and regional endpoints. Please choose the correct endpoint based on your business use case and your regulatory and compliance requirements. See the full list here.
Example Response
{
"title": "DataFields",
"type": "object",
"properties": {
"PersonInfo": {
"title": "PersonInfo",
"type": "object",
"properties": {
"FirstGivenName": {
"type": "string",
"description": "First name of the individual to be verified",
"label": "First Name (名)"
},
"MiddleName": {
"type": "string",
"description": "Second given name of the individual to be verified",
"label": "Middle Name"
},
"FirstSurName": {
"type": "string",
"description": "Last name of the individual to be verified",
"label": "Last Name (姓)"
},
"ISOLatin1Name": {
"type": "string",
"description": "ISO Latin 1 Full name as it appears on passport",
"label": "Passport Full Name"
},
"DayOfBirth": {
"type": "int",
"description": "Day of birth date (ie 23 for a date of birth of 23/11/1975)",
"label": "Day Of Birth (日)"
},
"MonthOfBirth": {
"type": "int",
"description": "Month of birth date (ie 11 for a date of birth of 23/11/1975)",
"label": "Month Of Birth (月)"
},
"YearOfBirth": {
"type": "int",
"description": "Year of birth date (ie 1975 for a date of birth of 23/11/1975)",
"label": "Year Of Birth (年)"
},
"Gender": {
"type": "string",
"description": "Gender, may be 'M' for male or 'F' for female",
"label": "Gender"
},
"AdditionalFields": {
"type": "object",
"description": "Family name and given names, together as found on identification documents",
"label": "Full Name (姓名)",
"properties": {
"title": "AdditionalFields",
"type": "object",
"properties": {
"FullName": {
"type": "string",
"description": "Family name and given names, together as found on identification documents",
"label": "Full Name (姓名)"
}
},
"required": [
"FullName"
]
}
}
},
"required": [
"FirstGivenName",
"FirstGivenName",
"FirstSurName",
"FirstSurName",
"AdditionalFields",
"ISOLatin1Name"
]
},
"Location": {
"title": "Location",
"type": "object",
"properties": {
"BuildingNumber": {
"type": "string",
"description": "Building number of home address",
"label": "Building Number (楼房号码)"
},
"BuildingName": {
"type": "string",
"description": "Building name of home address",
"label": "Building Name (楼房名称)"
},
"UnitNumber": {
"type": "string",
"description": "Flat/Unit/Apartment number of primary residence",
"label": "Unit Number"
},
"StreetName": {
"type": "string",
"description": "Street name of primary residence",
"label": "Street Name (街道名称)"
},
"StreetType": {
"type": "string",
"description": "Street type of primary residence (Typically St, Rd etc)",
"label": "Street Type (街道种类)"
},
"City": {
"type": "string",
"description": "City of home address",
"label": "City (城市)"
},
"Suburb": {
"type": "string",
"description": "City or Suburb of primary residence",
"label": "Suburb"
},
"County": {
"type": "string",
"description": "County of home address",
"label": "County (县)"
},
"StateProvinceCode": {
"type": "string",
"description": "State or Province",
"label": "State Province"
},
"PostalCode": {
"type": "string",
"description": "ZIP Code or Postal Code of primary residence",
"label": "Postal Code"
},
"POBox": {
"type": "string",
"description": "Post Office Box",
"label": "PO Box"
},
"AdditionalFields": {
"type": "object",
"description": "Street address of primary residence",
"label": "Address 1",
"properties": {
"title": "AdditionalFields",
"type": "object",
"properties": {
"Address1": {
"type": "string",
"description": "Street address of primary residence",
"label": "Address 1"
}
},
"required": []
}
}
},
"required": []
},
"Communication": {
"title": "Communication",
"type": "object",
"properties": {
"Telephone": {
"type": "string",
"description": "Telephone number of the individual to be verified",
"label": "Telephone (固定电话号码)"
},
"EmailAddress": {
"type": "string",
"description": "Email Address",
"label": "Email Address"
}
},
"required": [
"EmailAddress"
]
},
"NationalIds": {
"title": "NationalIds",
"type": "object",
"properties": {
"Number": {
"type": "string"
},
"Type": {
"type": "string",
"value": "nationalid"
},
"DistrictOfIssue": {
"type": "string",
"description": "District where document was issued",
"label": "District Of Issue (发证区)"
},
"CityOfIssue": {
"type": "string",
"description": "City where document was issued",
"label": "City Of Issue (发证城市)"
},
"ProvinceOfIssue": {
"type": "string",
"description": "Province where document was issued",
"label": "Province Of Issue (发证省)"
},
"CountyOfIssue": {
"type": "string",
"description": "County where document was issued",
"label": "County Of Issue (发证县)"
}
},
"required": [
"ProvinceOfIssue",
"nationalid"
]
},
"Passport": {
"title": "Passport",
"type": "object",
"properties": {
"Mrz1": {
"type": "string",
"description": "First line of the Machine Readable Zone (MRZ) of passport, 44 letters and digits, i.e. 'P<CZESPECIMEN<<VZOR<<<<<<<<<<<<<<<<<<<<<<<<<'",
"label": "Passport MRZ Line 1 (护照第一行MRZ)"
},
"Mrz2": {
"type": "string",
"description": "Second line of the Machine Readable Zone (MRZ) of passport, 44 letters and digits, i.e. '99003853<1CZE1101018M1207046110101111<<<<<94'",
"label": "Passport MRZ Line 2 (护照第二行MRZ)"
},
"Number": {
"type": "string",
"description": "Passport number of the individual to be verified",
"label": "Passport Number (护照号)"
},
"DayOfExpiry": {
"type": "int",
"description": "Day of month of expiration of passport, 2 digits, i.e. '14'",
"label": "Passport Day Of Expiry"
},
"MonthOfExpiry": {
"type": "int",
"description": "Month of year of expiration of passport, 2 digits, i.e. '08'",
"label": "Passport Month Of Expiry"
},
"YearOfExpiry": {
"type": "int",
"description": "Year of expiration of passport, 4 digits, i.e. '1980'",
"label": "Passport Year Of Expiry"
}
},
"required": [
"Mrz1",
"Mrz2"
]
},
"Business": {
"title": "Business",
"type": "object",
"properties": {
"BusinessName": {
"type": "string",
"description": "The Primary or Registered name of the business",
"label": "Business Name"
},
"BusinessRegistrationNumber": {
"type": "string",
"description": "Registration number of a business to be verified",
"label": "Business Registration Number"
},
"DayOfIncorporation": {
"type": "int",
"description": "Day of Incorporation date",
"label": "Day Of Incorporation"
},
"MonthOfIncorporation": {
"type": "int",
"description": "Month of Incorporation date",
"label": "Month Of Incorporation"
},
"YearOfIncorporation": {
"type": "int",
"description": "Year of Incorporation date",
"label": "Year Of Incorporation"
},
"JurisdictionOfIncorporation": {
"type": "string",
"description": "Jurisdiction Of Incorporation",
"label": "Jurisdiction Of Incorporation"
},
"ShareholderListDocument": {
"type": "boolean",
"description": "Retrieve the shareholder list document of a company from the Government Registry",
"label": "Shareholder List Document"
}
},
"required": [
"BusinessName",
"BusinessRegistrationNumber"
]
},
"CountrySpecific": {
"title": "CountrySpecific",
"type": "object",
"properties": {
"CN": {
"title": "CN",
"type": "object",
"properties": {
"PassportMRZLine1": {
"type": "string",
"description": "First line of the Machine Readable Zone (MRZ) of passport, 44 letters and digits, i.e. 'P<CZESPECIMEN<<VZOR<<<<<<<<<<<<<<<<<<<<<<<<<'",
"label": "Passport MRZ Line 1 (护照第一行MRZ)"
},
"PassportMRZLine2": {
"type": "string",
"description": "Second line of the Machine Readable Zone (MRZ) of passport, 44 letters and digits, i.e. '99003853<1CZE1101018M1207046110101111<<<<<94'",
"label": "Passport MRZ Line 2 (护照第二行MRZ)"
},
"PassportDayOfExpiry": {
"type": "string",
"description": "Day of month of expiration of passport, 2 digits, i.e. '14'",
"label": "Passport Day Of Expiry"
},
"PassportMonthOfExpiry": {
"type": "string",
"description": "Month of year of expiration of passport, 2 digits, i.e. '08'",
"label": "Passport Month Of Expiry"
},
"PassportNumber": {
"type": "string",
"description": "Passport number of the individual to be verified",
"label": "Passport Number (护照号)"
},
"PassportYearOfExpiry": {
"type": "string",
"description": "Year of expiration of passport, 4 digits, i.e. '1980'",
"label": "Passport Year Of Expiry"
}
},
"required": [
"PassportMRZLine1",
"PassportMRZLine2"
]
}
}
}
}
}
Required Fields
The lists of required fields received from Get Fields are made up of a combination of mandatory fields across multiple datasources. Therefore when sending a verification request to GlobalGateway, you do not necessarily have to include all the fields for the requested country. However, if a datasource does not receive an input which it requires the verification will not be run against that particular datasource.
This will result in a 1001 error . Follow this link for a more thorough explanation.