Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.quepass.com/llms.txt

Use this file to discover all available pages before exploring further.

1. Function

val sdkConfigs = SDKConfigs(
    activeLivenessEnable = true/false,
    passiveLivenessEnable = true/false,
    kioskEnable = true/false
)
val sDKBuilder = SDKBuilder.builder()
    .sdkConfigs(sdkConfigs)
    .setDocumentNumber("xxx-xxxx-xxxxxxxx-x")
    .setEventID(selectedEventId)
    .setDocumentType("uid")
    .setAuthenticateForEvent(true/false)
    .setTicketType("ticketType")
    .setGovIntegration(true/false)
    .functionType(FunctionType.ON_BOARDING)
    .faceHandHandler { sdkResponse ->
        // handle sdk callback
    }
    .build()
 
Launcher.launch(sDKBuilder, context)

2. Required Parameters

JourneyRequired Parameters
OnboardingsdkConfigs, functionType
TransactionsdkConfigs, functionType, biometricType, uid
AuthenticationsdkConfigs, documentNumber, eventId, documentType, setAuthenticateForEvent, functionType
SearchsdkConfigs, functionType
Search Capturebase64Image, biometricType, govVerification, eventId
Get EventseventId, status
Event RegistrationsdkConfigs, eventId, ticketType, govVerification, functionType
Embedded View (KIOSK_MODE_CAMERA)sdkConfigs, documentNumber, eventId, documentType, setAuthenticateForEvent, functionType
ExpressVerificationsdkConfigs, identifierType, nationality, identifierNumber, functionType
ExpressOnboardingsdkConfigs, identifierType, nationality, identifierNumber, functionType

3. Journey Examples

1. Onboarding

Required Parameters

  • sdkConfigs (object) – Configuration settings for the SDK
  • functionType (enum) – Must be set to FunctionType.ON_BOARDING

Return Parameters

  • uid (string) – User identity
  • token (string) – Authentication token

Code Example

val sdkConfigs = SDKConfigs( 
    activeLiveness = true, 
    passiveLiveness = true, 
    kioskMode = false 
) 
val sdkBuilder = SDKBuilder.builder() 
    .sdkConfigs(sdkConfigs) 
    .functionType(FunctionType.ON_BOARDING) 
    .sdkGeneralHandler { response -> 
        if(response.code == 200){ 
            val uid = response.data?.jsonObject?.get("uid") 
            val token = response.data?.jsonObject?.get("token") 
        } 
    }.build() 
Launcher.launch(sdkBuilder, context) 

2. Transaction

Required Parameters

  • sdkConfigs (object) – Configuration settings for the SDK
  • functionType (enum) – Must be set to FunctionType.TRANSFER
  • biometricType (string) – Type of biometric data (e.g., "face")
  • uid (string) – User identity

Return Parameters

  • uid (string) – User identity
  • token (string) – Authentication token

Code Example

val sdkConfigs = SDKConfigs( 
    activeLiveness = true, 
    passiveLiveness = true, 
    kioskMode = false 
) 
val sdkBuilder = SDKBuilder.builder() 
    .functionType(FunctionType.TRANSFER) 
    .setBiometricType("face") 

   .sdkConfigs(sdkConfigs) 
    .setUiD(uid) 
    .sdkGeneralHandler { response -> 
        if(response.code == 200){ 
            // transaction verified 
        } 
    }.build() 
Launcher.launch(sdkBuilder, context)

3. Authentication

Required Parameters

  • sdkConfigs (object) – Configuration settings for the SDK
  • documentNumber (string) – Document number
  • eventId (string) – Unique identifier for the event
  • documentType (string) – Type of document
  • setAuthenticateForEvent (boolean) – Enable/disable event authentication
  • functionType (enum) – Must be set to FunctionType.BIOMETRIC_LOGIN

Return Parameters

  • uid (string) – User identity
  • token (string) – Authentication token

Code Example

