vesant-sdk 1.7.0-dev.9f7da53 → 1.7.0-dev.a85efc5
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/dist/{client-ZNdnpWe7.d.mts → client-B0qhE2kr.d.mts} +1 -1
- package/dist/{client-DoMSYMMR.d.ts → client-DF7hlMEz.d.ts} +13 -0
- package/dist/{client-DMIRx7Tu.d.mts → client-DrjgZoH_.d.mts} +13 -0
- package/dist/{client-C3DCmGe9.d.ts → client-DtH2RLuy.d.ts} +1 -1
- package/dist/compliance/index.d.mts +2 -2
- package/dist/compliance/index.d.ts +2 -2
- package/dist/compliance/index.js +0 -3
- package/dist/compliance/index.js.map +1 -1
- package/dist/compliance/index.mjs +0 -3
- package/dist/compliance/index.mjs.map +1 -1
- package/dist/geolocation/index.d.mts +2 -2
- package/dist/geolocation/index.d.ts +2 -2
- package/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +24 -20
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +24 -20
- package/dist/index.mjs.map +1 -1
- package/dist/kyc/core.d.mts +1 -1
- package/dist/kyc/core.d.ts +1 -1
- package/dist/kyc/core.js +20 -16
- package/dist/kyc/core.js.map +1 -1
- package/dist/kyc/core.mjs +20 -16
- package/dist/kyc/core.mjs.map +1 -1
- package/dist/kyc/index.d.mts +110 -55
- package/dist/kyc/index.d.ts +110 -55
- package/dist/kyc/index.js +20 -16
- package/dist/kyc/index.js.map +1 -1
- package/dist/kyc/index.mjs +20 -16
- package/dist/kyc/index.mjs.map +1 -1
- package/dist/react.d.mts +16 -14
- package/dist/react.d.ts +16 -14
- package/dist/react.js +131 -83
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +131 -83
- package/dist/react.mjs.map +1 -1
- package/dist/tax/index.d.mts +18 -1
- package/dist/tax/index.d.ts +18 -1
- package/dist/tax/index.js +4 -1
- package/dist/tax/index.js.map +1 -1
- package/dist/tax/index.mjs +4 -1
- package/dist/tax/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/kyc/index.d.ts
CHANGED
|
@@ -57,6 +57,18 @@ interface KycRequest {
|
|
|
57
57
|
other_reason?: string;
|
|
58
58
|
/** @deprecated Use {@link warning_reasons}. */
|
|
59
59
|
warnings?: Record<string, Record<string, string>>;
|
|
60
|
+
/**
|
|
61
|
+
* Tenant app should block onboarding/the action when true. Set when a
|
|
62
|
+
* failed verification matches a per-event KYC alert rule with the `block`
|
|
63
|
+
* reaction; sticky once set (a later non-blocking update won't clear it).
|
|
64
|
+
*/
|
|
65
|
+
block: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Names the configured verification that triggered the block (e.g.
|
|
68
|
+
* `document_verification`, `face_verification`, `address_verification`,
|
|
69
|
+
* `age_verification`). Empty when {@link block} is false.
|
|
70
|
+
*/
|
|
71
|
+
block_reason?: string;
|
|
60
72
|
proofs?: Proof[];
|
|
61
73
|
alerts?: KycAlert[];
|
|
62
74
|
risk_profile?: KycCustomerProfile;
|
|
@@ -132,10 +144,10 @@ interface UpdateKycAlertRequest {
|
|
|
132
144
|
*
|
|
133
145
|
* - `enabled=false` → event blocked.
|
|
134
146
|
* - `enabled=true`, `threshold=0` (or null/omitted) → every event of this
|
|
135
|
-
* type triggers
|
|
147
|
+
* type triggers Event-Based Face Verification, regardless of amount.
|
|
136
148
|
* - `enabled=true`, `threshold>0` → only amounts `>= threshold` trigger.
|
|
137
149
|
*/
|
|
138
|
-
interface
|
|
150
|
+
interface EventBasedFaceVerificationThresholdTrigger {
|
|
139
151
|
enabled: boolean;
|
|
140
152
|
/** USD threshold; 0 / null / omitted means "any amount". */
|
|
141
153
|
threshold: number;
|
|
@@ -148,15 +160,15 @@ interface ReuseKycThresholdTrigger {
|
|
|
148
160
|
* `event_window_minutes <= window_minutes`. Either bound of 0 means
|
|
149
161
|
* "don't enforce that bound".
|
|
150
162
|
*/
|
|
151
|
-
interface
|
|
163
|
+
interface EventBasedFaceVerificationFrequencyTrigger {
|
|
152
164
|
enabled: boolean;
|
|
153
165
|
/** Minimum number of events; 0 / null / omitted means "any count". */
|
|
154
166
|
count: number;
|
|
155
167
|
/** Maximum lookback window in minutes; 0 / null / omitted means "any window". */
|
|
156
168
|
window_minutes: number;
|
|
157
169
|
}
|
|
158
|
-
/** Events that can trigger
|
|
159
|
-
interface
|
|
170
|
+
/** Events that can trigger Event-Based Face Verification for a tenant. */
|
|
171
|
+
interface EventBasedFaceVerificationTriggers {
|
|
160
172
|
login: boolean;
|
|
161
173
|
password_change: boolean;
|
|
162
174
|
name_change: boolean;
|
|
@@ -165,19 +177,19 @@ interface ReuseKycTriggers {
|
|
|
165
177
|
new_device_or_location: boolean;
|
|
166
178
|
device_fingerprint_change: boolean;
|
|
167
179
|
payment_method_change: boolean;
|
|
168
|
-
deposit:
|
|
169
|
-
withdrawal:
|
|
170
|
-
large_bet_placement:
|
|
171
|
-
high_frequency_betting:
|
|
180
|
+
deposit: EventBasedFaceVerificationThresholdTrigger;
|
|
181
|
+
withdrawal: EventBasedFaceVerificationThresholdTrigger;
|
|
182
|
+
large_bet_placement: EventBasedFaceVerificationThresholdTrigger;
|
|
183
|
+
high_frequency_betting: EventBasedFaceVerificationFrequencyTrigger;
|
|
172
184
|
account_balance_transfer: boolean;
|
|
173
185
|
}
|
|
174
186
|
/**
|
|
175
|
-
* Reactions taken when a customer exhausts the
|
|
187
|
+
* Reactions taken when a customer exhausts the Event-Based Face Verification retry limit.
|
|
176
188
|
* `trigger_alert` is enforced by the server (creates a KYC alert);
|
|
177
189
|
* `enforce_logout` and `freeze_account` are forwarded to the tenant app
|
|
178
190
|
* via the callback `data` field for it to enforce.
|
|
179
191
|
*/
|
|
180
|
-
interface
|
|
192
|
+
interface EventBasedFaceVerificationReactions {
|
|
181
193
|
/** Retries after the first attempt; total submissions = this + 1. */
|
|
182
194
|
max_retry_attempts: number;
|
|
183
195
|
trigger_alert: boolean;
|
|
@@ -193,7 +205,7 @@ interface KycPreferences {
|
|
|
193
205
|
is_face_verification_required: boolean;
|
|
194
206
|
is_address_verification_required: boolean;
|
|
195
207
|
is_age_verification_required: boolean;
|
|
196
|
-
/** Master switch for the
|
|
208
|
+
/** Master switch for the Event-Based Face Verification feature. */
|
|
197
209
|
is_reuse_kyc_enabled?: boolean;
|
|
198
210
|
min_age: number;
|
|
199
211
|
max_age: number;
|
|
@@ -202,10 +214,10 @@ interface KycPreferences {
|
|
|
202
214
|
high_risk_score: number;
|
|
203
215
|
medium_risk_score: number;
|
|
204
216
|
supported_document_types: SupportedDocumentType[];
|
|
205
|
-
/** Per-event triggers for
|
|
206
|
-
reuse_kyc_triggers?:
|
|
207
|
-
/** Retry / reaction policy for
|
|
208
|
-
reuse_kyc_reactions?:
|
|
217
|
+
/** Per-event triggers for Event-Based Face Verification. */
|
|
218
|
+
reuse_kyc_triggers?: EventBasedFaceVerificationTriggers;
|
|
219
|
+
/** Retry / reaction policy for Event-Based Face Verification. */
|
|
220
|
+
reuse_kyc_reactions?: EventBasedFaceVerificationReactions;
|
|
209
221
|
created_at: string;
|
|
210
222
|
updated_at: string;
|
|
211
223
|
}
|
|
@@ -224,9 +236,9 @@ interface UpdateKycPreferencesRequest {
|
|
|
224
236
|
medium_risk_score?: number;
|
|
225
237
|
supported_document_types?: SupportedDocumentType[];
|
|
226
238
|
/** Partial update — only the events present here are changed. */
|
|
227
|
-
reuse_kyc_triggers?: Partial<
|
|
239
|
+
reuse_kyc_triggers?: Partial<EventBasedFaceVerificationTriggers>;
|
|
228
240
|
/** Partial update — only the keys present here are changed. */
|
|
229
|
-
reuse_kyc_reactions?: Partial<
|
|
241
|
+
reuse_kyc_reactions?: Partial<EventBasedFaceVerificationReactions>;
|
|
230
242
|
}
|
|
231
243
|
interface Name {
|
|
232
244
|
first_name?: string;
|
|
@@ -306,29 +318,36 @@ interface RequestKycSubmitLinkRequest {
|
|
|
306
318
|
redirect_url?: string;
|
|
307
319
|
/** URL to receive callback notifications via POST request when KYC status changes (optional) */
|
|
308
320
|
callback_url?: string;
|
|
309
|
-
/**
|
|
321
|
+
/**
|
|
322
|
+
* Event that triggered the KYC request. Valid values: "onboarding",
|
|
323
|
+
* "first_withdrawal", "first_purchase", "manual". The tenant's KYC
|
|
324
|
+
* verification trigger preferences decide, per event, whether KYC is
|
|
325
|
+
* required (`kyc_required` in the response). "manual" always requires
|
|
326
|
+
* KYC and honors the tenant's allow-skip-on-manual option (`can_skip`).
|
|
327
|
+
* Omitted or unknown values default to KYC required with no skip.
|
|
328
|
+
*/
|
|
310
329
|
trigger_event?: string;
|
|
311
330
|
}
|
|
312
331
|
/**
|
|
313
|
-
* Trigger events that can request
|
|
332
|
+
* Trigger events that can request Event-Based Face Verification.
|
|
314
333
|
*
|
|
315
334
|
* Account-sensitive: any sensitive change to the account profile.
|
|
316
335
|
* Transaction events: covered by the per-event rules in
|
|
317
|
-
* `
|
|
336
|
+
* `EventBasedFaceVerificationTriggers` (`deposit`, `withdrawal`, `large_bet_placement`,
|
|
318
337
|
* `high_frequency_betting`, `account_balance_transfer`).
|
|
319
338
|
*/
|
|
320
|
-
type
|
|
321
|
-
interface
|
|
339
|
+
type EventBasedFaceVerificationEvent = 'login' | 'password_change' | 'name_change' | 'phone_number_change' | 'two_factor_auth_change' | 'new_device_or_location' | 'device_fingerprint_change' | 'payment_method_change' | 'deposit' | 'withdrawal' | 'large_bet_placement' | 'high_frequency_betting' | 'account_balance_transfer';
|
|
340
|
+
interface CreateEventBasedFaceVerificationSessionRequest {
|
|
322
341
|
/** Unique reference for the KYC session (e.g., customer ID or transaction ID) */
|
|
323
342
|
reference: string;
|
|
324
343
|
/** Customer ID to associate with the KYC session */
|
|
325
344
|
customer_id: string;
|
|
326
345
|
/**
|
|
327
|
-
* The triggering event. One of the `
|
|
346
|
+
* The triggering event. One of the `EventBasedFaceVerificationEvent` union members.
|
|
328
347
|
* Required — when empty, the server falls through to the unknown-event
|
|
329
348
|
* passthrough and allows the request silently.
|
|
330
349
|
*/
|
|
331
|
-
event:
|
|
350
|
+
event: EventBasedFaceVerificationEvent;
|
|
332
351
|
/**
|
|
333
352
|
* USD amount associated with the event. Required for threshold-gated
|
|
334
353
|
* events (`deposit`, `withdrawal`, `large_bet_placement`); ignored for
|
|
@@ -352,32 +371,54 @@ interface CreateReuseKycSessionRequest {
|
|
|
352
371
|
event_window_minutes?: number;
|
|
353
372
|
/** URL to redirect user after validate the facial submission (optional) */
|
|
354
373
|
redirect_url?: string;
|
|
355
|
-
/** URL to receive callback notifications via POST request when
|
|
374
|
+
/** URL to receive callback notifications via POST request when Event-Based Face Verification status changes (optional) */
|
|
356
375
|
callback_url?: string;
|
|
357
376
|
}
|
|
358
|
-
interface
|
|
359
|
-
/**
|
|
377
|
+
interface SubmitEventBasedFaceVerificationSessionRequest {
|
|
378
|
+
/** Event-Based Face Verification session token generated from createEventBasedFaceVerificationSession */
|
|
360
379
|
token: string;
|
|
361
380
|
/** Base64 encoded face image or selfie for verification */
|
|
362
381
|
proof: string;
|
|
363
382
|
/** Unique reference for the KYC session (e.g., customer ID or transaction ID) */
|
|
364
383
|
reference?: string;
|
|
384
|
+
/**
|
|
385
|
+
* Optional capture telemetry (JSON string): the face-detection
|
|
386
|
+
* bounding-box samples recorded in the moments before capture. Attached
|
|
387
|
+
* automatically by `FaceCaptureModal` when in-modal detection is active;
|
|
388
|
+
* omit when building a custom capture UI without detection. Stored
|
|
389
|
+
* verbatim server-side for audit/review — a weak presence signal, not
|
|
390
|
+
* certified anti-spoofing.
|
|
391
|
+
*/
|
|
392
|
+
liveness_artifact?: string;
|
|
365
393
|
}
|
|
366
394
|
interface RequestKycSubmitLinkResponse {
|
|
367
395
|
/** Generated KYC submission redirect URL */
|
|
368
396
|
link: string;
|
|
369
397
|
/** KYC request ID */
|
|
370
398
|
kyc_id: string;
|
|
399
|
+
/**
|
|
400
|
+
* Whether KYC is required for the reported `trigger_event`, per the
|
|
401
|
+
* tenant's verification trigger preferences. `false` when the trigger
|
|
402
|
+
* is disabled for the tenant, or when the customer is already verified
|
|
403
|
+
* (in that case `link` and `kyc_id` are empty).
|
|
404
|
+
*/
|
|
405
|
+
kyc_required: boolean;
|
|
406
|
+
/**
|
|
407
|
+
* Whether the user may skip verification. Only `true` for
|
|
408
|
+
* `trigger_event: "manual"` when the tenant enables allow-skip-on-manual,
|
|
409
|
+
* or when the customer is already verified.
|
|
410
|
+
*/
|
|
411
|
+
can_skip: boolean;
|
|
371
412
|
}
|
|
372
413
|
/** Device class detected by the SDK (purely client-side — server doesn't care). */
|
|
373
|
-
type
|
|
374
|
-
interface
|
|
375
|
-
/**
|
|
414
|
+
type EventBasedFaceVerificationDeviceType = 'mobile' | 'desktop';
|
|
415
|
+
interface CreateEventBasedFaceVerificationSessionResponse {
|
|
416
|
+
/** Event-Based Face Verification session reference (echo of the request reference) */
|
|
376
417
|
reference: string;
|
|
377
|
-
/** Generated
|
|
418
|
+
/** Generated Event-Based Face Verification session token, valid 10 minutes */
|
|
378
419
|
token: string;
|
|
379
420
|
/**
|
|
380
|
-
* Empty string when
|
|
421
|
+
* Empty string when Event-Based Face Verification is required. When `is_required` is
|
|
381
422
|
* false, this contains the human-readable reason (e.g. feature
|
|
382
423
|
* disabled, threshold not met, customer has no prior KYC).
|
|
383
424
|
*/
|
|
@@ -406,7 +447,7 @@ interface CreateReuseKycSessionResponse {
|
|
|
406
447
|
* or freeze the account. Reaction flags are only populated when
|
|
407
448
|
* `retry_limit_exceeded` is true.
|
|
408
449
|
*/
|
|
409
|
-
interface
|
|
450
|
+
interface EventBasedFaceVerificationReactionResult {
|
|
410
451
|
/** Submissions the customer still has before the retry limit fires. */
|
|
411
452
|
retries_remaining: number;
|
|
412
453
|
/** True once the latest failed attempt exhausts the retry policy. */
|
|
@@ -414,27 +455,37 @@ interface ReuseKycReactionResult {
|
|
|
414
455
|
trigger_alert: boolean;
|
|
415
456
|
enforce_logout: boolean;
|
|
416
457
|
freeze_account: boolean;
|
|
458
|
+
/** Tenant app should block the action/account when true. */
|
|
459
|
+
block: boolean;
|
|
417
460
|
freeze_duration_minutes: number;
|
|
418
461
|
/** Set when an alert was raised on the dashboard. */
|
|
419
462
|
alert_id?: string;
|
|
420
463
|
}
|
|
421
464
|
/**
|
|
422
|
-
* Shape of the webhook body POSTed to `callback_url` after a
|
|
465
|
+
* Shape of the webhook body POSTed to `callback_url` after a Event-Based Face Verification
|
|
423
466
|
* submission completes (also returned synchronously from
|
|
424
|
-
* `
|
|
467
|
+
* `submitEventBasedFaceVerificationSession`).
|
|
425
468
|
*/
|
|
426
|
-
interface
|
|
469
|
+
interface EventBasedFaceVerificationCallback {
|
|
427
470
|
event: 'reuse_kyc';
|
|
428
471
|
reference: string;
|
|
429
472
|
resource_id: string;
|
|
430
473
|
status: KycStatus;
|
|
474
|
+
/**
|
|
475
|
+
* True when the tenant app should block the action/account. Mirrors the
|
|
476
|
+
* `block` reaction on {@link data} at the top level of the callback so
|
|
477
|
+
* consumers can branch without inspecting `data`. Omitted when false.
|
|
478
|
+
*/
|
|
479
|
+
block?: boolean;
|
|
480
|
+
/** Names the event/verification that triggered the block. Omitted when not blocked. */
|
|
481
|
+
block_reason?: string;
|
|
431
482
|
/** Structured decline reasons. */
|
|
432
483
|
declined_reasons?: Reason[];
|
|
433
484
|
/** @deprecated Use {@link declined_reasons}. */
|
|
434
485
|
declined_reason?: string;
|
|
435
486
|
/** @deprecated Use structured reasons. */
|
|
436
487
|
warnings?: Record<string, Record<string, string>>;
|
|
437
|
-
data:
|
|
488
|
+
data: EventBasedFaceVerificationReactionResult;
|
|
438
489
|
}
|
|
439
490
|
/**
|
|
440
491
|
* Server-side handoff session backed by Redis (TTL: 15 minutes). Shared
|
|
@@ -450,7 +501,7 @@ interface KycHandoffSession {
|
|
|
450
501
|
face: string;
|
|
451
502
|
/** True after a mobile device hits PUT /api/v1/kyc/session/connect. */
|
|
452
503
|
mobile_connected: boolean;
|
|
453
|
-
/** True after the (normal-KYC) document submission completes; unused for
|
|
504
|
+
/** True after the (normal-KYC) document submission completes; unused for Event-Based Face Verification. */
|
|
454
505
|
is_submitted: boolean;
|
|
455
506
|
}
|
|
456
507
|
interface CheckKycStatusRequest {
|
|
@@ -671,7 +722,7 @@ declare class KycClient extends BaseClient {
|
|
|
671
722
|
*/
|
|
672
723
|
requestKycSubmitLink(request: RequestKycSubmitLinkRequest): Promise<RequestKycSubmitLinkResponse>;
|
|
673
724
|
/**
|
|
674
|
-
* Create a
|
|
725
|
+
* Create a Event-Based Face Verification session.
|
|
675
726
|
*
|
|
676
727
|
* Inspect the response before showing UI:
|
|
677
728
|
* - `is_required === false` → skip face capture; `reason` explains why.
|
|
@@ -681,35 +732,39 @@ declare class KycClient extends BaseClient {
|
|
|
681
732
|
*
|
|
682
733
|
* @param request - Reference, customer_id, event, amount (for threshold events), optional URLs.
|
|
683
734
|
*/
|
|
684
|
-
|
|
735
|
+
createEventBasedFaceVerificationSession(request: CreateEventBasedFaceVerificationSessionRequest): Promise<CreateEventBasedFaceVerificationSessionResponse>;
|
|
685
736
|
/**
|
|
686
|
-
* Submit a real-time face capture for an active
|
|
737
|
+
* Submit a real-time face capture for an active Event-Based Face Verification session.
|
|
687
738
|
*
|
|
688
739
|
* **Mobile-only.** The server rejects desktop User-Agents with HTTP
|
|
689
740
|
* 400 (`face capture must be completed on a mobile device`). Use the
|
|
690
|
-
* QR handoff from `
|
|
741
|
+
* QR handoff from `createEventBasedFaceVerificationSession` for desktop callers.
|
|
691
742
|
*
|
|
692
743
|
* The `data` field on the response carries `retries_remaining`,
|
|
693
744
|
* `retry_limit_exceeded`, and the reaction flags (`enforce_logout`,
|
|
694
745
|
* `freeze_account`, etc.) so the tenant app can act on a final failure.
|
|
695
746
|
*
|
|
696
|
-
* @param request - Token from `
|
|
747
|
+
* @param request - Token from `createEventBasedFaceVerificationSession`, plus the base64 selfie.
|
|
697
748
|
*/
|
|
698
|
-
|
|
749
|
+
submitEventBasedFaceVerificationSession(request: SubmitEventBasedFaceVerificationSessionRequest): Promise<EventBasedFaceVerificationCallback>;
|
|
699
750
|
/**
|
|
700
|
-
* Look up the current state of a
|
|
701
|
-
*
|
|
751
|
+
* Look up the current state of a Event-Based Face Verification session by its
|
|
752
|
+
* session token. Useful for desktop pollers waiting on the mobile handoff.
|
|
753
|
+
*
|
|
754
|
+
* The lookup is scoped by the unguessable, server-issued session token (not
|
|
755
|
+
* the enumerable forward reference): the endpoint is public/unauthenticated,
|
|
756
|
+
* and scoping by the token is what prevents cross-tenant status reads.
|
|
702
757
|
*
|
|
703
|
-
* @param
|
|
758
|
+
* @param token - The session token returned by `createEventBasedFaceVerificationSession`.
|
|
704
759
|
*/
|
|
705
|
-
|
|
760
|
+
getEventBasedFaceVerificationSessionStatus(token: string): Promise<EventBasedFaceVerificationCallback>;
|
|
706
761
|
/**
|
|
707
762
|
* Fetch the Redis-backed handoff session for a token. Same backing
|
|
708
763
|
* store as normal KYC (`kyc:session:<token>`, 15-minute TTL). Desktop
|
|
709
764
|
* callers poll `mobile_connected` to detect when a mobile device has
|
|
710
765
|
* scanned the QR and attached.
|
|
711
766
|
*
|
|
712
|
-
* @param token - The session token returned by `
|
|
767
|
+
* @param token - The session token returned by `createEventBasedFaceVerificationSession`.
|
|
713
768
|
*/
|
|
714
769
|
getHandoffSession(token: string): Promise<KycHandoffSession>;
|
|
715
770
|
/**
|
|
@@ -763,7 +818,7 @@ declare class KycClient extends BaseClient {
|
|
|
763
818
|
* @example
|
|
764
819
|
* ```typescript
|
|
765
820
|
* const result = await client.submitVerification({
|
|
766
|
-
* reference: "
|
|
821
|
+
* reference: "4d2aff34-ab86-422d-992e-50b1234a5b67",
|
|
767
822
|
* email: "customer@example.com",
|
|
768
823
|
* country: "US",
|
|
769
824
|
* document: {
|
|
@@ -789,7 +844,7 @@ declare class KycClient extends BaseClient {
|
|
|
789
844
|
*
|
|
790
845
|
* @example
|
|
791
846
|
* ```typescript
|
|
792
|
-
* const kyc = await client.getKycRequest("
|
|
847
|
+
* const kyc = await client.getKycRequest("550e8400-e29b-41d4-a716-446655440000");
|
|
793
848
|
* console.log(`Status: ${kyc.status}, ID Verified: ${kyc.id_verified}`);
|
|
794
849
|
* ```
|
|
795
850
|
*/
|
|
@@ -842,7 +897,7 @@ declare class KycClient extends BaseClient {
|
|
|
842
897
|
* @example
|
|
843
898
|
* ```typescript
|
|
844
899
|
* await client.requestAdditionalDocuments({
|
|
845
|
-
* id: "
|
|
900
|
+
* id: "550e8400-e29b-41d4-a716-446655440000",
|
|
846
901
|
* document_types: ["address", "document_two"],
|
|
847
902
|
* message: "Please provide proof of address and secondary ID"
|
|
848
903
|
* });
|
|
@@ -857,7 +912,7 @@ declare class KycClient extends BaseClient {
|
|
|
857
912
|
*
|
|
858
913
|
* @example
|
|
859
914
|
* ```typescript
|
|
860
|
-
* const proofs = await client.getProofDownloadURLs("
|
|
915
|
+
* const proofs = await client.getProofDownloadURLs("550e8400-e29b-41d4-a716-446655440000");
|
|
861
916
|
* proofs.forEach(proof => {
|
|
862
917
|
* console.log(`${proof.type}: ${proof.url} (expires: ${proof.expires_at})`);
|
|
863
918
|
* });
|
|
@@ -1043,4 +1098,4 @@ declare class KycClient extends BaseClient {
|
|
|
1043
1098
|
createCustomerProfile(profile: CreateProfileRequest): Promise<CustomerProfile>;
|
|
1044
1099
|
}
|
|
1045
1100
|
|
|
1046
|
-
export { type CheckKycStatusRequest, type CheckKycStatusResponse, CreateProfileRequest as CreateCustomerProfileRequest, type
|
|
1101
|
+
export { type CheckKycStatusRequest, type CheckKycStatusResponse, CreateProfileRequest as CreateCustomerProfileRequest, type CreateEventBasedFaceVerificationSessionRequest, type CreateEventBasedFaceVerificationSessionResponse, CustomerProfile, ProfileFilters as CustomerProfileFilters, ProfileListResponse as CustomerProfileListResponse, type DocumentType, type DocumentVerificationRequest, type DocumentVerificationResponse, type EventBasedFaceVerificationCallback, type EventBasedFaceVerificationDeviceType, type EventBasedFaceVerificationEvent, type EventBasedFaceVerificationFrequencyTrigger, type EventBasedFaceVerificationReactionResult, type EventBasedFaceVerificationReactions, type EventBasedFaceVerificationThresholdTrigger, type EventBasedFaceVerificationTriggers, type FaceProof, KYC_DECLINED_DESCRIPTIONS, type KycAlert, type KycAlertFilters, type KycAlertListResponse, type KycAlertStatus, type KycAlertType, KycClient, type KycClientConfig, type KycCustomerProfile, type KycDeclinedCode, type KycHandoffSession, type KycOverview, type KycPagination, type KycPreferences, type KycRequest, type KycRequestFilters, type KycRequestListResponse, type KycStatus, type Name, PaginationParams, type Proof, type ProofDownloadURL, type ProofType, type RequestAdditionalDocumentsRequest, type RequestKycSubmitLinkRequest, type RequestKycSubmitLinkResponse, RiskLevel, type SubmitEventBasedFaceVerificationSessionRequest, type SubmittedDocument, type SupportedDocumentType, type UpdateKycAlertRequest, type UpdateKycPreferencesRequest, type UpdateKycStatusRequest, type UseKycAlertsOptions, type UseKycAlertsResult, type UseKycOverviewOptions, type UseKycOverviewResult, type UseKycPreferencesResult, type UseKycRequestsOptions, type UseKycRequestsResult, type UseKycSubmissionOptions, type UseKycSubmissionResult };
|
package/dist/kyc/index.js
CHANGED
|
@@ -626,7 +626,7 @@ var KycClient = class extends BaseClient {
|
|
|
626
626
|
});
|
|
627
627
|
}
|
|
628
628
|
/**
|
|
629
|
-
* Create a
|
|
629
|
+
* Create a Event-Based Face Verification session.
|
|
630
630
|
*
|
|
631
631
|
* Inspect the response before showing UI:
|
|
632
632
|
* - `is_required === false` → skip face capture; `reason` explains why.
|
|
@@ -636,7 +636,7 @@ var KycClient = class extends BaseClient {
|
|
|
636
636
|
*
|
|
637
637
|
* @param request - Reference, customer_id, event, amount (for threshold events), optional URLs.
|
|
638
638
|
*/
|
|
639
|
-
async
|
|
639
|
+
async createEventBasedFaceVerificationSession(request) {
|
|
640
640
|
return this.request("/api/v1/kyc/face/session", {
|
|
641
641
|
method: "POST",
|
|
642
642
|
body: JSON.stringify(request),
|
|
@@ -644,19 +644,19 @@ var KycClient = class extends BaseClient {
|
|
|
644
644
|
});
|
|
645
645
|
}
|
|
646
646
|
/**
|
|
647
|
-
* Submit a real-time face capture for an active
|
|
647
|
+
* Submit a real-time face capture for an active Event-Based Face Verification session.
|
|
648
648
|
*
|
|
649
649
|
* **Mobile-only.** The server rejects desktop User-Agents with HTTP
|
|
650
650
|
* 400 (`face capture must be completed on a mobile device`). Use the
|
|
651
|
-
* QR handoff from `
|
|
651
|
+
* QR handoff from `createEventBasedFaceVerificationSession` for desktop callers.
|
|
652
652
|
*
|
|
653
653
|
* The `data` field on the response carries `retries_remaining`,
|
|
654
654
|
* `retry_limit_exceeded`, and the reaction flags (`enforce_logout`,
|
|
655
655
|
* `freeze_account`, etc.) so the tenant app can act on a final failure.
|
|
656
656
|
*
|
|
657
|
-
* @param request - Token from `
|
|
657
|
+
* @param request - Token from `createEventBasedFaceVerificationSession`, plus the base64 selfie.
|
|
658
658
|
*/
|
|
659
|
-
async
|
|
659
|
+
async submitEventBasedFaceVerificationSession(request) {
|
|
660
660
|
return this.request("/api/v1/kyc/face/submit", {
|
|
661
661
|
method: "POST",
|
|
662
662
|
body: JSON.stringify(request),
|
|
@@ -664,13 +664,17 @@ var KycClient = class extends BaseClient {
|
|
|
664
664
|
});
|
|
665
665
|
}
|
|
666
666
|
/**
|
|
667
|
-
* Look up the current state of a
|
|
668
|
-
*
|
|
667
|
+
* Look up the current state of a Event-Based Face Verification session by its
|
|
668
|
+
* session token. Useful for desktop pollers waiting on the mobile handoff.
|
|
669
669
|
*
|
|
670
|
-
*
|
|
670
|
+
* The lookup is scoped by the unguessable, server-issued session token (not
|
|
671
|
+
* the enumerable forward reference): the endpoint is public/unauthenticated,
|
|
672
|
+
* and scoping by the token is what prevents cross-tenant status reads.
|
|
673
|
+
*
|
|
674
|
+
* @param token - The session token returned by `createEventBasedFaceVerificationSession`.
|
|
671
675
|
*/
|
|
672
|
-
async
|
|
673
|
-
return this.requestWithRetry(`/api/v1/kyc/face/verify/${encodeURIComponent(
|
|
676
|
+
async getEventBasedFaceVerificationSessionStatus(token) {
|
|
677
|
+
return this.requestWithRetry(`/api/v1/kyc/face/verify/${encodeURIComponent(token)}`, {
|
|
674
678
|
method: "GET",
|
|
675
679
|
headers: this.getUserHeaders()
|
|
676
680
|
});
|
|
@@ -681,7 +685,7 @@ var KycClient = class extends BaseClient {
|
|
|
681
685
|
* callers poll `mobile_connected` to detect when a mobile device has
|
|
682
686
|
* scanned the QR and attached.
|
|
683
687
|
*
|
|
684
|
-
* @param token - The session token returned by `
|
|
688
|
+
* @param token - The session token returned by `createEventBasedFaceVerificationSession`.
|
|
685
689
|
*/
|
|
686
690
|
async getHandoffSession(token) {
|
|
687
691
|
return this.request(
|
|
@@ -756,7 +760,7 @@ var KycClient = class extends BaseClient {
|
|
|
756
760
|
* @example
|
|
757
761
|
* ```typescript
|
|
758
762
|
* const result = await client.submitVerification({
|
|
759
|
-
* reference: "
|
|
763
|
+
* reference: "4d2aff34-ab86-422d-992e-50b1234a5b67",
|
|
760
764
|
* email: "customer@example.com",
|
|
761
765
|
* country: "US",
|
|
762
766
|
* document: {
|
|
@@ -788,7 +792,7 @@ var KycClient = class extends BaseClient {
|
|
|
788
792
|
*
|
|
789
793
|
* @example
|
|
790
794
|
* ```typescript
|
|
791
|
-
* const kyc = await client.getKycRequest("
|
|
795
|
+
* const kyc = await client.getKycRequest("550e8400-e29b-41d4-a716-446655440000");
|
|
792
796
|
* console.log(`Status: ${kyc.status}, ID Verified: ${kyc.id_verified}`);
|
|
793
797
|
* ```
|
|
794
798
|
*/
|
|
@@ -863,7 +867,7 @@ var KycClient = class extends BaseClient {
|
|
|
863
867
|
* @example
|
|
864
868
|
* ```typescript
|
|
865
869
|
* await client.requestAdditionalDocuments({
|
|
866
|
-
* id: "
|
|
870
|
+
* id: "550e8400-e29b-41d4-a716-446655440000",
|
|
867
871
|
* document_types: ["address", "document_two"],
|
|
868
872
|
* message: "Please provide proof of address and secondary ID"
|
|
869
873
|
* });
|
|
@@ -884,7 +888,7 @@ var KycClient = class extends BaseClient {
|
|
|
884
888
|
*
|
|
885
889
|
* @example
|
|
886
890
|
* ```typescript
|
|
887
|
-
* const proofs = await client.getProofDownloadURLs("
|
|
891
|
+
* const proofs = await client.getProofDownloadURLs("550e8400-e29b-41d4-a716-446655440000");
|
|
888
892
|
* proofs.forEach(proof => {
|
|
889
893
|
* console.log(`${proof.type}: ${proof.url} (expires: ${proof.expires_at})`);
|
|
890
894
|
* });
|