Starting a transaction
Every verification runs as a transaction. When you start it you declare the document type and the steps to run (controls); Prove ID returns a transaction ID and the gesture to use in the liveness step.
import ProveIDApiClientimport AnyCodable
let optionalData: [String: Any] = [ "idType": "IDCARD", "controls": ["FRONT", "BACK", "HOLOGRAM", "LIVENESS"]]
IDServiceAPI.startTransaction(body: TransactionStartInputModel(optionalData: AnyCodable(optionalData))) { result in switch result { case .success(let data): let transactionId = data.transactionId let gestureType = data.gestureType ?? "EYE" // EYE, MOUTH, HEAD-VERTICAL, HEAD-HORIZONTAL startDocumentCapture(transactionId: transactionId, gestureType: gestureType) case .failure(let error): showError(error) // see Errors }}Keep transactionId and use it in every following step.
Steps (controls)
Section titled “Steps (controls)”| Document | Method | controls |
|---|---|---|
| Turkish ID card | Camera | FRONT, BACK, HOLOGRAM, LIVENESS |
| Turkish ID card | NFC | FRONT, BACK, NFC, LIVENESS |
| Driving licence | Camera | FRONT, BACK, HOLOGRAM, LIVENESS |
| Passport | Camera | FRONT, LIVENESS |
| Passport | NFC | FRONT, NFC, LIVENESS |
idType values: IDCARD, OLDIDCARD, DRIVERCARD, PASSPORT, BLUECARD, FOREIGNID.
Hologram is available for the Turkish ID card and driving licence only. Add NFC only when the device can read NFC (see Installation).