Class DocuPass
DocuPass identity verification solution, simply send your user a verification link to start DIY identity verification, or embed DocuPass inside your website and mobile app.
Inheritance
Inherited Members
Namespace: IDAnalyzer
Assembly: IDAnalyzer.dll
Syntax
public class DocuPass
Constructors
| Improve this Doc View SourceDocuPass(String, String, String)
Initialize DocuPass API with an API key, company name and optional region (US, EU)
Declaration
public DocuPass(string apikey, string companyName = "Your Company Name", string region = "US")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | apikey | You API key |
| System.String | companyName | Your company name |
| System.String | region | US/EU |
Methods
| Improve this Doc View SourceCreateIframe()
Create a DocuPass session for embedding in web page as iframe
Declaration
public Task<JObject> CreateIframe()
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task<Newtonsoft.Json.Linq.JObject> | DocuPass API response |
CreateLiveMobile()
Create a DocuPass Live Mobile verification session for users to open on mobile phone
Declaration
public Task<JObject> CreateLiveMobile()
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task<Newtonsoft.Json.Linq.JObject> | DocuPass API response |
CreateMobile()
Create a DocuPass session for users to open on mobile phone, or embedding in mobile app
Declaration
public Task<JObject> CreateMobile()
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task<Newtonsoft.Json.Linq.JObject> | DocuPass API response |
CreateRedirection()
Create a DocuPass session for users to open in any browser
Declaration
public Task<JObject> CreateRedirection()
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task<Newtonsoft.Json.Linq.JObject> | DocuPass API response |
CreateSignature(String, String, Object)
Create a DocuPass signature session for user to review and sign legal document without identity verification
Declaration
public Task<JObject> CreateSignature(string templateId, string format = "PDF", dynamic prefillData = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | templateId | Contract Template ID displayed under web portal |
| System.String | format | Output file format: PDF, DOCX or HTML |
| System.Object | prefillData | Hashtable or JSON string, to autofill dynamic fields in contract template. |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task<Newtonsoft.Json.Linq.JObject> |
EnableAMLCheck(Boolean)
Check document holder's name and document number against ID Analyzer AML Database for sanctions, crimes and PEPs.
Declaration
public void EnableAMLCheck(bool enabled = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | enabled | Enable or disable AML check |
EnableAMLStrictMatch(Boolean)
By default, entities with identical name or document number will be considered a match even though their birthday or nationality may be unknown. Enable this parameter to reduce false-positives by only matching entities with exact same nationality and birthday.
Declaration
public void EnableAMLStrictMatch(bool enabled = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | enabled | Enable or disable AML strict match mode |
EnableAuthentication(Boolean, String, Double)
Validate the document to check whether the document is authentic and has not been tampered
Declaration
public void EnableAuthentication(bool enabled = false, string module = "2", double minimum_score = 0.3)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | enabled | Enable or disable Document Authentication |
| System.String | module | Authentication Module: "1", "2" or "quick" |
| System.Double | minimum_score | Minimum score to pass verification |
EnableDualsideCheck(Boolean)
Check if the names, document number and document type matches between the front and the back of the document when performing dual-side scan. If any information mismatches error 14 will be thrown.
Declaration
public void EnableDualsideCheck(bool enabled = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | enabled | Enable or disable dual-side information check |
EnableFaceVerification(Boolean, Int32, Double)
Whether users will be required to submit a selfie photo or record selfie video for facial verification.
Declaration
public void EnableFaceVerification(bool enabled = false, int verification_type = 1, double threshold = 0.4)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | enabled | Enable or disable Facial Biometric Verification |
| System.Int32 | verification_type | 1 for photo verification, 2 for video verification |
| System.Double | threshold | Minimum confidence score required to pass verification, value between 0 to 1 |
EnablePhoneVerification(Boolean)
Whether to ask user to enter a phone number for verification, DocuPass supports both mobile or landline number verification. Verified phone number will be returned in callback JSON.
Declaration
public void EnablePhoneVerification(bool enabled = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | enabled | Enable or disable user phone verification |
EnableVault(Boolean)
Save document image and parsed information in your secured vault. You can list, search and update document entries in your vault through Vault API or web portal.
Declaration
public void EnableVault(bool enabled = true)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | enabled | Enable or disable Vault |
GenerateContract(String, String, Object)
Generate legal document using data from user uploaded ID
Declaration
public void GenerateContract(string templateId, string format = "PDF", dynamic prefillData = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | templateId | Contract Template ID displayed under web portal |
| System.String | format | Output file format: PDF, DOCX or HTML |
| System.Object | prefillData | Hashtable or JSON string, to autofill dynamic fields in contract template. |
HideBrandingLogo(Boolean)
Hide all branding logo
Declaration
public void HideBrandingLogo(bool hide = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | hide | Hide logo |
ResetConfig()
Reset all API configurations except API key and region.
Declaration
public void ResetConfig()
RestrictCountry(String)
Only accept document issued by specified countries. Separate multiple values with comma. For example "US,CA" would accept documents from United States and Canada.
Declaration
public void RestrictCountry(string countryCodes = "US,CA,UK")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | countryCodes | ISO ALPHA-2 Country Code separated by comma |
RestrictState(String)
Only accept document issued by specified state. Separate multiple values with comma. For example "CA,TX" would accept documents from California and Texas.
Declaration
public void RestrictState(string states = "CA,TX")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | states | State full name or abbreviation separated by comma |
RestrictType(String)
Only accept document of specified types. For example, "PD" would accept both passport and drivers license.
Declaration
public void RestrictType(string documentType = "DIP")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | documentType | P: Passport, D: Driver's License, I: Identity Card. |
SetAMLDatabase(String)
Specify the source databases to perform AML check, if left blank, all source databases will be checked. Separate each database code with comma, for example: un_sc,us_ofac. For full list of source databases and corresponding code visit AML API Overview.
Declaration
public void SetAMLDatabase(string databases = "au_dfat,ca_dfatd,ch_seco,eu_fsf,fr_tresor_gels_avoir,gb_hmt,ua_sfms,un_sc,us_ofac,eu_cor,eu_meps,global_politicians,interpol_red")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | databases | Database codes separated by comma |
SetCallbackImage(Boolean, Boolean, Int32)
Enable/Disable returning user uploaded document and face image in callback, and image data format.
Declaration
public void SetCallbackImage(bool return_documentimage = true, bool return_faceimage = true, int return_type = 1)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | return_documentimage | Return document image in callback data |
| System.Boolean | return_faceimage | Return face image in callback data |
| System.Int32 | return_type | 0 for base64, 1 for url |
SetCallbackURL(String)
Set server-side callback/webhook URL to receive verification results
Declaration
public void SetCallbackURL(string url = "https://www.example.com/docupass_callback.php")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | url | URL |
SetCustomHTML(String)
Replace DocuPass page content with your own HTML and CSS, you can download the HTML/CSS template from DocuPass API Reference page
Declaration
public void SetCustomHTML(string url = "")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | url | URL pointing to your own HTML page |
SetCustomID(String)
Set a custom string that will be sent back to your server's callback URL, and appended to redirection URLs as a query string. It is useful for identifying your user within your database. This value will be stored under docupass_customid under Vault.
Declaration
public void SetCustomID(string customID = "")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | customID | A string used to identify your customer internally |
SetLanguage(String)
DocuPass automatically detects user device language and display corresponding language. Set this parameter to override automatic language detection.
Declaration
public void SetLanguage(string language = "")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | language | Check DocuPass API reference for language code |
SetLogo(String)
Replace footer logo with your own logo
Declaration
public void SetLogo(string url = "https://docupass.app/asset/logo1.png")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | url | Logo URL |
SetMaxAttempt(Int32)
Set max verification attempt per user
Declaration
public void SetMaxAttempt(int max_attempt = 1)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Int32 | max_attempt | 1 to 10 |
SetParameter(String, Object)
Set an API parameter and its value, this function allows you to set any API parameter without using the built-in functions
Declaration
public void SetParameter(string parameterKey, dynamic parameterValue)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | parameterKey | Parameter key |
| System.Object | parameterValue | Parameter value |
SetQRCodeFormat(String, String, Int32, Int32)
Configure QR code generated for DocuPass Mobile and Live Mobile
Declaration
public void SetQRCodeFormat(string foregroundColor = "000000", string backgroundColor = "FFFFFF", int size = 5, int margin = 1)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | foregroundColor | Image foreground color HEX code |
| System.String | backgroundColor | Image background color HEX code |
| System.Int32 | size | 1 to 50 |
| System.Int32 | margin | 1 to 50 |
SetRedirectionURL(String, String)
Declaration
public void SetRedirectionURL(string successURL = "https://www.example.com/success.php", string failURL = "https://www.example.com/failed.php")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | successURL | |
| System.String | failURL |
SetReusable(Boolean)
Enabling this parameter will allow multiple users to verify their identity through the same URL, a new DocuPass reference code will be generated for each user automatically.
Declaration
public void SetReusable(bool reusable = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | reusable | Set true to allow unlimited verification for a single DocuPass session |
SetWelcomeMessage(String)
Display a custom message to the user in the beginning of verification
Declaration
public void SetWelcomeMessage(string message = "")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | message | Plain text string |
SignContract(String, String, Object)
Have user review and sign autofilled legal document after successful identity verification
Declaration
public void SignContract(string templateId, string format = "PDF", dynamic prefillData = null)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | templateId | Contract Template ID displayed under web portal |
| System.String | format | Output file format: PDF, DOCX or HTML |
| System.Object | prefillData | Hashtable or JSON string, to autofill dynamic fields in contract template. |
SMSContractLink(String)
DocuPass will send SMS to this number containing DocuPass link to review and sign legal document.
Declaration
public void SMSContractLink(string mobileNumber = "+1333444555")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | mobileNumber | Mobile number should be provided in international format such as +1333444555 |
SMSVerificationLink(String)
DocuPass will send SMS to this number containing DocuPass link to perform identity verification, the number provided will be automatically considered as verified if user completes identity verification. If an invalid or unreachable number is provided error 1050 will be thrown. You should add your own thresholding mechanism to prevent abuse as you will be charged 1 quota to send the SMS.
Declaration
public void SMSVerificationLink(string mobileNumber = "+1333444555")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | mobileNumber | Mobile number should be provided in international format such as +1333444555 |
ThrowAPIException(Boolean)
Raise APIException when API returns an error
Declaration
public void ThrowAPIException(bool throwException = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | throwException | Enable or Disable APIException being thrown |
Validate(String, String)
Validate a data received through DocuPass Callback against DocuPass Server to prevent request spoofing
Declaration
public Task<bool> Validate(string reference, string hash)
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | reference | DocuPass reference |
| System.String | hash | DocuPass callback hash |
Returns
| Type | Description |
|---|---|
| System.Threading.Tasks.Task<System.Boolean> | Validation result |
VerifyAddress(String)
Check if supplied address matches with document.
Declaration
public void VerifyAddress(string address = "123 Sample St, California, US")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | address | Address requiring validation |
VerifyAge(String)
Check if the document holder is aged between the given range.
Declaration
public void VerifyAge(string ageRange = "18-99")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | ageRange | Age range, example: 18-40 |
VerifyDOB(String)
Check if supplied date of birth matches with document.
Declaration
public void VerifyDOB(string dob = "1990/01/01")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | dob | Date of birth in YYYY/MM/DD |
VerifyDocumentNumber(String)
Check if supplied document or personal number matches with document.
Declaration
public void VerifyDocumentNumber(string documentNumber = "X1234567")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | documentNumber | Document or personal number requiring validation |
VerifyExpiry(Boolean)
Check if the document is still valid based on its expiry date.
Declaration
public void VerifyExpiry(bool enabled = false)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Boolean | enabled | Enable or disable expiry check |
VerifyName(String)
Check if supplied name matches with document.
Declaration
public void VerifyName(string fullName = "ELON MUSK")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | fullName | Full name requiring validation |
VerifyPhone(String)
DocuPass will attempt to verify this phone number as part of the identity verification process, both mobile or landline are supported, if this value is provided phoneverification will be automatically enabled but users will not be able to enter their own numbers or change the provided number.
Declaration
public void VerifyPhone(string phoneNumber = "+1333444555")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | phoneNumber | Mobile or landline number should be provided in international format such as +1333444555 |
VerifyPostcode(String)
Check if supplied postcode matches with document.
Declaration
public void VerifyPostcode(string postcode = "90001")
Parameters
| Type | Name | Description |
|---|---|---|
| System.String | postcode | Postcode requiring validation |