United States Telco 1
eKYC leverages U.S. telco databases 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
eKYC module configuration for the US Telco source requires that both phone is a mandatory field as you are verifying the other fields (eg. name) against the phone. You will even notice in our API responses a "phoneNameMatch" for example.
Module configuration
In a flow, configure eKYC check and make sure to only check on Name, Address, Phone. See below
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. Note: Endpoint can have empty body {} and in that case information will be pulled from module configuration and session details.
- plugins: must be ["kyc"]: (mandatory)
- source:: (mandatory) String. Must be: "US_TELCO_1".
- phone: (mandatory) String. Phone number of the individual (eg. +14081234567)
- firstName:: (mandatory) String. First name of the individual.
- surName: (mandatory) 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.
- country: (mandatory) String. Two letter Alpha-2 country code. (Must be US).
- dateOfBirth: (optional) String. Format: yyyy-mm-dd (eg. 1986-01-04)
- email: (optional) String. Email address of the individual (eg. [email protected])
- dlNumber: (optional) String. Driver's license number of individual (eg. F1234566)
- dlState: (optional) String. Two letter driver's license state of individual (eg. CA)
- last4SSN: (optional) String. Last 4 digits of SSN (eg. 1234)
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": "nameRiskLevel",
"status": "low"
},
{
"key": "addressRiskLevel",
"status": "medium"
},
{
"key": "phoneLevel",
"status": "low",
"reasonCodes": [
"PML",
"PPC5"
]
},
{
"key": "dlNumberCheck",
"status": "No Match",
"reasonCodes": [
"PDL"
]
},
{
"key": "dlStateCheck",
"status": "No Match"
},
{
"key": "phoneDobMatch",
"status": "Exact"
},
{
"key": "phoneNameMatch",
"status": "Exact"
},
{
"key": "phoneAddressMatch",
"status": "Partial Match",
"reasonCodes": [
"APA"
]
},
{
"key": "phoneCityMatch",
"status": "Exact"
},
{
"key": "phoneZipcodeMatch",
"status": "Exact"
},
{
"key": "phoneStateMatch",
"status": "Exact"
},
{
"key": "overallLevel",
"status": "low"
}
]
US API Key | Status | Definition |
---|---|---|
phoneNameMatch | exact, nomatch | Matches name submitted against the name associated to the phone 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 |
last4SSN | exact, nomatch | Matches last 4 digits of SSN (US taxID) submitted against the city associated to the phone in the source of truth |
phoneCityMatch | exact, nomatch | Matches city submitted against the city associated to the phone in the source of truth |
phoneStateMatch | exact, nomatch | Matches state submitted against the state associated to the phone in the source of truth |
phoneZipcodeMatch | exact, nomatch | Matches zip code submitted against the zip code associated to the phone in the source of truth |
phoneAddressMatch | exact, partialmatch, nomatch | Matches address submitted against the address associated to the phone in the source of truth |
phoneEmailMatch | exact, nomatch | Matches email address submitted against the email address associated to the phone in the source of truth |
overallLevel | low, medium, high | Overall Risk Level is focused on the risk associated to the submitted address See context below for more information around how low, medium, and high are calculated |
phoneLevel | low, medium, high | Phone Risk Level is focused on the risk associated to the submitted phone |
addressRiskLevel | low, medium, high | Address Risk Level is focused on the risk associated to the submitted address See context below for more information around how low, medium, and high are calculated |
nameRiskLevel | low, medium, high | Name Risk Level is focused on the risk associated to the submitted name See context below for more information around how low, medium, and high are calculated |
dlStateCheck | exact, nomatch | Matches Driver's License state submitted against the state associated to the phone in the source of truth |
dlNumberCheck | exact, nomatch | Matches Driver's License number submitted against the number associated to the phone in the source of truth |
overallLevel
overallLevel 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 & phoneAddressMatch are exact
- medium:
- Rule 1: when phoneNameMatch is exact & phoneAddressMatch are partialmatch or nomatch OR
- Rule 2: when phoneNameMatch is nomatch & phoneAddressMatch is a partialmatch
- high: when phoneNameMatch & phoneAddressMatch are nomatch
nameRiskLevel
nameRiskLevel 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, nameRiskLevel will return:
- low: matching score is between 70-100
- medium: matching score is between 30-70
- high: matching score is less than 30
addressRiskLevel
addressRiskLevel 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, addressRiskLevel will return:
- low: matching score is 70 <= score <= 100
- medium: matching score is between 30 <= score < 70
- high: matching score <= 30
Please refer to error response to see conventional HTTP response codes to indicate the success or failure of an API request.
Single Session Dashboard Result
See above in the example single session dashboard results, you can see the bottom section "Codes" that can help you further interpret the results of matches and risk levels in your single session dashboard. All reason codes can be accessed here. Below you can see all the potential applicable reason codes that might be populated from this source:
Reason Code | DESCRIPTION |
---|---|
PAE | Some empty address fields where completed through address normalization for the address match check |
PAUD | The address provided in the request is an undeliverable address |
PABA | The address provided in the request is a business address |
PACF | The address provided in the request matches the address of a U.S.correctional facility |
PNC | The first and last name provided in the request are combined in one field |
PADU | The address provided in the request is a dual address (e.g. 123 Main St PO Box 99) |
PDI | The phone record data has a death indicator (i.e. it has been identified as that person having died) |
PTO | The phone record data retrieval timed out |
PFN | A family name was found and used in the name matching calculation |
PAHR | The address provided in the request is for a high-rise (i.e. contains apartment or building sub-units) |
PAIN | The address provided in the request is inactive (e.g. new developments may have addresses but will be 'inactive' until somebody moves in. Or, after Hurricane Katrina, addresses in the affected area were marked as inactive for a time.) |
PALT | The address provided in low tenure |
PAMA | The address provided in the request is tied to multiple active addresses (e.g. the address might be missing a suite or apartment number) |
PAML | The address provided in the request is a military address |
PAVN | The address provided in the request is valid and has been normalized prior to calculating the match score |
PANN | There is no name and address information associated with the phone number provided |
PNNS | There is no network status information associated with the phone number provided |
PNMB | The phone number provided is not a mobile line type |
PNN | A nickname was found and used in the name matching calculation (e.g. Bill matches with William) |
PNO | The phone number provided has been matched with the identity information (e.g. name, address), and a newer ownership or association has recently been connected to the phone number |
PNPB | The phone number provided is a non-personal business line |
PNS | The first and last name provided were swapped compared to the phone number records |
PNU | The phone number provided has been updated |
POD | The ownership match for the provided phone number was found prior to a disconnect date |
PML | The phone number provided has been matched with the identity information (e.g. name, address) for more than 90 days (long tenure) |
PMO | The phone number provided has been matched with the identity information (e.g. name, address), and the ownership or association to this phone number was not recent, however, there is no known, newer ownership or association found, a.k.a., the ownership is 'older'. |
PMST | The phone number provided has been matched with the identity information (e.g. name, address) for between 8 and 90 days (short tenure) |
PMU | The phone number provided has been matched with the identity information (e.g. name, address) for an unknown amount of time (unknown tenure) |
PMVS | The phone number provided has been matched with the identity information (e.g. name, address) for less than 7 days (very short tenure) |
PPC3 | The postal code provided matches the first 3 digits of the address on record for this phone number |
PPC5 | The postal code provided matches the first 5 digits of the address on record for this phone number |
PPC6 | The postal code provided matches the first 6 digits of the address on record for this phone number (Canadian phone numbers only) |
PPC9 | The postal code provided matches the first 9 digits of the address on record for this phone number |
PAPM | The address provided is associated with a Private Mailbox operator (e.g. UPS Store) |
PMNA | The provided mobile phone number is not active (available for most carriers with consent) |
PAPO | The address provided is a PO Box |
PPRT | The provided phone number is currently in a ported state. |
PPV | A successful person search verification was run for the provided phone number |
PILE | The number of identities associated with the phone number has exceeded our phone data provider's suggested limit. This could be an indication of a higher risk of fraudulent activity. |
PABM | The address provided resulted in a better match than the normalized address |
PHRL | The provided phone number is associated with a high-risk line type (Non-Fixed VoIP or Prepaid MVNO) - (available for most carriers with consent) |
PRM | The provided phone number identity matching was only based on raw user data |
PSMSN | The person identity matched has multiple unique SSNs. This can indicate a higher risk of the identity being synthetic. |
PSMDB | The person identity matched has multiple unique SSNs. This can indicate a higher risk of the identity being synthetic. |
PSMRN | The person identity matched has a high number of relatives with the same/similar name. This may indicate the identity is synthetic. |
PSDBM | The person identity matched has a SSN issued prior to either the submitted DOB or the selected person identity's DOB (if no DOB was submitted). This can indicate a higher risk of the identity being synthetic. |
PANV | The address provided could not be verified |
PAV | The address provided is vacant (i.e. unoccupied in the past 90 days) |
Updated 2 months ago