Modules
All the modules supported by the SDK are listed here, with their configuration parameters.
Phone
Ask the user to enter a phone number.
defaultRegionPrefix(optional): int?. Default region prefix for phone input. If set, will override the current default prefix based on the user's device region selection.otpVerificationEnabled(optional): bool?
FullName
Ask the user to enter a name.
- No additional parameters
Email
Ask the user to enter an email.
otpVerificationEnabled(optional): bool?
IdScan
Ask the user to capture ID or Passport.
showTutorials(optional, defaults totrue): bool?idType(optional):IdType.idorIdType.passport. If omitted, the app will display a chooser to the user.idCategory(optional):IdCategory.primaryorIdCategory.secondaryscanStep(otpional): If you wish to separate front and back ID scan, specifyScanStepType.frontorScanStepType.back.ScanStepType.bothis the default and will capture both front and back of the ID, and process the ID afterwards. If you specifyScanStepType.frontorScanStepType.backyou will have to addProcessIdmodule after the captures.showRetakeScreenForManualCapture(optional, defaults totrue): bool? - Specifyfalseto ommit the photo review screen for manual captures.showRetakeScreenForAutoCapture(optional, defaults tofalse): bool? - Specifytrueto show photo review screen for auto captures.enableFrontShownAsBackCheck(optional, defaults tofalse): bool? - Specifytrueto show realtime feedback to the user during back ID capture that he should capture the other side of the IDenableBackShownAsFrontCheck(optional, defaults tofalse): bool? - Specifytrueto show realtime feedback to the user during front ID capture that he should capture the other side of the IDenableRotationOnRetakeScreen(optional, defaults totrue): bool? - Specifyfalseto disable capture image rotation when user enters photo review screen.(deprecated, optional, defaults toautocaptureUxModeIdScanAutocaptureUXMode.holdStill) - This parameter won’t apply in V2, but it is applied in V1. SpecifyIdScanAutocaptureUXMode.countdownto introduce 3-2-1 timer before ID is auto captured.showIDOverlay(optional, defaults tofalse): bool? - Specifytrueto show the ID overlay during ID capture.autoCaptureBestFrameTimeout(optional, defaults to 25) - Timer that starts when ID is detected for the first time, defaults to 25 seconds. Manual capture mode will be activated If ID isn't auto-captured successfully before time runs out.autoCaptureNoIdTimeout(optional, defaults to 60) - Timer that starts when ID scan auto-capture starts, defaults to 60 seconds. Manual capture mode will be activated if no ID is detected before time runs out.streamFrames(optional, defaults to false): boolean. Enables/disables streaming of the camera feed. It requires SDK-vcvariant.showIdTypeChooser(optional): bool?. If set totrue, the ID type chooser screen will be displayed to the user, allowing them to select their ID type before scanning.
ProcessId
Process the ID in case IdScan was separated to front and back captures (if ScanStepType.front or ScanStepType.back were specified as scanStep for IdScan module) .
idCategory(optional):IdCategory.primaryorIdCategory.secondary(deprecated, optional, defaults toenableIdSummaryScreentrue): bool? - This parameter won’t apply in V2, but it is applied in V1. Specifyfalseto disable ID capture summary screen.- Note: Please make sure to call this module only after the both
ScanStepType.frontandScanStepType.backIdScans are completed.
SelfieScan
Ask the user to capture a selfie.
showTutorials(optional, defaults totrue): bool?lensesCheck(optional, defaults totrue): bool?. Performs check if user is wearing glasses during Selfie Scan.cameraFacing(optional, defaults toIdScanCameraFacing.front): Specifies which camera will be used during Selfie capture. To use back camera instead, setIdScanCameraFacing.back.faceMaskCheck(optional, defaults totrue): bool?. This checks if a person has a face mask on.streamFrames(optional, defaults to false): boolean. Enables/disables streaming of the camera feed. It requires SDK-vcvariant.
FaceMatch
Perform a face match between captured ID and Selfie.
idCategory(optional, defaults toprimary):IdCategory.primaryor `IdCategory.secondaryfaceMatchType(optional):FaceMatchType.idSelfie,FaceMatchType.nfcSelfieorFaceMatchType.nfc3WayshowUserExists(optional, defaults totrue): boolean- Note: has to be specified after IDScan and SelfieScan modules.
Geolocation
Get the information about the users current location.
isSkippable- (optional, defaults tofalse): bool. Allows the geolocation step to be skipped. When set totrue, skipping or denying location permission advances the flow instead of ending the session with a permission error.
GovernmentValidation
Perform government validation of the ID.
isBackgroundExecuted- (optional, defaults tofalse): bool?. Specify true to hide the module UI during its execution.
VideoSelfie
Records the device's screen while the user needs to do a selfie, show his ID, answer a couple of questions and verbally confirms that he accept the terms and conditions. The recorded video is then uploaded and stored for later usage.
showTutorials(optional, defaults totrue): bool?. Show tutorial for video selfie.selfieScanMode(optional, defaults toselfieMatch):SelfieScanMode.selfieMatchorSelfieScanMode.faceMatch; Specify if you would like to do selfie comparison, or comparison with the photo from ID.selfieLivenessCheck(optional, defaults tofalse): bool?. Check for user liveness during video selfie.enableFrontShownAsBackCheck(optional, defaults tofalse): bool? - Specifytrueto show realtime feedback to the user during back ID capture that he should capture the other side of the IDenableBackShownAsFrontCheck(optional, defaults tofalse): bool? - Specifytrueto show realtime feedback to the user during front ID capture that he should capture the other side of the IDshowIdScan(optional, defaults totrue): bool?. Ask for ID scan during video selfie.showDocumentScan(optional, defaults totrue): bool?. Ask for Proof of Address during video selfieshowVoiceConsent(optional, defaults totrue): bool?. Ask for Voice consent during video selfievoiceConsentQuestionsCount(optional, defaults to3): int?. Choose number of questions for video selfie voice consent steps.showRandomQuestions(optional): bool?.randomQuestionsCount(optional): int?.idScanCameraFacing(optional, defaults toback):IdScanCameraFacing.frontorIdScanCameraFacing.back; Specify if you would like to use front or back camera for ID scan
UserScore
Shows the info and scoring for all the steps performed.
mode(optional, defaults toaccurate):UserScoreFetchMode.accurateorUserScoreFetchMode.fast. Ifaccuratethe results will be fetched from server, which may exhibit some latency, but will rely on server-side processing of information, which may be more reliable than on-device processing. Iffast, then results based on on-device processing will be shown.
Approve
Based on a score approves the current onboarding session and adds the user to the omni database.
forceApproval(optional, defaults tofalse): bool? - iftruethe user will be force-approved
Signature
Ask the user to draw a signature.
title: (optional) string - Adds optional title to the top of the screen. Contains value of the title string keydescription: (optional) string - Adds optional description below the title. Contains value of the description string key
DocumentScan
Ask the user to capture a document.
showTutorials(optional, defaults totrue): bool?. Show tutorial for document scan.showDocumentProviderOptions(optional, defaults tofalse).documentType(optional, defaults toDocumentType.addressStatement).
Captcha
Ask the user to complete CAPTCHA.
- no additional parameters
CURP
Validate user's curp from the ID.
- no additional parameters
OCREdit
Review OCR data.
isEditable(optional): defaults tofalse: bool?
EKYB
Enables a KYB validation step with the business information and an optional source for this information including: business name, addresses, city, state, postal code and bank account number.
checkBusinessName(optional): defaults totrue: bool?checkAddress(optional): defaults totrue: bool?checkTaxId(optional): defaults totrue: bool?
EKYC
Enables a KYC validation step with the user's information and an optional source for this information including: data obtained from the id, proof of address, or a manual capture.
checkName(optional): defaults totrue: bool?checkEmail(optional): defaults totrue: bool?checkAddress(optional): defaults totrue: bool?checkPhone(optional): defaults totrue: bool?checkSsn(optional): defaults totrue: bool?checkDob(optional): defaults totrue: bool?checkNationality(optional): defaults totrue: bool?
MLConsent
Ask the user for Machine Learning consent.
type(required):MLConsentType.gdprorMLConsentType.us
UserConsent
Ask the user for User consent.
title: String, title for user consentcontent: String, content for user consent
CombinedConsent
Ask the user for Data sharing consent.
consentId: String, id for combined consent
QRScan
Ask the user for QR scan.
showTutorials(optional, defaults totrue): bool?. Show tutorial for QR scan.
Antifraud
Gives ability to compare current interview with existing interviews and customers, detecting anomalies that could be signs of fraud.
- no additional parameters
GlobalWatchlist
This module checks customer identities against sources of Sanctions, Politically Exposed Persons (PEPs), & Watchlists.
- no additional parameters
CustomWatchlist
This module checks if the user is present inside Incode's watchlist. The watchlist is configured in Incode's dashboard.
- no additional parameters
Aes
This module enables an advanced electronic signature to ensure legally binding and compliant document signing with enhanced security and authentication measures.
uploadDocument(optional, defaults tofalse): bool?.downloadDocument(optional, defaults tofalse): bool?.
NFCScan
Ask the user to scan the NFC chip on their document.
idType(optional):IdType.idorIdType.passport. Id Type which should be used for NFC scanning. If nothing is set, Id Type will be reused if ID Scan module is enabled. If not, ID chooser screen will be presented so user can choose ID type for NFC scanning.showNFCSymbolConfirmationScreen(optional): defaults totrue: bool? If true, a screen asking the user if their document contains an NFC chip will be shown. If disabled, it's recommended to handle this case yourself to prevent a user without an NFC symbol on their passport from getting stuck.showInitialDataConfirmationScreen(optional): defaults totrue: bool? If true, Document OCR data confirmation screen will be shown before the first NFC scan.processNFCData(optional): defaults totrue: bool? If true, the data read from the NFC chip will be used to validate identity. How it's used depends on how the FaceMatch module is configured.
FaceAuthentication
Performs a selfie scan to authenticate the user as part of the flow or a workflow.
showTutorials(optional): defaults totrue: bool? If true, a tutorial screen will be shown before starting face authentication.autoCaptureTimeout(optional): defaults to16: number? Timeout in seconds for automatic face capture. If not set, the default timeout will be used.captureAttempts(optional): defaults to3: number? Number of allowed face capture attempts before failing the step.eyesClosedCheck(optional): defaults totrue: bool? If true, the SDK will check if the user's eyes are closed during authentication.headCoverCheck(optional): defaults totrue: bool? If true, the SDK will check for head coverings that may obstruct face recognition.lensesCheck(optional): defaults totrue: bool? If true, the SDK will check if the user is wearing lenses glasses.faceMaskCheck(optional): defaults totrue: bool? If true, the SDK will check if the user is wearing a face mask.
Modules interdependencies
ProcessIdmodule expectsIdScanbothScanStepType.frontorScanStepType.backto have executed.FaceMatchmodule expectsIdScanandSelfieScanto have executed, in order to perform the match. In other words,IdScanandSelfieScanmust precedeFaceMatch.VideoSelfiemodule expectsIdScaninfaceMatchmode, orSelfieScaninselfieMatchmode.UserScoremodule should succeed all other modules (must be at the end).Approvemodule should succeed all other modules (must be at the end).- The
UserScoreandApprovemodules do not depend on each other, so their order can be arbitrary. Aesmodule expectsPhone,IdScanandSelfieScanto precede it.
