Skip to main content

Communication

Upload a document and get instant results. Gain a deeper understanding of how Veryfi Lens interacts with your application.

Download on theApp StoreDownload on theGoogle Play

  1. Set your delegate:
VeryfiLens.shared().delegate = self
  1. Implement the delegate methods:
extension ViewController: VeryfiLensDelegate {

func veryfiLensClose(_ json: [String : Any]) {
let jsonData = try? JSONSerialization.data(withJSONObject: json as Any, options: .prettyPrinted)
let jsonString = String(data: jsonData!, encoding: .utf8)
print(String("veryfiLensClose: " + jsonString!)) // do something with the JSON here
}

func veryfiLensUpdate(_ json: [String : Any]) {
let jsonData = try? JSONSerialization.data(withJSONObject: json as Any, options: .prettyPrinted)
let jsonString = String(data: jsonData!, encoding: .utf8)
print(String("veryfiLensUpdate: " + jsonString!)) // do something with the JSON here
}

func veryfiLensSuccess(_ json: [String : Any]) {
let jsonData = try? JSONSerialization.data(withJSONObject: json as Any, options: .prettyPrinted)
let jsonString = String(data: jsonData!, encoding: .utf8)
print(String("veryfiLensSuccess: " + jsonString!)) // do something with the JSON here
}

func veryfiLensError(_ json: [String : Any]) {
let jsonData = try? JSONSerialization.data(withJSONObject: json as Any, options: .prettyPrinted)
let jsonString = String(data: jsonData!, encoding: .utf8)
print(String("veryfiLensError: " + jsonString!)) // do something with the error JSON here
}
}

Delegate Definitions

  • veryfiLensClose - the Veryfi Lens camera has been closed, either as a result of submitting an image for processing, or the user closed the camera without submitting an image.
{
"status": "close",
"queue_count": 1,
"framework-version": "1.4.0",
"session_scan_count": 1,
"framework-build": "1"
}

NOTE: In the object above, queue_count refers to the number of submitted documents that are currently in the processing queue. session_scan_count refers to the number of documents that were submitted in the most recent Lens camera session - if this is equal to 0 (zero) then the camera session was canceled without submitting anything.

  • veryfiLensUpdate - during the processing of a document, this delegate will be fired multiple times. One time it will contain the thumbnail path for the submitted document and one time it will contain a full-size image path. In addition, multiple instances of this delegate will be fired containing the current upload progress percentage.

Sample package created notification:

{
"status": "start",
"package_id": "edc8653e4c2b4ef1"
}

Thumbnail shared example:

{
"status": "inprogress",
"msg": "img_thumbnail_path",
"data": "/path/to/thumbnail.jpg",
"package_id": "edc8653e4c2b4ef1"
}

Full-size image shared example:

{
"status": "inprogress",
"msg": "img_original_path",
"data": "/path/to/image.jpg",
"package_id": "edc8653e4c2b4ef1",
"document_type": "receipt"
}

Stitched PDF shared example:

{
"status": "inprogress",
"msg": "img_stitched_pdf_path",
"data": "/path/to/images.pdf",
"package_id": "edc8653e4c2b4ef1"
}

Upload progress example:

{
"status": "inprogress",
"msg": "progress",
"data": 68,
"package_id": "edc8653e4c2b4ef1"
}

Package removed example:

{
"status": "removed",
"msg": "clear_package",
"package_id": "edc8653e4c2b4ef1"
}
  • veryfiLensError - if an error occurs during uploading or processing a submitted or a general exception or crash is caught in Veryfi Lens, this notification contains the error details.

Sample error data:

{
"status": "error",
"package_id": "edc8653e4c2b4ef1",
"error": "[Wombat].Reachability.noInternetConnection"
}
  • veryfiLensSuccess - this delegate fires once a document has finished processing, whether it was submitted via the camera, the gallery, or it was dictated or entered/typed manually. This delegate provides the response from the Veryfi API.

Example:

{
"status": "done",
"data": { "advance_eic_payment":null,"allocated_tips":null,"control_number":null,"dependent_care_benefits":null,"ein":"46-1234567","employee_address":"80 WORKHOURS WAY\nSLEEPLESS HOLLOW NY 11222","employee_name":"DOCTORED B. MONEY","employee_ssn":"123-45-6879","employer_address":"123 PAYNE LANE\nPOSTCALL, NY 11111","employer_name":"BESTEST HOSPITAL EVER INC.","employer_state_id":null,"federal_income_tax":4000,"field_12a_col1":null,"field_12a_col2":45.5,"field_12b_col1":null,"field_12b_col2":5000,"field_12c_col1":null,"field_12c_col2":9800.57,"field_12d_col1":null,"field_12d_col2":null,"field_14_other":[{"column_1":"NY SDI","column_2":31.2}],"id":74511,"is_13a":false,"is_13b":false,"is_13c":false,"local_income_tax":500,"local_wages_tips":60000,"locality_name":"NYC","medicare_tax":870,"medicare_wages":60000,"non_qualified_plans":null,"pdf_url":"https:\/\/cdn.veryfi.com\/w2s\/partner-receipts\/14dfc62c-2713-4559-985a-073b4e33390d\/0394d9c5-49ff-464e-b50b-195f3058f770.pdf?Expires=1695936052&Signature=dmIlk369lsneef0jPZTH5DgG0cT36T1z~uTve7grasoMuCgjtiO8iRVVx6L8jxISygBBT1LDCrQlW1YJ6ODO7dPvAwUBApbwvDVLjDJ9OLc~XIeQ2G6Oi5ubrb9yRk6pvYeY-98DTzcGbfqThRzJOrUrYt34ngnMOspL40MYFj1ZIA7D8iqasHi0ql9Rdj6WCh4kXIbsFnvCNjKnQS3KZfWCDo8TtQJqwlisJPJJg3mmF3AEDAulaF2i1cUWGw7Hv82PBVEilgyPHtNzSXOZPyy-kVwNcHbnaoffsKkQer88wU5lLsnMdfY6skOKM7bfQuY9jEHJZOyAA8AHI2YenQ__&Key-Pair-Id=APKAJCILBXEJFZF4DCHQ","ss_tax":3720,"ss_tips":null,"ss_wages":60000,"state":"NY","state_income_tax":1500,"state_wages_tips":60000,"states":[{"state":"NY","employer_state_id":null,"state_wages_tips":60000,"state_income_tax":1500,"local_wages_tips":60000,"local_income_tax":500,"locality_name":"NYC"}],"wages_other_comps":55000 },
"package_id": "855d7fdf6ddf4939"
}