ZignSec

Validate Person -global

This service verifies a person’s address or identity information such as name and address via background data source lookups in a multitude of registers. The list of supported countries is large and is expanded through quick configuration. The main response is a MatchLevel set to HIGH, MEDIUM or LOW indicating the similarity between the in-data and the the best found match in the specified country.

  • HIGH – a very good match – The data item (ex user) should be accepted as referring to the same item (ex individual).
  • MEDIUM – a business decision. Maybe the item (ex user) could be accepted but need a manual inspection.
  • LOW – a poor match – The data item (ex user) should not be accepted as the items are too different.

APIs

POST to https://env.zignsec.com/v2/ekyc/validateaddress
POST to https://env.zignsec.com/v2/ekyc/validateidentity
where env is api or test.

Difference between ValidateAddress and ValidateIdentity

ValidateIdentity is configured as a premium call that also verifies DateOfBirth or PersonalNumber (the national identity number). The API’s otherwise have the same structure for in-parameters and response.

Test Data and Tuning

In our test environment we query against a cache of test persons listed in a table here.

The test cache is designed for integration testing and validation not for quality or match rate tuning, we would suggest using live data for that.

Parameters

On the Query node level:

CountryCode Mandatory parameter. Sets the country to query in.
FirstName
LastName
DateOfBirth In the form YYYY-MM-DD
PersonalNumber The national identity number
MobileNumber Enables search by phone number where service is available.
Address Street name and number etc.
PostalCode
City

On the root level:

Environment Optional parameter. Can switch betwween test/prod for easier testing. See Environment at the Common Data documentation.

Example call for ValidateIdentity:

            POST https://api.zignsec.com/v2/ekyc/validateIdentity HTTP/1.1
User-Agent: Fiddler
Content-Length: 27
Content-Type: application/json; charset=UTF-8
Authorization: YOUR_ACCESS_TOKEN_HERE

{
   "Query":{
      "FirstName":"Katia",
      "LastName":"Grudin",
      "CountryCode":"SE",
      "Address":"Stormvägen 31",
      "PostalCode":"194 52",
      "City":"Upplands Väsby"
   }
}
        

Example Response:

            {
  "id": "af2e3c8d-3f11-4260-9d09-b0e55f96731f",
  "errors": [],
  "DetailCode": "WS-5866630.2018.8.14.2.32.16.217",
  "MatchLevel": "HIGH",
  "ValidationDetails": {
    "1MT-SE-CNS1-LASTNAME": "Full match was made on Last Name/Surname ",
    "1MT-SE-CNS1-ADDRESS": "Full match was made on address elements provided in Address Lines",
    "1MT-SE-CNS1-HOUSENUMBER": "Full match was made on House Number/Street Number",
    "1MT-SE-CNS1-THOROUGHFARE": "Full match was made on Street/Thoroughfare",
    "1MT-SE-CNS1-LOCALITY": "Full match was made on City/Locality",
    "1MT-SE-CNS1-POSTALCODE": "Full match was made on Postal Code/Zip Code",
    "4MT-SE-CNS1-SUBPREMISE": "Datasource does not contain element Sub Premise Descriptors provided in Address Lines",
    "3MT-SE-CNS1-COMPLETENAME": "Partial match made on element Complete Name",
    "1MT-SE-CMM9-FIRSTNAME": "Full match was made on First Name/Given Name",
    "1MT-SE-CMM9-LASTNAME": "Full match was made on Last Name/Surname ",
    "1MT-SE-CMM9-ADDRESS": "Full match was made on address elements provided in Address Lines",
    "1MT-SE-CMM9-BUILDING": "Full match was made on Building Descriptors provided in Address Lines",
    "1MT-SE-CMM9-HOUSENUMBER": "Full match was made on House Number/Street Number",
    "1MT-SE-CMM9-LOCALITY": "Full match was made on City/Locality",
    "1MT-SE-CMM9-POSTALCODE": "Full match was made on Postal Code/Zip Code",
    "3MT-SE-CMM9-COMPLETENAME": "Partial match made on element Complete Name",
    "1AU-350-FIRSTNAME": "Full match was made on First Name/Given Name",
    "1AU-400-LASTNAME": "Full match was made on Last Name/Surname ",
    "1AU-200-ADDRESS": "Full match was made on address elements provided in Address Lines",
    "1AU-125-BUILDING": "Full match was made on Building Descriptors provided in Address Lines",
    "1AU-150-HOUSENUMBER": "Full match was made on House Number/Street Number",
    "1AU-175-THOROUGHFARE": "Full match was made on Street/Thoroughfare",
    "1AU-250-LOCALITY": "Full match was made on City/Locality",
    "1AU-275-POSTALCODE": "Full match was made on Postal Code/Zip Code",
    "3AU-425-COMPLETENAME": "Partial match made on element Complete Name",
    "Codes": "1AU-125-BUILDING;1AU-150-HOUSENUMBER;1AU-175-THOROUGHFARE;1AU-200-ADDRESS;1AU-250-LOCALITY;1AU-275-POSTALCODE;1AU-350-FIRSTNAME;1AU-400-LASTNAME;1MT-SE-CMM9-ADDRESS;1MT-SE-CMM9-BUILDING;1MT-SE-CMM9-FIRSTNAME;1MT-SE-CMM9-HOUSENUMBER;1MT-SE-CMM9-LASTNAME;1MT-SE-CMM9-LOCALITY;1MT-SE-CMM9-POSTALCODE;1MT-SE-CNS1-ADDRESS;1MT-SE-CNS1-HOUSENUMBER;1MT-SE-CNS1-LASTNAME;1MT-SE-CNS1-LOCALITY;1MT-SE-CNS1-POSTALCODE;1MT-SE-CNS1-THOROUGHFARE;3AU-425-COMPLETENAME;3MT-SE-CMM9-COMPLETENAME;3MT-SE-CNS1-COMPLETENAME;4MT-SE-CNS1-SUBPREMISE;",
    "1MT-SE-MATCHED-1+1": "Full Match for 1+1 verification"
  }
}
        

Data source types

Note that data source names are not displayed, only the category name:

  • CRD Credit
  • GVT Government
  • CMM Commercial
  • CNS Consumer
  • OTH Other (including social)
  • UTL Utility
  • PRP Proprietary
  • TEL Teleco
  • PST Postal
  • AU Is a summed up match, accross all available data sources.