eKYC US Telco 5 leverages US telco sources of truth to streamline and enhance the customer identity verification process by accessing telecommunications data for more accurate and efficient authentication, reducing fraud, and ensuring regulatory compliance.

Integration

User input flow

eKYC module configuration gives various options to specify different search criteria with various sources of truth for each country (eg. US has multiple via Telco, Credit Bureau, and Driver's License). User data can be collected via a user input flow by using pre-selected fields where users can type in their name or date of birth, etc. See an example below:

eKYC User input flow

Module configuration

The module configuration can be leveraged to select the applicable fields for the input data you would like to collect from the end user.

eKYC Module Configuration


Direct API Approach

All module configurations and user data can be forwarded directly in the request for performing an eKYC search. This will override existing configuration and data collected about the user.

📘

API Authentication

All endpoints require authentication headers to be specified as stated in Incode API Documentation

POST /omni/externalVerification/ekyc

This endpoint performs an eKYC check for the individual specified.

  • plugins: must be["kyc"]: (mandatory)
  • source:: (mandatory) String. Must be: "US_TELCO_5".
  • phone: (mandatory) String. Phone number of the individual (eg. +14081234567)
  • firstName:: (optional) String. First name of the individual.
  • middlName(optional)String. Middle name of the individual
  • surName: (optional) String. Last name of the individual.
  • street: (optional) String. Full street including house number and apartment number.
  • city: (optional) String. City of the individual's address. (eg. San Francisco).
  • state: (optional) String. Two letter state of the individual's address (eg. CA).
  • postalCode: (optional) String. postalCode formatted based on per-country postalCode basis.
  • countryCode: (mandatory) String. Two letter Alpha-2 country code. Must be: US
  • dateOfBirth: (optional) String. Format: yyyy-mm-dd (eg. 1986-01-04)
  • emailAddress: (Optional) String. (only if we receive an input in the emailAddress field in the Incode eKYC request).
  • idNumber(optional) String. Always will be SSN.

Example request:


{
"plugins": [
    "kyc"
    ],
    "source": "US_TELCO_5", //Mandatory - Must be US_Telco_5
    "firstName": "John", //Optional
    "middleName": "Michael", //Optional
    "surName": "Doe", //Optional
    "street": "42 Baker St", //Optional // House Number and Street
    "postalCode": "98101", //Optional
    "countryCode": "US", //Mandatory - Must be US
    "phone": "+12506581904", //Mandatory
    "state": "WA", //Optional
    "city": "Seattle", //Optional
    "dateOfBirth": "1985-04-23", //Optional - Format yyyy-mm-dd 
    "ssn": "123456789", //Optional - Format 9 digits
  	"emailAddress": "[email protected]" //Optional

Direct API Response

📘

API Authentication

All endpoints require authentication headers to be specified as stated in Incode API Documentation

Note: Endpoint can have empty body {} and in that case information will be pulled from module configuration and session details.

{
    "kyc": [
        {
            "key": "checkStatus",
            "status": "pass"
        },
        {
            "key": "phoneFirstNameMatch",
            "status": "exact"
        },
        {
            "key": "phoneMiddleNameMatch",
            "status": "exact"
        },
        {
            "key": "phoneLastNameMatch",
            "status": "exact"
        },
        {
            "key": "phoneNameMatch",
            "status": "exact"
        },
        {
            "key": "phoneDobMatch",
            "status": "exact"
        },
        {
            "key": "taxIdMatch",
            "status": "nomatch"
        },
        {
            "key": "activityScore",
            "status": "900"
        },
        {
            "key": "phoneCarrier",
            "status": "Fastweb - full mvno TIM"
        },
        {
            "key": "phoneLineType",
            "status": "mobile"
        },
        {
            "key": "lastPorted",
            "status": "2020-02-02"
        },
        {
            "key": "phoneEmailMatch",
            "status": "nomatch"
        },
        {
            "key": "emailType",
            "status": "Unknown"
        },
        {
            "key": "phoneStreetMatch",
            "status": "nomatch"
        },
        {
            "key": "phoneCityMatch",
            "status": "nomatch"
        },
        {
            "key": "phoneStateMatch",
            "status": "nomatch"
        },
        {
            "key": "phoneZipcodeMatch",
            "status": "nomatch"
        },
        {
            "key": "phoneAddressMatch",
            "status": "nomatch"
        },
        {
            "key": "overallLevel",
            "status": "low"
        }
    ],
    "income": []
}

US API Key

Status

Definition

checkStatus

Passthrough value from vendor

Outcome of the check

phoneMatch

exact, fuzzy, nomatch, or unknown

Identifies whether the phone number exists in the source of truth.

phoneFirstNameMatch

exact, fuzzy, nomatch

Matches first name submitted against the name associated to the phone in the source of truth

phoneMiddleNameMatch

exact, fuzzy, nomatch

Matches middle name submitted against the name associated to the phone in the source of truth

phoneLastNameMatch

exact, fuzzy, nomatch

Matches last name submitted against the name associated to the phone in the source of truth

phoneNameMatch

exact, fuzzy, nomatch

Matches name submitted against the name associated to the phone in the source of truth.


See below for more info on phoneNameMatch

phoneStreetMatch

exact, fuzzy, nomatch, or unknown

Matches street and houseNo submitted against the street and houseNo associated to the value in the source of truth

phoneCityMatch

exact, fuzzy, nomatch, or unknown

Matches city submitted against the city associated to the phone in the source of truth.

phoneStateMatch

exact, fuzzy, nomatch, or unknown

Matches state submitted against the state associated to the phone in the source of truth.

phoneZipcodeMatch

exact, fuzzy, nomatch, or unknown

Matches zip code submitted against the zip code associated to the phone in the source of truth.

phoneAddressMatch

exact, fuzzy, nomatch

Matches full address submitted against the full address associated to the value in the source of truth

phoneDobMatch

exact, nomatch

Matches date of birth submitted against the date of birth associated to the phone in the source of truth.

phoneEmailMatch

exact, fuzzy, nomatch, or unknown

Matches email address submitted against the email address associated to the phone in the source of truth.

emailType

string

Type of email (e.g., personal, business).

phoneCarrier

e.g. T-Mobile USA, Verizon, etc.

This key responds back with the phone carrier the submitted phone number is associated with.

phoneLineType

eg. Mobile, etc.

This key responds back with the phone line type associated with the submitted phone number.

lastPorted

date

Date when the number was last ported in YYYY-MM-DD format.

taxIdMatch

exact, no match

Matches taxID submitted against the taxID related to the closest matching identity found with all submitted information.

isItin

True, False

Indicates whether the returned ssn is an ITIN.

activityScore

integer

Activity score ranging from 0-1000 represents the quality of the phone number. Higher score indicates better activity and confidence.

overallLevel

high, medium, low

overallLevel is customized to your needs and requirements for low, medium, high and determines whether sessions should be passed or failed.

Our dedicated customer support team can assist you in customizing this to your needs

Note: unknown is generated when the source of truth does not have this information available.


overallLevel

Overall Level is the API response key for the submitted name. The fields low, medium, and high are mapped to a proprietary fuzzy matching algorithm that is mapped to a score from 0 to 100.

As a default, overallLevel will return:

Low: when phoneNameMatch AND (phoneDobMatch OR taxIdmatch ) are exact

High: when phoneNameMatch AND (phoneDobMatch OR taxIdMatch) are no match

Medium: for all otherwise combination.


  • Please refer to error response to see conventional HTTP response codes to indicate the success or failure of an API request.
  • If phone is not in international E.164 format, you will see an error message.
  • If both mandatory fields (phone & countryCode) are not submitted, you will see an error message

Single Session Dashboard Result


ekYC Single Session Dashboard Results