val sdkConfigs = SDKConfigs( 
    activeLivenessEnable = sdkConfigManager.activeLiveness, 
    passiveLivenessEnable = sdkConfigManager.passiveLiveness, 
    kioskEnable = sdkConfigManager.kioskMode 
) 
val sdkBuilder = SDKBuilder.builder() 
    .sdkConfigs(sdkConfigs) 
    .setDocumentNumber(uiState.documentNumber) 
    .setEventID(selectedEventId) 
    .setDocumentType(uiState.documentType) 
    .setAuthenticateForEvent(true) 
    .functionType(FunctionType.BIOMETRIC_LOGIN) 
    .faceHandHandler { sdkResponse -> 
        if (sdkResponse.uID != null && sdkResponse.token != null) { 
            navController.navigateToRegistrantDetailsScreen( 
                uId = sdkResponse.uID!!, 
                selectedEventId, 
                consentToken = sdkResponse.token!! 
            ) 
        } else { 
            context.showMessage("${sdkResponse.message}") 
        } 
    }.build() 
Launcher.launch(sdkBuilder, context) 

Required Parameters

  • sdkConfigs (object) – Configuration settings for the SDK
  • functionType (enum) – Must be set to FunctionType.KIOSK_FACE

Return Parameters

  • uid (string) – User identity
  • token (string) – Authentication token

Code Example

val sdkConfigs = SDKConfigs(
    activeLivenessEnable = sdkConfigManager.activeLiveness,
    passiveLivenessEnable = sdkConfigManager.passiveLiveness,
    kioskEnable = sdkConfigManager.kioskMode
)
val sDKBuilder = SDKBuilder.builder()
    .sdkConfigs(sdkConfigs)
    .functionType(FunctionType.KIOSK_FACE)
    .faceHandHandler { sdkResponse ->
        Log.e("sdkResponse Customer Search", ": ${sdkResponse}")
        when {
            sdkResponse.uID != null && sdkResponse.token != null -> {
                val uID = sdkResponse.uID
                if (isNormal) navController.navigateToProfileDetailsScreen(uID = uID, consentToken = sdkResponse.token)
                else {
                    // perform action here
                }
            }
            sdkResponse.message != null -> showMessage(navController, message = sdkResponse.message)
        }
    }
    .build()
Launcher.launch(sDKBuilder, context)

5. Search Capture

Required Parameters

  • base64Image (string) – Base64 encoded image string
  • biometricType (string) – Type of biometric data
  • govVerification (boolean) – Government verification flag
  • eventId (string) – Unique identifier for the event

Return Parameters

  • uid (string) – User identity
  • token (string) – Authentication token

Code Example

SDK.faceCapture(base64Image = base64ImageString, biometricType = "face", govVerification = true/false, eventId = eventId) { result ->
    Log.e("faceCapture", "Response: $result")
    context.lifecycleScope.launch(Dispatchers.Main) {
        when(result) {
            is ApiFunctionsResult.Loading -> Log.e("faceCapture", "Loading...") // show loading
            is ApiFunctionsResult.Success -> {
                context.showLoader = false
                result.data?.let {
                    // perform action
                } ?: showMessage(context, result.errors.safeErrorMessage())
            }
            is ApiFunctionsResult.Failure -> {
                context.showLoader = false
                Log.e("faceCapture", "Failed: ${result.errors?.toString()}")
                // show message to user if needed
            }
        }
    }
}

6. Get Events

Required Parameters

  • eventId (string) – Event identifier (can be empty string)
  • status (string) – Event status (e.g., "Active")

Return Parameters

code (number) – HTTP status code indicating success (e.g., 200) data (array of objects) – List of events and related statistics:
  • eventDTO (object) – Event details:
    • eventId (string) – Unique identifier for the event
    • clientId (string) – Identifier for the client hosting the event
    • clientName (string) – Name of the client
    • name (string) – Event name
    • location (string) – Event location
    • description (string) – Event description
    • eventType (string) – Type of the event
    • maxEventCapacity (number) – Maximum number of participants allowed
    • isPermanent (boolean) – Indicates whether the event is permanent
    • activeFromDate (string) – Event start date (ISO datetime)
    • activeTillDate (string) – Event end date (ISO datetime)
    • durationInHours (number) – Event duration in hours
    • ticketsConfigurationStandard (object) – Standard ticket configuration:
      • type (string) – Ticket type
      • maxTicketCapacity (number) – Maximum tickets available for this type
      • price (number) – Ticket price
      • accessType (string) – Access type for ticket
      • isPermanent (boolean) – Indicates whether ticket is permanent
      • activeFrom (string) – Ticket validity start (ISO datetime)
      • activeTill (string) – Ticket validity end (ISO datetime)
    • ticketsConfigurationVIP (object|null) – VIP ticket configuration or null
    • contact (object) – Event contact details:
      • name (string|null) – Contact person name
      • email (string|null) – Contact email
      • phone (string|null) – Contact phone number
      • role (string|null) – Contact role
    • contactPerson (object) – Additional contact person details (same fields as contact)
    • createdby (string) – User who created the event
    • createdAt (string) – Event creation timestamp (ISO datetime)
    • lastUpdatedAt (string) – Last update timestamp (ISO datetime)
    • totalRegistrants (number) – Total number of registrants
    • status (string) – Current status of the event
  • stats (object) – Event statistics:
    • totalRegistrants (number) – Total registrants for the event
    • totalStandardRegistered (number) – Number of standard ticket registrants
    • totalVIPRegistered (number) – Number of VIP ticket registrants
    • totalCheckedIn (number) – Number of participants checked in
