apacuana-sdk-core 0.11.0 → 0.13.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 (49) hide show
  1. package/README.md +131 -164
  2. package/coverage/clover.xml +338 -302
  3. package/coverage/coverage-final.json +9 -9
  4. package/coverage/lcov-report/index.html +31 -31
  5. package/coverage/lcov-report/src/api/certs.js.html +1 -1
  6. package/coverage/lcov-report/src/api/faceLiveness.js.html +34 -7
  7. package/coverage/lcov-report/src/api/index.html +13 -13
  8. package/coverage/lcov-report/src/api/revocations.js.html +50 -5
  9. package/coverage/lcov-report/src/api/signatures.js.html +17 -56
  10. package/coverage/lcov-report/src/api/users.js.html +20 -5
  11. package/coverage/lcov-report/src/config/index.html +1 -1
  12. package/coverage/lcov-report/src/config/index.js.html +1 -1
  13. package/coverage/lcov-report/src/errors/index.html +1 -1
  14. package/coverage/lcov-report/src/errors/index.js.html +8 -8
  15. package/coverage/lcov-report/src/index.html +13 -13
  16. package/coverage/lcov-report/src/index.js.html +59 -14
  17. package/coverage/lcov-report/src/success/index.html +1 -1
  18. package/coverage/lcov-report/src/success/index.js.html +5 -5
  19. package/coverage/lcov-report/src/utils/constant.js.html +1 -1
  20. package/coverage/lcov-report/src/utils/helpers.js.html +277 -16
  21. package/coverage/lcov-report/src/utils/httpClient.js.html +32 -17
  22. package/coverage/lcov-report/src/utils/index.html +22 -22
  23. package/coverage/lcov.info +641 -561
  24. package/dist/api/revocations.d.ts +6 -3
  25. package/dist/api/users.d.ts +16 -6
  26. package/dist/index.d.ts +0 -2
  27. package/dist/index.js +149 -147
  28. package/dist/index.js.map +1 -1
  29. package/dist/index.mjs +149 -147
  30. package/dist/index.mjs.map +1 -1
  31. package/dist/types/faceLiveness.d.ts +6 -5
  32. package/dist/types/revocations.d.ts +26 -15
  33. package/dist/types/signatures.d.ts +73 -63
  34. package/dist/utils/helpers.d.ts +4 -2
  35. package/package.json +1 -1
  36. package/src/api/faceLiveness.js +13 -4
  37. package/src/api/revocations.js +18 -3
  38. package/src/api/signatures.js +8 -21
  39. package/src/api/users.js +8 -3
  40. package/src/index.js +22 -7
  41. package/src/types/faceLiveness.js +11 -2
  42. package/src/types/revocations.js +29 -9
  43. package/src/types/signatures.js +47 -28
  44. package/src/utils/helpers.js +95 -8
  45. package/src/utils/httpClient.js +15 -10
  46. package/tests/api/faceLiveness.test.js +28 -30
  47. package/tests/api/revocations.test.js +4 -4
  48. package/tests/api/signatures.test.js +73 -16
  49. package/tests/index.test.js +16 -8
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">67.08% </span>
26
+ <span class="strong">62.74% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>318/474</span>
28
+ <span class='fraction'>320/510</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">40% </span>
33
+ <span class="strong">36.41% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>132/330</span>
35
+ <span class='fraction'>134/368</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">69.44% </span>
40
+ <span class="strong">65.33% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>50/72</span>
42
+ <span class='fraction'>49/75</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">67.65% </span>
47
+ <span class="strong">63.24% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>318/470</span>
49
+ <span class='fraction'>320/506</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,32 +80,32 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="src"><a href="src/index.html">src</a></td>
83
- <td data-value="85.71" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 85%"></div><div class="cover-empty" style="width: 15%"></div></div>
83
+ <td data-value="82.35" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 82%"></div><div class="cover-empty" style="width: 18%"></div></div>
85
85
  </td>
86
- <td data-value="85.71" class="pct high">85.71%</td>
87
- <td data-value="14" class="abs high">12/14</td>
86
+ <td data-value="82.35" class="pct high">82.35%</td>
87
+ <td data-value="17" class="abs high">14/17</td>
88
88
  <td data-value="50" class="pct medium">50%</td>
