AAMVA Barcode Verifier

Defined under the namespace Scandit.Datacapture.Id

AamvaBarcodeVerificationStatus

Added in version 6.28.0

The verification status returned by the barcode verifier

Authentic

Added in version 6.28.0

The barcode is authentic

LikelyForged

Added in version 6.28.0

The barcode is likely forged

Forged

Added in version 6.28.0

The barcode is forged

AamvaBarcodeVerificationResult
class AamvaBarcodeVerificationResult

Added in version 6.15.0

The result of a verification of AAMVA-compliant personal identification document done by AamvaBarcodeVerifier.

allChecksPassed
get allChecksPassed(): boolean

Added in version 6.15.0

All checks passed and nothing suspicious about the document was detected.

status
get status(): AamvaBarcodeVerificationStatus

Added in version 6.28.0

Verification status containing the result of the verification

AamvaBarcodeVerifier
class AamvaBarcodeVerifier

Added in version 6.15.0

Validates the authenticity of the document by scanning the barcode on the back. This verifier supports documents that follow the Driver License/Identification Card specification by the American Association of Motor Vehicle Administrators (AAMVA). It requires either the front & back scanning mode or a single-sided scan of the back of the document. Start with creating a capture context and the verifier:

const dataCaptureContext = DataCaptureContext.forLicenseKey("-- ENTER YOUR SCANDIT LICENSE KEY HERE --")
const barcodeVerifier = await AamvaBarcodeVerifier.create(dataCaptureContext)

Then either initialize the front & back scanning mode:

const settings = new IdCaptureSettings()
settings.supportedDocuments = [IdDocumentType.DLVIZ]
settings.supportedSides = SupportedSides.FrontAndBack

const idCapture = IdCapture.forContext(dataCaptureContext, settings)

Or initialize single-sided scanning of the back of the document:

const settings = new IdCaptureSettings()
settings.supportedDocuments = [IdDocumentType.AAMVABarcode]

const idCapture = IdCapture.forContext(dataCaptureContext, settings)

Once the capture is complete, trigger the verification process. This process is asynchronous and the result will be delivered once the verification has been completed:

const idCaptureListener = {
    didCaptureId: (_, session) => {
        const capturedId = session.newlyCapturedId
        const barcode = capturedId.aamvaBarcodeResult

        if (barcode) {
            barcodeVerifier
                .then(verifierInstance => {
                    verifierInstance
                        .verify(session.newlyCapturedId)
                        .then(result => {
                                if (result.allChecksPassed) {
                                    // Nothing suspicious was detected.
                                } else {
                                    // Document may be fraudulent or tampered with - proceed with caution.
                                }
                            }, (error) => {
                                // Error occurred during verification
                            }
                        })
                })
        }
    }
}
create(context)
static create(context: DataCaptureContext): Promise<AamvaBarcodeVerifier>

Added in version 6.15.0

Creates a new instance of this verifier.

verify(capturedId)
verify(capturedId: CapturedId): Promise<AamvaBarcodeVerificationResult>

Added in version 6.15.0

Asynchronously conduct the verification of the specified AAMVA-compliant personal identification document.