verant_id_cloud_scan 1.4.5-beta.5 → 1.4.5-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Api.js +11 -0
- package/CHANGELOG.md +67 -0
- package/CloudScan.js +8 -0
- package/FaceComparison.js +2 -4
- package/ScannerApi.js +43 -5
- package/ScannerProfiles.js +14 -0
- package/index.d.ts +4 -0
- package/package.json +1 -1
package/Api.js
CHANGED
|
@@ -83,6 +83,17 @@ function getDmvServerAddress() {
|
|
|
83
83
|
: "https://dmv.verantid.com/api/v1/dmv_check";
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
+
/**
|
|
87
|
+
* Get Face Comparison server address based on current environment
|
|
88
|
+
* @returns {string}
|
|
89
|
+
*/
|
|
90
|
+
export function getFaceComparisonServerAddress() {
|
|
91
|
+
const env = getEnvironment();
|
|
92
|
+
return env === 'staging'
|
|
93
|
+
? "https://staging.face.verantid.bluerocket.us/compare_id_and_face"
|
|
94
|
+
: "https://faceid.verantid.com/compare_id_and_face";
|
|
95
|
+
}
|
|
96
|
+
|
|
86
97
|
export const dmvCheck = async (clientId, scannerType, licenseData) => {
|
|
87
98
|
const url = getDmvServerAddress();
|
|
88
99
|
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [1.4.5-beta.6] - 2026-04-15
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- UV/IR image support for IDXpressPlus scanner profile
|
|
12
|
+
- Added `licenseFrontUvBase64`, `licenseBackUvBase64`, `licenseFrontIrBase64`, and `licenseBackIrBase64` fields to scan results
|
|
13
|
+
- Scanner now captures and returns ultraviolet (UV) and infrared (IR) images alongside standard color images
|
|
14
|
+
- Image types supported: fclr (front color), rclr (rear color), fclruv (front UV), rclruv (rear UV), fgsir (front IR), rgsir (rear IR)
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
- Image extraction logic now captures all image types from scanner response instead of only front/back color images
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
- Updated IDXpressPlus scanner profile to include UV/IR parameters in default settings and restore configuration
|
|
21
|
+
- Added `clrUvIrResolution`, `fclrUvEnabled`, `rclrUvEnabled`, `fgsIrEnabled`, and `rgsIrEnabled` to `restoreParamKeys`
|
|
22
|
+
- Updated `ScannerApi.js` to extract UV/IR images from GetDocument response
|
|
23
|
+
- Updated `CloudScan.js` `scanId` function to return UV/IR image data (`licenseFrontUvBase64`, `licenseBackUvBase64`, `licenseFrontIrBase64`, `licenseBackIrBase64`)
|
|
24
|
+
- Local scanner functions (`localScanId`, `localContinueScanId`) do not include UV/IR fields as local scanners (VerantId6S) do not support UV/IR imaging
|
|
25
|
+
|
|
26
|
+
## [1.4.5-beta.5] - 2026-04-14
|
|
27
|
+
|
|
28
|
+
### Changed
|
|
29
|
+
- Applied dynamic environment URLs to face comparison feature
|
|
30
|
+
|
|
31
|
+
## [1.4.5-beta.4] - 2026-04-14
|
|
32
|
+
|
|
33
|
+
### Added
|
|
34
|
+
- Error validation for invalid environment type
|
|
35
|
+
|
|
36
|
+
### Changed
|
|
37
|
+
- Updated default server URLs to production endpoints
|
|
38
|
+
|
|
39
|
+
## [1.4.5-beta.3] - 2026-04-13
|
|
40
|
+
|
|
41
|
+
### Fixed
|
|
42
|
+
- Various bug fixes and code quality improvements
|
|
43
|
+
|
|
44
|
+
## [1.4.5-beta.2] - 2026-04-12
|
|
45
|
+
|
|
46
|
+
### Added
|
|
47
|
+
- Dynamic environment detection for server URLs
|
|
48
|
+
- Support for multiple deployment environments
|
|
49
|
+
|
|
50
|
+
### Changed
|
|
51
|
+
- Server address handling now supports trailing slashes
|
|
52
|
+
- Code improvements based on Copilot suggestions
|
|
53
|
+
|
|
54
|
+
## [1.4.5-beta.1] - 2026-04-11
|
|
55
|
+
|
|
56
|
+
### Added
|
|
57
|
+
- IDXpress scanner profiles support
|
|
58
|
+
- New scanner profile configuration options
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Version Number Guide
|
|
63
|
+
|
|
64
|
+
- **Major** (1.x.x): Breaking changes
|
|
65
|
+
- **Minor** (x.4.x): New features, backwards compatible
|
|
66
|
+
- **Patch** (x.x.5): Bug fixes, backwards compatible
|
|
67
|
+
- **Beta** (x.x.x-beta.x): Pre-release versions for testing
|
package/CloudScan.js
CHANGED
|
@@ -119,6 +119,10 @@ export const scanId = async (
|
|
|
119
119
|
barcodeResultsObject,
|
|
120
120
|
licenseFrontBase64: "",
|
|
121
121
|
licenseBackBase64: "",
|
|
122
|
+
licenseFrontUvBase64: "",
|
|
123
|
+
licenseBackUvBase64: "",
|
|
124
|
+
licenseFrontIrBase64: "",
|
|
125
|
+
licenseBackIrBase64: "",
|
|
122
126
|
errorMessages: "",
|
|
123
127
|
};
|
|
124
128
|
let barcodelicenseKey = await getBarcodeLicenseKey();
|
|
@@ -148,6 +152,10 @@ export const scanId = async (
|
|
|
148
152
|
|
|
149
153
|
returnObj.licenseFrontBase64 = scannerResponseObj.licenseFrontBase64;
|
|
150
154
|
returnObj.licenseBackBase64 = scannerResponseObj.licenseBackBase64;
|
|
155
|
+
returnObj.licenseFrontUvBase64 = scannerResponseObj.licenseFrontUvBase64;
|
|
156
|
+
returnObj.licenseBackUvBase64 = scannerResponseObj.licenseBackUvBase64;
|
|
157
|
+
returnObj.licenseFrontIrBase64 = scannerResponseObj.licenseFrontIrBase64;
|
|
158
|
+
returnObj.licenseBackIrBase64 = scannerResponseObj.licenseBackIrBase64;
|
|
151
159
|
|
|
152
160
|
if (includeData && scannerResponseObj.licenseBackBase64) {
|
|
153
161
|
var img = document.createElement("img");
|
package/FaceComparison.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
const faceComparisonAddress = "https://faceid.verantid.com/compare_id_and_face";
|
|
3
|
-
//staging
|
|
4
|
-
// const faceComparisonAddress = "https://staging.face.verantid.bluerocket.us/compare_id_and_face";
|
|
1
|
+
import { getFaceComparisonServerAddress } from "./Api.js";
|
|
5
2
|
|
|
6
3
|
|
|
7
4
|
export async function compressImage(source, maxSize = 2 * 1024 * 1024) {
|
|
@@ -42,6 +39,7 @@ export async function compressImage(source, maxSize = 2 * 1024 * 1024) {
|
|
|
42
39
|
}
|
|
43
40
|
|
|
44
41
|
const startComparison = async (commandObj) => {
|
|
42
|
+
const faceComparisonAddress = getFaceComparisonServerAddress();
|
|
45
43
|
return fetch(faceComparisonAddress, {
|
|
46
44
|
method: "POST",
|
|
47
45
|
headers: { "Content-Type": "application/json" },
|
package/ScannerApi.js
CHANGED
|
@@ -63,6 +63,10 @@ export async function scannerChain(
|
|
|
63
63
|
let scanDataResults = {};
|
|
64
64
|
let licenseFrontBase64 = "";
|
|
65
65
|
let licenseBackBase64 = "";
|
|
66
|
+
let licenseFrontUvBase64 = "";
|
|
67
|
+
let licenseBackUvBase64 = "";
|
|
68
|
+
let licenseFrontIrBase64 = "";
|
|
69
|
+
let licenseBackIrBase64 = "";
|
|
66
70
|
|
|
67
71
|
// Get scanner profile
|
|
68
72
|
const profileName = optionalConnectionParams?.scannerProfile;
|
|
@@ -178,11 +182,19 @@ export async function scannerChain(
|
|
|
178
182
|
scanDataResults: resultData,
|
|
179
183
|
licenseFrontBase64: frontBase64,
|
|
180
184
|
licenseBackBase64: backBase64,
|
|
185
|
+
licenseFrontUvBase64: frontUvBase64,
|
|
186
|
+
licenseBackUvBase64: backUvBase64,
|
|
187
|
+
licenseFrontIrBase64: frontIrBase64,
|
|
188
|
+
licenseBackIrBase64: backIrBase64,
|
|
181
189
|
} = await startScanDocument(currentSessionId, profile, optGetDocumentParams);
|
|
182
190
|
|
|
183
191
|
scanDataResults = resultData;
|
|
184
192
|
licenseFrontBase64 = frontBase64;
|
|
185
193
|
licenseBackBase64 = backBase64;
|
|
194
|
+
licenseFrontUvBase64 = frontUvBase64;
|
|
195
|
+
licenseBackUvBase64 = backUvBase64;
|
|
196
|
+
licenseFrontIrBase64 = frontIrBase64;
|
|
197
|
+
licenseBackIrBase64 = backIrBase64;
|
|
186
198
|
|
|
187
199
|
if (!scanSuccess) {
|
|
188
200
|
await closeScannerConnection(currentSessionId);
|
|
@@ -221,6 +233,10 @@ export async function scannerChain(
|
|
|
221
233
|
scanDataResults,
|
|
222
234
|
licenseFrontBase64: licenseFrontBase64,
|
|
223
235
|
licenseBackBase64: licenseBackBase64,
|
|
236
|
+
licenseFrontUvBase64: licenseFrontUvBase64,
|
|
237
|
+
licenseBackUvBase64: licenseBackUvBase64,
|
|
238
|
+
licenseFrontIrBase64: licenseFrontIrBase64,
|
|
239
|
+
licenseBackIrBase64: licenseBackIrBase64,
|
|
224
240
|
scannerProfile: profileName,
|
|
225
241
|
errorMessages,
|
|
226
242
|
};
|
|
@@ -390,16 +406,30 @@ async function startScanDocument(
|
|
|
390
406
|
let scanDataResults = responseData;
|
|
391
407
|
let licenseFrontBase64 = "";
|
|
392
408
|
let licenseBackBase64 = "";
|
|
409
|
+
let licenseFrontUvBase64 = "";
|
|
410
|
+
let licenseBackUvBase64 = "";
|
|
411
|
+
let licenseFrontIrBase64 = "";
|
|
412
|
+
let licenseBackIrBase64 = "";
|
|
393
413
|
|
|
394
414
|
const images = responseData.Images || [];
|
|
395
415
|
|
|
396
416
|
// Check and set image data using profile-defined image types
|
|
397
417
|
images.forEach((element) => {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
if (
|
|
402
|
-
|
|
418
|
+
const imageType = element["ImageType"];
|
|
419
|
+
const imageData = element["data"];
|
|
420
|
+
|
|
421
|
+
if (imageType === profile.frontImageType) {
|
|
422
|
+
licenseFrontBase64 = imageData;
|
|
423
|
+
} else if (imageType === profile.backImageType) {
|
|
424
|
+
licenseBackBase64 = imageData;
|
|
425
|
+
} else if (profile.frontUvImageType && imageType === profile.frontUvImageType) {
|
|
426
|
+
licenseFrontUvBase64 = imageData;
|
|
427
|
+
} else if (profile.backUvImageType && imageType === profile.backUvImageType) {
|
|
428
|
+
licenseBackUvBase64 = imageData;
|
|
429
|
+
} else if (profile.frontIrImageType && imageType === profile.frontIrImageType) {
|
|
430
|
+
licenseFrontIrBase64 = imageData;
|
|
431
|
+
} else if (profile.backIrImageType && imageType === profile.backIrImageType) {
|
|
432
|
+
licenseBackIrBase64 = imageData;
|
|
403
433
|
}
|
|
404
434
|
});
|
|
405
435
|
|
|
@@ -408,6 +438,10 @@ async function startScanDocument(
|
|
|
408
438
|
scanDataResults,
|
|
409
439
|
licenseFrontBase64,
|
|
410
440
|
licenseBackBase64,
|
|
441
|
+
licenseFrontUvBase64,
|
|
442
|
+
licenseBackUvBase64,
|
|
443
|
+
licenseFrontIrBase64,
|
|
444
|
+
licenseBackIrBase64,
|
|
411
445
|
};
|
|
412
446
|
}
|
|
413
447
|
|
|
@@ -416,6 +450,10 @@ async function startScanDocument(
|
|
|
416
450
|
scanDataResults: null,
|
|
417
451
|
licenseFrontBase64: "",
|
|
418
452
|
licenseBackBase64: "",
|
|
453
|
+
licenseFrontUvBase64: "",
|
|
454
|
+
licenseBackUvBase64: "",
|
|
455
|
+
licenseFrontIrBase64: "",
|
|
456
|
+
licenseBackIrBase64: "",
|
|
419
457
|
};
|
|
420
458
|
}
|
|
421
459
|
|
package/ScannerProfiles.js
CHANGED
|
@@ -80,6 +80,11 @@ const PROFILES = {
|
|
|
80
80
|
fclrEnabled: "true",
|
|
81
81
|
rgsEnabled: "false",
|
|
82
82
|
rclrEnabled: "true",
|
|
83
|
+
clrUvIrResolution: "600dpi",
|
|
84
|
+
fclrUvEnabled: "true",
|
|
85
|
+
rclrUvEnabled: "true",
|
|
86
|
+
fgsIrEnabled: "true",
|
|
87
|
+
rgsIrEnabled: "true",
|
|
83
88
|
},
|
|
84
89
|
restoreParamKeys: [
|
|
85
90
|
"FeedType",
|
|
@@ -93,9 +98,18 @@ const PROFILES = {
|
|
|
93
98
|
"rgsEnabled",
|
|
94
99
|
"rgsResolution",
|
|
95
100
|
"rclrCompressionQuality",
|
|
101
|
+
"clrUvIrResolution",
|
|
102
|
+
"fclrUvEnabled",
|
|
103
|
+
"rclrUvEnabled",
|
|
104
|
+
"fgsIrEnabled",
|
|
105
|
+
"rgsIrEnabled",
|
|
96
106
|
],
|
|
97
107
|
frontImageType: "fclr",
|
|
98
108
|
backImageType: "rclr",
|
|
109
|
+
frontUvImageType: "fclruv",
|
|
110
|
+
backUvImageType: "rclruv",
|
|
111
|
+
frontIrImageType: "fgsir",
|
|
112
|
+
backIrImageType: "rgsir",
|
|
99
113
|
licenseIdentifierField: "ScannerMAC",
|
|
100
114
|
licenseIdentifierFallback: "ScannerSerial",
|
|
101
115
|
},
|
package/index.d.ts
CHANGED
|
@@ -45,6 +45,10 @@ declare module "verant_id_cloud_scan" {
|
|
|
45
45
|
barcodeResultsObject: any;
|
|
46
46
|
licenseFrontBase64: string;
|
|
47
47
|
licenseBackBase64: string;
|
|
48
|
+
licenseFrontUvBase64: string;
|
|
49
|
+
licenseBackUvBase64: string;
|
|
50
|
+
licenseFrontIrBase64: string;
|
|
51
|
+
licenseBackIrBase64: string;
|
|
48
52
|
errorMessages: string;
|
|
49
53
|
dmvVerificationResult?: any;
|
|
50
54
|
}>;
|