89
- <td data-value="2" class="abs medium">1/2</td>
89
+ <td data-value="6" class="abs medium">3/6</td>
90
90
  <td data-value="50" class="pct medium">50%</td>
91
91
  <td data-value="2" class="abs medium">1/2</td>
92
- <td data-value="85.71" class="pct high">85.71%</td>
93
- <td data-value="14" class="abs high">12/14</td>
92
+ <td data-value="82.35" class="pct high">82.35%</td>
93
+ <td data-value="17" class="abs high">14/17</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
97
97
  <td class="file high" data-value="src/api"><a href="src/api/index.html">src/api</a></td>
98
- <td data-value="88.7" class="pic high">
98
+ <td data-value="88.67" class="pic high">
99
99
  <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
100
100
  </td>
101
- <td data-value="88.7" class="pct high">88.7%</td>
102
- <td data-value="310" class="abs high">275/310</td>
101
+ <td data-value="88.67" class="pct high">88.67%</td>
102
+ <td data-value="309" class="abs high">274/309</td>
103
103
  <td data-value="77.43" class="pct medium">77.43%</td>
104
104
  <td data-value="164" class="abs medium">127/164</td>
105
- <td data-value="97.91" class="pct high">97.91%</td>
106
- <td data-value="48" class="abs high">47/48</td>
107
- <td data-value="88.7" class="pct high">88.7%</td>
108
- <td data-value="310" class="abs high">275/310</td>
105
+ <td data-value="97.87" class="pct high">97.87%</td>
106
+ <td data-value="47" class="abs high">46/47</td>
107
+ <td data-value="88.67" class="pct high">88.67%</td>
108
+ <td data-value="309" class="abs high">274/309</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -155,17 +155,17 @@
155
155
 
156
156
  <tr>
157
157
  <td class="file low" data-value="src/utils"><a href="src/utils/index.html">src/utils</a></td>
158
- <td data-value="11.9" class="pic low">
159
- <div class="chart"><div class="cover-fill" style="width: 11%"></div><div class="cover-empty" style="width: 89%"></div></div>
158
+ <td data-value="10" class="pic low">
159
+ <div class="chart"><div class="cover-fill" style="width: 10%"></div><div class="cover-empty" style="width: 90%"></div></div>
160
160
  </td>
161
- <td data-value="11.9" class="pct low">11.9%</td>
162
- <td data-value="126" class="abs low">15/126</td>
161
+ <td data-value="10" class="pct low">10%</td>
162
+ <td data-value="160" class="abs low">16/160</td>
163
163
  <td data-value="0" class="pct low">0%</td>
164
- <td data-value="150" class="abs low">0/150</td>
164
+ <td data-value="184" class="abs low">0/184</td>
165
165
  <td data-value="0" class="pct low">0%</td>
166
- <td data-value="17" class="abs low">0/17</td>
167
- <td data-value="12.19" class="pct low">12.19%</td>
168
- <td data-value="123" class="abs low">15/123</td>
166
+ <td data-value="21" class="abs low">0/21</td>
167
+ <td data-value="10.19" class="pct low">10.19%</td>
168
+ <td data-value="157" class="abs low">16/157</td>
169
169
  </tr>
170
170
 
171
171
  </tbody>
@@ -176,7 +176,7 @@
176
176
  <div class='footer quiet pad2 space-top1 center small'>
177
177
  Code coverage generated by
178
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
179
- at 2025-09-11T22:20:22.994Z
179
+ at 2025-09-19T18:21:42.426Z
180
180
  </div>
181
181
  <script src="prettify.js"></script>
182
182
  <script>
