With this iFrame guide, we’ve tried to make it as easy as possible to get up and running with DCAMS. The iFrame is built to allow you to scan, review and store identity documents.
What are the steps for getting set up?
1. Create Token
In order for the document scan/upload process to work you must submit a token within the parameters of the veratadModal.
These are the messages displayed to the end user in the iFrame.
NOTE: If you do not want the user to be messaged in the iFrame you can simply run the veratadModal.close() after one of the function callbacks.
That said, If you do not customize these messages then your users that get an email link sent to them will see the defaults on the page.
The user has passed verification or successfully uploaded if DCAMS+ is not active, but storage is active.
The user did not PASS DCAMS+ verification or the image was not uploaded.
Something went wrong and no verification was processed. There are 4 error states:
Token - the token provided in the iFrame is not valid
Already Verified - the user (based on email) has already PASSED verification
Pending - the user (based on email) is currently in a PENDING state of verification
Velocity - The user has exceeded the velocity_threshold
Webhook
Once a customer's status changes then the webhook will be invoked. The email additional_data or reference values can be used to associate the journey on Veratad's side to a customer/order on your side.
You should always use the backend webhook POST to get the official status of the customer/order. The frontend callback in the JS should only be used to message and route your customer on the frontend.
Example
POST {The URL you setup}
Body
{"fn": "John","ln": "Smith","addr": "123 Main St","city": "Stratford","state": "CT","zip": "06614","dob": "19880521","email": "test@veratad.com","reference": "12345-test","status": "PENDING","additionalData": {"value_1":"test1","value_2":"test2" },"dcams_plus": {"document_data": {"FirstName":"LOUISA","LastName":"SAMPLE","MiddleName":"ANNA","FullAddress":"109 S FOSTER RD, BATON ROUGE, LA, 70808-0000","Address":"109 S FOSTER RD","City":"BATON ROUGE","State":"LA","Zip":"70808-0000","DateOfBirth":"19720629","Height":"5-08","Sex":"F","EyeColor":"BRN","DocumentNumber":"003009381","IssueDate":"20140714","ExpirationDate":"20300629","CountryCode":"USA",// (ISO Alpha 2 or 3)"DocumentType":"DRIVERS LICENSE"// other values are PASSPORT, IDENTITY CARD and UNKNOWN },"confirmation":92480850,"action":"REVIEW","issues": ["DOB DOES NOT MATCH DOCUMENT","FIRST NAME DOES NOT MATCH DOCUMENT"],"detail":"TRANSACTION REQUIRES FURTHER ATTENTION" },"storage": {"success":false }}
Body (When Image Return is Active)
There is a setting when a company is not using the Veratad storage system to have the document images returned via the callback. If this setting is active then the callback body will be as follows.
{"fn": "John","ln": "Smith","addr": "123 Main St","city": "Stratford","state": "CT","zip": "06614","dob": "19880521","email": "test@veratad.com","reference": "12345-test","status": "PENDING","additionalData": {"value_1":"test1","value_2":"test2" },"dcams_plus": {"document_data": {"FirstName":"LOUISA","LastName":"SAMPLE","MiddleName":"ANNA","FullAddress":"109 S FOSTER RD, BATON ROUGE, LA, 70808-0000","Address":"109 S FOSTER RD","City":"BATON ROUGE","State":"LA","Zip":"70808-0000","DateOfBirth":"19720629","Height":"5-08","Sex":"F","EyeColor":"BRN","DocumentNumber":"003009381","IssueDate":"20140714","ExpirationDate":"20300629","CountryCode":"USA",// (ISO Alpha 2 or 3)"DocumentType":"DRIVERS LICENSE"// other values are PASSPORT, IDENTITY CARD and UNKNOWN },"confirmation":92480850,"issues": ["DOB DOES NOT MATCH DOCUMENT","FIRST NAME DOES NOT MATCH DOCUMENT"],"detail":"TRANSACTION REQUIRES FURTHER ATTENTION" },"storage": {"success":false },"documents": {"front":"BASE 64 Encoded Image String","back":"BASE 64 Encoded Image String" }}
Triggers when the modal is first opened on the page or with the open() method
onClose()
Triggers when the modal is closed by the user or with the close() method
onSuccess()
The document was successfully scanned or successfully uploaded if DCAMS+ is not active
onFailure()
The document failed the scan process or was not uploaded successfully if DCAMS+ is not active
onEmail()
The user has requested that they get an email with a link to scan.
onQr()
The user pushed the "done" button after QR scanning.
onError()
A general processing error occurred during the scan or upload process.
onErrorToken()
An invalid token was supplied
onErrorPending()
The user's document is currently in a PENDING state and they cannot submit a new document
onErrorAlreadyVerified()
The user is in a PASS state already
onErrorVelocity()
The user has already processed 3 attempts within a 24 hour period
Name
Description
open()
Open the modal. i.e. veratadModal.open();
close()
Close the modal i.e. veratadModal.close();
destroy()
Destroy the modal and all variables i.e. veratadModal.destroy()
Parameter
Required
Type
Description
fn
required
string
The customer's first name
ln
required
string
The customer's last name
addr
optional
string
The customer's street address
city
optional
string
The customer's city
state
optional
string
The customer's state
zip
optional
string
The customer's zip code
dob
optional
string
The customer's Date of Birth
(YYYYMMDD format)
email
required
string
The customer's email address
phone
optional
string
10 digits no chars
reference
optional
string
An arbitrary value that will be returned with the callback
token
required
string
The token for the iFrame session
styleToken
optional
string
You can create a style ID in the admin dashboard. Once created enter the value in this parameter to customize the iFrame style.
desktopToMobileHandoff
optional
object
There are two boolean values:
isActive which will make the QR code the first thing a user sees on Desktop.
continueIsAnOption if set to true then the user will have the option to bypass the QR and continue on desktop
Both are false by default
additionalData
optional
object
Any additional data you would like sent back with the callback POST. This can be set with any key => value pairs.
resultMessages
optional
object
See resultMessages section below for more explanation.
language
optional
string
If no language is specified then the system will default to English. All languages from the Google Translate API are supported. Click here to view.
The value should be the ISO-639-1 Code.
parameter
default message
verificationSuccessTitle
Verification Success
verificationSuccessSubTitle
You have passed verification
parameter
default message
verificationFailureTitle
Verification Failed
verificationFailureSubTitle
Your document is pending manual review
parameter
default message
verificationErrorTokenTitle
Bad or Expired Token
verificationErrorTokenSubTitle
This document scan instance is using a bad or expired token. Please contact customer service.
verificationErrorAlreadyVerifiedTitle
You Are Already Verified
verificationErrorAlreadyVerifiedSubTitle
You have already passed this process and are not able to upload a new document at this time. Please call Customer Service.
verificationErrorPendingTitle
Your Document is Currently Pending Manual Review
verificationErrorPendingSubTitle
Your document is currently pending manual review and you may not provide another document at this time. Please call Customer Service.
verificationErrorVelocityTitle
Too Many Attempts
verificationErrorVelocitySubTitle
You have exceeded the amount of verification attempts. Please call Customer Service.