Skip to main content

VerifyIQ Integration Guide

Getting started

The VerifyIQ JavaScript SDK package is available under Informed's Confidentiality Agreement.

To get started, your IT department should contact your Informed Customer Success Representative to request VerifyIQ access to the Staging and Production environments as well as the latest stable version of Informed's VerifyIQ JavaScript SDK package. The VerifyIQ package will need to be appropriately placed within your existing system of record's project file. If your IT department does not have access to the source code of your existing system of record, please contact the vendor who supplies your organization with the system of record. This documentation is written from the perspective of your IT department directly maintaining the source code of your organization's system of record.

Installation with NPM

$ npm install @informed-iq/verify-iq-sdk-ng

Installation with Yarn

$ yarn add @informed-iq/verify-iq-sdk-ng

Instantiation

VerifyIQ Instantiation Configuration Parameters

KeyValue TypeUsageDescription
environmentStringRequiredEnvironment Options

Environment that VerifyIQ will use to interact with the respective database
partnerNameStringRequiredExample: acmebank

The partnername will be supplied by your Informed implementation support team
onDocumentRequestedViaSmsFunctionOptional(stipObjects) => {console.log('onRequestDocumentsViaSms', stipObjects);}

Callback passed into this function will trigger when a document is requested via SMS using RequestIQ
onLoadFunctionOptional() => {console.log('onLoad');}

Callback passed into this function will trigger when a VerifyIQ portal is instantiated

Instantiation Example

import VerifyIQ from "@informed-iq/verify-iq-sdk-ng";

const viq = new VerifyIQ({
environment: VerifyIQ.Env.Staging,
partnerName: 'your-partner-name',
onDocumentRequestedViaSms: function (stipObjects) {
console.log('onRequestDocumentsViaSms', stipObjects);
},
onLoad: function () {
console.log('iFrame is loaded');
}
});

Javascript Callback Functions

The VerifyIQ SDK allows for several callback functions, which if implemented, will invoke javascript event handlers that can be used to update frontend or backend systems of updates for specific applications.

onDocumentRequestedViaSms

The VerifyIQ product also supports the ability to request documents directly from applicants via SMS for the purpose of completing related verifications. Authorized users can begin requesting documents by clicking the Request From Applicant button which will prompt the request screen as described in the RequestIQ section.

The SMS generated by VerifyIQ is part of Informed’s CollectIQ product offering. Your system will be notified of SMS messages sent to applicants from VerifyIQ, including the list of document types requested, via the .onDocumentsRequestedViaSms() JavaScript callback function. A JavaScript Object will be passed to the callback function containing the following information that details the verifications and document types requested from the applicant:

Callback function parameter

ParamsValuesDescription
applicationIdStringThe unique ID of the application being acted upon.
applicantStringThe applicant for which the verification is being acted upon. This will be either ‘PrimaryApplicant’ or ‘CoApplicant’
receiverPhoneStringThe SMS number to which the message was sent.
verificationsArray of ObjectsAn array of verification objects containing document types requested of the applicant

An example is shown below:

{
"applicant": "PrimaryApplicant",
"applicationId": "Informed application_id",
"receiverPhone": "+17559022631",
"verifications": [
{
"name": "income",
"acceptableDocuments": [
{
"name": "paystub"
},
{
"name": "form_1040"
}
]
},
{
"name": "insurance",
"acceptableDocuments": [
{
"name": "insurance_id_card"
}
]
}
]
}

onLoad

This callback function can be triggered when the VerifyIQ portal is instantiated. There is no callback function parameter injected by the SDK.

Webhook Callbacks

Collected Documents

Applicant documents requested by an authorized user and collected on their behalf by the Informed platform will also be communicated to your system using the callback webhook URL designated at the time of application registration. The webhook will be called with a JSON payload as defined in our async responses documentation.

Uploaded Documents

Applicant documents uploaded by an authorized user in the VerifyIQ interface (using the Upload Documents button in the lower right corner of the screen) will also be communicated to your system using the callback webhook URL designated at the time of application registration. The webhook will be called with a JSON payload as defined in our async responses documentation.

VerifyIQ Methods

renderApplicationId

ParamsTypeUsageDescription
htmlElementDOM ElementRequiredAttaches VerifyIQ UI to element on page for rendering
applicationIdStringRequiredSpecific Application Id to render
applicantVerifyIQ ENUMOptional, default is PrimaryApplicantChooses which applicant to render first when pulling up an application. If the designated applicant does not exist for a given application, then the application will default to the PrimaryApplicant in the view.
List of Applicant Options
stipulationVerifyIQ ENUMOptional, default is IncomeChooses which stipulation to display on render.
List of Supported Verifications
documentModalOptionsVerifyIQ ENUMOptional,
default is UploadDocuments
Chooses which type of document modal to display, on render.
List of Document Modal Options

renderRequestIq

ParamsTypeUsageDescription
htmlElementDOM ElementRequiredAttaches RequestIQ UI to element on page for rendering
applicationIdStringRequiredSpecific Application Id to Request Documents from

renderHitl

