Submission Requests
type SubmissionRequest = {
securityData: {
userName: string
password: string
merchantId: number
}
customerData: {
idData: {
idImageFront: string
idImageFrontCapturedAt: string
idImageBack: string
idImageBackCapturedAt: string
videoIdImageFront: string
videoIdImageFrontCapturedAt: string
videoIdImageBack: string
videoIdImageBackCapturedAt: string
idFrontIrImage: string
idBackIrImage: string
idFrontUvImage: string
idBackUvImage: string
idBarcodeImage: string
idBarcodeImageCapturedAt: string
idType: "NSP"
idCountry: "NSP"
idState: ""
idNumber: string
issueDate: string
expDate: string
}
personalData: {
uniqueNumber: string
name: string
phone: string
phoneCountryCode: string
email: string
dob: string
gender: "M" | "F"
addressLine1: string
addressLine2: string
city: string
district: string
postalCode: string
country: string
}
cardData: {
cardToken: string
cardLast4: string
cardExpDate: string
nameOnCard: string
}
biometricData: {
selfie: string
selfieCapturedAt: string
videoData: string
videoDataCapturedAt: string
voiceData: string
voiceDataCapturedAt: string
voiceStartTime: number
expectedAudioText: string
}
signatureData: {
signatureImage: string
signatureImageCapturedAt: string
signatureVideo: string
signatureVideoCapturedAt: string
signatureVideoMetadata: {
mimeType: string
browserFeatures: {
supportsRequestVideoFrameCallback: boolean
supportsRoundRect: boolean
}
diagnostics: {
nullChunksReceived: number
firstNullChunkReceivedAt: number
lastNullChunkReceivedAt: number
finalChunkReceived: boolean
finalChunkTimedOut: boolean
finalChunkWaitedMs: number
videoChunkRate: {
averageRate: number
minRate: number
maxRate: number
totalChunksReceived: number
recordingDurationMs: number
}
timesSignatureCleared: number
totalFramesDrawn: number
framesWithSignatureDrawn: number
maxFrameGapMs: number
visibilityChanges: {
state: string
at: number
}[]
wasHiddenDuringCapture: boolean
signingWindowFrameCount: number
signingWindowFps: number
videoElementNotReadyCount: number
recorderDiedState: RecorderState
recorderDiedAt: number
recorderDiedError: string
qualityWarning: {
score: number
watermarkScore: number
signals: {
bytesPerSecond: {
value: string | number
tripped: boolean
}
maxFrameGapMs: {
value: string | number
tripped: boolean
}
signingWindowFps: {
value: string | number
tripped: boolean
}
avgChunkRate: {
value: string | number
tripped: boolean
}
wasHiddenDuringCapture: {
value: string | number
tripped: boolean
}
recorderDied: {
value: string | number
tripped: boolean
}
device: {
hardwareConcurrency: {
value: string | number
tripped: boolean
}
deviceMemory: {
value: string | number
tripped: boolean
}
effectiveType: {
value: string | number
tripped: boolean
}
downlink: {
value: string | number
tripped: boolean
}
cluster: {
value: string | number
tripped: boolean
}
}
frameDecode: {
value: FrameDecodeStatus
tripped: boolean
durationReportedMs: number
seekableEndMs: number
usedPlayback: boolean
probes: {
requestedMs: number
seekedToMs: number
rendered: boolean
reason: string
retriedAtMs: number
}[]
error: string
}
}
}
}
timingData: {
recordingStartRequestedAt: number
recordingStartedAt: number
firstChunkReceivedAt: number
signatureStartedAt: number
signatureEndedAt: number
acceptClickedAt: number
clearClickedAt: number
recordingStopRequestedAt: number
lastChunkReceivedAt: number
recordingStoppedAt: number
}
signatureValidity: {
isValid: boolean
concern: boolean
concernScore: number
concernThreshold: number
failures: {
toString: {
}
charAt: {
}
charCodeAt: {
}
concat: {
}
indexOf: {
}
lastIndexOf: {
}
localeCompare: {
}
match: {
}
replace: {
}
search: {
}
slice: {
}
split: {
}
substring: {
}
toLowerCase: {
}
toLocaleLowerCase: {
}
toUpperCase: {
}
toLocaleUpperCase: {
}
trim: {
}
length: number
substr: {
}
valueOf: {
}
}[]
metrics: {
pointCount: number
strokeCount: number
penDownMs: number
widthFraction: number
heightFraction: number
spanFraction: number
pathLength: number
boundingBoxDiagonal: number
pathRatio: number
directionChanges: number
zonesCovered: number
}
canvas: {
width: number
height: number
}
}
}
}
additionalDocuments: {
documentName: string
processAsPOA: "Y" | "N"
additionalDocument: string | Record<string, string>
capturedAt: string
}[]
}
biometricData: {
selfie: string
}
additionalData: {
uniqueRequestId: string
clientRequestID: string
jobID: string
clientTraceId: string
sendDecisionDetailsInPost: "Y" | "N"
manualReviewRequired: "F" | "Y" | "N"
bypassAgeValidation: "Y" | "N"
deDuplicationRequired: "Y" | "N"
bypassNameMatching: "Y" | "N"
postDataAPIRequired: "Y" | "N"
postDataAPIURL: string
postDataOnReviewRequired: "Y" | "N"
postDataOnReviewAPIURL: string
sendInputImagesInPost: "Y" | "N"
sendProcessedImagesInPost: "Y" | "N"
needImmediateResponse: "Y" | "N"
deduplicationSynchronous: "Y" | "N"
verifyDataWithHost: "Y" | "N"
idBackImageRequired: "Y" | "N"
stripSpecialCharacters: "Y" | "N"
idImageResolutionCheck: "Y" | "N"
customerDataMatchConfig: {
idNumberMatch: "Y" | "N" | "E"
idNumberMatchAlgorithm: "JW" | "LV" | "NM"
idNumberMatchThreshold: number
dateOfBirthMatch: "Y" | "N" | "E"
dateOfBirthMatchAlgorithm: "JW" | "LV" | "NM"
dateOfBirthMatchThreshold: number
expiryDateMatch: "Y" | "N" | "E"
expiryDateMatchAlgorithm: "JW" | "LV" | "NM"
expiryDateMatchThreshold: number
nameMatch: "Y" | "N" | "E"
nameMatchAlgorithm: "JW" | "LV" | "NM"
nameMatchThreshold: number
firstNameMatch: "Y" | "N" | "E"
firstNameMatchAlgorithm: "JW" | "LV" | "NM"
firstNameMatchThreshold: number
middleNameMatch: "Y" | "N" | "E"
middleNameMatchAlgorithm: "JW" | "LV" | "NM"
middleNameMatchThreshold: number
lastNameMatch: "Y" | "N" | "E"
lastNameMatchAlgorithm: "JW" | "LV" | "NM"
lastNameMatchThreshold: number
addressMatch: "Y" | "N" | "E"
addressMatchAlgorithm: "JW" | "LV" | "NM"
addressMatchThreshold: number
}
metadata: string
ocrMetadata: string
livenessToken: string
}
employee: {
companyId: string
}
}Submission Responses
type SubmissionResponse = {
status: {
statusCode: string
statusMessage: string
errorData: string
}
resultData: {
}
}Last updated on