SDK Response
VIDVDocKitResponse (enum)
Returned from the onDocKitResult() callback:
Case
Description
success(data: VIDVDocumentKitResult)
SDK session completed successfully
serviceFailure(code: Int, message: String, data: VIDVDocumentKitResult?)
Backend or validation failure
exit(step: String, data: VIDVDocumentKitResult?)
User exited manually
builderError(code: Int, message: String)
Configuration error prevented SDK from launching
Implement Result Callback
extension ViewController: VIDVDocKitDelegate {
func onDocKitResult(_ result: VIDVDocKitResponse) {
switch result {
case let .success(data):
// Handle success with extractedData and sessionID
case let .serviceFailure(code, message, data):
// Handle API or processing error
case let .exit(step, data):
// Handle user exit at a specific step
case let .builderError(code, message):
// Handle configuration issue before SDK starts
}
}
}
VIDVDocumentKitResult (class)
Field
Type
Description
sessionID
String?
Unique ID for SDK session
extractedData
[String: String]?
Key-value map of OCR results
captures
[String: String]?
Base64-encoded images (front, back)
hmacData
[String]?
Optional HMAC data for integrity validation
🔍 Example Output
Example result handling inside the callback:
case let .success(data):
let resultText = """
Session ID: \(data.sessionID ?? "")
Document Items: \(data.extractedData?.compactMap { dict in
dict.key + ": " + (dict.value as? String ?? "")
}.joined(separator: ", \n ") ?? "None")
"""
resultTextView.text = resultText
Last updated