errors (array|null) – List of errors if any occurred, otherwise null

Code Example

SDK.getEvents(eventId = "", status = "Active") { result ->
    Log.e("getEvents", "Response: $result")
    context.lifecycleScope.launch(Dispatchers.Main) {
        when(result) {
            is ApiFunctionsResult.Loading -> Log.e("getEvents", "Loading...") // show loading
            is ApiFunctionsResult.Success -> {
                context.showLoader = false
                result.data?.let {
                    // perform action
                } ?: showMessage(context, result.errors.safeErrorMessage())
            }
            is ApiFunctionsResult.Failure -> {
                context.showLoader = false
                Log.e("getEvents", "Failed: ${result.errors?.toString()}")
                // show message to user if needed
            }
        }
    }
}

7. Event Registration

Required Parameters

  • sdkConfigs (object) – Configuration settings
  • eventId (string) – Unique identifier for the event
  • ticketType (string) – Ticket type
  • govVerification (boolean) – Government integration flag
  • functionType (enum) – Must be set to FunctionType.REGISTER_EVENT_BY_QR

Return Parameters

  • uid (string) – User identity
  • token (string) – Authentication token
  • payload (object) – Encrypted QR/Event payload data
    • data (string) – Encrypted payload data (Base64 encoded)
    • signature (string) – Digital signature for payload verification

Code Example

val sdkConfigs = SDKConfigs(
    activeLivenessEnable = sdkConfigManager.activeLiveness,
    passiveLivenessEnable = sdkConfigManager.passiveLiveness,
    kioskEnable = sdkConfigManager.kioskMode
)

val sDKBuilder = SDKBuilder.builder()
    .sdkConfigs(sdkConfigs)
    .setEventID(eventId)
    .setTicketType(ticketType)
    .setGovIntegration(sdkConfigManager.govVerification)
    .functionType(FunctionType.REGISTER_EVENT_BY_QR)
    .sdkGeneralHandler { sdkResponse ->
        Log.e("sdkResponse:", "$sdkResponse")
        Log.e("eventQrRegistration:", "$sdkResponse")
        if (sdkResponse.code == 200) {
            val qrResponse = Json.decodeFromJsonElement<QrResponse>(sdkResponse.data!!)
            val payloadData = qrResponse.payload?.data
            val payloadSignature = qrResponse.payload?.signature
            val uid = qrResponse.uid
        } else {
            showMessage(navController, message = sdkResponse.errors.safeErrorMessage())
        }
    }
    .build()

Launcher.launch(sDKBuilder, context)