@@ -829,7 +829,7 @@ export const requestCertificate = async (params) =&gt; {
829
829
  <div class='footer quiet pad2 space-top1 center small'>
830
830
  Code coverage generated by
831
831
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
832
- at 2025-09-11T22:20:22.994Z
832
+ at 2025-09-19T18:21:42.426Z
833
833
  </div>
834
834
  <script src="../../prettify.js"></script>
835
835
  <script>
@@ -200,7 +200,22 @@
200
200
  <a name='L135'></a><a href='#L135'>135</a>
201
201
  <a name='L136'></a><a href='#L136'>136</a>
202
202
  <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-neutral">&nbsp;</span>
214
+ <span class="cline-any cline-neutral">&nbsp;</span>
215
+ <span class="cline-any cline-neutral">&nbsp;</span>
216
+ <span class="cline-any cline-neutral">&nbsp;</span>
217
+ <span class="cline-any cline-neutral">&nbsp;</span>
218
+ <span class="cline-any cline-neutral">&nbsp;</span>
204
219
  <span class="cline-any cline-neutral">&nbsp;</span>
205
220
  <span class="cline-any cline-neutral">&nbsp;</span>
206
221
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -217,7 +232,6 @@
217
232
  <span class="cline-any cline-neutral">&nbsp;</span>
218
233
  <span class="cline-any cline-neutral">&nbsp;</span>
219
234
  <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-neutral">&nbsp;</span>
221
235
  <span class="cline-any cline-yes">2x</span>
222
236
  <span class="cline-any cline-yes">1x</span>
223
237
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -228,6 +242,8 @@
228
242
  <span class="cline-any cline-neutral">&nbsp;</span>
229
243
  <span class="cline-any cline-yes">1x</span>
230
244
  <span class="cline-any cline-neutral">&nbsp;</span>
245
+ <span class="cline-any cline-neutral">&nbsp;</span>
246
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
247
  <span class="cline-any cline-yes">3x</span>
232
248
  <span class="cline-any cline-yes">2x</span>
233
249
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -235,6 +251,8 @@
235
251
  <span class="cline-any cline-neutral">&nbsp;</span>
236
252
  <span class="cline-any cline-neutral">&nbsp;</span>
237
253
  <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-neutral">&nbsp;</span>
238
256
  <span class="cline-any cline-yes">2x</span>
239
257
  <span class="cline-any cline-yes">1x</span>
240
258
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -347,6 +365,12 @@ import { ApacuanaAPIError } from "../errors";
347
365
  import ApacuanaSuccess from "../success";
348
366
  import { INTEGRATION_TYPE } from "../utils/constant";
349
367
  &nbsp;
368
+ /**
369
+ * Creates a new Face Liveness session.
370
+ * @returns {Promise&lt;CreateFaceLivenessSessionResponse&gt;} Object with the session ID and a success indicator.
371
+ * @throws {ApacuanaAPIError} If the API response is invalid or the integration type is not supported.
372
+ * @throws {Error} If the request fails for another reason.
373
+ */
350
374
  const createFaceLivenessSessionOnBoarding = async () =&gt; {
351
375
  try {
352
376
  const response = await httpRequest(
@@ -354,8 +378,7 @@ const createFaceLivenessSessionOnBoarding = async () =&gt; {
354
378
  {},
355
379
  "POST"
356
380
  );
357
- &nbsp;
358
- if (!response.sessionId) {
381
+ if (!response.sessionid) {
359
382
  throw new ApacuanaAPIError(
360
383
  "The API response does not contain the session ID.",
361
384
  response.status,
@@ -363,12 +386,16 @@ const createFaceLivenessSessionOnBoarding = async () =&gt; {
363
386
  );
364
387
  }
365
388
  &nbsp;
366
- return new ApacuanaSuccess({ sessionId: response.sessionId });
389
+ return new ApacuanaSuccess({
390
+ sessionId: response.sessionid,
391
+ });
367
392
  } catch (error) {
368
393
  if (error instanceof ApacuanaAPIError) {
369
394
  throw error;
370
395
  }
371
- throw new Error(`Failed to create Face Liveness session: ${error.message}`);
396
+ throw new ApacuanaAPIError(
397
+ `Failed to create Face Liveness session: ${error.message}`
398
+ );
372
399
  }
373
400
  };
374
401
  &nbsp;
@@ -481,7 +508,7 @@ export const validateFaceLiveness = async ({ sessionId }) =&gt; {
481
508
  <div class='footer quiet pad2 space-top1 center small'>
482
509
  Code coverage generated by
483
510
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
484
- at 2025-09-11T22:20:22.994Z
511
+ at 2025-09-19T18:21:42.426Z
485
512
  </div>
486
513
  <script src="../../prettify.js"></script>
487
514
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">88.7% </span>
26
+ <span class="strong">88.67% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>275/310</span>
28
+ <span class='fraction'>274/309</span>
29
29
  </div>
30
30
 
31
31
 
@@ -37,16 +37,16 @@
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">97.91% </span>
40
+ <span class="strong">97.87% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>47/48</span>
42
+ <span class='fraction'>46/47</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">88.7% </span>
47
+ <span class="strong">88.67% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>275/310</span>
49
+ <span class='fraction'>274/309</span>
50
50
  </div>
51
51
 
52
52
 
@@ -125,17 +125,17 @@
125
125
 
126
126
  <tr>
127
127
  <td class="file high" data-value="signatures.js"><a href="signatures.js.html">signatures.js</a></td>
128
- <td data-value="85.5" class="pic high">
128
+ <td data-value="85.4" class="pic high">
129
129
  <div class="chart"><div class="cover-fill" style="width: 85%"></div><div class="cover-empty" style="width: 15%"></div></div>
130
130
  </td>
131
- <td data-value="85.5" class="pct high">85.5%</td>
132
- <td data-value="138" class="abs high">118/138</td>
131
+ <td data-value="85.4" class="pct high">85.4%</td>
132
+ <td data-value="137" class="abs high">117/137</td>
133
133
  <td data-value="68.49" class="pct medium">68.49%</td>
134
134
  <td data-value="73" class="abs medium">50/73</td>
135
135
  <td data-value="100" class="pct high">100%</td>
136
- <td data-value="22" class="abs high">22/22</td>
137
- <td data-value="85.5" class="pct high">85.5%</td>
138
- <td data-value="138" class="abs high">118/138</td>
136
+ <td data-value="21" class="abs high">21/21</td>
137
+ <td data-value="85.4" class="pct high">85.4%</td>
138
+ <td data-value="137" class="abs high">117/137</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2025-09-11T22:20:22.994Z
164
+ at 2025-09-19T18:21:42.426Z
165
165
  </div>
166
166
  <script src="../../prettify.js"></script>
167
167
  <script>
@@ -157,7 +157,25 @@
157
157
  <a name='L92'></a><a href='#L92'>92</a>
158
158
  <a name='L93'></a><a href='#L93'>93</a>
159
159
  <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
176
+ <span class="cline-any cline-neutral">&nbsp;</span>
177
+ <span class="cline-any cline-neutral">&nbsp;</span>
178
+ <span class="cline-any cline-neutral">&nbsp;</span>
161
179
  <span class="cline-any cline-neutral">&nbsp;</span>
162
180
  <span class="cline-any cline-neutral">&nbsp;</span>
163
181
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -187,6 +205,13 @@
187
205
  <span class="cline-any cline-neutral">&nbsp;</span>
188
206
  <span class="cline-any cline-neutral">&nbsp;</span>
189
207
  <span class="cline-any cline-neutral">&nbsp;</span>
208
+ <span class="cline-any cline-neutral">&nbsp;</span>
209
+ <span class="cline-any cline-neutral">&nbsp;</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-neutral">&nbsp;</span>
212
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-neutral">&nbsp;</span>
214
+ <span class="cline-any cline-neutral">&nbsp;</span>
190
215
  <span class="cline-any cline-yes">2x</span>
191
216
  <span class="cline-any cline-yes">5x</span>
192
217
  <span class="cline-any cline-yes">2x</span>
@@ -236,6 +261,11 @@
236
261
  <span class="cline-any cline-neutral">&nbsp;</span>
237
262
  <span class="cline-any cline-neutral">&nbsp;</span>
238
263
  <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-neutral">&nbsp;</span>
267
+ <span class="cline-any cline-neutral">&nbsp;</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
239
269
  <span class="cline-any cline-yes">2x</span>
240
270
  <span class="cline-any cline-yes">5x</span>
241
271
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -257,10 +287,13 @@ import { INTEGRATION_TYPE } from "../utils/constant";
257
287
  import { ApacuanaAPIError } from "../errors";
258
288
  import ApacuanaSuccess from "../success";
259
289
  &nbsp;
290
+ /** @typedef {import("../types/revocations").RequestRevocationResponse} RequestRevocationResponse */
291
+ /** @typedef {import("../types/revocations").GetRevocationReasonsResponse} GetRevocationReasonsResponse */
292
+ &nbsp;
260
293
  const requestRevocationOnBoarding = async (params) =&gt; {
261
294
  try {
262
295
  const response = await httpRequest(
263
- "services/api/certificate/revocation",
296
+ "services/api/onboardingclient/requestcert",
264
297
  params,
265
298
  "POST"
266
299
  );
@@ -281,6 +314,13 @@ const requestRevocationOnPremise = <span class="fstat-no" title="function not co
281
314
  );
282
315
  };
283
316
  &nbsp;
317
+ /**
318
+ * Solicita la revocación de un certificado.
319
+ * @param {object} params - Parámetros para la solicitud.
320
+ * @param {number} params.reasonCode - El código de la razón de la revocación.
321
+ * @returns {Promise&lt;RequestRevocationResponse&gt;} Una promesa que resuelve con la confirmación de la solicitud.
322
+ * @throws {Error} Si los parámetros son inválidos.
323
+ */
284
324
  export const requestRevocation = async (params) =&gt; {
285
325
  if (!params || typeof params.reasonCode !== "number") {
286
326
  throw new Error(
@@ -306,14 +346,14 @@ export const requestRevocation = async (params) =&gt; {
306
346
  const getRevocationReasonsOnBoarding = async () =&gt; {
307
347
  try {
308
348
  const response = await httpRequest(
309
- "services/api/certificate/revocation-reasons",
349
+ "config/api/revocation/reasonsonboarding",
310
350
  {},
311
351
  "GET"
312
352
  );
313
353
  if (!response || !response.records) {
314
354
  throw new ApacuanaAPIError("Failed to fetch revocation reasons.");
315
355
  }
316
- return new ApacuanaSuccess(response.records);
356
+ return new ApacuanaSuccess({ reasons: response.records });
317
357
  } catch (error) {
318
358
  if (error instanceof ApacuanaAPIError) {
319
359
  throw error;
@@ -330,6 +370,11 @@ const getRevocationReasonsOnPremise = async () =&gt; {
330
370
  );
331
371
  };
332
372
  &nbsp;
373
+ /**
374
+ * Obtiene la lista de razones de revocación de certificados.
375
+ * @returns {Promise&lt;GetRevocationReasonsResponse&gt;} Una promesa que resuelve con la lista de razones de revocación.
376
+ * @throws {ApacuanaAPIError} Si la llamada a la API falla o el tipo de integración no es soportado.
377
+ */
333
378
  export const getRevocationReasons = async () =&gt; {
334
379
  const { integrationType } = getConfig();
335
380
  &nbsp;
@@ -352,7 +397,7 @@ export const getRevocationReasons = async () =&gt; {
352
397
  <div class='footer quiet pad2 space-top1 center small'>
353
398
  Code coverage generated by
354
399
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
355
- at 2025-09-11T22:20:22.994Z
400
+ at 2025-09-19T18:21:42.426Z
356
401
  </div>
357
402
  <script src="../../prettify.js"></script>
358
403
  <script>
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">85.5% </span>
26
+ <span class="strong">85.4% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>118/138</span>
28
+ <span class='fraction'>117/137</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>22/22</span>
42
+ <span class='fraction'>21/21</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">85.5% </span>
47
+ <span class="strong">85.4% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>118/138</span>
49
+ <span class='fraction'>117/137</span>
50
50
  </div>
51
51
 
52
52
 
@@ -508,20 +508,7 @@
508
508
  <a name='L443'></a><a href='#L443'>443</a>
509
509
  <a name='L444'></a><a href='#L444'>444</a>
510
510
  <a name='L445'></a><a href='#L445'>445</a>
511
- <a name='L446'></a><a href='#L446'>446</a>
512
- <a name='L447'></a><a href='#L447'>447</a>
513
- <a name='L448'></a><a href='#L448'>448</a>
514
- <a name='L449'></a><a href='#L449'>449</a>
515
- <a name='L450'></a><a href='#L450'>450</a>
516
- <a name='L451'></a><a href='#L451'>451</a>
517
- <a name='L452'></a><a href='#L452'>452</a>
518
- <a name='L453'></a><a href='#L453'>453</a>
519
- <a name='L454'></a><a href='#L454'>454</a>
520
- <a name='L455'></a><a href='#L455'>455</a>
521
- <a name='L456'></a><a href='#L456'>456</a>
522
- <a name='L457'></a><a href='#L457'>457</a>
523
- <a name='L458'></a><a href='#L458'>458</a>
524
- <a name='L459'></a><a href='#L459'>459</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
511
+ <a name='L446'></a><a href='#L446'>446</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
525
512
  <span class="cline-any cline-neutral">&nbsp;</span>
526
513
  <span class="cline-any cline-neutral">&nbsp;</span>
527
514
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -546,21 +533,9 @@
546
533
  <span class="cline-any cline-neutral">&nbsp;</span>
547
534
  <span class="cline-any cline-yes">2x</span>
548
535
  <span class="cline-any cline-yes">1x</span>
549
- <span class="cline-any cline-yes">1x</span>
550
- <span class="cline-any cline-yes">1x</span>
551
- <span class="cline-any cline-yes">1x</span>
552
536
  <span class="cline-any cline-neutral">&nbsp;</span>
553
537
  <span class="cline-any cline-yes">1x</span>
554
- <span class="cline-any cline-neutral">&nbsp;</span>
555
- <span class="cline-any cline-neutral">&nbsp;</span>
556
- <span class="cline-any cline-neutral">&nbsp;</span>
557
- <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-neutral">&nbsp;</span>
559
- <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-neutral">&nbsp;</span>
562
- <span class="cline-any cline-neutral">&nbsp;</span>
563
- <span class="cline-any cline-neutral">&nbsp;</span>
538
+ <span class="cline-any cline-yes">1x</span>
564
539
  <span class="cline-any cline-yes">1x</span>
565
540
  <span class="cline-any cline-neutral">&nbsp;</span>
566
541
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -588,8 +563,7 @@
588
563
  <span class="cline-any cline-yes">2x</span>
589
564
  <span class="cline-any cline-yes">2x</span>
590
565
  <span class="cline-any cline-yes">2x</span>
591
- <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
566
+ <span class="cline-any cline-yes">2x</span>
593
567
  <span class="cline-any cline-neutral">&nbsp;</span>
594
568
  <span class="cline-any cline-neutral">&nbsp;</span>
595
569
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1003,25 +977,13 @@ import { INTEGRATION_TYPE } from "../utils/constant";
1003
977
  // =================================================================
1004
978
  &nbsp;
1005
979
  const signDocumentOnBoarding = async (signData) =&gt; {
1006
- helpers.validateOnBoardingSignDocumentData(signData);
1007
- const { signature, cert, signedDigest } = signData;
1008
- try {
1009
- const signBody = {
1010
- positions: JSON.stringify(
1011
- signature.positions.map((p) =&gt; ({
1012
- x: p.x,
1013
- y: p.y,
1014
- page: p.page,
1015
- status: 1,
1016
- }))
1017
- ),
1018
- publickey: cert,
1019
- signeddigest: signedDigest,
1020
- };
980
+ const payload = helpers.validateOnBoardingSignDocumentData(signData);
1021
981
  &nbsp;
982
+ const { signature } = signData;
983
+ try {
1022
984
  const response = await httpRequest(
1023
985
  `services/api/documents/sign/${signature.id}`,
1024
- signBody,
986
+ payload,
1025
987
  "PUT"
1026
988
  );
1027
989
  return new ApacuanaSuccess(response);
@@ -1045,11 +1007,10 @@ const signDocumentOnPremise = async () =&gt; {
1045
1007
  &nbsp;
1046
1008
  const getDigestToSignOnBoarding = async (signData) =&gt; {
1047
1009
  try {
1010
+ const formData = helpers.createPayloadGetDigest(signData);
1048
1011
  const response = await httpRequest(
1049
1012
  `services/api/documents/getdigest/${signData.signatureId}`,
1050
- {
1051
- publickey: signData.cert,
1052
- },
1013
+ formData,
1053
1014
  "POST"
1054
1015
  );
1055
1016
  const digest = response.data?.digest || response.digest;
@@ -1081,9 +1042,9 @@ const getDigestToSignOnPremise = async () =&gt; {
1081
1042
  };
1082
1043
  &nbsp;
1083
1044
  const addSignerOnBoarding = async (signerData) =&gt; {
1084
- helpers.validateOnBoardingSignerData(signerData);
1045
+ const payload = helpers.validateOnBoardingSignerData(signerData);
1085
1046
  try {
1086
- await httpRequest("services/api/documents/signing", signerData, "POST");
1047
+ await httpRequest("services/api/documents/signingsdk", payload, "POST");
1087
1048
  return new ApacuanaSuccess({
1088
1049
  signer: signerData.typedoc + signerData.doc,
1089
1050
  });
@@ -1444,7 +1405,7 @@ export const deleteSignatureVariant = async () =&gt; {
1444
1405
  <div class='footer quiet pad2 space-top1 center small'>
1445
1406
  Code coverage generated by
1446
1407
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1447
- at 2025-09-11T22:20:22.994Z
1408
+ at 2025-09-19T18:21:42.426Z
1448
1409
  </div>
1449
1410
  <script src="../../prettify.js"></script>
1450
1411
  <script>
@@ -130,7 +130,17 @@
130
130
  <a name='L65'></a><a href='#L65'>65</a>
131
131
  <a name='L66'></a><a href='#L66'>66</a>
132
132
  <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-neutral">&nbsp;</span>
141
+ <span class="cline-any cline-neutral">&nbsp;</span>
142
+ <span class="cline-any cline-neutral">&nbsp;</span>
143
+ <span class="cline-any cline-neutral">&nbsp;</span>
134
144
  <span class="cline-any cline-neutral">&nbsp;</span>
135
145
  <span class="cline-any cline-neutral">&nbsp;</span>
136
146
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -203,10 +213,15 @@ import { getConfig } from "../config/index";
203
213
  import ApacuanaSuccess from "../success";
204
214
  &nbsp;
205
215
  /**
206
- * @typedef {object} GetCustomerResponse
216
+ * @typedef {object} GetCustomerData
207
217
  * @property {string} token - El token de sesión del usuario.
208
218
  * @property {object} userData - Los datos del usuario obtenidos.
209
- * @property {boolean} success - Indica si la operación fue exitosa.
219
+ */
220
+ &nbsp;
221
+ /**
222
+ * @typedef {object} GetCustomerResponse
223
+ * @property {true} success - Indica que la operación fue exitosa.
224
+ * @property {GetCustomerData} data - El payload de la respuesta.
210
225
  */
211
226
  &nbsp;
212
227
  /**
@@ -214,7 +229,7 @@ import ApacuanaSuccess from "../success";
214
229
  * Este método es útil para endpoints que requieren datos en el cuerpo de la petición
215
230
  * para buscar un usuario, como un ID de sesión o un token de acceso.
216
231
  *
217
- * @returns {Promise&lt;GetCustomerResponse&gt;} Objeto con el token de sesión, los datos del usuario y un indicador de éxito.
232
+ * @returns {Promise&lt;GetCustomerResponse&gt;} Una promesa que resuelve a un objeto con la respuesta exitosa.
218
233
  * @throws {Error} Si los parámetros de entrada son inválidos.
219
234
  * @throws {ApacuanaAPIError} Si ocurre un error en la API de Apacuana.
220
235
  */
@@ -271,7 +286,7 @@ export default getCustomer;
271
286
  <div class='footer quiet pad2 space-top1 center small'>
272
287
  Code coverage generated by
273
288
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
274
- at 2025-09-11T22:20:22.994Z
289
+ at 2025-09-19T18:21:42.426Z
275
290
  </div>
276
291
  <script src="../../prettify.js"></script>
277
292
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-09-11T22:20:22.994Z
104
+ at 2025-09-19T18:21:42.426Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>