Setting Up
eSign SDK Setup Guide
10min
introduction signzy fascilitates digital signing via native mobile application by providing neat sdk discussed in this document all types of signature method are supported such as aadhaar esigning using otp, fingerprint or faceauth, smart esigning and clickwrap the utilization of aadhaar esign with face authentication is exclusive to a native mobile application on a mobile device this functionality is not supported on desktops/laptops through web based workflows additionally, it will not operate on a mobile device when accessed via a web based workflow as of now, aadhaar esign with face authentication is compatible exclusively with android mobile devices ios, windows, or any other operating systems on mobile devices do not currently support this feature if you require assistance in setting up the service or have any questions, please contact our helpdesk at help\@signzy com or reach out to your designated customer success manager (csm) setup guide here is a step by step process to use contract360 esigning sdk step 1 utilize the " initiate contract api " to create the contract step 2 upon generation of the contract through the api, the output will include the signer id step 3 invoke signzy's esign sdk by utilizing this signer id signzy's esign sdk integration steps signzy's esignsdk is a versatile and powerful software development kit designed specifically for android applications by seamlessly integrating esignsdk, developers can enhance their apps with the ability to facilitate electronic contract signings, ensuring both security and convenience to integrate the android archive( aar) file in any android application following steps need to be followed step 1 copy the esignsdk (env) release aar file to app/libs/ for testing in preproduction envrionment, use the esignsdk preproduction release aar for production envrionment, use the esignsdk production release aar links for both the files are provided below you can download them https //archbee doc uploads s3 amazonaws com/qsngjc2nddmtfgm rfzkg otfjpo7ibjtk1vlqhxeou 20241125 084658 aar https //archbee doc uploads s3 amazonaws com/qsngjc2nddmtfgm rfzkg lb7m2l8ucbdh4z1olbnle 20241125 135155 aar to utilize aadhaar esign with face authentication, y ou must install the face rd mobile application, provided by uidai, to capture facial data and perform face matching with uidai's records the face rd app for preproduction can be downloaded from https //persist signzy tech/api/files/1072634333/download/7a617853417b49ec9b7eca3c6cc58c4cea00ec756a0b4506af11d15c6ac79c7d apk https //persist signzy tech/api/files/1072634333/download/7a617853417b49ec9b7eca3c6cc58c4cea00ec756a0b4506af11d15c6ac79c7d apk if you are having issues while downloading this file, please get in touch with your csm and they will provide you with the application the face rd app for production can be downloaded from google playstore https //play google com/store/apps/details?id=in gov uidai facerd\&hl=en in\&gl=us\&pli=1 https //play google com/store/apps/details?id=in gov uidai facerd\&hl=en in\&gl=us\&pli=1 to utilize aadhaar esign using fingerprint, you must connect and configure the certified biometric device to your mobile/desktop device for more information regarding the biometric devices and steps to configure, go to biometric device setup guide step 2 in settings gradle add the following to support jitpack io dependencyresolutionmanagement { repositoriesmode set(repositoriesmode fail on project repos) repositories { //other deps maven{ url 'https //jitpack io' } } } step 3 import dependencies in app level build gradle add following dependencies implementation(files("libs/esignsdk (env) aar")) preproductionimplementation 'com github signzy esign sdk\ nsdluat 1 0 9' productionimplementation 'com github signzy esign sdk\ nsdl 1 0 9' compileonly 'com github signzy esign sdk\ vsign 1 0 7' implementation 'com github signzy esign sdk\ cdsl 1 0 10' implementation 'com github signzy esign sdk\ cdslhelper 1 0 7' implementation 'androidx core\ core ktx 1 7 0' implementation 'androidx appcompat\ appcompat 1 6 1' implementation 'com google android material\ material 1 9 0' implementation 'androidx constraintlayout\ constraintlayout 2 1 4' testimplementation 'junit\ junit 4 13 2' androidtestimplementation 'androidx test ext\ junit 1 1 5' androidtestimplementation 'androidx test espresso\ espresso core 3 5 1' implementation 'androidx webkit\ webkit 1 12 1' implementation "com squareup retrofit2\ retrofit 2 9 0" implementation 'com squareup retrofit2\ converter gson 2 9 0' implementation "com squareup okhttp3\ logging interceptor 4 5 0" implementation 'com google code gson\ gson 2 10 1' implementation 'com android volley\ volley 1 2 1' implementation 'com scottyab\ rootbeer lib 0 1 0' implementation 'com squareup okhttp3\ okhttp 5 0 0 alpha 7' implementation group 'javax xml stream', name 'stax api', version '1 0 2' step 4 invoke sdk to invoke the sdk, use the startactivityforresult function with the signzycontract360activity the sdk requires string parameters as input, which are already defined as string constants in signzycontract360activity required input parameter contract360 signer id this represents the signer id, which you receive from the initiate contract api val appstartintent = intent( this, signzycontract360activity class java ) putextra(signzycontract360activity contract360 signer id, signerid) startactivityforresult(appstartintent, 100) step 5 watch for result below are the constants available in signzycontract360activity contract360 signed pdf url url of the signed pdf document generated after successful transaction contract360 success message a message indicating the success of the transaction contract360 redirect url a url to redirect the user after the transaction is completed contract360 error message provides the error message in case of a failure contract360 transaction id a unique identifier or code representing the transaction contract360 warn reason the reason for a warning issued during the transaction contract360 warn message a message indicating a warning during the transaction override fun onactivityresult(requestcode int, resultcode int, data intent?) { super onactivityresult(requestcode, resultcode, data) if(requestcode == 100) { if (resultcode == activity result ok) { val signedpdf = data? getstringextra(signzycontract360activity contract360 signed pdf url) val successmessage = data? getstringextra(signzycontract360activity contract360 success message) val redirecturl = data? getstringextra(signzycontract360activity contract360 redirect url) } else if (resultcode == activity result canceled) { val errmsg = data? getstringextra(signzycontract360activity contract360 error message) val transactionid = data? getstringextra(signzycontract360activity contract360 transaction id) val redirecturl = data? getstringextra(signzycontract360activity contract360 redirect url) } else { val wanrreason = data? getstringextra(signzycontract360activity contract360 warn reason) val warnmessage = data? getstringextra(signzycontract360activity contract360 warn message) } } }