Skip to content

Results

When the steps are done, fetch the transaction’s result with its ID:

import ProveIDApiClient
IDServiceAPI.getIdInformationWithTidAndLayer(tid: transactionId) { result in
switch result {
case .success(let info): // SaveIDModel
let controls = info.controlResults
let name = info.name
let surname = info.surname
let photoBase64 = info.picture
showSummary(name, surname, photoBase64, controls)
case .failure(let error):
showError(error)
}
}

Every step returns one or more control results (ControlEntryModel):

Field Description
entryType Name of the control (e.g. HOLOGRAM, FACE, FACELIVENESSAI)
entryScore Score between 0 and 1
entryInterpretation Whether the control passed
entryDesc Description
entryDate Date

To read a single control:

let faceScore = response.controlResults.first { $0.entryType == "FACE" }?.entryScore ?? 0

Common controls:

Control Meaning
FACE Live face matches the document photo
FACELIVENESSAI Liveness
FACELIVENESSGESTURE The requested gesture was made
HOLOGRAM Hologram detected
SCREENATTACKFRONT, SCREENATTACKBACK Document shown from a screen
PHOTOSHOPCONTROL Image tampering
CLPHOTOCOPYDETECTION Photocopy check on the device
MRZDOCNUMCHECKSUMVALID MRZ document number check
MRZBIRTHDATECHECKSUMVALID, MRZEXPDATECHECKSUMVALID MRZ date checks
CHIPDETECTION Chip present
LWICONLYFRONTFACESIMILARITY Face matches the ID card held with it