apacuana-sdk-core 1.24.0 → 1.26.0

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.
Files changed (44) hide show
  1. package/.env.example +10 -0
  2. package/README.md +72 -27
  3. package/coverage/clover.xml +292 -280
  4. package/coverage/coverage-final.json +6 -6
  5. package/coverage/lcov-report/index.html +24 -24
  6. package/coverage/lcov-report/src/api/certs.js.html +1 -1
  7. package/coverage/lcov-report/src/api/faceLiveness.js.html +35 -269
  8. package/coverage/lcov-report/src/api/index.html +25 -25
  9. package/coverage/lcov-report/src/api/revocations.js.html +1 -1
  10. package/coverage/lcov-report/src/api/signatures.js.html +183 -9
  11. package/coverage/lcov-report/src/api/users.js.html +1 -1
  12. package/coverage/lcov-report/src/config/index.html +1 -1
  13. package/coverage/lcov-report/src/config/index.js.html +1 -1
  14. package/coverage/lcov-report/src/errors/index.html +1 -1
  15. package/coverage/lcov-report/src/errors/index.js.html +8 -8
  16. package/coverage/lcov-report/src/index.html +1 -1
  17. package/coverage/lcov-report/src/index.js.html +13 -28
  18. package/coverage/lcov-report/src/success/index.html +1 -1
  19. package/coverage/lcov-report/src/success/index.js.html +5 -5
  20. package/coverage/lcov-report/src/utils/constant.js.html +1 -1
  21. package/coverage/lcov-report/src/utils/helpers.js.html +174 -9
  22. package/coverage/lcov-report/src/utils/httpClient.js.html +1 -1
  23. package/coverage/lcov-report/src/utils/index.html +14 -14
  24. package/coverage/lcov.info +590 -561
  25. package/dist/api/faceLiveness.d.ts +3 -4
  26. package/dist/api/signatures.d.ts +1 -0
  27. package/dist/index.d.ts +2 -2
  28. package/dist/index.js +248 -242
  29. package/dist/index.js.map +1 -1
  30. package/dist/index.mjs +248 -242
  31. package/dist/index.mjs.map +1 -1
  32. package/dist/types/faceLiveness.d.ts +0 -10
  33. package/dist/types/signatures.d.ts +18 -0
  34. package/dist/utils/helpers.d.ts +4 -0
  35. package/package.json +3 -2
  36. package/src/api/faceLiveness.js +20 -98
  37. package/src/api/signatures.js +58 -0
  38. package/src/index.js +9 -14
  39. package/src/types/faceLiveness.js +1 -12
  40. package/src/types/signatures.js +13 -1
  41. package/src/utils/helpers.js +55 -0
  42. package/tests/api/faceLiveness.test.js +54 -115
  43. package/tests/api/signatures.test.js +90 -0
  44. package/tests/integration/addMember.test.js +105 -0
package/.env.example ADDED
@@ -0,0 +1,10 @@
1
+ # Apacuana SDK - Integration Test Environment Variables
2
+ # Copy this file to .env and fill in your values
3
+
4
+ APACUANA_API_URL=https://api.dev.apacuana.3dlinkweb.com
5
+ APACUANA_SECRET_KEY=your-secret-key-here
6
+ APACUANA_API_KEY=your-api-key-here
7
+ APACUANA_VERIFICATION_ID=your-verification-id-here
8
+ APACUANA_INTEGRATION_TYPE=ONBOARDING
9
+ APACUANA_CUSTOMER_ID=your-customer-id-here
10
+ APACUANA_DOCUMENT_ID=cc3ff044-966b-412d-af48-7ccc628b8cb8
package/README.md CHANGED
@@ -72,14 +72,14 @@ El SDK puede inicializarse sin el parámetro `customerId`, lo que permite el acc
72
72
  - `generateCert(params)`
73
73
  - `getCertStatus(params)`
74
74
  - `addSigner(params)`
75
+ - `addMember(params)`
75
76
  - `getDocs(params)`
76
77
  - `getDigest(params)`
77
78
  - `signDocument(params)`
78
79
  - `uploadSignatureVariant(params)`
79
80
  - `getSignatureVariant()`
80
81
  - `deleteSignatureVariant()`
81
- - `createFaceLivenessSession()`
82
- - `validateFaceLiveness({ sessionId })`
82
+ -
83
83
  - `requestRevocation(params)`
84
84
  - `getRevocationReasons()`
85
85
 
@@ -376,6 +376,38 @@ try {
376
376
  }