8. Embedded View (KioskMode/EnventBiometricCheckin

Required Parameters

  • sdkConfigs (object) – Configuration settings
  • documentNumber (string) – Document number
  • eventId (string) – Unique identifier for the event
  • documentType (string) – Type of document
  • setAuthenticateForEvent (boolean) – Event check-in flag
  • functionType (enum) – Must be set to FunctionType.KIOSK_MODE_CAMERA

Return Parameters

  • uid (string) – User identity
  • token (string) – Authentication token

Code Example

val sDKBuilder = SDKBuilder.builder()
    .sdkConfigs(sdkConfigs)
    .setDocumentNumber(documentNumberForApi)
    .setEventID(selectedEventId)
    .setDocumentType(uiState.documentType)
    .setAuthenticateForEvent(true) // for event check-in: true, normal login: false
    .functionType(FunctionType.KIOSK_MODE_CAMERA)
    .faceHandHandler { sdkResponse ->
        Log.e("BIOMETRIC_LOGIN_Event", "$sdkResponse")
        if (sdkResponse.uID != null && sdkResponse.token != null) {
            navController.navigateToRegistrantDetailsScreen(
                uId = sdkResponse.uID!!,
                eventId = selectedEventId,
                consentToken = sdkResponse.token!!
            )
        } else {
            val message = sdkResponse.message ?: "Unable to check-in please try again"
            showMessage(navController = navController, message = message)
        }
    }
    .build()

Launcher.launch(sDKBuilder, context)

9. ExpressVerfication

Required Parameters

  • sdkConfigs (object) – Configuration settings
  • identifierType (string) – Type of identifier
  • nationality (string) – User nationality
  • identifierNumber (string) – Identifier number
  • functionType (enum) – Must be set to FunctionType.EXPRESS_VERIFICATION

Return Parameters

  • uid (string) – User identity
  • token (string) – Authentication token

Code Example

val sdkConfigManager = (context as MainActivity).sdkConfigManager
val sdkConfigs = SDKConfigs(activeLivenessEnable = sdkConfigManager.activeLiveness, passiveLivenessEnable = sdkConfigManager.passiveLiveness, kioskEnable = sdkConfigManager.kioskMode)
val quepassBuilder = QuepassBuilder.builder()
    .sdkConfigs(sdkConfigs)
    .setManualEntryParams(identifierType=identifierType,nationality=nationality,identifierNumber=identifierNumber)
    .functionType(FunctionType.EXPRESS_VERIFICATION)
    .sdkGeneralHandler { sdkResponse ->
        if (sdkResponse.code == 200) {
            val uid = sdkResponse.data?.jsonObject?.get("uid")?.jsonPrimitive?.contentOrNull
            val token = sdkResponse.data?.jsonObject?.get("token")?.jsonPrimitive?.contentOrNull
                             // Example: Home screen, dashboard, etc.
                              Log.e("uid:  →", "  $uid")
                       if (uid!=null && token!=null){
                      navController.navigateToUserDetailsScreen(uID = uid, consentToken = token)
                       }
 
                  } else {
                       Toast.makeText(context,"${sdkResponse.errors}", Toast.LENGTH_LONG).show()
                       Log.e("Failure → sdkResponse : "," ${sdkResponse.errors}")
                      }
                      } .build()
 
                         //  Launch QuePass Activity
                       Launcher.launch(
                          quepassBuilder,
                              context
                                )

10. ExpressOnboarding

Required Parameters

  • sdkConfigs (object) – Configuration settings
  • identifierType (string) – Type of identifier
  • nationality (string) – User nationality
  • identifierNumber (string) – Identifier number
  • functionType (enum) – Must be set to FunctionType.EXPRESS_ONBOARDING

Return Parameters

  • uid (string) – User identity
  • token (string) – Authentication token

Code Example

val sdkConfigManager = (context as MainActivity).sdkConfigManager
val sdkConfigs = SDKConfigs(activeLivenessEnable = sdkConfigManager.activeLiveness, passiveLivenessEnable = sdkConfigManager.passiveLiveness, kioskEnable = sdkConfigManager.kioskMode)
val quepassBuilder = QuepassBuilder.builder()
    .sdkConfigs(sdkConfigs)
    .setManualEntryParams(identifierType=identifierType,nationality=nationality,identifierNumber=identifierNumber)
    .functionType(FunctionType.EXPRESS_ONBOARDING)
    .sdkGeneralHandler { sdkResponse ->
        if (sdkResponse.code == 200) {
            val uid = sdkResponse.data?.jsonObject?.get("uid")?.jsonPrimitive?.contentOrNull
            val token = sdkResponse.data?.jsonObject?.get("token")?.jsonPrimitive?.contentOrNull
                             // Example: Home screen, dashboard, etc.
                              Log.e("uid:  →", "  $uid")
                       if (uid!=null && token!=null){
                      navController.navigateToUserDetailsScreen(uID = uid, consentToken = token)
                       }
 
                  } else {
                       Toast.makeText(context,"${sdkResponse.errors}", Toast.LENGTH_LONG).show()
                       Log.e("Failure → sdkResponse : "," ${sdkResponse.errors}")
                      }
                      } .build()
 
                         //  Launch QuePass Activity
                       Launcher.launch(
                          quepassBuilder,
                              context
                                )