IDnowDocIDVError
Error thrown by start(token:isRoutedSession:preferredLanguage:viewController:bindingKey:).
public enum IDnowDocIDVError: Error {
case cancelled(reason: AbortReason, message: String)
case token(error: TokenError, message: String)
case network(error: NetworkError, message: String)
case internalError(code: Int, message: String)
}
Cases
| Case | Associated Values | Description |
|---|---|---|
| cancelled | reason: AbortReason, message: String | The session was cancelled by the user |
| token | error: TokenError, message: String | The session token is invalid |
| network | error: NetworkError, message: String | A network error occurred |
| internalError | code: Int, message: String | An unexpected internal error occurred |
Example
do {
try await IDnowDocIDV.shared.start(
token: "XYZ-ABCDE",
viewController: self
)
} catch let error as IDnowDocIDVError {
switch error {
case .cancelled(let reason, let message):
print("Cancelled: \(reason) - \(message)")
case .token(let error, let message):
print("Token error: \(error) - \(message)")
case .network(let error, let message):
print("Network error: \(error) - \(message)")
case .internalError(let code, let message):
print("Internal error \(code): \(message)")
}
}
AbortReason
Reason provided when the error case is cancelled.
public enum AbortReason
| Case | Description |
|---|---|
| appNotResponding | The app stopped responding during the session |
| documentNotAvailable | The required document was not available |
| notInterested | The user chose not to proceed |
| privacyConcerns | The user declined due to privacy concerns |
| other | Another unspecified reason |
| appNotScanning | The app failed to scan the document |
| cameraAccessDenied | The user denied camera access |
| documentExpired | The provided document is expired |
| documentNotAccepted | The document type is not accepted |
| identifyLater | The user chose to identify at a later time |
| selfieNotReady | The selfie capture failed or was not ready |
| noPin | No PIN was provided (eID only) |
TokenError
Error detail provided when the error case is token.
public enum TokenError
| Case | Description |
|---|---|
| formatError | The token format is incorrect |
| notFound | The token was not found |
| expiredOrDeleted | The token has expired or been deleted |
| alreadyCompleted | The session associated with this token is already completed |
| viToken | A VideoIdent token was used instead of a DocIDV token |
NetworkError
Error detail provided when the error case is network.
public enum NetworkError
| Case | Description |
|---|---|
| noInternetConnection | No internet connection is available |
| tlsPinFailed | TLS certificate pinning validation failed |
| serverNotReachable | The IDnow server could not be reached |