intifact 1.0.0 → 1.1.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.
package/dist/index.d.ts CHANGED
@@ -1,50 +1,37 @@
1
+ import { type ClientOptions } from "openapi-fetch";
1
2
  import type { paths } from "./types.js";
2
- export type { paths };
3
- export interface IntifactOptions {
4
- /** URL base de la API (default: https://api.intifact.com) */
5
- baseUrl?: string;
6
- /** Tu API key de Intifact */
7
- apiKey: string;
3
+ export type { paths, components } from "./types.js";
4
+ /** Body de POST /api/v1/invoice/send */
5
+ export type SendInvoiceInput = paths["/api/v1/invoice/send"]["post"]["requestBody"]["content"]["application/json"];
6
+ /** Body de POST /api/v1/note/send */
7
+ export type SendNoteInput = paths["/api/v1/note/send"]["post"]["requestBody"]["content"]["application/json"];
8
+ /** Body de POST /api/v1/despatch/send */
9
+ export type SendDespatchInput = paths["/api/v1/despatch/send"]["post"]["requestBody"]["content"]["application/json"];
10
+ /** Respuesta 202 de cualquier /send (documento encolado) */
11
+ export type EnqueueResponse = paths["/api/v1/invoice/send"]["post"]["responses"]["202"]["content"]["application/json"];
12
+ /** Respuesta de GET /api/v1/queues/stats */
13
+ export type QueueStats = paths["/api/v1/queues/stats"]["get"]["responses"]["200"]["content"]["application/json"];
14
+ export interface FacturacionClientOptions extends ClientOptions {
15
+ /** Base URL de la API (ej: http://localhost:3000) */
16
+ baseUrl: string;
17
+ /** Token de autenticación (Bearer) — opcional por ahora */
18
+ apiKey?: string;
8
19
  }
9
- export declare class Intifact {
10
- private client;
11
- constructor(opts: IntifactOptions);
12
- /** Verificar que la API está disponible */
13
- health(): Promise<import("openapi-fetch").FetchResponse<{
14
- parameters: {
15
- query?: never;
16
- header?: never;
17
- path?: never;
18
- cookie?: never;
19
- };
20
- requestBody?: never;
21
- responses: {
22
- 200: {
23
- headers: {
24
- [name: string]: unknown;
25
- };
26
- content?: never;
27
- };
28
- };
29
- }, import("openapi-fetch").FetchOptions<{
30
- parameters: {
31
- query?: never;
32
- header?: never;
33
- path?: never;
34
- cookie?: never;
35
- };
36
- requestBody?: never;
37
- responses: {
38
- 200: {
39
- headers: {
40
- [name: string]: unknown;
41
- };
42
- content?: never;
43
- };
44
- };
45
- }> | undefined, `${string}/${string}`>>;
46
- /** Enviar una factura (01) o boleta (03) a SUNAT */
47
- sendInvoice(body: paths["/api/v1/invoice/send"]["post"]["requestBody"]["content"]["application/json"]): Promise<import("openapi-fetch").FetchResponse<{
20
+ /**
21
+ * Cliente para la API de Facturación Electrónica SUNAT.
22
+ *
23
+ * @example
24
+ * ```ts
25
+ * const fact = new FacturacionClient({ baseUrl: "http://localhost:3000" });
26
+ * const { data, error } = await fact.sendInvoice({ ...payload });
27
+ * if (data) console.log("encolado:", data.data.id);
28
+ * ```
29
+ */
30
+ export declare class FacturacionClient {
31
+ private readonly api;
32
+ constructor(opts: FacturacionClientOptions);
33
+ /** Envía factura o boleta. Encolada para procesamiento asíncrono. */
34
+ sendInvoice(body: SendInvoiceInput): Promise<import("openapi-fetch").FetchResponse<{
48
35
  parameters: {
49
36
  query?: never;
50
37
  header?: never;
@@ -75,11 +62,14 @@ export declare class Intifact {
75
62
  valorVenta: number;
76
63
  subTotal: number;
77
64
  montoImpVenta: number;
65
+ descuentoGlobal?: number;
66
+ descuentoGlobalBase?: number;
78
67
  detalle: {
79
68
  unidad: string;
80
69
  cantidad: number;
81
70
  codProducto: string;
82
71
  descripcion: string;
72
+ marca?: string;
83
73
  montoValorUnitario: number;
84
74
  montoBaseIgv: number;
85
75
  porcentajeIgv?: number;
@@ -88,6 +78,8 @@ export declare class Intifact {
88
78
  totalImpuestos: number;
89
79
  montoPrecioUnitario: number;
90
80
  montoValorVenta: number;
81
+ descuento?: number;
82
+ descuentoItem?: number;
91
83
  factorIcbper?: number;
92
84
  codProdSunat?: string;
93
85
  }[];
@@ -101,6 +93,13 @@ export declare class Intifact {
101
93
  legendCode: string;
102
94
  legendValue: string;
103
95
  }[];
96
+ detraccion?: {
97
+ codBienServicio: string;
98
+ cuentaBanco: string;
99
+ porcentaje: number;
100
+ monto: number;
101
+ medioPago?: string;
102
+ };
104
103
  };
105
104
  };
106
105
  };
@@ -157,201 +156,70 @@ export declare class Intifact {
157
156
  };
158
157
  };
159
158
  }, {
160
- body: never;
161
- }, `${string}/${string}`>>;
162
- /** Obtener el PDF de una factura/boleta */
163
- getInvoicePdf(id: string): Promise<import("openapi-fetch").FetchResponse<{
164
- parameters: {
165
- query?: {
166
- format?: "a4" | "ticket" | "ticket80" | "ticket58";
167
- };
168
- header?: never;
169
- path: {
170
- id: string;
171
- };
172
- cookie?: never;
173
- };
174
- requestBody?: never;
175
- responses: {
176
- 200: {
177
- headers: {
178
- [name: string]: unknown;
179
- };
180
- content?: never;
181
- };
182
- };
183
- }, {
184
- params: {
185
- path: {
186
- id: string;
187
- };
188
- };
189
- }, `${string}/${string}`>>;
190
- /** Obtener el XML firmado de una factura/boleta */
191
- getInvoiceXml(id: string): Promise<import("openapi-fetch").FetchResponse<{
192
- parameters: {
193
- query?: never;
194
- header?: never;
195
- path: {
196
- id: string;
197
- };
198
- cookie?: never;
199
- };
200
- requestBody?: never;
201
- responses: {
202
- 200: {
203
- headers: {
204
- [name: string]: unknown;
205
- };
206
- content?: never;
207
- };
208
- };
209
- }, {
210
- params: {
211
- path: {
212
- id: string;
213
- };
214
- };
215
- }, `${string}/${string}`>>;
216
- /** Obtener el CDR (constancia de recepción) de SUNAT */
217
- getInvoiceCdr(id: string): Promise<import("openapi-fetch").FetchResponse<{
218
- parameters: {
219
- query?: never;
220
- header?: never;
221
- path: {
222
- id: string;
223
- };
224
- cookie?: never;
225
- };
226
- requestBody?: never;
227
- responses: {
228
- 200: {
229
- headers: {
230
- [name: string]: unknown;
231
- };
232
- content?: never;
233
- };
234
- };
235
- }, {
236
- params: {
237
- path: {
238
- id: string;
239
- };
240
- };
241
- }, `${string}/${string}`>>;
242
- /** Comunicar de baja una factura */
243
- cancelInvoice(body: unknown): Promise<import("openapi-fetch").FetchResponse<{
244
- parameters: {
245
- query?: never;
246
- header?: never;
247
- path?: never;
248
- cookie?: never;
249
- };
250
- requestBody: {
251
- content: {
252
- "application/json": {
253
- empresaRuc: string;
254
- tipoDoc: "01" | "07" | "08";
255
- serie: string;
256
- correlativo: string;
257
- motivoBaja: string;
258
- raCorrelativo?: string;
259
- };
260
- };
261
- };
262
- responses: {
263
- 200: {
264
- headers: {
265
- [name: string]: unknown;
266
- };
267
- content: {
268
- "application/json": {
269
- success: boolean;
270
- message: string;
271
- data?: {
272
- ticket?: string;
273
- hash?: string | null;
274
- };
275
- };
276
- };
277
- };
278
- 400: {
279
- headers: {
280
- [name: string]: unknown;
281
- };
282
- content: {
283
- "application/json": {
284
- success: false;
285
- message: string;
286
- code?: string;
287
- errors?: {
288
- path: string;
289
- message: string;
290
- }[];
291
- };
292
- };
293
- };
294
- };
295
- }, {
296
- body: never;
297
- }, `${string}/${string}`>>;
298
- /** Comunicar de baja una boleta (resumen de bajas) */
299
- cancelBoleta(body: unknown): Promise<import("openapi-fetch").FetchResponse<{
300
- parameters: {
301
- query?: never;
302
- header?: never;
303
- path?: never;
304
- cookie?: never;
305
- };
306
- requestBody: {
307
- content: {
308
- "application/json": {
309
- empresaRuc: string;
310
- serie: string;
311
- correlativo: string;
312
- motivoBaja: string;
313
- rcCorrelativo?: string;
314
- };
315
- };
316
- };
317
- responses: {
318
- 200: {
319
- headers: {
320
- [name: string]: unknown;
321
- };
322
- content: {
323
- "application/json": {
324
- success: boolean;
325
- message: string;
326
- data?: {
327
- ticket?: string;
328
- hash?: string | null;
329
- };
330
- };
331
- };
332
- };
333
- 400: {
334
- headers: {
335
- [name: string]: unknown;
336
- };
337
- content: {
338
- "application/json": {
339
- success: false;
340
- message: string;
341
- code?: string;
342
- errors?: {
343
- path: string;
344
- message: string;
345
- }[];
346
- };
347
- };
159
+ body: {
160
+ tipoOperacion?: string;
161
+ tipoDoc: "01" | "03";
162
+ serie: string;
163
+ correlativo: string;
164
+ tipoMoneda?: string;
165
+ fechaEmision: string;
166
+ empresaRuc: string;
167
+ establecimientoCodigo?: string;
168
+ clienteTipoDoc: string;
169
+ clienteNumDoc: string;
170
+ clienteRazonSocial: string;
171
+ clienteDireccion?: string;
172
+ montoOperGravadas?: number;
173
+ montoOperExoneradas?: number;
174
+ montoOperInafectas?: number;
175
+ montoOperGratuitas?: number;
176
+ montoIgv: number;
177
+ totalImpuestos: number;
178
+ valorVenta: number;
179
+ subTotal: number;
180
+ montoImpVenta: number;
181
+ descuentoGlobal?: number;
182
+ descuentoGlobalBase?: number;
183
+ detalle: {
184
+ unidad: string;
185
+ cantidad: number;
186
+ codProducto: string;
187
+ descripcion: string;
188
+ marca?: string;
189
+ montoValorUnitario: number;
190
+ montoBaseIgv: number;
191
+ porcentajeIgv?: number;
192
+ igv: number;
193
+ tipAfeIgv?: string;
194
+ totalImpuestos: number;
195
+ montoPrecioUnitario: number;
196
+ montoValorVenta: number;
197
+ descuento?: number;
198
+ descuentoItem?: number;
199
+ factorIcbper?: number;
200
+ codProdSunat?: string;
201
+ }[];
202
+ formaPago: {
203
+ tipo: "Contado" | "Credito";
204
+ monto: number;
205
+ cuota?: number;
206
+ fechaPago: string;
207
+ }[];
208
+ leyendas: {
209
+ legendCode: string;
210
+ legendValue: string;
211
+ }[];
212
+ detraccion?: {
213
+ codBienServicio: string;
214
+ cuentaBanco: string;
215
+ porcentaje: number;
216
+ monto: number;
217
+ medioPago?: string;
348
218
  };
349
219
  };
350
- }, {
351
- body: never;
352
220
  }, `${string}/${string}`>>;
353
- /** Enviar una nota de crédito o débito */
354
- sendNote(body: unknown): Promise<import("openapi-fetch").FetchResponse<{
221
+ /** Envía nota de crédito (07) o débito (08). */
222
+ sendNote(body: SendNoteInput): Promise<import("openapi-fetch").FetchResponse<{
355
223
  parameters: {
356
224
  query?: never;
357
225
  header?: never;
@@ -385,11 +253,14 @@ export declare class Intifact {
385
253
  valorVenta: number;
386
254
  subTotal: number;
387
255
  montoImpVenta: number;
256
+ descuentoGlobal?: number;
257
+ descuentoGlobalBase?: number;
388
258
  detalle: {
389
259
  unidad: string;
390
260
  cantidad: number;
391
261
  codProducto: string;
392
262
  descripcion: string;
263
+ marca?: string;
393
264
  montoValorUnitario: number;
394
265
  montoBaseIgv: number;
395
266
  porcentajeIgv?: number;
@@ -398,6 +269,8 @@ export declare class Intifact {
398
269
  totalImpuestos: number;
399
270
  montoPrecioUnitario: number;
400
271
  montoValorVenta: number;
272
+ descuento?: number;
273
+ descuentoItem?: number;
401
274
  factorIcbper?: number;
402
275
  codProdSunat?: string;
403
276
  }[];
@@ -462,62 +335,61 @@ export declare class Intifact {
462
335
  };
463
336
  };
464
337
  }, {
465
- body: never;
466
- }, `${string}/${string}`>>;
467
- /** Obtener el PDF de una nota */
468
- getNotePdf(id: string): Promise<import("openapi-fetch").FetchResponse<{
469
- parameters: {
470
- query?: never;
471
- header?: never;
472
- path: {
473
- id: string;
474
- };
475
- cookie?: never;
476
- };
477
- requestBody?: never;
478
- responses: {
479
- 200: {
480
- headers: {
481
- [name: string]: unknown;
482
- };
483
- content?: never;
484
- };
485
- };
486
- }, {
487
- params: {
488
- path: {
489
- id: string;
490
- };
491
- };
492
- }, `${string}/${string}`>>;
493
- /** Obtener el XML firmado de una nota */
494
- getNoteXml(id: string): Promise<import("openapi-fetch").FetchResponse<{
495
- parameters: {
496
- query?: never;
497
- header?: never;
498
- path: {
499
- id: string;
500
- };
501
- cookie?: never;
502
- };
503
- requestBody?: never;
504
- responses: {
505
- 200: {
506
- headers: {
507
- [name: string]: unknown;
508
- };
509
- content?: never;
510
- };
511
- };
512
- }, {
513
- params: {
514
- path: {
515
- id: string;
516
- };
338
+ body: {
339
+ tipoOperacion?: string;
340
+ tipoDoc: "07" | "08";
341
+ serie: string;
342
+ correlativo: string;
343
+ tipoMoneda?: string;
344
+ fechaEmision: string;
345
+ empresaRuc: string;
346
+ establecimientoCodigo?: string;
347
+ clienteTipoDoc: string;
348
+ clienteNumDoc: string;
349
+ clienteRazonSocial: string;
350
+ clienteDireccion?: string;
351
+ afectadoTipoDoc: "01" | "03";
352
+ afectadoNumDoc: string;
353
+ motivoCod: string;
354
+ motivoDes: string;
355
+ montoOperGravadas?: number;
356
+ montoOperExoneradas?: number;
357
+ montoOperInafectas?: number;
358
+ montoIgv: number;
359
+ totalImpuestos: number;
360
+ valorVenta: number;
361
+ subTotal: number;
362
+ montoImpVenta: number;
363
+ descuentoGlobal?: number;
364
+ descuentoGlobalBase?: number;
365
+ detalle: {
366
+ unidad: string;
367
+ cantidad: number;
368
+ codProducto: string;
369
+ descripcion: string;
370
+ marca?: string;
371
+ montoValorUnitario: number;
372
+ montoBaseIgv: number;
373
+ porcentajeIgv?: number;
374
+ igv: number;
375
+ tipAfeIgv?: string;
376
+ totalImpuestos: number;
377
+ montoPrecioUnitario: number;
378
+ montoValorVenta: number;
379
+ descuento?: number;
380
+ descuentoItem?: number;
381
+ factorIcbper?: number;
382
+ codProdSunat?: string;
383
+ }[];
384
+ leyendas: {
385
+ legendCode: string;
386
+ legendValue: string;
387
+ }[];
388
+ observacion?: string;
517
389
  };
518
390
  }, `${string}/${string}`>>;
519
- /** Enviar una guía de remisión */
520
- sendDespatch(body: unknown): Promise<import("openapi-fetch").FetchResponse<{
391
+ /** Envía guía de remisión (GRE REST). */
392
+ sendDespatch(body: SendDespatchInput): Promise<import("openapi-fetch").FetchResponse<{
521
393
  parameters: {
522
394
  query?: never;
523
395
  header?: never;
@@ -538,6 +410,10 @@ export declare class Intifact {
538
410
  clienteNumDoc: string;
539
411
  clienteRazonSocial: string;
540
412
  clienteDireccion?: string;
413
+ destinatarioContacto?: string;
414
+ destinatarioTelefono?: string;
415
+ destinatarioEmail?: string;
416
+ entregaReferencia?: string;
541
417
  guiaCodTraslado: string;
542
418
  guiaModTraslado: "01" | "02";
543
419
  guiaPesoTotal: number;
@@ -547,6 +423,7 @@ export declare class Intifact {
547
423
  transportistaTipoDoc?: string;
548
424
  transportistaNumDoc?: string;
549
425
  transportistaRazonSocial?: string;
426
+ transportistaNroMtc?: string;
550
427
  guiaPartidaUbigeo: string;
551
428
  guiaPartidaDireccion: string;
552
429
  guiaLlegadaUbigeo: string;
@@ -559,6 +436,64 @@ export declare class Intifact {
559
436
  nombres: string;
560
437
  apellidos: string;
561
438
  }[];
439
+ guiaFecEntrega?: string;
440
+ guiaDesTraslado?: string;
441
+ guiaPesoNeto?: number;
442
+ guiaSustentoPeso?: string;
443
+ guiaNumBultos?: number;
444
+ indicadores?: {
445
+ transbordoProgramado?: boolean;
446
+ vehiculoM1L?: boolean;
447
+ retornoVehiculoEnvaseVacio?: boolean;
448
+ retornoVehiculoVacio?: boolean;
449
+ trasladoTotalDamDs?: boolean;
450
+ registroTransportista?: boolean;
451
+ trasladoContenedorManifiesto?: boolean;
452
+ };
453
+ contenedores?: {
454
+ numero: string;
455
+ precinto?: string;
456
+ }[];
457
+ guiaVehiculoTuc?: string;
458
+ guiaVehiculoAutorizacion?: string;
459
+ guiaVehiculoAutorizacionEntidad?: string;
460
+ vehiculosSecundarios?: {
461
+ placa: string;
462
+ tuc?: string;
463
+ autorizacion?: string;
464
+ autorizacionEntidad?: string;
465
+ }[];
466
+ transportistaAutorizacion?: string;
467
+ transportistaAutorizacionEntidad?: string;
468
+ guiaPartidaRuc?: string;
469
+ guiaPartidaCodLocal?: string;
470
+ guiaPartidaGeo?: {
471
+ lat: string;
472
+ lon: string;
473
+ };
474
+ guiaLlegadaRuc?: string;
475
+ guiaLlegadaCodLocal?: string;
476
+ guiaLlegadaGeo?: {
477
+ lat: string;
478
+ lon: string;
479
+ };
480
+ documentosRelacionados?: {
481
+ codTipo: string;
482
+ numero: string;
483
+ tipoDesc?: string;
484
+ emisorRuc?: string;
485
+ }[];
486
+ remitenteAutorizacion?: string;
487
+ remitenteAutorizacionEntidad?: string;
488
+ proveedorTipoDoc?: string;
489
+ proveedorNumDoc?: string;
490
+ proveedorRazonSocial?: string;
491
+ compradorTipoDoc?: string;
492
+ compradorNumDoc?: string;
493
+ compradorRazonSocial?: string;
494
+ puertoCodigo?: string;
495
+ puertoNombre?: string;
496
+ puertoTipo?: string;
562
497
  detalle: {
563
498
  unidad: string;
564
499
  cantidad: number;
@@ -621,10 +556,186 @@ export declare class Intifact {
621
556
  };
622
557
  };
623
558
  }, {
624
- body: never;
559
+ body: {
560
+ tipoDoc: "09";
561
+ serie: string;
562
+ correlativo: string;
563
+ observacion?: string;
564
+ fechaEmision: string;
565
+ empresaRuc: string;
566
+ establecimientoCodigo?: string;
567
+ clienteTipoDoc: string;
568
+ clienteNumDoc: string;
569
+ clienteRazonSocial: string;
570
+ clienteDireccion?: string;
571
+ destinatarioContacto?: string;
572
+ destinatarioTelefono?: string;
573
+ destinatarioEmail?: string;
574
+ entregaReferencia?: string;
575
+ guiaCodTraslado: string;
576
+ guiaModTraslado: "01" | "02";
577
+ guiaPesoTotal: number;
578
+ guiaUndPesoTotal?: string;
579
+ guiaFecTraslado: string;
580
+ guiaVehiculoPlaca?: string;
581
+ transportistaTipoDoc?: string;
582
+ transportistaNumDoc?: string;
583
+ transportistaRazonSocial?: string;
584
+ transportistaNroMtc?: string;
585
+ guiaPartidaUbigeo: string;
586
+ guiaPartidaDireccion: string;
587
+ guiaLlegadaUbigeo: string;
588
+ guiaLlegadaDireccion: string;
589
+ chofer?: {
590
+ tipo: "Principal" | "Secundario";
591
+ tipoDoc: string;
592
+ nroDoc: string;
593
+ licencia: string;
594
+ nombres: string;
595
+ apellidos: string;
596
+ }[];
597
+ guiaFecEntrega?: string;
598
+ guiaDesTraslado?: string;
599
+ guiaPesoNeto?: number;
600
+ guiaSustentoPeso?: string;
601
+ guiaNumBultos?: number;
602
+ indicadores?: {
603
+ transbordoProgramado?: boolean;
604
+ vehiculoM1L?: boolean;
605
+ retornoVehiculoEnvaseVacio?: boolean;
606
+ retornoVehiculoVacio?: boolean;
607
+ trasladoTotalDamDs?: boolean;
608
+ registroTransportista?: boolean;
609
+ trasladoContenedorManifiesto?: boolean;
610
+ };
611
+ contenedores?: {
612
+ numero: string;
613
+ precinto?: string;
614
+ }[];
615
+ guiaVehiculoTuc?: string;
616
+ guiaVehiculoAutorizacion?: string;
617
+ guiaVehiculoAutorizacionEntidad?: string;
618
+ vehiculosSecundarios?: {
619
+ placa: string;
620
+ tuc?: string;
621
+ autorizacion?: string;
622
+ autorizacionEntidad?: string;
623
+ }[];
624
+ transportistaAutorizacion?: string;
625
+ transportistaAutorizacionEntidad?: string;
626
+ guiaPartidaRuc?: string;
627
+ guiaPartidaCodLocal?: string;
628
+ guiaPartidaGeo?: {
629
+ lat: string;
630
+ lon: string;
631
+ };
632
+ guiaLlegadaRuc?: string;
633
+ guiaLlegadaCodLocal?: string;
634
+ guiaLlegadaGeo?: {
635
+ lat: string;
636
+ lon: string;
637
+ };
638
+ documentosRelacionados?: {
639
+ codTipo: string;
640
+ numero: string;
641
+ tipoDesc?: string;
642
+ emisorRuc?: string;
643
+ }[];
644
+ remitenteAutorizacion?: string;
645
+ remitenteAutorizacionEntidad?: string;
646
+ proveedorTipoDoc?: string;
647
+ proveedorNumDoc?: string;
648
+ proveedorRazonSocial?: string;
649
+ compradorTipoDoc?: string;
650
+ compradorNumDoc?: string;
651
+ compradorRazonSocial?: string;
652
+ puertoCodigo?: string;
653
+ puertoNombre?: string;
654
+ puertoTipo?: string;
655
+ detalle: {
656
+ unidad: string;
657
+ cantidad: number;
658
+ codProducto: string;
659
+ descripcion: string;
660
+ }[];
661
+ };
662
+ }, `${string}/${string}`>>;
663
+ /** Lista documentos con filtros y paginación. */
664
+ listDocuments(query?: paths["/api/v1/documents"]["get"]["parameters"]["query"]): Promise<import("openapi-fetch").FetchResponse<{
665
+ parameters: {
666
+ query?: {
667
+ ruc?: string;
668
+ tipoDoc?: string;
669
+ serie?: string;
670
+ estado?: string;
671
+ env?: "live" | "test";
672
+ fechaDesde?: string;
673
+ fechaHasta?: string;
674
+ clienteNumDoc?: string;
675
+ page?: number;
676
+ limit?: number;
677
+ };
678
+ header?: never;
679
+ path?: never;
680
+ cookie?: never;
681
+ };
682
+ requestBody?: never;
683
+ responses: {
684
+ 200: {
685
+ headers: {
686
+ [name: string]: unknown;
687
+ };
688
+ content: {
689
+ "application/json": {
690
+ success: boolean;
691
+ data: {
692
+ id: string;
693
+ env: "live" | "test";
694
+ tipoDoc: string;
695
+ serie: string;
696
+ correlativo: string;
697
+ fechaEmision: string;
698
+ tipoMoneda: string;
699
+ clienteNumDoc: string;
700
+ clienteRazonSocial: string;
701
+ montoImpVenta: string;
702
+ estadoSunat: string;
703
+ codigoRespuesta: string | null;
704
+ hashCdr: string | null;
705
+ createdAt: string;
706
+ company: {
707
+ ruc: string;
708
+ razonSocial: string;
709
+ };
710
+ }[];
711
+ pagination: {
712
+ page: number;
713
+ limit: number;
714
+ total: number;
715
+ totalPages: number;
716
+ };
717
+ };
718
+ };
719
+ };
720
+ };
721
+ }, {
722
+ params: {
723
+ query: {
724
+ ruc?: string;
725
+ tipoDoc?: string;
726
+ serie?: string;
727
+ estado?: string;
728
+ env?: "live" | "test";
729
+ fechaDesde?: string;
730
+ fechaHasta?: string;
731
+ clienteNumDoc?: string;
732
+ page?: number;
733
+ limit?: number;
734
+ } | undefined;
735
+ };
625
736
  }, `${string}/${string}`>>;
626
- /** Obtener el XML de una guía */
627
- getDespatchXml(id: string): Promise<import("openapi-fetch").FetchResponse<{
737
+ /** Detalle de un documento por ID. */
738
+ getDocument(id: string): Promise<import("openapi-fetch").FetchResponse<{
628
739
  parameters: {
629
740
  query?: never;
630
741
  header?: never;
@@ -649,8 +760,8 @@ export declare class Intifact {
649
760
  };
650
761
  };
651
762
  }, `${string}/${string}`>>;
652
- /** Obtener el PDF de una guía */
653
- getDespatchPdf(id: string): Promise<import("openapi-fetch").FetchResponse<{
763
+ /** Re-encola un documento fallido (COLA_FALLIDA). */
764
+ retryDocument(id: string): Promise<import("openapi-fetch").FetchResponse<{
654
765
  parameters: {
655
766
  query?: never;
656
767
  header?: never;
@@ -661,11 +772,33 @@ export declare class Intifact {
661
772
  };
662
773
  requestBody?: never;
663
774
  responses: {
664
- 200: {
775
+ 202: {
665
776
  headers: {
666
777
  [name: string]: unknown;
667
778
  };
668
- content?: never;
779
+ content: {
780
+ "application/json": {
781
+ success: boolean;
782
+ message: string;
783
+ jobId?: string;
784
+ };
785
+ };
786
+ };
787
+ 400: {
788
+ headers: {
789
+ [name: string]: unknown;
790
+ };
791
+ content: {
792
+ "application/json": {
793
+ success: false;
794
+ message: string;
795
+ code?: string;
796
+ errors?: {
797
+ path: string;
798
+ message: string;
799
+ }[];
800
+ };
801
+ };
669
802
  };
670
803
  };
671
804
  }, {
@@ -675,8 +808,13 @@ export declare class Intifact {
675
808
  };
676
809
  };
677
810
  }, `${string}/${string}`>>;
678
- /** Enviar un resumen diario de boletas */
679
- sendSummary(body: unknown): Promise<import("openapi-fetch").FetchResponse<{
811
+ /** Descarga el XML firmado. Retorna ArrayBuffer. */
812
+ getInvoiceXml(id: string): Promise<ArrayBuffer>;
813
+ /** Descarga el CDR (constancia SUNAT). */
814
+ getInvoiceCdr(id: string): Promise<ArrayBuffer>;
815
+ /** Descarga el PDF generado. */
816
+ getInvoicePdf(id: string): Promise<ArrayBuffer>;
817
+ sendSummary(body: paths["/api/v1/summary/send"]["post"]["requestBody"]["content"]["application/json"]): Promise<import("openapi-fetch").FetchResponse<{
680
818
  parameters: {
681
819
  query?: never;
682
820
  header?: never;
@@ -711,7 +849,7 @@ export declare class Intifact {
711
849
  };
712
850
  };
713
851
  responses: {
714
- 200: {
852
+ 202: {
715
853
  headers: {
716
854
  [name: string]: unknown;
717
855
  };
@@ -720,6 +858,8 @@ export declare class Intifact {
720
858
  success: boolean;
721
859
  message: string;
722
860
  data?: {
861
+ id?: string;
862
+ estado?: string;
723
863
  ticket?: string;
724
864
  hash?: string | null;
725
865
  };
@@ -744,10 +884,31 @@ export declare class Intifact {
744
884
  };
745
885
  };
746
886
  }, {
747
- body: never;
887
+ body: {
888
+ empresaRuc: string;
889
+ correlativo: string;
890
+ fechaEmision: string;
891
+ fechaReferencia: string;
892
+ items: {
893
+ tipoDoc: string;
894
+ serie: string;
895
+ correlativo: string;
896
+ clienteTipoDoc: string;
897
+ clienteNumDoc: string;
898
+ estadoItem: "1" | "2" | "3";
899
+ tipoMoneda?: string;
900
+ montoOperGravadas?: number;
901
+ montoOperExoneradas?: number;
902
+ montoOperInafectas?: number;
903
+ montoOperGratuitas?: number;
904
+ montoIgv?: number;
905
+ montoIsc?: number;
906
+ montoOtrosCargos?: number;
907
+ montoTotal: number;
908
+ }[];
909
+ };
748
910
  }, `${string}/${string}`>>;
749
- /** Enviar una comunicación de baja */
750
- sendVoided(body: unknown): Promise<import("openapi-fetch").FetchResponse<{
911
+ sendVoided(body: paths["/api/v1/voided/send"]["post"]["requestBody"]["content"]["application/json"]): Promise<import("openapi-fetch").FetchResponse<{
751
912
  parameters: {
752
913
  query?: never;
753
914
  header?: never;
@@ -771,7 +932,7 @@ export declare class Intifact {
771
932
  };
772
933
  };
773
934
  responses: {
774
- 200: {
935
+ 202: {
775
936
  headers: {
776
937
  [name: string]: unknown;
777
938
  };
@@ -780,6 +941,8 @@ export declare class Intifact {
780
941
  success: boolean;
781
942
  message: string;
782
943
  data?: {
944
+ id?: string;
945
+ estado?: string;
783
946
  ticket?: string;
784
947
  hash?: string | null;
785
948
  };
@@ -804,10 +967,20 @@ export declare class Intifact {
804
967
  };
805
968
  };
806
969
  }, {
807
- body: never;
970
+ body: {
971
+ empresaRuc: string;
972
+ correlativo: string;
973
+ fechaEmision: string;
974
+ fechaReferencia: string;
975
+ items: {
976
+ tipoDoc: string;
977
+ serie: string;
978
+ correlativo: string;
979
+ motivoBaja: string;
980
+ }[];
981
+ };
808
982
  }, `${string}/${string}`>>;
809
- /** Consultar el estado de un ticket (resumen/baja) */
810
- getTicketStatus(ticket: string, query?: Record<string, unknown>): Promise<import("openapi-fetch").FetchResponse<{
983
+ getTicketStatus(ticket: string, ruc: string): Promise<import("openapi-fetch").FetchResponse<{
811
984
  parameters: {
812
985
  query: {
813
986
  ruc: string;
@@ -862,80 +1035,16 @@ export declare class Intifact {
862
1035
  path: {
863
1036
  ticket: string;
864
1037
  };
865
- query: never;
866
- };
867
- }, `${string}/${string}`>>;
868
- /** Listar documentos emitidos (con filtros opcionales) */
869
- listDocuments(query?: Record<string, unknown>): Promise<import("openapi-fetch").FetchResponse<{
870
- parameters: {
871
- query?: {
872
- ruc?: string;
873
- tipoDoc?: string;
874
- serie?: string;
875
- estado?: string;
876
- env?: "live" | "test";
877
- fechaDesde?: string;
878
- fechaHasta?: string;
879
- clienteNumDoc?: string;
880
- page?: number;
881
- limit?: number;
882
- };
883
- header?: never;
884
- path?: never;
885
- cookie?: never;
886
- };
887
- requestBody?: never;
888
- responses: {
889
- 200: {
890
- headers: {
891
- [name: string]: unknown;
892
- };
893
- content: {
894
- "application/json": {
895
- success: boolean;
896
- data: {
897
- id: string;
898
- env: "live" | "test";
899
- tipoDoc: string;
900
- serie: string;
901
- correlativo: string;
902
- fechaEmision: string;
903
- tipoMoneda: string;
904
- clienteNumDoc: string;
905
- clienteRazonSocial: string;
906
- montoImpVenta: string;
907
- estadoSunat: string;
908
- codigoRespuesta: string | null;
909
- hashCdr: string | null;
910
- createdAt: string;
911
- company: {
912
- ruc: string;
913
- razonSocial: string;
914
- };
915
- }[];
916
- pagination: {
917
- page: number;
918
- limit: number;
919
- total: number;
920
- totalPages: number;
921
- };
922
- };
923
- };
1038
+ query: {
1039
+ ruc: string;
924
1040
  };
925
1041
  };
926
- }, {
927
- params: {
928
- query: never;
929
- };
930
1042
  }, `${string}/${string}`>>;
931
- /** Obtener un documento por ID */
932
- getDocument(id: string): Promise<import("openapi-fetch").FetchResponse<{
1043
+ listCompanies(): Promise<import("openapi-fetch").FetchResponse<{
933
1044
  parameters: {
934
1045
  query?: never;
935
1046
  header?: never;
936
- path: {
937
- id: string;
938
- };
1047
+ path?: never;
939
1048
  cookie?: never;
940
1049
  };
941
1050
  requestBody?: never;
@@ -947,15 +1056,8 @@ export declare class Intifact {
947
1056
  content?: never;
948
1057
  };
949
1058
  };
950
- }, {
951
- params: {
952
- path: {
953
- id: string;
954
- };
955
- };
956
- }, `${string}/${string}`>>;
957
- /** Reintentar el envío de un documento fallido */
958
- retryDocument(id: string): Promise<import("openapi-fetch").FetchResponse<{
1059
+ }, {}, `${string}/${string}`>>;
1060
+ getCompany(id: string): Promise<import("openapi-fetch").FetchResponse<{
959
1061
  parameters: {
960
1062
  query?: never;
961
1063
  header?: never;
@@ -966,33 +1068,11 @@ export declare class Intifact {
966
1068
  };
967
1069
  requestBody?: never;
968
1070
  responses: {
969
- 202: {
970
- headers: {
971
- [name: string]: unknown;
972
- };
973
- content: {
974
- "application/json": {
975
- success: boolean;
976
- message: string;
977
- jobId?: string;
978
- };
979
- };
980
- };
981
- 400: {
1071
+ 200: {
982
1072
  headers: {
983
1073
  [name: string]: unknown;
984
1074
  };
985
- content: {
986
- "application/json": {
987
- success: false;
988
- message: string;
989
- code?: string;
990
- errors?: {
991
- path: string;
992
- message: string;
993
- }[];
994
- };
995
- };
1075
+ content?: never;
996
1076
  };
997
1077
  };
998
1078
  }, {
@@ -1002,793 +1082,15 @@ export declare class Intifact {
1002
1082
  };
1003
1083
  };
1004
1084
  }, `${string}/${string}`>>;
1005
- /** Obtener el siguiente correlativo disponible */
1006
- getNextCorrelativo(query: Record<string, unknown>): Promise<import("openapi-fetch").FetchResponse<{
1007
- parameters: {
1008
- query: {
1009
- companyRuc: string;
1010
- tipoDoc: string;
1011
- serie: string;
1012
- };
1013
- header?: never;
1014
- path?: never;
1015
- cookie?: never;
1016
- };
1017
- requestBody?: never;
1018
- responses: {
1019
- 200: {
1020
- headers: {
1021
- [name: string]: unknown;
1022
- };
1023
- content: {
1024
- "application/json": {
1025
- success: true;
1026
- data: {
1027
- next: string;
1028
- };
1029
- };
1030
- };
1031
- };
1032
- 404: {
1033
- headers: {
1034
- [name: string]: unknown;
1035
- };
1036
- content: {
1037
- "application/json": {
1038
- success: false;
1039
- message: string;
1040
- code?: string;
1041
- errors?: {
1042
- path: string;
1043
- message: string;
1044
- }[];
1045
- };
1046
- };
1047
- };
1048
- };
1049
- }, {
1050
- params: {
1051
- query: never;
1052
- };
1053
- }, `${string}/${string}`>>;
1054
- /** Obtener estadísticas de las colas de procesamiento */
1055
- getQueueStats(): Promise<import("openapi-fetch").FetchResponse<{
1056
- parameters: {
1057
- query?: never;
1058
- header?: never;
1059
- path?: never;
1060
- cookie?: never;
1061
- };
1062
- requestBody?: never;
1063
- responses: {
1064
- 200: {
1065
- headers: {
1066
- [name: string]: unknown;
1067
- };
1068
- content: {
1069
- "application/json": {
1070
- success: boolean;
1071
- data: {
1072
- "sunat-send": {
1073
- [key: string]: number;
1074
- };
1075
- "sunat-summary": {
1076
- [key: string]: number;
1077
- };
1078
- "sunat-ticket-poll": {
1079
- [key: string]: number;
1080
- };
1081
- "sunat-gre-send": {
1082
- [key: string]: number;
1083
- };
1084
- "sunat-gre-ticket-poll": {
1085
- [key: string]: number;
1086
- };
1087
- };
1088
- };
1089
- };
1090
- };
1091
- 403: {
1092
- headers: {
1093
- [name: string]: unknown;
1094
- };
1095
- content: {
1096
- "application/json": {
1097
- success: false;
1098
- message: string;
1099
- code?: string;
1100
- errors?: {
1101
- path: string;
1102
- message: string;
1103
- }[];
1104
- };
1105
- };
1106
- };
1107
- };
1108
- }, import("openapi-fetch").FetchOptions<{
1109
- parameters: {
1110
- query?: never;
1111
- header?: never;
1112
- path?: never;
1113
- cookie?: never;
1114
- };
1115
- requestBody?: never;
1116
- responses: {
1117
- 200: {
1118
- headers: {
1119
- [name: string]: unknown;
1120
- };
1121
- content: {
1122
- "application/json": {
1123
- success: boolean;
1124
- data: {
1125
- "sunat-send": {
1126
- [key: string]: number;
1127
- };
1128
- "sunat-summary": {
1129
- [key: string]: number;
1130
- };
1131
- "sunat-ticket-poll": {
1132
- [key: string]: number;
1133
- };
1134
- "sunat-gre-send": {
1135
- [key: string]: number;
1136
- };
1137
- "sunat-gre-ticket-poll": {
1138
- [key: string]: number;
1139
- };
1140
- };
1141
- };
1142
- };
1143
- };
1144
- 403: {
1145
- headers: {
1146
- [name: string]: unknown;
1147
- };
1148
- content: {
1149
- "application/json": {
1150
- success: false;
1151
- message: string;
1152
- code?: string;
1153
- errors?: {
1154
- path: string;
1155
- message: string;
1156
- }[];
1157
- };
1158
- };
1159
- };
1160
- };
1161
- }> | undefined, `${string}/${string}`>>;
1162
- /** Listar tus empresas registradas */
1163
- listCompanies(): Promise<import("openapi-fetch").FetchResponse<{
1164
- parameters: {
1165
- query?: never;
1166
- header?: never;
1167
- path?: never;
1168
- cookie?: never;
1169
- };
1170
- requestBody?: never;
1171
- responses: {
1172
- 200: {
1173
- headers: {
1174
- [name: string]: unknown;
1175
- };
1176
- content?: never;
1177
- };
1178
- };
1179
- }, import("openapi-fetch").FetchOptions<{
1180
- parameters: {
1181
- query?: never;
1182
- header?: never;
1183
- path?: never;
1184
- cookie?: never;
1185
- };
1186
- requestBody?: never;
1187
- responses: {
1188
- 200: {
1189
- headers: {
1190
- [name: string]: unknown;
1191
- };
1192
- content?: never;
1193
- };
1194
- };
1195
- }> | undefined, `${string}/${string}`>>;
1196
- /** Registrar una nueva empresa */
1197
- createCompany(body: unknown): Promise<import("openapi-fetch").FetchResponse<{
1198
- parameters: {
1199
- query?: never;
1200
- header?: never;
1201
- path?: never;
1202
- cookie?: never;
1203
- };
1204
- requestBody: {
1205
- content: {
1206
- "application/json": {
1207
- ruc: string;
1208
- razonSocial: string;
1209
- nombreComercial?: string;
1210
- ubigeo?: string;
1211
- direccion?: string;
1212
- departamento?: string;
1213
- provincia?: string;
1214
- distrito?: string;
1215
- urbanizacion?: string;
1216
- solUser?: string;
1217
- solPassword?: string;
1218
- tenantId?: string;
1219
- greClientId?: string;
1220
- greClientSecret?: string;
1221
- };
1222
- };
1223
- };
1224
- responses: {
1225
- 200: {
1226
- headers: {
1227
- [name: string]: unknown;
1228
- };
1229
- content?: never;
1230
- };
1231
- };
1232
- }, {
1233
- body: never;
1234
- }, `${string}/${string}`>>;
1235
- /** Obtener los datos de una empresa */
1236
- getCompany(id: string): Promise<import("openapi-fetch").FetchResponse<{
1237
- parameters: {
1238
- query?: never;
1239
- header?: never;
1240
- path: {
1241
- id: string;
1242
- };
1243
- cookie?: never;
1244
- };
1245
- requestBody?: never;
1246
- responses: {
1247
- 200: {
1248
- headers: {
1249
- [name: string]: unknown;
1250
- };
1251
- content?: never;
1252
- };
1253
- };
1254
- }, {
1255
- params: {
1256
- path: {
1257
- id: string;
1258
- };
1259
- };
1260
- }, `${string}/${string}`>>;
1261
- /** Actualizar los datos de una empresa */
1262
- updateCompany(id: string, body: unknown): Promise<import("openapi-fetch").FetchResponse<{
1263
- parameters: {
1264
- query?: never;
1265
- header?: never;
1266
- path: {
1267
- id: string;
1268
- };
1269
- cookie?: never;
1270
- };
1271
- requestBody: {
1272
- content: {
1273
- "application/json": {
1274
- ruc?: string;
1275
- razonSocial?: string;
1276
- nombreComercial?: string;
1277
- ubigeo?: string;
1278
- direccion?: string;
1279
- departamento?: string;
1280
- provincia?: string;
1281
- distrito?: string;
1282
- urbanizacion?: string;
1283
- solUser?: string;
1284
- solPassword?: string;
1285
- tenantId?: string;
1286
- greClientId?: string;
1287
- greClientSecret?: string;
1288
- };
1289
- };
1290
- };
1291
- responses: {
1292
- 200: {
1293
- headers: {
1294
- [name: string]: unknown;
1295
- };
1296
- content?: never;
1297
- };
1298
- };
1299
- }, {
1300
- params: {
1301
- path: {
1302
- id: string;
1303
- };
1304
- };
1305
- body: never;
1306
- }, `${string}/${string}`>>;
1307
- /** Subir el certificado digital (.pfx/.p12) de una empresa */
1308
- uploadCertificate(id: string, body: unknown): Promise<import("openapi-fetch").FetchResponse<{
1309
- parameters: {
1310
- query?: never;
1311
- header?: never;
1312
- path: {
1313
- id: string;
1314
- };
1315
- cookie?: never;
1316
- };
1317
- requestBody: {
1318
- content: {
1319
- "application/json": {
1320
- name: string;
1321
- password: string;
1322
- content: string;
1323
- };
1324
- };
1325
- };
1326
- responses: {
1327
- 200: {
1328
- headers: {
1329
- [name: string]: unknown;
1330
- };
1331
- content?: never;
1332
- };
1333
- };
1334
- }, {
1335
- params: {
1336
- path: {
1337
- id: string;
1338
- };
1339
- };
1340
- body: never;
1341
- }, `${string}/${string}`>>;
1342
- /** Subir el logo de una empresa (aparece en PDFs) */
1343
- uploadLogo(id: string, body: unknown): Promise<import("openapi-fetch").FetchResponse<{
1344
- parameters: {
1345
- query?: never;
1346
- header?: never;
1347
- path: {
1348
- id: string;
1349
- };
1350
- cookie?: never;
1351
- };
1352
- requestBody?: never;
1353
- responses: {
1354
- 200: {
1355
- headers: {
1356
- [name: string]: unknown;
1357
- };
1358
- content?: never;
1359
- };
1360
- };
1361
- }, {
1362
- params: {
1363
- path: {
1364
- id: string;
1365
- };
1366
- };
1367
- body: never;
1368
- }, `${string}/${string}`>>;
1369
- /** Obtener el logo de una empresa */
1370
- getLogo(id: string): Promise<import("openapi-fetch").FetchResponse<{
1371
- parameters: {
1372
- query?: never;
1373
- header?: never;
1374
- path: {
1375
- id: string;
1376
- };
1377
- cookie?: never;
1378
- };
1379
- requestBody?: never;
1380
- responses: {
1381
- 200: {
1382
- headers: {
1383
- [name: string]: unknown;
1384
- };
1385
- content?: never;
1386
- };
1387
- };
1388
- }, {
1389
- params: {
1390
- path: {
1391
- id: string;
1392
- };
1393
- };
1394
- }, `${string}/${string}`>>;
1395
- /** Eliminar el logo de una empresa */
1396
- deleteLogo(id: string): Promise<import("openapi-fetch").FetchResponse<{
1397
- parameters: {
1398
- query?: never;
1399
- header?: never;
1400
- path: {
1401
- id: string;
1402
- };
1403
- cookie?: never;
1404
- };
1405
- requestBody?: never;
1406
- responses: {
1407
- 200: {
1408
- headers: {
1409
- [name: string]: unknown;
1410
- };
1411
- content?: never;
1412
- };
1413
- };
1414
- }, {
1415
- params: {
1416
- path: {
1417
- id: string;
1418
- };
1419
- };
1420
- }, `${string}/${string}`>>;
1421
- /** Listar tus webhooks configurados */
1422
- listWebhooks(): Promise<import("openapi-fetch").FetchResponse<{
1423
- parameters: {
1424
- query?: {
1425
- ruc?: string;
1426
- };
1427
- header?: never;
1428
- path?: never;
1429
- cookie?: never;
1430
- };
1431
- requestBody?: never;
1432
- responses: {
1433
- 200: {
1434
- headers: {
1435
- [name: string]: unknown;
1436
- };
1437
- content?: never;
1438
- };
1439
- };
1440
- }, import("openapi-fetch").FetchOptions<{
1441
- parameters: {
1442
- query?: {
1443
- ruc?: string;
1444
- };
1445
- header?: never;
1446
- path?: never;
1447
- cookie?: never;
1448
- };
1449
- requestBody?: never;
1450
- responses: {
1451
- 200: {
1452
- headers: {
1453
- [name: string]: unknown;
1454
- };
1455
- content?: never;
1456
- };
1457
- };
1458
- }> | undefined, `${string}/${string}`>>;
1459
- /** Crear un nuevo webhook */
1460
- createWebhook(body: unknown): Promise<import("openapi-fetch").FetchResponse<{
1461
- parameters: {
1462
- query?: never;
1463
- header?: never;
1464
- path?: never;
1465
- cookie?: never;
1466
- };
1467
- requestBody: {
1468
- content: {
1469
- "application/json": {
1470
- empresaRuc: string;
1471
- url: string;
1472
- events: ("document.accepted" | "document.rejected" | "document.queue_failed" | "document.retried" | "ticket.resolved")[];
1473
- description?: string;
1474
- };
1475
- };
1476
- };
1477
- responses: {
1478
- 200: {
1479
- headers: {
1480
- [name: string]: unknown;
1481
- };
1482
- content?: never;
1483
- };
1484
- };
1485
- }, {
1486
- body: never;
1487
- }, `${string}/${string}`>>;
1488
- /** Obtener un webhook por ID */
1489
- getWebhook(id: string): Promise<import("openapi-fetch").FetchResponse<{
1490
- parameters: {
1491
- query?: never;
1492
- header?: never;
1493
- path: {
1494
- id: string;
1495
- };
1496
- cookie?: never;
1497
- };
1498
- requestBody?: never;
1499
- responses: {
1500
- 200: {
1501
- headers: {
1502
- [name: string]: unknown;
1503
- };
1504
- content?: never;
1505
- };
1506
- };
1507
- }, {
1508
- params: {
1509
- path: {
1510
- id: string;
1511
- };
1512
- };
1513
- }, `${string}/${string}`>>;
1514
- /** Actualizar un webhook */
1515
- updateWebhook(id: string, body: unknown): Promise<import("openapi-fetch").FetchResponse<{
1516
- parameters: {
1517
- query?: never;
1518
- header?: never;
1519
- path: {
1520
- id: string;
1521
- };
1522
- cookie?: never;
1523
- };
1524
- requestBody: {
1525
- content: {
1526
- "application/json": {
1527
- url?: string;
1528
- events?: ("document.accepted" | "document.rejected" | "document.queue_failed" | "document.retried" | "ticket.resolved")[];
1529
- description?: string;
1530
- isActive?: boolean;
1531
- };
1532
- };
1533
- };
1534
- responses: {
1535
- 200: {
1536
- headers: {
1537
- [name: string]: unknown;
1538
- };
1539
- content?: never;
1540
- };
1541
- };
1542
- }, {
1543
- params: {
1544
- path: {
1545
- id: string;
1546
- };
1547
- };
1548
- body: never;
1549
- }, `${string}/${string}`>>;
1550
- /** Eliminar un webhook */
1551
- deleteWebhook(id: string): Promise<import("openapi-fetch").FetchResponse<{
1552
- parameters: {
1553
- query?: never;
1554
- header?: never;
1555
- path: {
1556
- id: string;
1557
- };
1558
- cookie?: never;
1559
- };
1560
- requestBody?: never;
1561
- responses: {
1562
- 200: {
1563
- headers: {
1564
- [name: string]: unknown;
1565
- };
1566
- content?: never;
1567
- };
1568
- };
1569
- }, {
1570
- params: {
1571
- path: {
1572
- id: string;
1573
- };
1574
- };
1575
- }, `${string}/${string}`>>;
1576
- /** Listar entregas de un webhook */
1577
- listWebhookDeliveries(id: string, query?: Record<string, unknown>): Promise<import("openapi-fetch").FetchResponse<{
1578
- parameters: {
1579
- query?: {
1580
- limit?: number;
1581
- success?: "true" | "false";
1582
- };
1583
- header?: never;
1584
- path: {
1585
- id: string;
1586
- };
1587
- cookie?: never;
1588
- };
1589
- requestBody?: never;
1590
- responses: {
1591
- 200: {
1592
- headers: {
1593
- [name: string]: unknown;
1594
- };
1595
- content?: never;
1596
- };
1597
- };
1598
- }, {
1599
- params: {
1600
- path: {
1601
- id: string;
1602
- };
1603
- query: never;
1604
- };
1605
- }, `${string}/${string}`>>;
1606
- /** Re-enviar una entrega fallida */
1607
- redeliverWebhook(endpointId: string, deliveryId: string): Promise<import("openapi-fetch").FetchResponse<{
1608
- parameters: {
1609
- query?: never;
1610
- header?: never;
1611
- path: {
1612
- id: string;
1613
- deliveryId: string;
1614
- };
1615
- cookie?: never;
1616
- };
1617
- requestBody?: never;
1618
- responses: {
1619
- 200: {
1620
- headers: {
1621
- [name: string]: unknown;
1622
- };
1623
- content?: never;
1624
- };
1625
- };
1626
- }, {
1627
- params: {
1628
- path: {
1629
- id: string;
1630
- deliveryId: string;
1631
- };
1632
- };
1633
- }, `${string}/${string}`>>;
1634
- /** Enviar un evento de prueba al webhook */
1635
- testWebhook(id: string): Promise<import("openapi-fetch").FetchResponse<{
1636
- parameters: {
1637
- query?: never;
1638
- header?: never;
1639
- path: {
1640
- id: string;
1641
- };
1642
- cookie?: never;
1643
- };
1644
- requestBody?: never;
1645
- responses: {
1646
- 200: {
1647
- headers: {
1648
- [name: string]: unknown;
1649
- };
1650
- content?: never;
1651
- };
1652
- };
1653
- }, {
1654
- params: {
1655
- path: {
1656
- id: string;
1657
- };
1658
- };
1659
- }, `${string}/${string}`>>;
1660
- /** Obtener el consumo actual de tu plan */
1661
- getUsage(): Promise<import("openapi-fetch").FetchResponse<{
1662
- parameters: {
1663
- query?: never;
1664
- header?: never;
1665
- path?: never;
1666
- cookie?: never;
1667
- };
1668
- requestBody?: never;
1669
- responses: {
1670
- 200: {
1671
- headers: {
1672
- [name: string]: unknown;
1673
- };
1674
- content?: never;
1675
- };
1676
- };
1677
- }, import("openapi-fetch").FetchOptions<{
1678
- parameters: {
1679
- query?: never;
1680
- header?: never;
1681
- path?: never;
1682
- cookie?: never;
1683
- };
1684
- requestBody?: never;
1685
- responses: {
1686
- 200: {
1687
- headers: {
1688
- [name: string]: unknown;
1689
- };
1690
- content?: never;
1691
- };
1692
- };
1693
- }> | undefined, `${string}/${string}`>>;
1694
- /** Consultar un documento emitido (sin autenticación) */
1695
- consultarDocumento(ruc: string, tipoDoc: string, serie: string, numero: string): Promise<import("openapi-fetch").FetchResponse<{
1696
- parameters: {
1697
- query?: {
1698
- total?: number;
1699
- fecha?: string;
1700
- receptor?: string;
1701
- };
1702
- header?: never;
1703
- path: {
1704
- ruc: string;
1705
- tipoDoc: string;
1706
- serie: string;
1707
- numero: string;
1708
- };
1709
- cookie?: never;
1710
- };
1711
- requestBody?: never;
1712
- responses: {
1713
- 200: {
1714
- headers: {
1715
- [name: string]: unknown;
1716
- };
1717
- content?: never;
1718
- };
1719
- };
1720
- }, {
1721
- params: {
1722
- path: {
1723
- ruc: string;
1724
- tipoDoc: string;
1725
- serie: string;
1726
- numero: string;
1727
- };
1728
- };
1729
- }, `${string}/${string}`>>;
1730
- /** Obtener el PDF de un documento emitido (sin autenticación) */
1731
- consultarDocumentoPdf(ruc: string, tipoDoc: string, serie: string, numero: string): Promise<import("openapi-fetch").FetchResponse<{
1732
- parameters: {
1733
- query?: never;
1734
- header?: never;
1735
- path: {
1736
- ruc: string;
1737
- tipoDoc: string;
1738
- serie: string;
1739
- numero: string;
1740
- };
1741
- cookie?: never;
1742
- };
1743
- requestBody?: never;
1744
- responses: {
1745
- 200: {
1746
- headers: {
1747
- [name: string]: unknown;
1748
- };
1749
- content?: never;
1750
- };
1751
- };
1752
- }, {
1753
- params: {
1754
- path: {
1755
- ruc: string;
1756
- tipoDoc: string;
1757
- serie: string;
1758
- numero: string;
1759
- };
1760
- };
1761
- }, `${string}/${string}`>>;
1762
- /** Obtener el XML de un documento emitido (sin autenticación) */
1763
- consultarDocumentoXml(ruc: string, tipoDoc: string, serie: string, numero: string): Promise<import("openapi-fetch").FetchResponse<{
1764
- parameters: {
1765
- query?: never;
1766
- header?: never;
1767
- path: {
1768
- ruc: string;
1769
- tipoDoc: string;
1770
- serie: string;
1771
- numero: string;
1772
- };
1773
- cookie?: never;
1774
- };
1775
- requestBody?: never;
1776
- responses: {
1777
- 200: {
1778
- headers: {
1779
- [name: string]: unknown;
1780
- };
1781
- content?: never;
1782
- };
1783
- };
1784
- }, {
1785
- params: {
1786
- path: {
1787
- ruc: string;
1788
- tipoDoc: string;
1789
- serie: string;
1790
- numero: string;
1791
- };
1792
- };
1793
- }, `${string}/${string}`>>;
1085
+ /** Estado de las colas BullMQ (jobs en cada estado). */
1086
+ getQueueStats(): Promise<QueueStats>;
1087
+ /**
1088
+ * Espera a que un documento llegue a estado final (ACEPTADO/RECHAZADO/COLA_FALLIDA).
1089
+ * Hace polling cada `intervalMs`. Timeout en `timeoutMs`.
1090
+ */
1091
+ waitForDocument(id: string, options?: {
1092
+ intervalMs?: number;
1093
+ timeoutMs?: number;
1094
+ }): Promise<unknown>;
1794
1095
  }
1096
+ //# sourceMappingURL=index.d.ts.map