Events
HTML5 native events dispatched to the window object.
Widget events are implemented using the browser API Custom Events and are directly dispatched to the window object. Smart UI events will carry special data in the event object detail property. Keep reading to find more information about that data.
Listening for events:
window.addEventListener(EVENT_NAME, ((e: CustomEvent) => {
console.log(e.detail);
}));
The events were extended on v4.2 to include all the current information contained in the Smart UI. All event objects will now contain at least the following information in the "detail" property.
Property | Content | Versioning |
---|---|---|
applicant | Applicant instance (see below) | v4.2 |
documents | Array of Document instances (see below) | v4.2 |
sessionId | String that identifies this session throughout all logs and events | v3 |
data | Data stored in our database as logs. This includes details on your session and your Smart UI configuration for debugging purposes. | v3 |
This is not a complete API description, but among other properties, Applicant and Document objects carry the following information:
Applicant {
name: { givernName, middleName, familyName },
addresses: array of { country, postalCode, state, streetNumber, streetName, town, suburb, unitNumber }
dateOfBirth: "yyyy-mm-dd",
profile: "checkProfile/recipe" string
...
}
Document {
idType: string of DOCUMENT_TYPE, as defined in our documentation
idNumber: string,
idSubType: optional string,
data: { extra information specific to this idType }
...
}
Event Name | Description/Content | Versioning |
---|---|---|
INIT | When smart UI has finished parsing the configuration. | v3 |
SCREEN:WELCOME SCREEN:DOCUMENT_TYPE_SELECT SCREEN:DRIVERS_LICENCE_INPUT SCREEN:NATIONAL_ID SCREEN:MEDICARE_INPUT SCREEN:PASSPORT_INPUT SCREEN:NAME_INPUT SCREEN:DOB_INPUT SCREEN:ADDRESS_INPUT SCREEN:DETAILS_SUMMARY SCREEN:FAILURE SCREEN:SUCCESS SCREEN:NO_MATCH SCREEN:PENDING_VERFICATION SCREEN:ERROR | Most of these are self explanatory, but it's worth highlighting that * SCREEN:DETAILS_SUMMARY will be emitted for the "Review" page | v3 |
DESTROY | When Smart UI is removed from page. The Smart UI doesn't remove itself, so this would be triggered by an action on the host platform. | v3 |
FF_SAVE_RESULT | Emitted when save is successful. Only emitted when option "saveOnly" is true. | v3 |
FF_CHECK_RESULT | Emitted when retrieving a check result. This won't occur when "saveOnly" is true. Includes details used to decide what view comes next. More info after this table. | v3 |
FF_SAVE_ERROR FF_CHECK_ERROR | Emitted when one of the two results above fail due to a System error OR lack of permissions. The detail property will be the error object itself. | v3 |
FF_EXTERNAL_IDV_CHECK_COMPLETED | Emitted after idScanVerification process is completed | v3 |
For FF_CHECK_RESULT
, e.detail
is
checkSummary
: object with check results and issues found,resultSlug
: one ofsuccess
// finalpending-success
// finaltoo-many-tries
// finalno-match
// will looppartial-match
// will loop
nextViewSlug
: might be the same values as "resultSlug", but also "external-idv" if widget is configured for it,applicant
: applicant object with personal information, including the applicant's entity id which can be used with our API calls,documents
: array with all documents and document checks for this applicant,attemptCount
: how many times has the user attempted checks on this instance of the widget so far,maxAttemptCount
: max attempt count configured,externalIdv
: is external idv activated per configuration,isCheckingAddress
: are addresses activated per configuration,isCheckingIDs
: are documents activated per configuration,
For FF_EXTERNAL_IDV_CHECK_COMPLETED
, e.detail
is much simpler. It only includes:
applicant
: applicant object with personal information, including the applicant's entity id which can be used with our API calls,documents
: array with all documents and document checks for this applicant,
Note on Biometrics and Smart UI
Our current biometrics offering is asynchronous and can take up to 5 mins, we do recommend the following:
- Have a warm offboard when the customer finishes biometrics, use the event FF_EXTERNAL_IDV_CHECK_COMPLETED which indicates that Biometrics has been submitted successfully; however, it does NOT indicate biometrics results are finished.
- Wait for notification via your webhook endpoint for the final outcome of this entity including biometrics results (this can take up to 5 mins)
- Notify the customer of the next step based on the result...
Updated 8 months ago