377
377
  ```
378
378
 
379
+ ### `addMember(params)`
380
+
381
+ Añade un signatario a un documento existente. Este método permite agregar un nuevo signatario a un documento que ya fue creado, asignándole un tipo y número de documento.
382
+
383
+ #### Parámetros:
384
+
385
+ - **`params`**: Objeto con los datos del signatario.
386
+ - `documentId` (String, **obligatorio**): ID del documento al que se agregará el signatario.
387
+ - `typedoc` (String, **obligatorio**): Tipo de documento de identidad del signatario. Valores permitidos: "V", "P", "E".
388
+ - `doc` (String, **obligatorio**): Número de documento de identidad del signatario.
389
+
390
+ #### Comportamiento:
391
+
392
+ - Solo disponible para `integrationType: ONBOARDING`. Si se usa con `ONPREMISE`, lanzará un error `NOT_IMPLEMENTED`.
393
+ - Realiza una solicitud PUT al endpoint `services/api/documents/addmember`.
394
+
395
+ #### Ejemplo:
396
+
397
+ ```javascript
398
+ try {
399
+ const member = {
400
+ documentId: "cc3ff044-966b-412d-af48-7ccc628b8cb8",
401
+ typedoc: "V",
402
+ doc: "28152139",
403
+ };
404
+ const response = await apacuana.addMember(member);
405
+ console.log("Signatario añadido:", response.data);
406
+ } catch (error) {
407
+ console.error("Error al añadir signatario:", error.message);
408
+ }
409
+ ```
410
+
379
411
  ### `getDocs(data)`
380
412
 
381
413
  Obtiene una lista paginada de documentos asociados al usuario autenticado, permitiendo aplicar filtros avanzados.
@@ -501,7 +533,7 @@ const imageFile = new File(
501
533
  /* datos */
502
534
  ],
503
535
  "firma.png",
504
- { type: "image/png" }
536
+ { type: "image/png" },
505
537
  );
506
538
  const result = await apacuana.uploadSignatureVariant({ file: imageFile });
507
539
  // result.data contendrá la información de la variante subida
@@ -518,48 +550,61 @@ const result = await apacuana.getSignatureVariant();
518
550
  // result.data contendrá la imagen en Base64
519
551
  ```
520
552
 
521
- ### `deleteSignatureVariant()`
553
+ ### `sendFaceLiveness(params)`
522
554
 
523
- Elimina la variante de firma almacenada para el usuario autenticado. Este método solo está disponible si el SDK fue inicializado con un customerId. No requiere parámetros de entrada. Si la operación es exitosa, el resultado vendrá en el objeto `data` del response. Si no existe una variante de firma registrada, la operación no tendrá efecto y el resultado indicará el estado actual.
555
+ Envía la captura de biometría facial (Prueba de Vida) para ser procesada y vinculada a un trámite específico.
524
556
 
525
- **Ejemplo:**
557
+ Ejemplo de estructura de parámetros:
526
558
 
527
- ```javascript
528
- try {
529
- const response = await apacuana.deleteSignatureVariant();
530
- console.log(response.data);
531
- } catch (error) {
532
- console.error("Error al eliminar la firma:", error.message);
559
+ ```js
560
+ {
561
+ faceLiveness: base64,
562
+ documentprefid: 'id-pref-faceliveness'
533
563
  }
534
564
  ```
535
565
 
536
- ### `createFaceLivenessSession()`
566
+ #### Comportamiento:
537
567
 
538
- Crea una nueva sesión de prueba de vida (face liveness) para el usuario autenticado. Este método solo está disponible si el SDK fue inicializado con customerId. No requiere parámetros de entrada. El resultado vendrá en el objeto `data` del response, incluyendo el identificador único de la sesión creada.
568
+ - Solo disponible para `integrationType: ONBOARDING`. Si se usa con `ONPREMISE`, lanzará un error `NOT_IMPLEMENTED`.
569
+ - El SDK convierte automáticamente el Base64 en un archivo binario y lo sube al endpoint de validación de Apacuana. Devuelve una instancia de `ApacuanaSuccess` con un mensaje de confirmación.
539
570
 
540
- Ejemplo de uso:
571
+ #### Respuesta:
541
572
 
542
- ```js
543
- const result = await apacuana.createFaceLivenessSession();
544
- // result.data contendrá el ID de la sesión de prueba de vida
545
- ```
573
+ `````js
574
+ {
575
+ success: true,
576
+ data: {
577
+ ...
578
+ }
579
+ }
580
+
581
+ #### Ejemplo:
582
+
583
+ ````javascript
584
+ try {
585
+ const result = await apacuana.sendFaceLiveness({
586
+ faceLiveness: "data:image/png;base64,iVBOR...",
587
+ documentprefid: "DOC-12345",
588
+ });
589
+ console.log("Estado de envío:", result.data.status);
590
+ } catch (error) {
591
+ console.error("Error:", error.message);
592
+ }
546
593
 
547
- ### `validateFaceLiveness({ sessionId })`
594
+ `````
548
595
 
549
- Valida el resultado de una sesión de prueba de vida.
596
+ ### `deleteSignatureVariant()`
550
597
 
551
- - `sessionId` (String, **obligatorio**): El ID de la sesión de prueba de vida que se va a validar.
598
+ Elimina la variante de firma almacenada para el usuario autenticado. Este método solo está disponible si el SDK fue inicializado con un customerId. No requiere parámetros de entrada. Si la operación es exitosa, el resultado vendrá en el objeto `data` del response. Si no existe una variante de firma registrada, la operación no tendrá efecto y el resultado indicará el estado actual.
552
599
 
553
600
  **Ejemplo:**
554
601
 
555
602
  ```javascript
556
603
  try {
557
- const response = await apacuana.validateFaceLiveness({
558
- sessionId: "your-session-id",
559
- });
560
- console.log("Resultado de la validación:", response.data);
604
+ const response = await apacuana.deleteSignatureVariant();
605
+ console.log(response.data);
561
606
  } catch (error) {
562
- console.error("Error al validar la sesión de prueba de vida:", error.message);
607
+ console.error("Error al eliminar la firma:", error.message);
563
608
  }
564
609
  ```
565
610