ParamsTypeUsageDescription
htmlElementDOM ElementRequiredAttaches HITL UI to element on page for rendering
applicationIdStringRequiredSpecific Application Id containing the Document to be edited
documentIdStringRequiredSpecific Document Id to be edited
frameHeightStringOptionalheight of frame in pixels, example: '1200px'
frameWidthStringOptionalwidth of frame in pixels, example: '1200px'

Examples

VerifyIQ.renderApplicationId

viq.renderApplicationId({
htmlElement: document.getElementById('verify-iq-root'),
applicationId: 'Informed application_id',
applicant: VerifyIQ.ApplicantTypes.CoApplicant,
stipulation: VerifyIQ.StipulationTypes.Income,
documentModalOptions: VerifyIQ.DocumentModalOptions.None
});

VerifyIQ.renderRequestIq

viq.renderRequestIq({
htmlElement: document.getElementById('request-iq-root'),
applicationId: 'Informed application_id'
});

VerifyIQ.renderHitl

viq.renderHitl({
htmlElement: document.getElementById("request-iq-root"),
applicationId: "f6ea1422-3a33-4943-b9cf-e42351072168",
documentId: '53c8b171-20dc-4362-aa8c-b0c475bfb58e',
frameHeight: '1200px',
frameWidth: '1200px'
});

Quick Start

Your IT department (and/or the vendor managing your system of record) should determine where the VerifyIQ interface should display in your existing system. The VerifyIQ interface will need a width of at least 1405px to properly display the applicants’ verifications and documents. A height of 850px is recommended. Create an HTML <div> element corresponding to the location that will be occupied by the VerifyIQ interface. We suggest allowing the <div> to expand across the entire viewable area in order to fit all main components of the VerifyIQ UI. Make sure you give the <div> a unique ID that can be referenced later. For the sake of the example below, we have assigned the <div> an ID of verify-iq-root.

Instantiate SDK

import VerifyIQ from "@informed-iq/verify-iq-sdk-ng";

const viq = new VerifyIQ({
environment: VerifyIQ.Env.Staging,
partnerName: 'your-partner-name',
onDocumentRequestedViaSms: function (stipObjects) {
console.log('onRequestDocumentsViaSms', stipObjects);
},
onLoad: function () {
console.log('iFrame is loaded');
}
});

Add root DOM element

Ensure that you have designated the appropriate container div for injecting the desired modal. For example:

<div id="verify-iq-root"></div>

or

<div id="request-iq-root"></div>

Call appropriate render method

Render Application

When the .renderApplicationId() method is invoked, the designated application will be visible in the supplied <div>. This includes any associated documents classified by our machine-learning-based classification models, any pertinent data that was extracted and the resulting verification analysis.

The .renderApplicationId() function can also optionally be invoked with a specific applicant and stipulation for the designated application. When invoked with these parameters, the application within the VerifyIQ interface will be rendered with the specified applicant and stipulation selected in the view by default.

The stipulation parameter can be any one of the stipulations documented in the table below. If a specified stipulation does not exist for the given application, the application view will default to the first available stipulation for the chosen applicant.

const verifyIQRoot = document.querySelector("#verify-iq-root");

viq.renderApplicationId({
htmlElement: verifyIQRoot,
applicationId: 'Informed application_id',
applicant: VerifyIQ.ApplicantTypes.PrimaryApplicant,
stipulation: VerifyIQ.StipulationTypes.Income,
documentModalOptions: VerifyIQ.DocumentModalOptions.RequestDocuments
});

Render RequestIQ

When the .renderRequestIq() method is invoked, Informed's RequestIQ UI will be displayed in the supplied <div>. The user will be prompted to choose the additional desired documents to be collected from the PrimaryApplicant or CoApplicant. After the user selects the desired additional documents and provides the desired phone number to receive the text message, the Request Documents SMS workflow will be initiated.

const requestIqRoot = document.querySelector("#request-iq-root");

viq.renderRequestIq({
htmlElement: requestIqRoot,
applicationId: 'Informed application_id',
});

VerifyIQ Constants

Environment

Accessible as VerifyIQ.Env.<Env>

EnvDescription
StagingSet the SDK to run in the Staging/Testing environment
ProductionSet the SDK to run in the Production environment

StipulationTypes

Accessible as VerifyIQ.StipulationTypes.<StipulationType>

StipulationTypeDisplay Name
IncomeProof of Income
ResidenceProof of Residence
IdentityProof of Identity
InsuranceProof of Insurance
SSNProof of SSN

ApplicantTypes

Accessible as VerifyIQ.ApplicantTypes.<ApplicantType>

ApplicantTypeDescription
PrimaryApplicantSet the applicant type to PrimaryApplicant
CoApplicantSet the applicant type to CoApplicant

DocumentModalOptions

Accessible as VerifyIQ.DocumentModalOptions.<DocumentModalOption>

DocumentModalOptionDescription
NoneRequestIQ modal will not popup on application render
RequestDocumentsRequestIQ modal will popup on application render
RequestDocumentsOnlyIfNoAssociatedDocumentsRequestIQ modal will popup on application render only if there are no associated documents
UploadDocumentsUpload Documents modal will popup on application render
UploadDocumentsOnlyIfNoAssociatedDocumentsUpload Documents modal will popup only if there are no associated documents