Ondato’s OnAge solution allow your customers to complete the process from anywhere, with any device, in a matter of seconds. With this method, Ondato employs AI and machine learning to gather and analyse biometric data, which is then used to create a 3D map of the customer’s face and accurately place them in an age group without gathering or storing any personal data. With a quick selfie, we are able to perform liveness checks, preventing any spoofing attempts or masks from getting through while keeping the steps easy for your clients.
exampleSdk.onAge.begin({
onAgeSetupId: 'xxxxxx-xxxx', // Static onAge setupId provided by support
language?: 'bg-BG' // possible languages are listed below or can be found in the interface
onSuccess: // callback fired on successful completion
onFailure: // callback fired on any failure mentioned in possible exceptions
onClose: // callback fired when sdk process is closed
});
⚠️ Possible exceptions:
Code Block
declare enum IdvSdkBeginFailure {
NoOnAgeSetupId = 'NoOnAgeSetupId',
CantBeUsedInIframe = "CantBeUsedInIframe", // Consumer cannot use this sdk in iframe. We restrict usage due to requiring full screen
NoIdvId = "NoIdvId", // idvId or idv setup id was not provided
NotSupportedMode = "NotSupportedMode",// check if provided mode is invalid according to SdkMode
ProcessStarted = "ProcessStarted", // if multiple sdk begin were started error. You cannot start multiple identifications in the same page simultaniously.
StartFailed = "StartFailed" // if sdk applications has crashed for some reason when trying to initially load the sdk application. Due to nework error etc.
}
declare enum SdkProcessFailure {
ConsentDeclined = "ConsentDeclined", // if user declines consent, sdk application is closed and error is returned
FailureExit = 'FailureExit', // When process gives a dead end reason and process failed, user is prompted with exit from sdk application button. Button is clicked - sdk application is closed and FailureExit is returned.
Generic = 'Generic', // An error during sdk application flow happened and we cannot provide the exact reason why the process failed. Sdk closes and returns Generic error. (Something similar like internal server error)
InvalidId = 'InvalidId', // no accessToken or no session id case.
Unauthorized = 'Unauthorized', // in case of invalid session id, in case of expired session id, in case of any other way invalidated session id, in case of completed session id, in case of session id that does not belong to accessToken etc.
Aborted = 'Aborted', // if user aborts Identity verification process.
Suspended = 'Suspended', // If identify verification process was suspended
Expired = 'Expired', // If identify verification process was suspended
NotSupportedBrowser = 'NotSupportedBrowser',
NoIFrameContainer = 'NoIFrameContainer', // If user closes sdk application in an unknown way and there is still an sdk application instance running.
CurrentSessionIdAndPassedIdMismatch = 'CurrentSessionIdAndPassedIdMismatch', // session id was does not match previous session id
}
4️⃣ exampleSdk.onAge.end()
Info
Purpose: Closes SDK application without error. Cleans up all sdk tasks and application.
Accepted property: None
🗃️ Examples
Status
colour
Yellow
title
to-do
...
Npm zip file (Add file files)
...
Info
Ondato’s OnAge solution allow your customers to complete the process from anywhere, with any device, in a matter of seconds. With this method, Ondato employs AI and machine learning to gather and analyse biometric data, which is then used to create a 3D map of the customer’s face and accurately place them in an age group without gathering or storing any personal data. With a quick selfie, we are able to perform liveness checks, preventing any spoofing attempts or masks from getting through while keeping the steps easy for your clients.
...
...
📁 Table of Contents
Table of Contents
style
none
...
ℹ️ Introduction
The current flow only allows using the Web Browser SDK by installing it through npm🔗or using it as a script🔗.
...
🔢 Latest version
Latest Major version is v2.x.x
Refer to Changelog for latest versions and changes.
...
🚥 Compatibility
🟢 Supported: Only web browsers (Chrome, Firefox, Safari, Edge etc.).
🔴 Not supported: Native application languages like React-Native, Flutter etc.
exampleSdk.onAge.begin({
onAgeSetupId: 'xxxxxx-xxxx', // Static onAge setupId provided by support
language?: 'bg-BG' // possible languages are listed below or can be found in the interface
onSuccess: // callback fired on successful completion
onFailure: // callback fired on any failure mentioned in possible exceptions
onClose: // callback fired when sdk process is closed
});
⚠️ Possible exceptions:
Code Block
declare enum SdkBeginFailure {
NoOnAgeSetupId = 'NoOnAgeSetupId',
CantBeUsedInIframe = "CantBeUsedInIframe", // Consumer cannot use this sdk in iframe. We restrict usage due to requiring full screen
NoIdvId = "NoIdvId", // idvId or idv setup id was not provided
NotSupportedMode = "NotSupportedMode",// check if provided mode is invalid according to SdkMode
ProcessStarted = "ProcessStarted", // if multiple sdk begin were started error. You cannot start multiple identifications in the same page simultaniously.
StartFailed = "StartFailed" // if sdk applications has crashed for some reason when trying to initially load the sdk application. Due to nework error etc.
}
declare enum SdkProcessFailure {
ConsentDeclined = "ConsentDeclined", // if user declines consent, sdk application is closed and error is returned
FailureExit = 'FailureExit', // When process gives a dead end reason and process failed, user is prompted with exit from sdk application button. Button is clicked - sdk application is closed and FailureExit is returned.
Generic = 'Generic', // An error during sdk application flow happened and we cannot provide the exact reason why the process failed. Sdk closes and returns Generic error. (Something similar like internal server error)
InvalidId = 'InvalidId', // no accessToken or no session id case.
Unauthorized = 'Unauthorized', // in case of invalid session id, in case of expired session id, in case of any other way invalidated session id, in case of completed session id, in case of session id that does not belong to accessToken etc.
Aborted = 'Aborted', // if user aborts Identity verification process.
Suspended = 'Suspended', // If identify verification process was suspended
Expired = 'Expired', // If identify verification process was suspended
NotSupportedBrowser = 'NotSupportedBrowser',
NoIFrameContainer = 'NoIFrameContainer', // If user closes sdk application in an unknown way and there is still an sdk application instance running.
CurrentSessionIdAndPassedIdMismatch = 'CurrentSessionIdAndPassedIdMismatch', // session id was does not match previous session id
}
...
4️⃣ exampleSdk.onAge.end()
Info
Purpose: Closes SDK application without error. Cleans up all sdk tasks and application.
Accepted property: None
...
5️⃣ Data flow
🚀 Startup
Drawio
mVer
2
zoom
1
simple
0
inComment
0
custContentId
3001253901
pageId
2969042947
lbox
1
diagramDisplayName
Startup flow.drawio
contentVer
6
revision
6
baseUrl
https://ondato.atlassian.net/wiki
diagramName
Untitled Diagram-1730363657203.drawio
pCenter
0
width
556
links
tbstyle
height
581
...
🆕 New Visitor
Drawio
mVer
2
zoom
1
simple
0
inComment
0
custContentId
3001090097
pageId
2969042947
lbox
1
diagramDisplayName
New Visitor flow
contentVer
8
revision
8
baseUrl
https://ondato.atlassian.net/wiki
diagramName
Untitled Diagram-1730363923619.drawio
pCenter
0
width
566
links
tbstyle
height
1371
...
◀️ Returning Visitor
Drawio
mVer
2
zoom
1
simple
0
inComment
0
custContentId
3001745432
pageId
2969042947
lbox
1
diagramDisplayName
Returning Visitor flow
contentVer
3
revision
3
baseUrl
https://ondato.atlassian.net/wiki
diagramName
Untitled Diagram-1730364540308.drawio
pCenter
0
width
381
links
tbstyle
height
551
...
❔ Frequently Asked Questions (FAQs)
Why should both the begin()andload()methods be used within a try-catch block?
Both methods should be utilized within a try-catch block to ensure proper error handling.
What happens to the session id during an F5 (page refresh)?
In the event of an F5 (page refresh), the same session id will be retained, allowing the same session to be loaded seamlessly.