Tutorial

Configuration

If you haven't created a project and a projectFlow with the property type = onboarding, then here there are the links for that.

Create a project

ProjectFlow Setup

Create a project flow
{
    "project": "671ea085c963a3247fda57c4",
    "type": "onboarding",
    "status": "active",
    "redirectUrl": "https://debug.verifik.co",
    "onboardingSettings": {
        "steps": {
            "signUpForm": "mandatory",
            "basicInformation": "skip",
            "document": "optional",
            "liveness": "optional",
            "form": "skip"
        },
        "signUpForm": {
            "fullName": true,
            "email": true,
            "emailGateway": "mailgun",
            "phone": true,
            "phoneGateway": "both",
            "showTermsAndConditions": true,
            "showPrivacyNotice": true
        },
        "liveness": {
            "livenessMinScore": 0.7,
            "searchMode": "FAST",
            "searchMinScore": 0.85
        },
        "document": {
            "useGovernmentID": true,
            "usePassport": true,
            "useLicense": true,
            "verifyNames": true,
            "verifyCriminalHistory": true,
            "validationMethod": "SCAN_PROMPT",
            "fallbackValidationMethod": "SCAN_ZERO"
        }
    },
    "security": {
        "strategy": "blacklist",
        "source": "API",
        "apiUrl": "https://faas-nyc1-2ef2e6cc.doserverless.co/api/v1/web/fn-b88d2a3d-137b-4d8c-95af-9c4f33f69af4/passwordless-validation-url/demo-passwordless-validation-url",
        "apiTestType": "email",
        "apiTestValue": "miguel@verifik.co"
    }
}

Let's get started

The flow mainly starts with the creation of the AppRegistration then we proceed with the creation of the email validation/phone validation (depending on the configuration inside the ProjectFlow) which will grant us access to either redirect the user and complete the record without the KYC process or we continue with the next validations which starts with the document validation and then the liveness detection so we can later on do a comparison of the document photo and the selfie that was taken.

Create an app registration

Validations

Based on the configuration we will stat with the signUpForm validations. The email and phone validations are the first ones to do.

"signUpForm": {
    "fullName": true,
    "email": true,
    "emailGateway": "mailgun",
    "phone": true,
    "phoneGateway": "both", // sms or whatsapp
    "showTermsAndConditions": true,
    "showPrivacyNotice": true
},

Email Validation

Every validation starts by initiating it with the params that are required to get triggered, in the case of the email, we require the email address so the user can receive the one time password

Create Email Validation

Once the email is sent, the user will receive a 6-digit One Time Password (OTP). They must enter this OTP in the UI or submit it to the following API endpoint.

Validate Email Validation

Phone Validation

If the AppRegistration needs to validate the phone as well, we will have to repeat the same process with some changes, for the phone validation it's required to pass the phoneGateway (sms, whatsapp) and the countryCode, and the phone.

Create Phone Validation

After the SMS or WhatsApp message is sent, the user will receive a 6-digit One Time Password (OTP). They must enter this OTP in the UI or submit it to the following API endpoint.

Validate Phone Validation

Document Validation

If the AppRegistration needs to validate a legal document, we will have to create a documentValidation which will require a photo of the document to extract the information with our OCR system and we will determinate if the document requires a back side or the document is completed with just the front side.

Enroll - Create Document Validation

Biometric Validation

If the AppRegistration needs to validate the liveness of the person we will require to create a biometricValidation which will require a selfie of the person doing the enrollment and we will perform several checks, such as 1:N search to find duplicates and also a liveness detection score will be assigned to the record and it will be compared to the minimum liveness score that the projectFlow has in the liveness configuration.

First we will start by initiating it so we can perform a validation next.

Create Biometric Validation

After we have a session, we will use that session to perform the selfie extraction and we will accept a base64 image which will be passed to our liveness detection model and it will return a score

Validate Biometric Validation

Last updated