Results

API Results

setupOnboardingSession

Success callback receives an object containing the created session identifiers:

{
  interviewId: "string", // the session id
  token: "string"        // the session token
}

startOnboarding

Success callback receives the aggregated result of the executed flow — a top-level object with a status plus the per-module result keys.

startOnboardingSection

Success callback receives a top-level object:

{
  status: "success",            // "success" | "userCancelled"
  sectionTag: "your-tag",       // the value of the sectionTag parameter you passed
  // ...plus one key per module that ran
}

getUserScore

Success callback receives the full score JSON object with identity verification scores. This is passed through directly from the Incode API. Pass "fast" or "accurate" as the mode.

cordova.exec(
  function (winParam) {
    console.log("Score:", JSON.stringify(winParam));
  },
  function (err) { console.log("Error:", err); },
  "Cplugin",
  "getUserScore",
  ["fast"]
);

finishOnboarding

Success callback indicates the session was finalized successfully. No structured payload is required for normal flow control.

startFaceLogin

faceMatch (non-UI)

Success callback receives the face match result.

isInitialized

Success callback receives a boolean: true if the native SDK is fully initialized, false otherwise.

cordova.exec(
  function (isInitialized) { console.log("Initialized:", isInitialized); },
  function (err) { console.log("Error:", err); },
  "Cplugin",
  "isInitialized",
  []
);

Module Results

Each module contributes a key to the startOnboardingSection / startOnboarding result object.

phoneData

From addPhone.

{ phone: "+1234567890" }

emailData

From addEmail.

{
  email: "user@example.com",
  status: "success" // "success" | "fail"
}

geoLocationData

From addGeolocation.

{
  addressFields: {
    city: "string",
    colony: "string",
    postalCode: "string",
    street: "string",
    state: "string"
  }
}

userConsentData

From addUserConsent.

{ status: true } // boolean

frontIdData / backIdData

From addId.

{
  status: "ok",              // see status values below
  image: "<base64String>",   // base64-encoded image
  classifiedIdType: "ID",    // classified document type, e.g. "ID"
  idCategory: "primary",     // "primary" | "secondary"
  chosenIdType: "id",        // "id" | "passport"
  allAttemptsExhausted: false // true when no more retries available
}

status values:

Value Meaning
ok Capture succeeded
unknown Unknown error
errorClassification Document classification failed
errorGlare Glare detected
errorSharpness Image not sharp enough
errorReadability Document not readable
errorInCapture Capture error (iOS)
errorUnacceptableID ID not acceptable (iOS)
wrongSide Wrong document side shown (iOS)

processIdData

From addId. (added automatically via processId).

{
  extendedOcrData: "<jsonString>", // raw JSON string with full OCR data
  data: {
    address: {
      city: "string",
      colony: "string",
      postalCode: "string",
      street: "string",
      state: "string"
    },
    fullAddress: "string",
    birthDate: 0,        // Unix timestamp in milliseconds
    expirationDate: 0,   // Unix timestamp
    gender: "string",
    name: "string",
    issueDate: 0,        // Unix timestamp
    numeroEmisionCredencial: "string"
  }
}

selfieData

From addSelfieScan.

{
  status: "success",          // "success" | error strings
  image: "<base64String>",    // base64-encoded selfie
  spoofAttempt: false,
  allAttemptsExhausted: false // added 4.4.0
}

faceMatchData

From addFaceMatch and the non-UI faceMatch.

{
  status: "match",              // "match" | "mismatch"
  confidence: 0.99,             // 0–1 match confidence
  existingUser: true,           // whether this is a returning user
  existingInterviewId: "",      // interview ID of the existing user if found
  isFaceMatched: true,
  isNameMatched: true,
  idCategory: "primary",        // "primary" | "secondary"
  nfcVsIdConfidence: 0,         // NFC vs ID face confidence (NFC flows only)
  nfcVsSelfieConfidence: 0      // NFC vs selfie confidence (NFC flows only)
}

signatureData

From addSignature (formerly signaturePath).

{ status: "string" }

documentData

From addDocumentScan.

{
  type: "addressStatement", // "addressStatement" | "medicalDoc" | "paymentProof" | "otherDocument1" | "otherDocument2" | "otherDocument3"
  image: "<base64String>",
  address: {
    city: "string",
    colony: "string",
    postalCode: "string",
    street: "string",
    state: "string"
  },
  data: "<rawData>"
}

govresult

From addGovernmentValidation.

{ status: true } // boolean

approveData

From the non-UI approve module.

{
  status: "approved",       // "approved" | "declined" | "error"
  id: "<uuid>",             // session UUID
  customerToken: "<token>"  // customer token
}

nfcData

From addNFC. All MRZ/chip fields are extracted from the document chip.

{
  birthDate: "",
  compositeCheckDigit: "",
  dateOfBirthCheckDigit: "",
  documentCode: "",
  documentNumber: "",
  documentNumberCheckDigit: "",
  expirationDateCheckDigit: "",
  expireAt: "",
  gender: "",
  issuingStateOrOrganization: "",
  nationality: "",
  optionalData1: "",
  optionalData2: "",
  personalNumber: "",
  personalNumberCheckDigit: "",
  primaryIdentifier: "",
  secondaryIdentifier: "",
  status: true // boolean
}

videoSelfieData

From addVideoSelfie.

{ status: true } // boolean: true = success, false = failed

machineLearningConsentData

From addMachineLearningConsent.

{ status: true } // boolean: true = consent given successfully

antifraudData

From addAntifraud.

{ status: true } // boolean: true = antifraud check passed

eKYC

From addEKYC. Note: the result key is eKYC, not eKYCData.

{ status: true } // boolean: true = eKYC checks passed

curpData

From CURPValidation.

{
  status: "success",  // "success" | error message string
  curp: "string",     // validated CURP code
  data: any           // raw CURP data from the validation service
}

faceAuthenticationData

From addFaceAuthentication.

{
  status: "success",              // "success" | "fail"
  customerUUID: "string",         // UUID of the authenticated customer
  selfieBase64: "string",         // base64-encoded selfie image
  selfieEncryptedBase64: "string", // E2EE-encrypted selfie (when E2EE is enabled)
  error: null                     // null on success; typed string on failure
}

selfieAttemptData

Intermediate result emitted after each selfie capture attempt (before the module completes). Same shape as selfieData. Only populated when a capture attempt is made but the module hasn't finished yet.