Understanding the report
The Identity verification SDK allows you to tailor your report and response. In this section we explain in more detail what each report shows.
It's really important that you understand our sub checks and look at all the results from the checks.
Result of the session
An example session result is shown below, with explanation of the objects given underneath.
const {
IDVClient,
} = require('yoti');
const idvClient = new IDVClient(
process.env.YOTI_CLIENT_SDK_ID,
fs.readFileSync('pem.pem')
)
idvClient.getSession('your_session_id').then(session => {
const sessionId = session.getSessionId();
const clientSessionTokenTtl = session.getClientSessionTokenTtl();
const state = session.getState();
const clientSessionToken = session.getClientSessionToken();
const userTrackingId = session.getUserTrackingId();
const checks = session.getChecks();
const authenticityChecks = session.getAuthenticityChecks();
const faceMatchChecks = session.getFaceMatchChecks();
const textDataChecks = session.getTextDataChecks();
const livenessChecks = session.getLivenessChecks();
const resources = session.getResources();
}).catch(error => {
// handle error
})
Parameter | Value | Description |
---|---|---|
Session ID | uuid | session ID. Each session ID is unique. |
Client session token | uuid | Returns the client session token. Used to authenticate the session. |
Session state | ONGOING COMPLETED EXPIRED | Yoti is still working on tasks and checks for the user's ID. Yoti has completed checks and tasks. Yoti could not complete the checks and tasks. |
Client session token ttl | seconds | Returns the time left in seconds until the the session expires. |
User tracking ID | user ID | The user ID you set in your backend |
Client session token | uuid | Returns the client session token |
Checks | N/A | Returns the results of the checks in an array. |
Authenticity checks | See below | Returns all authenticity checks for that session with ID's and state. |
Text data checks | See below | Returns all extraction checks for that session with ID's and state. |
Liveness checks | See below | Returns all liveness checks for that session with ID's and state. |
Face match checks | See below | Returns all face match checks for that session with ID's and state. |
Retrieve user information
Depending on the configuration of your sessions, you will need to retrieve either ID Document resources, Liveness resources or both.
// get all the resources
resources = session.getResources();
// get the ID document resources
idDocResources = resources.getIdDocuments();
// get the liveness resources
livenessResources = resources.getLivenessCapture();
ID Document resources
idDocResources.forEach((document) => {
// Get the document id
id = document.getId();
// Get the document tasks
tasks = document.getTasks();
// Get the document type
documentType = document.getDocumentType();
// Get the document issuing country
issuingCountry = document.getIssuingCountry();
// Get the document pages
pages = document.getPages();
// Get the document fields
documentFields = document.getDocumentFields();
});
Value | Response | Description |
---|---|---|
id | UUID | ID unique to that resource |
tasks | array | any tasks that are performed on the resource |
Document Type | eg PASSPORT | The type of document that the user selected before uploading their document images |
issuing country | eg GBR | The country the document was issued from (three letter ISO code). |
pages | array of media objects | Array of the images taken of the document. Can be retrieved using the getMedia endpoint |
Document fields | media object | The extracted text as a JSON object. Can be retrieved using the getMedia endpoint |
For the user information and providing examples for each field head over here.
Liveness Resources
livenessResources.forEach((liveness) => {
// Get the liveness id
id = liveness.getId();
// Get the liveness tasks
tasks = liveness.getTasks();
// Get the liveness facemap
facemap = liveness.getFaceMap();
// Get the liveness frames
frames = liveness.getFrames();
});
Value | Response | Description |
---|---|---|
id | UUID | ID unique to that resource |
tasks | array | Any tasks that are performed on the resource |
facemap | media object | A media object containing the 'facemap', which is a biometric signature generated from an image of that person’s face." This can be retrieved using the getMedia endpoint. |
frames | array of media objects | Array of the media objects for the Zoom liveness check. Can be used to retrieve images using the getMedia endpoint |
image | media object | A media object for the Static liveness check. Can be used to retrieve image using the getMedia endpoint |
Result of the checks
Below is an example of the result of each check in more detail.
// Can be checks, documentAuthenticityChecks, livenessChecks faceMatchChecks or textDataChecks
checks.forEach((check) => {
// Get the check type
type = check.getType();
// Get the check id
id = check.getId();
// Get the state of the check
state = check.getState();
// Get the check report
report = check.getReport();
// Get the created time
created = check.getCreated();
// Get the updated time
lastUpdated = check.getLastUpdated();
// Get the resource IDs which have been used when performing this check
resourcesUsed = check.getResourcesUsed();
// Get the generated media
generatedMedia = check.getGeneratedMedia();
});
Value | Response | Description |
---|---|---|
Type | e.g. LivenessCheck | Which type of check was carried out |
ID | uuid | The ID of the check |
State | e.g. DONE | Status of the check |
Report | N/A | Report of the check |
Created | Date, Time and Seconds | When the check was created |
Last Updated | Date, Time and Seconds | When the check was last updated |
Resources used | uuid | The ID of the resources |
Generated media | uuid and type | An array of type of medias and their ID's. |
Session Recommendation
Below is an example of the report and recommendation of each result.
// Get the report recommendation
reportRecommendation = report.getRecommendation();
// Get the report recommendation value
reportRecommendationValue = reportRecommendation.getValue();
// Get the report recommendation reason
reportRecommendationReason = reportRecommendation.getReason();
//Get the report recommendation recovery suggestion
reportRecommendationRecoverySuggestion = reportRecommendation.getRecoverySuggestion();
reportBreakdown = report.getBreakdown();
// Get result of each sub check from breakdown
reportBreakdown.forEach((breakdown) => {
// Get the report breakdown sub check
subcheck = breakdown.getSubCheck();
// Get the report breakdown result
result = breakdown.getResult();
// Get the report breakdown details
details = breakdown.getDetails();
});
Object | Response | Description |
---|---|---|
Report recommendation | N/A | A recommendation value, and recovery suggestion |
Report recommendation value | e.g. REJECT | Returns only the recommendation value |
Report recommendation reason | e.g. PHOTO_TOO_BLURRY | Returns only the reason of the value. If approved the value will be null. |
Report recommendation recovery suggestion | N/A | Returns only the recovery suggestion. If approved the value will be null. |
Report breakdown | N/A | A breakdown report on the session that has been completed including, sub-checks, results and details. |
Report breakdown sub check | e.g. data_in_correct_position | The sub-check completed |
Report breakdown result | e.g PASS | The result of the sub check completed |
Report breakdown details | N/A | Extra information on the check if required. |