When a call is terminated, an event is sent to the integrator with the details of the closure.
All LiveID+ events are available via the client-side callback and the redirect parameter. However, only call closing events (close and error) are also forwarded to the liveid_servercallback URL.
The events that can be received are:
| Event | Description |
|---|---|
close | Fired when the video identification process is closed by the operator. |
error | Fired when the video identification process is closed due to unexpected errors (e.g., operator disconnection). |
For each event, an object containing the following properties is provided:
| Parameter | Description |
|---|---|
callID | Unique identifier for the LiveID+ video identification process. |
message | JSON object containing additional parameters. |
message.closeStatus | Indicates how the video identification process was closed: - N: Successfully completed.- S: Suspended by the operator.- A: Aborted by the operator due to an error.- K: Terminated by the system due to unexpected errors. |
message.note | A note provided by the operator at the time of closure. |
message.processId | Identifier of the associated process workflow. |
message.self | Boolean indicating if the process is a self-identification process. |
message.abortCode | Code corresponding to predefined closure reasons (only present when closeStatus=A). |
message.nextProcess | Identifier of a follow-up video identification process, if applicable. Not included for error events. |
message.token | Authentication token for LiveID+ API features. Not included for error events. |
message.additionalData | JSON object containing custom data added by the end script. Not included for error events. |
The abort codes can be customized per process upon request.
The default codes are:
| Code | Description |
|---|---|
E_CONN | Problem starting the call, stuck on "Connecting..." |
E_DISCONNECT | User disconnected |
E_ANSWER_TIMEOUT | Connection timeout |
E_OTHER_NO_TECH | Other non-technical issue not listed (specify) |
E_OTHER_TECH | Other technical problem not listed (specify) |
E_PHOTO | Problem taking photo after switched camera on mobile |
E_QUAL | Problem with video quality |
E_REC | Problem recording call |
E_SWITCH | Problem switching camera on mobile device |
E_VIDEO | Video issues for customer and/or operator |
E_SOUND | Audio issues for customer and/or operator |
E_DATA | Incorrect data |
E_THIRDP | Presence of unauthorized third party |
E_DOC | Missing or invalid (unreadable, expired, etc...) document |
E_CONN_LOW | Poor and/or unstable connection |
Each customer organization should define a strategy for handling video identification process closures. Some examples:
- Organization A: Sends an email containing all identification data as a ZIP file attachment.
- Organization B: Calls an exposed service to retrieve the video identification status and related details.
Since there are no predefined standard procedures, organizations must define their own processes based on their requirements.
A typical call closing integration workflow would be:
- Receive the
closeorerrorevent (via client-side callback, redirect, or server-side callback). - Extract the
callID(conference ID) andcloseStatusfrom the event payload. - If
closeStatusisN(success), use themessage.tokento retrieve identification data via the Data Retrieval APIs. - If
closeStatusisA(aborted), check theabortCodefor the specific reason and handle accordingly. - Store the results in your system for further processing.