verant_id_cloud_scan 1.4.5-beta.4 → 1.4.5-beta.6
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 +77 -26
- package/CHANGELOG.md +66 -0
- package/CloudScan.js +18 -2
- package/FaceComparison.js +2 -4
- package/ScannerApi.js +39 -5
- package/ScannerProfiles.js +10 -0
- package/index.d.ts +8 -0
- package/package.json +1 -1
package/Api.js
CHANGED
|
@@ -4,47 +4,98 @@ import { FIELD_MAPPING, FIELD_DEFAULTS, getFieldValue } from "./FieldMapping.js"
|
|
|
4
4
|
import { sanitizeFieldForDmv } from "./FormatUtils.js";
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Environment Detection
|
|
7
|
+
* Environment Detection & Management
|
|
8
8
|
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
9
|
+
* Defaults to PRODUCTION for all hosts (including localhost).
|
|
10
|
+
* Only verify-staging.verantid.com automatically uses staging.
|
|
11
|
+
* Host apps can explicitly override via setEnvironment('staging' | 'production').
|
|
12
12
|
*/
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
|
|
14
|
+
// Current environment - starts as null to trigger detection on first use
|
|
15
|
+
let currentEnvironment = null;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Detect environment based on hostname
|
|
19
|
+
* @returns {'staging' | 'production'}
|
|
20
|
+
*/
|
|
21
|
+
function detectEnvironment() {
|
|
22
|
+
// Default to production for all hosts
|
|
15
23
|
let environment = 'production';
|
|
16
24
|
|
|
17
|
-
// Only
|
|
25
|
+
// Only auto-switch to staging for VerantID's staging domain
|
|
18
26
|
if (typeof window !== 'undefined') {
|
|
19
27
|
const hostname = window.location.hostname;
|
|
20
28
|
|
|
21
|
-
// ONLY
|
|
22
|
-
if (hostname === 'verify-staging.verantid.com'
|
|
23
|
-
hostname === 'localhost' ||
|
|
24
|
-
hostname === '127.0.0.1' ||
|
|
25
|
-
hostname.startsWith('localhost:')) {
|
|
29
|
+
// ONLY verify-staging.verantid.com uses staging by default
|
|
30
|
+
if (hostname === 'verify-staging.verantid.com') {
|
|
26
31
|
environment = 'staging';
|
|
27
32
|
}
|
|
28
33
|
|
|
29
|
-
// All other hostnames (customer sites, verify.verantid.com, etc.) use production
|
|
34
|
+
// All other hostnames (localhost, customer sites, verify.verantid.com, etc.) use production
|
|
30
35
|
}
|
|
31
36
|
|
|
32
37
|
console.log('[CloudScan] Environment detected:', environment, 'on', typeof window !== 'undefined' ? window.location.hostname : 'server');
|
|
33
38
|
return environment;
|
|
34
39
|
}
|
|
35
40
|
|
|
36
|
-
|
|
41
|
+
/**
|
|
42
|
+
* Get current environment (detects if not already set)
|
|
43
|
+
* @returns {'staging' | 'production'}
|
|
44
|
+
*/
|
|
45
|
+
function getEnvironment() {
|
|
46
|
+
if (currentEnvironment === null) {
|
|
47
|
+
currentEnvironment = detectEnvironment();
|
|
48
|
+
}
|
|
49
|
+
return currentEnvironment;
|
|
50
|
+
}
|
|
37
51
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Explicitly set the environment
|
|
54
|
+
* @param {'staging' | 'production'} environment
|
|
55
|
+
* @throws {Error} If environment is not 'staging' or 'production'
|
|
56
|
+
*/
|
|
57
|
+
export function setEnvironment(environment) {
|
|
58
|
+
if (environment !== 'staging' && environment !== 'production') {
|
|
59
|
+
throw new Error(`Invalid environment: "${environment}". Must be "staging" or "production".`);
|
|
60
|
+
}
|
|
61
|
+
currentEnvironment = environment;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Get license server address based on current environment
|
|
66
|
+
* @returns {string}
|
|
67
|
+
*/
|
|
68
|
+
function getLicenseServerAddress() {
|
|
69
|
+
const env = getEnvironment();
|
|
70
|
+
return env === 'staging'
|
|
71
|
+
? "https://lic-staging.verantid.com/api/v1"
|
|
72
|
+
: "https://lic.verantid.com/api/v1";
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Get DMV server address based on current environment
|
|
77
|
+
* @returns {string}
|
|
78
|
+
*/
|
|
79
|
+
function getDmvServerAddress() {
|
|
80
|
+
const env = getEnvironment();
|
|
81
|
+
return env === 'staging'
|
|
82
|
+
? "https://dmv-check-server-staging-fcaab48bec21.herokuapp.com/api/v1/dmv_check"
|
|
83
|
+
: "https://dmv.verantid.com/api/v1/dmv_check";
|
|
84
|
+
}
|
|
41
85
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
+
}
|
|
45
96
|
|
|
46
97
|
export const dmvCheck = async (clientId, scannerType, licenseData) => {
|
|
47
|
-
const url =
|
|
98
|
+
const url = getDmvServerAddress();
|
|
48
99
|
|
|
49
100
|
// Build the driver object dynamically.
|
|
50
101
|
const driver = {};
|
|
@@ -135,7 +186,7 @@ export const dmvCheck = async (clientId, scannerType, licenseData) => {
|
|
|
135
186
|
};
|
|
136
187
|
|
|
137
188
|
export const checkDmvFeatureLicense = async (clientId) => {
|
|
138
|
-
const url =
|
|
189
|
+
const url = getLicenseServerAddress() + "/dmv_verifications/check_license";
|
|
139
190
|
const data = { client_id: clientId };
|
|
140
191
|
|
|
141
192
|
try {
|
|
@@ -169,7 +220,7 @@ export const checkDmvFeatureLicense = async (clientId) => {
|
|
|
169
220
|
};
|
|
170
221
|
|
|
171
222
|
export const checkFaceComparisonFeatureLicense = async (clientId) => {
|
|
172
|
-
const url =
|
|
223
|
+
const url = getLicenseServerAddress() + "/facial_scans/check_license";
|
|
173
224
|
const data = { client_id: clientId };
|
|
174
225
|
|
|
175
226
|
try {
|
|
@@ -203,7 +254,7 @@ export const checkFaceComparisonFeatureLicense = async (clientId) => {
|
|
|
203
254
|
}
|
|
204
255
|
|
|
205
256
|
export const checkLicense = async (clientId, macAddress) => {
|
|
206
|
-
const url =
|
|
257
|
+
const url = getLicenseServerAddress() + "/check_license";
|
|
207
258
|
const data = { client_id: clientId, mac_address: macAddress };
|
|
208
259
|
|
|
209
260
|
try {
|
|
@@ -238,7 +289,7 @@ export const checkLicense = async (clientId, macAddress) => {
|
|
|
238
289
|
* @returns {Promise<boolean>} True if autoDmv is enabled
|
|
239
290
|
*/
|
|
240
291
|
export const checkAutoDmvEnabled = async (clientId) => {
|
|
241
|
-
const url =
|
|
292
|
+
const url = getLicenseServerAddress() + "/check_feature_license";
|
|
242
293
|
const data = { client_id: clientId };
|
|
243
294
|
|
|
244
295
|
try {
|
|
@@ -263,7 +314,7 @@ export const checkAutoDmvEnabled = async (clientId) => {
|
|
|
263
314
|
}
|
|
264
315
|
};
|
|
265
316
|
export const getBarcodeLicenseKey = async () => {
|
|
266
|
-
const url =
|
|
317
|
+
const url = getLicenseServerAddress() + "/get_barcode_license_key";
|
|
267
318
|
|
|
268
319
|
try {
|
|
269
320
|
const response = await fetch(url, {
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
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
|
+
- UV/IR parameters no longer restored to disabled state after scanning
|
|
18
|
+
- Removed `fclrUvEnabled`, `rclrUvEnabled`, `fgsIrEnabled`, and `rgsIrEnabled` from `restoreParamKeys` in IDXpressPlus profile
|
|
19
|
+
- Image extraction logic now captures all image types from scanner response instead of only front/back color images
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
- Updated `ScannerApi.js` to extract UV/IR images from GetDocument response
|
|
23
|
+
- Updated `CloudScan.js` public API functions (`scanId`, `localScanId`, `localContinueScanId`) to return UV/IR image data
|
|
24
|
+
|
|
25
|
+
## [1.4.5-beta.5] - 2026-04-14
|
|
26
|
+
|
|
27
|
+
### Changed
|
|
28
|
+
- Applied dynamic environment URLs to face comparison feature
|
|
29
|
+
|
|
30
|
+
## [1.4.5-beta.4] - 2026-04-14
|
|
31
|
+
|
|
32
|
+
### Added
|
|
33
|
+
- Error validation for invalid environment type
|
|
34
|
+
|
|
35
|
+
### Changed
|
|
36
|
+
- Updated default server URLs to production endpoints
|
|
37
|
+
|
|
38
|
+
## [1.4.5-beta.3] - 2026-04-13
|
|
39
|
+
|
|
40
|
+
### Fixed
|
|
41
|
+
- Various bug fixes and code quality improvements
|
|
42
|
+
|
|
43
|
+
## [1.4.5-beta.2] - 2026-04-12
|
|
44
|
+
|
|
45
|
+
### Added
|
|
46
|
+
- Dynamic environment detection for server URLs
|
|
47
|
+
- Support for multiple deployment environments
|
|
48
|
+
|
|
49
|
+
### Changed
|
|
50
|
+
- Server address handling now supports trailing slashes
|
|
51
|
+
- Code improvements based on Copilot suggestions
|
|
52
|
+
|
|
53
|
+
## [1.4.5-beta.1] - 2026-04-11
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
- IDXpress scanner profiles support
|
|
57
|
+
- New scanner profile configuration options
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Version Number Guide
|
|
62
|
+
|
|
63
|
+
- **Major** (1.x.x): Breaking changes
|
|
64
|
+
- **Minor** (x.4.x): New features, backwards compatible
|
|
65
|
+
- **Patch** (x.x.5): Bug fixes, backwards compatible
|
|
66
|
+
- **Beta** (x.x.x-beta.x): Pre-release versions for testing
|
package/CloudScan.js
CHANGED
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
scannerPresent,
|
|
16
16
|
} from "./ScannerApi.js";
|
|
17
17
|
import { VerificationModal } from "./VerificationModal.js";
|
|
18
|
-
import { checkAutoDmvEnabled } from "./Api.js";
|
|
18
|
+
import { checkAutoDmvEnabled, setEnvironment } from "./Api.js";
|
|
19
19
|
import { formatSexCodeForDisplay, formatHeightForDisplay } from "./FormatUtils.js";
|
|
20
20
|
|
|
21
21
|
let cachedLicenseFrontBase64 = "";
|
|
@@ -36,7 +36,7 @@ export const checkFaceCompareFeature = async (clientId) => {
|
|
|
36
36
|
return await checkFaceComparisonFeatureLicense(clientId);
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
export { scannerPresent };
|
|
39
|
+
export { scannerPresent, setEnvironment };
|
|
40
40
|
|
|
41
41
|
export async function readImageBarcode(imageFile, clientId = null, scannerType = 'Upload') {
|
|
42
42
|
let returnObj = {
|
|
@@ -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");
|
|
@@ -357,6 +365,10 @@ export const localScanId = async (scannerAddress, clientId) => {
|
|
|
357
365
|
barcodeResultsObject,
|
|
358
366
|
licenseFrontBase64: "",
|
|
359
367
|
licenseBackBase64: "",
|
|
368
|
+
licenseFrontUvBase64: "",
|
|
369
|
+
licenseBackUvBase64: "",
|
|
370
|
+
licenseFrontIrBase64: "",
|
|
371
|
+
licenseBackIrBase64: "",
|
|
360
372
|
errorMessages: "",
|
|
361
373
|
};
|
|
362
374
|
|
|
@@ -381,6 +393,10 @@ export const localContinueScanId = async (scannerAddress, includeData, clientId
|
|
|
381
393
|
barcodeResultsObject,
|
|
382
394
|
licenseFrontBase64: "",
|
|
383
395
|
licenseBackBase64: "",
|
|
396
|
+
licenseFrontUvBase64: "",
|
|
397
|
+
licenseBackUvBase64: "",
|
|
398
|
+
licenseFrontIrBase64: "",
|
|
399
|
+
licenseBackIrBase64: "",
|
|
384
400
|
errorMessages: "",
|
|
385
401
|
};
|
|
386
402
|
|
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
|
@@ -178,11 +178,19 @@ export async function scannerChain(
|
|
|
178
178
|
scanDataResults: resultData,
|
|
179
179
|
licenseFrontBase64: frontBase64,
|
|
180
180
|
licenseBackBase64: backBase64,
|
|
181
|
+
licenseFrontUvBase64: frontUvBase64,
|
|
182
|
+
licenseBackUvBase64: backUvBase64,
|
|
183
|
+
licenseFrontIrBase64: frontIrBase64,
|
|
184
|
+
licenseBackIrBase64: backIrBase64,
|
|
181
185
|
} = await startScanDocument(currentSessionId, profile, optGetDocumentParams);
|
|
182
186
|
|
|
183
187
|
scanDataResults = resultData;
|
|
184
188
|
licenseFrontBase64 = frontBase64;
|
|
185
189
|
licenseBackBase64 = backBase64;
|
|
190
|
+
const licenseFrontUvBase64 = frontUvBase64;
|
|
191
|
+
const licenseBackUvBase64 = backUvBase64;
|
|
192
|
+
const licenseFrontIrBase64 = frontIrBase64;
|
|
193
|
+
const licenseBackIrBase64 = backIrBase64;
|
|
186
194
|
|
|
187
195
|
if (!scanSuccess) {
|
|
188
196
|
await closeScannerConnection(currentSessionId);
|
|
@@ -221,6 +229,10 @@ export async function scannerChain(
|
|
|
221
229
|
scanDataResults,
|
|
222
230
|
licenseFrontBase64: licenseFrontBase64,
|
|
223
231
|
licenseBackBase64: licenseBackBase64,
|
|
232
|
+
licenseFrontUvBase64: licenseFrontUvBase64,
|
|
233
|
+
licenseBackUvBase64: licenseBackUvBase64,
|
|
234
|
+
licenseFrontIrBase64: licenseFrontIrBase64,
|
|
235
|
+
licenseBackIrBase64: licenseBackIrBase64,
|
|
224
236
|
scannerProfile: profileName,
|
|
225
237
|
errorMessages,
|
|
226
238
|
};
|
|
@@ -390,16 +402,30 @@ async function startScanDocument(
|
|
|
390
402
|
let scanDataResults = responseData;
|
|
391
403
|
let licenseFrontBase64 = "";
|
|
392
404
|
let licenseBackBase64 = "";
|
|
405
|
+
let licenseFrontUvBase64 = "";
|
|
406
|
+
let licenseBackUvBase64 = "";
|
|
407
|
+
let licenseFrontIrBase64 = "";
|
|
408
|
+
let licenseBackIrBase64 = "";
|
|
393
409
|
|
|
394
410
|
const images = responseData.Images || [];
|
|
395
411
|
|
|
396
412
|
// Check and set image data using profile-defined image types
|
|
397
413
|
images.forEach((element) => {
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
if (
|
|
402
|
-
|
|
414
|
+
const imageType = element["ImageType"];
|
|
415
|
+
const imageData = element["data"];
|
|
416
|
+
|
|
417
|
+
if (imageType === profile.frontImageType) {
|
|
418
|
+
licenseFrontBase64 = imageData;
|
|
419
|
+
} else if (imageType === profile.backImageType) {
|
|
420
|
+
licenseBackBase64 = imageData;
|
|
421
|
+
} else if (imageType === "fclruv") {
|
|
422
|
+
licenseFrontUvBase64 = imageData;
|
|
423
|
+
} else if (imageType === "rclruv") {
|
|
424
|
+
licenseBackUvBase64 = imageData;
|
|
425
|
+
} else if (imageType === "fgsir") {
|
|
426
|
+
licenseFrontIrBase64 = imageData;
|
|
427
|
+
} else if (imageType === "rgsir") {
|
|
428
|
+
licenseBackIrBase64 = imageData;
|
|
403
429
|
}
|
|
404
430
|
});
|
|
405
431
|
|
|
@@ -408,6 +434,10 @@ async function startScanDocument(
|
|
|
408
434
|
scanDataResults,
|
|
409
435
|
licenseFrontBase64,
|
|
410
436
|
licenseBackBase64,
|
|
437
|
+
licenseFrontUvBase64,
|
|
438
|
+
licenseBackUvBase64,
|
|
439
|
+
licenseFrontIrBase64,
|
|
440
|
+
licenseBackIrBase64,
|
|
411
441
|
};
|
|
412
442
|
}
|
|
413
443
|
|
|
@@ -416,6 +446,10 @@ async function startScanDocument(
|
|
|
416
446
|
scanDataResults: null,
|
|
417
447
|
licenseFrontBase64: "",
|
|
418
448
|
licenseBackBase64: "",
|
|
449
|
+
licenseFrontUvBase64: "",
|
|
450
|
+
licenseBackUvBase64: "",
|
|
451
|
+
licenseFrontIrBase64: "",
|
|
452
|
+
licenseBackIrBase64: "",
|
|
419
453
|
};
|
|
420
454
|
}
|
|
421
455
|
|
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,6 +98,11 @@ 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",
|
package/index.d.ts
CHANGED
|
@@ -77,3 +77,11 @@ declare module "verant_id_cloud_scan" {
|
|
|
77
77
|
}
|
|
78
78
|
|
|
79
79
|
export function scannerPresent(scannerAddress: string): Promise<boolean>;
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Explicitly set the API environment.
|
|
83
|
+
* By default, production is used for all hosts (including localhost).
|
|
84
|
+
* Only verify-staging.verantid.com automatically uses staging.
|
|
85
|
+
* @param environment - 'staging' or 'production'
|
|
86
|
+
*/
|
|
87
|
+
export function setEnvironment(environment: 'staging' | 'production'): void;
|