Skip to main content

Methods

new VerifiedClientSdk(options)

Initialize the SDK

Constructor Definition
new VerifiedClientSdk(options: {
sessionKey: string;
onResult: (result: SdkResult) => void;
onError: (error: SdkError) => void;
onEvent?: (event: SdkEvent) => void;
environment?: string;
}): VerifiedClientSdk

Parameters

sessionKey (required)

The session key obtained from your server via POST /session-key.

onResult (required)

Callback invoked when the flow reaches a terminal result (e.g. user shared credentials, opted out, no credentials found).

onResult: (result: SdkResult) => void

See SdkResult and SdkResultValues.

onError (required)

Callback invoked when an SDK error occurs (e.g. invalid session key, session timeout).

onError: (error: SdkError) => void

See SdkError and SdkErrorReasons.

onEvent (optional)

Callback invoked for intermediary events during the flow (e.g. SDK ready, user navigated to a new step).

onEvent?: (event: SdkEvent) => void

See SdkEvent and SdkEventValues.

environment (optional)

The environment to use. Defaults to production. Pass sandbox for testing.

Example

Example Usage of new VerifiedClientSdk()
import {
VerifiedClientSdk,
SdkResult,
SdkEvent,
SdkError,
SdkResultValues,
SdkEventValues,
SdkErrorReasons,
} from '@verifiedinc-public/client-sdk';

const sdk = new VerifiedClientSdk({
sessionKey: 'YOUR_SESSION_KEY',
onResult: handleResult,
onError: handleError,
onEvent: handleEvent,
});

function handleResult(result: SdkResult) {
switch (result.type) {
case SdkResultValues.USER_SHARED_CREDENTIALS:
// Pass result.identityUuid to your server (call GET /1-click/{identityUuid})
break;
case SdkResultValues.USER_OPTED_OUT:
// Take user to manual signup flow
break;
case SdkResultValues.NO_CREDENTIALS_FOUND:
// Take user to manual signup flow
break;
case SdkResultValues.RISK_SCORE_TOO_HIGH:
// Take user to manual signup flow
break;
case SdkResultValues.MAX_INPUT_ATTEMPTS_EXCEEDED:
// Take user to manual signup flow
break;
case SdkResultValues.MAX_VERIFICATION_CODE_ATTEMPTS_EXCEEDED:
// Take user to manual signup flow
break;
}
}

function handleError(error: SdkError) {
switch (error.reason) {
case SdkErrorReasons.INVALID_SESSION_KEY:
// Create a new session key on your server
break;
case SdkErrorReasons.SESSION_TIMEOUT:
// Create a new session key and a new VerifiedClientSdk instance
break;
case SdkErrorReasons.SHARE_CREDENTIALS_ERROR:
// Take user to manual signup flow
break;
}
}

function handleEvent(event: SdkEvent) {
switch (event.type) {
case SdkEventValues.SDK_READY:
// SDK is ready to display
break;
case SdkEventValues.USER_STEP_CHANGE:
// event.step, event.previousStep available
break;
case SdkEventValues.STEP_TIME_SPENT:
// event.step, event.durationMs available
break;
case SdkEventValues.USER_COMPLETED_PRODUCT:
// event.product available
break;
case SdkEventValues.ONE_CLICK_SIGNUP_FORM_SUBMITTED:
// event.form available
break;
case SdkEventValues.ONE_CLICK_HEALTH_FORM_SUBMITTED:
// event.form available
break;
case SdkEventValues.VERIFICATION_CODE_RESENT:
// User requested a new verification code
break;
}
}

show()

Show the SDK to the user

show() Definition
public show(element?: HTMLElement): void

If no element is passed, the SDK will be injected into document.body.

Example

Example Usage of show()
import { VerifiedClientSdk, ... } from '@verifiedinc-public/client-sdk';

const verifiedClientSdk = new VerifiedClientSdk({ ... });

// Show SDK to user (in document.body if no HTML element is passed)
verifiedClientSdk.show(document.getElementById('verifiedClientSdk-container'));

destroy()

Destroy the SDK element and invalidate the instance

destroy() Definition
public destroy(): void

Example

Example Usage of destroy()
import { VerifiedClientSdk, ... } from '@verifiedinc-public/client-sdk';

const verifiedClientSdk = new VerifiedClientSdk({ ... });

// Destroy the SDK
verifiedClientSdk.destroy();