Skip to main content
This step retrieves profile and related information using the UID and consentToken returned after a successful journey. These values are used to call SDK methods to fetch user profile data after login, registrant details after event check-in, download the KYC certificate, and retrieve SDK capability information such as the installed SDK version. Ensure that a valid UID and consentToken are provided before calling these methods.

1. User Data (after login)

SDK.getUserDetails( 

    uId = uID.toString(), consentToken = consentToken, onlyPii = sdkManager.piiOnly 

) { result -> 

    //  ALWAYS switch to Main thread for UI 

    Log.e("getUserDetails : ", " Response: $result") 

    context.lifecycleScope.launch(Dispatchers.Main) { 

 

        when (result) {   

 is ApiFunctionsResult.Loading -> { 

                Log.e("getUserDetails", "Loading...") // show loading } 

            is ApiFunctionsResult.Success -> { // data  

                context.showLoader = false // hide loading 

                if (result.data != null) { 

                    val userDetails = Gson().fromJson(result.data.toString(), Customer::class.java) 

                   user(userDetails) 

                } else { 

                    val message = result.errors.safeErrorMessage() 

                    showMessage(context, message) 

                } 

            } 

              is ApiFunctionsResult.Failure -> {  context.showLoader = false // hide  

  Log.e("getUserDetails : ", "Failed : Response: ${result.errors?.toString()}") // show message to user }  } }} 

2. Registrant Data (after event check-in)

SDK. getRegistrantDetails( 

    uId = uID.toString(), consentToken = consentToken, onlyPii = sdkManager.piiOnly 

) { result -> 

    //  ALWAYS switch to Main thread for UI 

    Log.e(" getRegistrantDetails: ", " Response: $result") 

    context.lifecycleScope.launch(Dispatchers.Main) { 

 

        when (result) {   

 is ApiFunctionsResult.Loading -> { 

                Log.e(" getRegistrantDetails ", "Loading...") // show loading } 

            is ApiFunctionsResult.Success -> { // data  

                context.showLoader = false // hide loading 

                if (result.data != null) { 

                    val userDetails = Gson().fromJson(result.data.toString(), Customer::class.java) 

                   user(userDetails) 

                } else { 

                    val message = result.errors.safeErrorMessage() 

                    showMessage(context, message) 

                } 

            } 

              is ApiFunctionsResult.Failure -> {  context.showLoader = false // hide  

  Log.e(" getRegistrantDetails: ", "Failed : Response: ${result.errors?.toString()}") // show message to user }  } }} 

3. GetKycCertificate

SDK. getKycCertificate ( 
    uId = uID.toString(), consentToken = consentToken,evenetId=””) { result -> 
    //  ALWAYS switch to Main thread for UI 
    Log.e(" getRegistrantDetails: ", " Response: $result") 
    context.lifecycleScope.launch(Dispatchers.Main) { 
 
        when (result) {   
 is ApiFunctionsResult.Loading -> { 
                Log.e(" getKycCertificate ", "Loading...") // show loading } 
            is ApiFunctionsResult.Success -> { // data  
                context.showLoader = false // hide loading 
                if (result.data != null) { 
                    val userDetails = Gson().fromJson(result.data.toString(), Customer::class.java) 
                   user(userDetails) 
                } else { 
                    val message = result.errors.safeErrorMessage() 
                    showMessage(context, message) 
                } 
            } 
              is ApiFunctionsResult.Failure -> {  context.showLoader = false // hide  
  Log.e(" getKycCertificate: ", "Failed : Response: ${result.errors?.toString()}") // show message to user }  } }} 

4. Customer Status

QuePass.toggleCustomerStatus(
    eventId = null,
    uid = uid,
    status = customerStatus,/Inactive/Active
 
) { result ->
    Log.e("toggleCustomerStatus Response : ", Gson().toJson(result))
    Log.e("toggleCustomerStatus : ", "Failed : Response: $result")
    //  ALWAYS switch to Main thread for UI
    context.lifecycleScope.launch(Dispatchers.Main) {
        when (result) {
            is ApiFunctionsResult.Loading -> {
                Log.e("toggleCustomerStatus", "Loading...")
                context.showLoader = true
 
            }
 
            is ApiFunctionsResult.Success -> {
                context.showLoader = false
                Log.e("toggleCustomerStatus", "Success : Response : ${Gson().toJson(result)}")
              //  result.message?.let { showMessage(context, it) }
 
            }
 
            is ApiFunctionsResult.Failure -> {
                Log.e("toggleCustomerStatus : ", "Failed : Response: ${result.errors?.toString()}")
                context.showLoader = false
 
                val message = result.errors.safeErrorMessage()
                showMessage(context, message)
            }
 
 
        }
    }
}

5. Customer Life Cycle

QuePass.setCustomerLifeCycle(
    eventId = null,
    uid = uid,
    status = customerStatus, dateFrom =fromDate, dateTo = toDate // customerStatus = Inactive/Active
 
    ) { result ->
    //  ALWAYS switch to Main thread for UI
    Log.e("setCustomerLifeCycle : ", " Response: $result")
 
    context.lifecycleScope.launch(Dispatchers.Main) {
        when (result) {
            is ApiFunctionsResult.Loading -> {
                Log.e("setCustomerLifeCycle", "Loading...")
                context.showLoader = true
 
            }
 
            is ApiFunctionsResult.Success -> {
                context.showLoader = false
                Log.e("setCustomerLifeCycle", "Success : Response : ${Gson().toJson(result)}")
               // result.message?.let { showMessage(context, it) }
 
 
            }
 
            is ApiFunctionsResult.Failure -> {
 
                context.showLoader = false
 
                val message = result.errors.safeErrorMessage()
                showMessage(context, message)
            }
 
        }
    }
}
Ensure a valid UID and consentToken are provided before calling these methods.