SDK reference · Android SDK

Results

Every module in an onboarding flow reports its outcome to your IncodeWelcome.OnboardingListener. Most modules deliver a result object through a dedicated callback. A few modules only signal completion, using a no-argument callback or a Boolean callback.

This page lists every result and error object. The groups match the categories on Modules. For the full field list of a result type, go to its module page or API Reference.

Call IncodeWelcome.deleteUserLocalData(context) from onSuccess(), onError(Throwable), and onUserCancelled() after you finish a session to clean up local user data.


Result Delivery

Results arrive on the module's success callback, such as onIdProcessed(IdProcessResult). IncodeWelcome.OnboardingListener declares this callback. Some callbacks also appear on narrower listener interfaces, such as IdProcessListener and PhoneNumberListener.

ResultCode is the shared status most result objects carry, typically inherited from BaseResult. It reports the module's outcome, such as SUCCESS, ERROR, USER_CANCELLEDor EMULATOR_DETECTED. See ResultCode in API Reference.

Some modules do not return a result object. They signal completion with a no-argument callback, such as onUserConsentCompleted(), or a Boolean callback, such as onTaxIdValidationCompleted(boolean). When a related result type exists internally, the tables below name it so you can find its fields in API Reference, even though the type is never passed to your listener.


Error Delivery

Errors surface on the shared OnboardingListener.onError(Throwable) path. The throwable is a generic Throwable unless a module defines its own exception subtype. Each table's Module-Specific Errors section notes any exception types.

When a result object has an error field, that field carries the same failure cause for that step.


Collect Identity Data

Module Result Object Delivered Via
Document Scan DocumentValidationResult onDocumentValidationCompleted(DocumentType, DocumentValidationResult)
Dynamic Forms DynamicFormsResult onDynamicFormsCompleted(DynamicFormsResult)
Email EmailAddressResult onAddEmailCompleted(EmailAddressResult)
Geolocation GeolocationResult onGeolocationFetched(GeolocationResult); onGeolocationUnavailable(Throwable) when there is no fix
ID Info IdInfoResult onIdInfoCompleted(IdInfoResult)
ID Scan IdScanResult onIdFrontCompleted(IdScanResult) and onIdBackCompleted(IdScanResult)
Name NameResult onAddNameCompleted(NameResult)
NFC Scan NfcScanResult onNfcScanCompleted(NfcScanResult)
Phone PhoneNumberResult onAddPhoneCompleted(PhoneNumberResult)
QR Scan QRScanResult onQRScanCompleted(QRScanResult)
Selfie Scan SelfieScanResult onSelfieScanCompleted(SelfieScanResult)
Video Selfie VideoSelfieResult onVideoRecorded(VideoSelfieResult)

Module-Specific Errors

Unless noted below, a module's errors surface on the shared onError path.

  • Geolocation: On onGeolocationUnavailable, GeolocationUnavailableException fires if there is no fix. LocationPermissionDeniedException fires if the user denies permission.
  • NFC Scan: MissingNfcDependencyException, thrown when the nfc library dependency is absent.
  • QR Scan: QRCodeUploadException, thrown when Incode cannot upload the decoded code.
  • Video Selfie: VideoSelfieException subtypes: SelfieNotMatchedException, AudioNotMatchedException, FacesNotMatchedException, MaxVideoLengthReachedException, and VideoUploadException.

Verify and Authenticate

Module Result Object Delivered Via
Antifraud AntifraudResult onAntifraudCompleted(AntifraudResult)
CURP Validation CurpValidationResult onCurpValidationCompleted(CurpValidationResult)
Custom Watchlist CustomWatchlistResult onCustomWatchlistProcessed(CustomWatchlistResult)
eKYB (Electronic Know-Your-Business) EKYBResult onEKYBChecksCompleted(EKYBResult)
eKYC (Electronic Know-Your-Customer) EKYCResult onEKYCChecksCompleted(EKYCResult)
Face Authentication FaceAuthenticationResult onFaceAuthenticationCompleted(FaceAuthenticationResult)
Face Match FaceMatchResult onFaceMatchCompleted(FaceMatchResult)
Global Watchlist GlobalWatchlistResult onGlobalWatchlistProcessed(GlobalWatchlistResult)
Government Validation No payload. Related type: GovernmentValidationResult. onGovernmentValidationCompleted(boolean success)
Process ID IdProcessResult onIdProcessed(IdProcessResult)
Tax ID Validation No payload. Related type: TaxIdValidationResult. onTaxIdValidationCompleted(boolean isSuccess)

Module-Specific Errors

Unless noted below, a module's errors surface on the shared onError path.

  • Face Authentication: FaceAuthenticationException, carrying a FaceAuthenticationErrorCode, such as a detected spoof attempt.

These modules' errors surface on the shared onError path.

Module Result object Delivered via
AES (Advanced Electronic Signature) AESResult onAESCompleted(AESResult)
Combined Consent CombinedConsentResult onCombinedConsentCompleted(CombinedConsentResult)
Machine Learning Consent MachineLearningConsentResult onMachineLearningConsentCompleted(MachineLearningConsentResult)
QES (Qualified Electronic Signature) QESResult onQESCompleted(QESResult)
Signature SignatureFormResult onSignatureCollected(SignatureFormResult)
User Consent No payload. Related type: UserConsentResult. onUserConsentCompleted(), a no-argument callback. onUserCancelled() fires if the user declines.

Add Human-Assisted Verification

This module's errors surface on the shared onError path.

Module Result object Delivered via
Conference (Assisted Video) No payload. Related type: VideoConferenceResult. Not passed to the callback. onConferenceEnded(). Queue updates arrive through onQueuePositionChanged(int) and onEstimatedWaitingTime(int).

Configure the User Experience

This module's errors surface on the shared onError path.

Module Result object Delivered via
Custom Module No payload. CustomModuleListener.onCustomModuleStarted(callbackName, onCustomModuleCompleted). You return a CustomModuleStatus: OK, FAIL, WARN, or UNKNOWN.

Configure Android-Specific Experiences

These modules' errors surface on the shared onError path.

Module Result object Delivered via
Accept Video Selfie No payload. Related type: AcceptVideoSelfieResult. onUserAcceptedVideoSelfie(), a no-argument callback.
Approval ApproveResult onApproveCompleted(ApproveResult)
Captcha CaptchaResult onCaptchaCollected(CaptchaResult)
Intro No payload. onIntroCompleted(), a no-argument callback.
Results UserScoreResult onResultsShown(UserScoreResult)

Was this page helpful?