@dynamicore/jumio-sdk 1.0.1 → 1.0.2
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/README.md +235 -160
- package/dist/client-BwEiGMPy.d.mts +515 -0
- package/dist/client-BwEiGMPy.d.ts +515 -0
- package/dist/core/index.d.mts +94 -4
- package/dist/core/index.d.ts +94 -4
- package/dist/core/index.js +545 -125
- package/dist/core/index.js.map +1 -1
- package/dist/core/index.mjs +506 -83
- package/dist/core/index.mjs.map +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +747 -126
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +706 -83
- package/dist/index.mjs.map +1 -1
- package/dist/react/index.d.mts +146 -2
- package/dist/react/index.d.ts +146 -2
- package/dist/react/index.js +766 -142
- package/dist/react/index.js.map +1 -1
- package/dist/react/index.mjs +766 -143
- package/dist/react/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/client-BR1xIZ0X.d.mts +0 -252
- package/dist/client-BR1xIZ0X.d.ts +0 -252
|
@@ -0,0 +1,515 @@
|
|
|
1
|
+
import { AxiosInstance } from 'axios';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Estados posibles del flujo de verificación en Jumio.
|
|
5
|
+
*/
|
|
6
|
+
type JumioWorkflowStatus = "PENDING" | "INITIATED" | "ACQUIRED" | "SUBMITTED" | "PROCESSED" | "APPROVED_VERIFIED" | "REJECTED" | "FAILED" | "ERROR" | "DENIED" | "EXPIRED" | "ABANDONED" | (string & {});
|
|
7
|
+
/**
|
|
8
|
+
* Tipos de entrada soportados para las imágenes del documento.
|
|
9
|
+
*/
|
|
10
|
+
type ImageSource = string | Blob | File | ArrayBuffer | Uint8Array | {
|
|
11
|
+
url?: unknown;
|
|
12
|
+
} | {
|
|
13
|
+
[key: string]: unknown;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* Función personalizada para firmar URLs de S3 o descargar recursos privados.
|
|
17
|
+
*/
|
|
18
|
+
type S3SignerFunction = (pathOrUrl: string, expires?: number) => Promise<string | {
|
|
19
|
+
url?: unknown;
|
|
20
|
+
} | unknown>;
|
|
21
|
+
/**
|
|
22
|
+
* Función o valor para proveer el token de autenticación.
|
|
23
|
+
*/
|
|
24
|
+
type AuthTokenProvider = string | (() => string | undefined | null | Promise<string | undefined | null>);
|
|
25
|
+
/**
|
|
26
|
+
* Opciones de configuración para instanciar el cliente JumioClient.
|
|
27
|
+
*/
|
|
28
|
+
interface JumioClientConfig {
|
|
29
|
+
/**
|
|
30
|
+
* URL base de la API de DynamiCore / Backend.
|
|
31
|
+
* @default "https://front.dynamicore.io"
|
|
32
|
+
*/
|
|
33
|
+
baseUrl?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Endpoint específico del servicio de verificación Jumio.
|
|
36
|
+
* @default "/marketplace/apps/jumio"
|
|
37
|
+
*/
|
|
38
|
+
endpoint?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Header de contexto moral / negocio enviado en las peticiones.
|
|
41
|
+
*/
|
|
42
|
+
context?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Token de autenticación o función que lo obtiene.
|
|
45
|
+
*/
|
|
46
|
+
authToken?: AuthTokenProvider;
|
|
47
|
+
/**
|
|
48
|
+
* Prefijo para el header Authorization (por defecto vacío o "Bearer ").
|
|
49
|
+
* @default ""
|
|
50
|
+
*/
|
|
51
|
+
authTokenPrefix?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Timeout en milisegundos para las peticiones POST de verificación.
|
|
54
|
+
* @default 180000 (3 minutos)
|
|
55
|
+
*/
|
|
56
|
+
requestTimeout?: number;
|
|
57
|
+
/**
|
|
58
|
+
* Timeout en milisegundos para las peticiones GET de status.
|
|
59
|
+
* @default 120000 (2 minutos)
|
|
60
|
+
*/
|
|
61
|
+
statusTimeout?: number;
|
|
62
|
+
/**
|
|
63
|
+
* Número máximo de reintentos ante timeouts o fallas transitorias de red.
|
|
64
|
+
* @default 3
|
|
65
|
+
*/
|
|
66
|
+
maxRetries?: number;
|
|
67
|
+
/**
|
|
68
|
+
* Delay base en milisegundos para el backoff exponencial de reintentos.
|
|
69
|
+
* @default 800
|
|
70
|
+
*/
|
|
71
|
+
retryDelayMs?: number;
|
|
72
|
+
/**
|
|
73
|
+
* Intervalo en milisegundos entre consultas sucesivas de sondeo (polling).
|
|
74
|
+
* @default 10000 (10 segundos)
|
|
75
|
+
*/
|
|
76
|
+
pollingIntervalMs?: number;
|
|
77
|
+
/**
|
|
78
|
+
* Número máximo de intentos de sondeo antes de timeout.
|
|
79
|
+
* @default 20 (20 x 10s = aprox 200 segundos)
|
|
80
|
+
*/
|
|
81
|
+
maxPollingAttempts?: number;
|
|
82
|
+
/**
|
|
83
|
+
* Función opcional para firmar rutas u URLs de Amazon S3.
|
|
84
|
+
*/
|
|
85
|
+
s3Signer?: S3SignerFunction;
|
|
86
|
+
/**
|
|
87
|
+
* Headers HTTP adicionales para incluir en cada petición.
|
|
88
|
+
*/
|
|
89
|
+
customHeaders?: Record<string, string>;
|
|
90
|
+
/**
|
|
91
|
+
* Instancia personalizada de Axios (opcional).
|
|
92
|
+
*/
|
|
93
|
+
axiosInstance?: AxiosInstance;
|
|
94
|
+
/**
|
|
95
|
+
* URL base del proxy de redirección para el flujo Hosted Webflow.
|
|
96
|
+
* Se usa para construir las URLs de éxito/error con codificación Base64 URL-safe.
|
|
97
|
+
* Si no se especifica, la URL de retorno se usa directamente sin proxied.
|
|
98
|
+
* @example "https://my-api.example.com/prod/jumio/redirect/"
|
|
99
|
+
*/
|
|
100
|
+
redirectProxyUrl?: string;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Parámetros de entrada para iniciar un flujo Hosted Webflow de Jumio.
|
|
104
|
+
* El backend genera una URL de verificación oficial de Jumio a la que se redirige al usuario.
|
|
105
|
+
*/
|
|
106
|
+
interface StartWebflowInput {
|
|
107
|
+
/**
|
|
108
|
+
* Identificador único del cliente a verificar.
|
|
109
|
+
*/
|
|
110
|
+
clientId: string;
|
|
111
|
+
/**
|
|
112
|
+
* URL a la que Jumio redirigirá al usuario si la verificación es exitosa.
|
|
113
|
+
* Si `useRedirectProxy` es true, esta URL se codificará en Base64 y se añadirá al proxy.
|
|
114
|
+
*/
|
|
115
|
+
successUrl: string;
|
|
116
|
+
/**
|
|
117
|
+
* URL a la que Jumio redirigirá al usuario si la verificación falla o es rechazada.
|
|
118
|
+
* Si `useRedirectProxy` es true, esta URL se codificará en Base64 y se añadirá al proxy.
|
|
119
|
+
*/
|
|
120
|
+
errorUrl: string;
|
|
121
|
+
/**
|
|
122
|
+
* Si es `true`, codifica las URLs de retorno en Base64 URL-safe y las prepone al `redirectProxyUrl`.
|
|
123
|
+
* Útil cuando el backend o la gateway de Jumio requiere un proxy intermediario.
|
|
124
|
+
* @default false
|
|
125
|
+
*/
|
|
126
|
+
useRedirectProxy?: boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Si es `true`, redirige automáticamente el navegador a la URL de Jumio (`href`) al recibirla.
|
|
129
|
+
* Solo aplica en entornos de navegador (`window.location`).
|
|
130
|
+
* @default false
|
|
131
|
+
*/
|
|
132
|
+
autoRedirect?: boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Si es `true`, abre la URL de verificación de Jumio en una nueva pestaña del navegador (`window.open(href, '_blank')`)
|
|
135
|
+
* sin salir ni perder el estado de la pestaña actual.
|
|
136
|
+
* @default false
|
|
137
|
+
*/
|
|
138
|
+
openInNewTab?: boolean;
|
|
139
|
+
/**
|
|
140
|
+
* Referencia opcional a una ventana o pestaña pre-abierta (`window.open`).
|
|
141
|
+
*/
|
|
142
|
+
targetWindow?: Window | null;
|
|
143
|
+
/**
|
|
144
|
+
* Señal de cancelación para abortar la petición HTTP.
|
|
145
|
+
*/
|
|
146
|
+
signal?: AbortSignal;
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Resultado devuelto por `startWebflow`.
|
|
150
|
+
* Contiene la URL de Jumio (`href`) a la que debe redirigirse el usuario.
|
|
151
|
+
*/
|
|
152
|
+
interface StartWebflowResult {
|
|
153
|
+
/**
|
|
154
|
+
* URL de la página web alojada de Jumio. Redirigir al usuario a esta URL para iniciar la verificación.
|
|
155
|
+
*/
|
|
156
|
+
href: string;
|
|
157
|
+
/**
|
|
158
|
+
* ID de cuenta en Jumio (puede estar disponible desde el inicio o sólo tras el retorno).
|
|
159
|
+
*/
|
|
160
|
+
accountId?: string;
|
|
161
|
+
/**
|
|
162
|
+
* ID de workflow de Jumio (puede estar disponible desde el inicio o sólo tras el retorno).
|
|
163
|
+
*/
|
|
164
|
+
workflowId?: string;
|
|
165
|
+
/**
|
|
166
|
+
* Payload completo devuelto por el backend.
|
|
167
|
+
*/
|
|
168
|
+
data: unknown;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Parámetros extraídos de la URL de retorno luego de completar el flujo web de Jumio.
|
|
172
|
+
* Jumio añade estos parámetros como query params al redirigir de vuelta a la aplicación.
|
|
173
|
+
*/
|
|
174
|
+
interface WebflowReturnParams {
|
|
175
|
+
/**
|
|
176
|
+
* ID de cuenta de Jumio. Requerido para consultar el resultado.
|
|
177
|
+
*/
|
|
178
|
+
accountId?: string;
|
|
179
|
+
/**
|
|
180
|
+
* ID de ejecución del workflow de Jumio. Requerido para consultar el resultado.
|
|
181
|
+
* Puede venir como `workflowExecutionId` o `workflowId` dependiendo de la configuración del backend.
|
|
182
|
+
*/
|
|
183
|
+
workflowId?: string;
|
|
184
|
+
/**
|
|
185
|
+
* Valor crudo del parámetro `status` de la URL (puede contener sub-parámetros anidados).
|
|
186
|
+
*/
|
|
187
|
+
rawStatus?: string;
|
|
188
|
+
/**
|
|
189
|
+
* Todos los parámetros de query de la URL de retorno, sin procesar.
|
|
190
|
+
*/
|
|
191
|
+
allParams: Record<string, string>;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Parámetros de entrada para consultar el estado del flujo Hosted Webflow.
|
|
195
|
+
*/
|
|
196
|
+
interface GetWebflowStatusInput {
|
|
197
|
+
/**
|
|
198
|
+
* ID de cuenta de Jumio.
|
|
199
|
+
*/
|
|
200
|
+
accountId: string;
|
|
201
|
+
/**
|
|
202
|
+
* ID de workflow de Jumio.
|
|
203
|
+
*/
|
|
204
|
+
workflowId: string;
|
|
205
|
+
/**
|
|
206
|
+
* ID del cliente (requerido por algunos endpoints de DynamiCore).
|
|
207
|
+
*/
|
|
208
|
+
clientId?: string;
|
|
209
|
+
/**
|
|
210
|
+
* Señal de cancelación.
|
|
211
|
+
*/
|
|
212
|
+
signal?: AbortSignal;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Resultado de una verificación completada mediante Hosted Webflow.
|
|
216
|
+
*/
|
|
217
|
+
interface WebflowResult {
|
|
218
|
+
/**
|
|
219
|
+
* `true` si la verificación fue exitosa (PASSED/WARNING con extracción de datos).
|
|
220
|
+
* `false` si fue rechazada.
|
|
221
|
+
*/
|
|
222
|
+
valid: boolean;
|
|
223
|
+
/**
|
|
224
|
+
* Tipo de decisión devuelta por Jumio: 'PASSED', 'WARNING', 'REJECTED', 'NOT_EXECUTED', etc.
|
|
225
|
+
*/
|
|
226
|
+
decision?: string;
|
|
227
|
+
/**
|
|
228
|
+
* Estado final del workflow de Jumio.
|
|
229
|
+
*/
|
|
230
|
+
status?: string;
|
|
231
|
+
/**
|
|
232
|
+
* Datos de extracción del documento (CURP, nombre, etc.) si están disponibles.
|
|
233
|
+
*/
|
|
234
|
+
extraction?: Record<string, unknown>;
|
|
235
|
+
/**
|
|
236
|
+
* ID de cuenta de Jumio asociado a la verificación.
|
|
237
|
+
*/
|
|
238
|
+
accountId?: string;
|
|
239
|
+
/**
|
|
240
|
+
* ID de workflow de Jumio asociado a la verificación.
|
|
241
|
+
*/
|
|
242
|
+
workflowId?: string;
|
|
243
|
+
/**
|
|
244
|
+
* Payload completo de la respuesta del backend.
|
|
245
|
+
*/
|
|
246
|
+
data: unknown;
|
|
247
|
+
/**
|
|
248
|
+
* Mensaje descriptivo en caso de que la verificación no sea válida.
|
|
249
|
+
*/
|
|
250
|
+
errorMessage?: string;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Opciones para el sondeo del estado del flujo Hosted Webflow.
|
|
254
|
+
*/
|
|
255
|
+
interface PollWebflowOptions {
|
|
256
|
+
/**
|
|
257
|
+
* Intervalo en milisegundos entre consultas de estado.
|
|
258
|
+
* @default 10000
|
|
259
|
+
*/
|
|
260
|
+
pollingIntervalMs?: number;
|
|
261
|
+
/**
|
|
262
|
+
* Número máximo de intentos de sondeo.
|
|
263
|
+
* @default 20
|
|
264
|
+
*/
|
|
265
|
+
maxAttempts?: number;
|
|
266
|
+
/**
|
|
267
|
+
* Señal de cancelación.
|
|
268
|
+
*/
|
|
269
|
+
signal?: AbortSignal;
|
|
270
|
+
/**
|
|
271
|
+
* Callback invocado en cada intento de sondeo.
|
|
272
|
+
*/
|
|
273
|
+
onAttempt?: (attempt: number, maxAttempts: number, lastData: unknown) => void;
|
|
274
|
+
}
|
|
275
|
+
/**
|
|
276
|
+
* Payload enviado a la API de verificación de Jumio.
|
|
277
|
+
*/
|
|
278
|
+
interface JumioVerificationPayload {
|
|
279
|
+
client: string;
|
|
280
|
+
front_image_b64: string;
|
|
281
|
+
back_image_b64: string;
|
|
282
|
+
[key: string]: unknown;
|
|
283
|
+
}
|
|
284
|
+
/**
|
|
285
|
+
* Estructura de respuesta de datos de verificación.
|
|
286
|
+
*/
|
|
287
|
+
interface JumioVerificationData {
|
|
288
|
+
valid?: boolean;
|
|
289
|
+
status?: JumioWorkflowStatus;
|
|
290
|
+
workflowStatus?: JumioWorkflowStatus;
|
|
291
|
+
decision?: string;
|
|
292
|
+
accountId?: string;
|
|
293
|
+
workflowId?: string;
|
|
294
|
+
message?: string;
|
|
295
|
+
[key: string]: unknown;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Estructura inicial devuelta al iniciar el flujo de verificación.
|
|
299
|
+
*/
|
|
300
|
+
interface JumioIneStartData extends JumioVerificationData {
|
|
301
|
+
accountId?: string;
|
|
302
|
+
workflowId?: string;
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Resultado estructurado retornado por el cliente tras una validación.
|
|
306
|
+
*/
|
|
307
|
+
interface VerifyIneResult {
|
|
308
|
+
/**
|
|
309
|
+
* Indica si la validación fue exitosa (true) o fallida/rechazada (false).
|
|
310
|
+
*/
|
|
311
|
+
valid: boolean;
|
|
312
|
+
/**
|
|
313
|
+
* Estado actual o final del flujo de Jumio.
|
|
314
|
+
*/
|
|
315
|
+
status?: JumioWorkflowStatus;
|
|
316
|
+
/**
|
|
317
|
+
* Identificador de cuenta en Jumio.
|
|
318
|
+
*/
|
|
319
|
+
accountId?: string;
|
|
320
|
+
/**
|
|
321
|
+
* Identificador del workflow en Jumio.
|
|
322
|
+
*/
|
|
323
|
+
workflowId?: string;
|
|
324
|
+
/**
|
|
325
|
+
* Datos completos devueltos por la API de Jumio/DynamiCore.
|
|
326
|
+
*/
|
|
327
|
+
data: unknown;
|
|
328
|
+
/**
|
|
329
|
+
* Mensaje descriptivo o de error si la validación falló.
|
|
330
|
+
*/
|
|
331
|
+
errorMessage?: string;
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* Callback ejecutado cuando el sondeo resuelve un estado final.
|
|
335
|
+
*/
|
|
336
|
+
type JumioStatusResolvedCallback = (result: VerifyIneResult) => void;
|
|
337
|
+
/**
|
|
338
|
+
* Callback ejecutado si ocurre un error durante el sondeo o la petición.
|
|
339
|
+
*/
|
|
340
|
+
type JumioStatusErrorCallback = (error: Error) => void;
|
|
341
|
+
/**
|
|
342
|
+
* Callback de progreso para reportar avances de conversión o polling.
|
|
343
|
+
*/
|
|
344
|
+
type JumioProgressCallback = (stage: string, percent?: number) => void;
|
|
345
|
+
/**
|
|
346
|
+
* Parámetros de entrada para la función `verifyIne`.
|
|
347
|
+
*/
|
|
348
|
+
interface VerifyIneInput {
|
|
349
|
+
/**
|
|
350
|
+
* Identificador único del cliente (persona, usuario o ID externo).
|
|
351
|
+
*/
|
|
352
|
+
clientId: string;
|
|
353
|
+
/**
|
|
354
|
+
* Imagen frontal del documento (INE): URL, ruta S3, File, Blob o Base64.
|
|
355
|
+
*/
|
|
356
|
+
frontImage: ImageSource;
|
|
357
|
+
/**
|
|
358
|
+
* Imagen trasera/reverso del documento (INE): URL, ruta S3, File, Blob o Base64.
|
|
359
|
+
*/
|
|
360
|
+
backImage: ImageSource;
|
|
361
|
+
/**
|
|
362
|
+
* Si es `true`, la promesa espera hasta que Jumio resuelva el resultado final (bloqueante).
|
|
363
|
+
* Si es `false` (por defecto), inicia la validación, retorna de inmediato y ejecuta el sondeo en 2do plano.
|
|
364
|
+
* @default false
|
|
365
|
+
*/
|
|
366
|
+
awaitFinalStatus?: boolean;
|
|
367
|
+
/**
|
|
368
|
+
* Callback invocado cuando se completa el proceso de validación (síncrono o en segundo plano).
|
|
369
|
+
*/
|
|
370
|
+
onStatusResolved?: JumioStatusResolvedCallback;
|
|
371
|
+
/**
|
|
372
|
+
* Callback invocado ante errores no recuperables durante la validación o sondeo.
|
|
373
|
+
*/
|
|
374
|
+
onStatusError?: JumioStatusErrorCallback;
|
|
375
|
+
/**
|
|
376
|
+
* Callback opcional para reportar etapas del proceso.
|
|
377
|
+
*/
|
|
378
|
+
onProgress?: JumioProgressCallback;
|
|
379
|
+
/**
|
|
380
|
+
* Señal de cancelación (AbortSignal) para abortar peticiones o sondeo activo.
|
|
381
|
+
*/
|
|
382
|
+
signal?: AbortSignal;
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Opciones para el método de polling de estado.
|
|
386
|
+
*/
|
|
387
|
+
interface PollStatusOptions {
|
|
388
|
+
pollingIntervalMs?: number;
|
|
389
|
+
maxAttempts?: number;
|
|
390
|
+
signal?: AbortSignal;
|
|
391
|
+
onAttempt?: (attempt: number, maxAttempts: number, lastData: unknown) => void;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
/**
|
|
395
|
+
* Cliente principal para gestionar validaciones de identidad mediante Jumio.
|
|
396
|
+
*/
|
|
397
|
+
declare class JumioClient {
|
|
398
|
+
private readonly http;
|
|
399
|
+
private readonly config;
|
|
400
|
+
constructor(config?: JumioClientConfig);
|
|
401
|
+
/**
|
|
402
|
+
* Inicia el proceso de verificación convirtiendo las imágenes y enviando el payload inicial a Jumio.
|
|
403
|
+
*/
|
|
404
|
+
startIneVerification(params: {
|
|
405
|
+
clientId: string;
|
|
406
|
+
frontImage: ImageSource;
|
|
407
|
+
backImage: ImageSource;
|
|
408
|
+
signal?: AbortSignal;
|
|
409
|
+
onProgress?: JumioProgressCallback;
|
|
410
|
+
}): Promise<JumioIneStartData>;
|
|
411
|
+
/**
|
|
412
|
+
* Consulta una única vez el estado actual de la validación.
|
|
413
|
+
*/
|
|
414
|
+
getIneStatus(accountId: string, workflowId: string, signal?: AbortSignal): Promise<JumioVerificationData>;
|
|
415
|
+
/**
|
|
416
|
+
* Sondea periódicamente el estado hasta obtener un resultado definitivo.
|
|
417
|
+
*/
|
|
418
|
+
pollIneStatus(accountId: string, workflowId: string, options?: PollStatusOptions): Promise<VerifyIneResult>;
|
|
419
|
+
/**
|
|
420
|
+
* Ejecuta el flujo completo de validación de INE.
|
|
421
|
+
*
|
|
422
|
+
* @param input Parámetros de validación y callbacks.
|
|
423
|
+
* @returns `VerifyIneResult` con el resultado inicial o definitivo según `awaitFinalStatus`.
|
|
424
|
+
*/
|
|
425
|
+
verifyIne(input: VerifyIneInput): Promise<VerifyIneResult>;
|
|
426
|
+
/**
|
|
427
|
+
* Construye la URL de redirección de retorno para el flujo Hosted Webflow.
|
|
428
|
+
*
|
|
429
|
+
* Si el cliente está configurado con un `redirectProxyUrl` y `useProxy` es `true`,
|
|
430
|
+
* la URL de retorno se codifica en Base64 URL-safe y se adjunta al proxy.
|
|
431
|
+
*
|
|
432
|
+
* @param returnUrl URL de la aplicación a la que Jumio redirigirá tras la verificación.
|
|
433
|
+
* @param useProxy Si es `true` y hay `redirectProxyUrl` configurado, usa el proxy.
|
|
434
|
+
* @returns URL de redirección construida.
|
|
435
|
+
*/
|
|
436
|
+
buildRedirectUrl(returnUrl: string, useProxy?: boolean): string;
|
|
437
|
+
/**
|
|
438
|
+
* Inicia el flujo Hosted Webflow solicitando al backend de DynamiCore la URL
|
|
439
|
+
* de verificación de Jumio (`href`).
|
|
440
|
+
*
|
|
441
|
+
* El usuario debe ser redirigido a esa URL para completar la verificación en la
|
|
442
|
+
* página oficial de Jumio. Al terminar, Jumio redirige de vuelta a la aplicación
|
|
443
|
+
* con `accountId` y `workflowExecutionId` como query params.
|
|
444
|
+
*
|
|
445
|
+
* @param input Parámetros del flujo: `clientId`, `successUrl`, `errorUrl`, opciones de proxy y redirección.
|
|
446
|
+
* @returns `StartWebflowResult` con la URL de Jumio (`href`) y datos adicionales.
|
|
447
|
+
*
|
|
448
|
+
* @example
|
|
449
|
+
* ```ts
|
|
450
|
+
* const { href } = await client.startWebflow({
|
|
451
|
+
* clientId: "usr_123",
|
|
452
|
+
* successUrl: "https://app.example.com/verify/success",
|
|
453
|
+
* errorUrl: "https://app.example.com/verify/error",
|
|
454
|
+
* });
|
|
455
|
+
* window.location.href = href;
|
|
456
|
+
* ```
|
|
457
|
+
*/
|
|
458
|
+
startWebflow(input: StartWebflowInput): Promise<StartWebflowResult>;
|
|
459
|
+
/**
|
|
460
|
+
* Extrae los parámetros de seguimiento de Jumio de la URL de retorno.
|
|
461
|
+
*
|
|
462
|
+
* Jumio añade `accountId` y `workflowExecutionId` (o `workflowId`) como query
|
|
463
|
+
* params al redirigir de vuelta a la aplicación tras la verificación.
|
|
464
|
+
*
|
|
465
|
+
* @param source URL completa, `URLSearchParams`, objeto con `search`/`href`, o nada para leer `window.location`.
|
|
466
|
+
* @returns `WebflowReturnParams` con `accountId`, `workflowId`, `rawStatus` y todos los params.
|
|
467
|
+
*
|
|
468
|
+
* @example En React, en el componente de retorno:
|
|
469
|
+
* ```ts
|
|
470
|
+
* const { accountId, workflowId } = client.parseWebflowReturnParams(window.location.href);
|
|
471
|
+
* ```
|
|
472
|
+
*/
|
|
473
|
+
parseWebflowReturnParams(source?: string | URLSearchParams | {
|
|
474
|
+
search?: string;
|
|
475
|
+
href?: string;
|
|
476
|
+
}): WebflowReturnParams;
|
|
477
|
+
/**
|
|
478
|
+
* Consulta una única vez el estado actual de la verificación del flujo Hosted Webflow.
|
|
479
|
+
*
|
|
480
|
+
* @param input Parámetros de consulta: `accountId`, `workflowId`, y `clientId` opcional.
|
|
481
|
+
* @returns `WebflowResult | null` — `null` si la verificación aún está pendiente.
|
|
482
|
+
*/
|
|
483
|
+
getWebflowStatus(input: GetWebflowStatusInput): Promise<WebflowResult | null>;
|
|
484
|
+
/**
|
|
485
|
+
* Sondea periódicamente el estado de verificación de un flujo Hosted Webflow de Jumio.
|
|
486
|
+
*
|
|
487
|
+
* Continúa consultando hasta obtener un resultado definitivo o agotar los intentos.
|
|
488
|
+
*
|
|
489
|
+
* @param params `accountId`, `workflowId` y `clientId` opcional.
|
|
490
|
+
* @param options Opciones de sondeo (`maxAttempts`, `pollingIntervalMs`, `signal`, `onAttempt`).
|
|
491
|
+
* @returns `WebflowResult` con el resultado definitivo.
|
|
492
|
+
*
|
|
493
|
+
* @example
|
|
494
|
+
* ```ts
|
|
495
|
+
* // En el componente de retorno, tras leer los params de la URL:
|
|
496
|
+
* const result = await client.pollWebflowStatus({ accountId, workflowId, clientId });
|
|
497
|
+
* if (result.valid) {
|
|
498
|
+
* console.log("Verificación aprobada:", result.extraction);
|
|
499
|
+
* } else {
|
|
500
|
+
* console.warn("Rechazado:", result.errorMessage);
|
|
501
|
+
* }
|
|
502
|
+
* ```
|
|
503
|
+
*/
|
|
504
|
+
pollWebflowStatus(params: {
|
|
505
|
+
accountId: string;
|
|
506
|
+
workflowId: string;
|
|
507
|
+
clientId?: string;
|
|
508
|
+
}, options?: PollWebflowOptions): Promise<WebflowResult>;
|
|
509
|
+
}
|
|
510
|
+
/**
|
|
511
|
+
* Fábrica para crear una nueva instancia de `JumioClient`.
|
|
512
|
+
*/
|
|
513
|
+
declare function createJumioClient(config?: JumioClientConfig): JumioClient;
|
|
514
|
+
|
|
515
|
+
export { type AuthTokenProvider as A, type GetWebflowStatusInput as G, type ImageSource as I, JumioClient as J, type PollStatusOptions as P, type S3SignerFunction as S, type VerifyIneInput as V, type WebflowResult as W, type JumioClientConfig as a, type JumioIneStartData as b, type JumioProgressCallback as c, type JumioStatusErrorCallback as d, type JumioStatusResolvedCallback as e, type JumioVerificationData as f, type JumioVerificationPayload as g, type JumioWorkflowStatus as h, type PollWebflowOptions as i, type StartWebflowInput as j, type StartWebflowResult as k, type VerifyIneResult as l, type WebflowReturnParams as m, createJumioClient as n };
|