fiscalapi 4.0.141 → 4.0.270
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 +54 -18
- package/dist/cjs/abstractions/download-catalog.inteface.js +3 -0
- package/dist/cjs/abstractions/download-request.service.interface.js +3 -0
- package/dist/cjs/abstractions/download-rule.service.inteface.js +3 -0
- package/dist/cjs/abstractions/fiscalapi-client.interface.js +1 -1
- package/dist/cjs/abstractions/person-service.interface.js +1 -1
- package/dist/cjs/index.js +3 -4
- package/dist/cjs/models/download.js +3 -0
- package/dist/cjs/services/download-catalog.service.js +39 -0
- package/dist/cjs/services/download-request.service.js +92 -0
- package/dist/cjs/services/download-rule.service.js +30 -0
- package/dist/cjs/services/fiscalapi-client.js +7 -1
- package/dist/esm/abstractions/download-catalog.inteface.js +2 -0
- package/dist/esm/abstractions/download-request.service.interface.js +2 -0
- package/dist/esm/abstractions/download-rule.service.inteface.js +2 -0
- package/dist/esm/abstractions/fiscalapi-client.interface.js +1 -1
- package/dist/esm/abstractions/person-service.interface.js +1 -1
- package/dist/esm/index.js +3 -4
- package/dist/esm/models/download.js +2 -0
- package/dist/esm/services/download-catalog.service.js +35 -0
- package/dist/esm/services/download-request.service.js +88 -0
- package/dist/esm/services/download-rule.service.js +26 -0
- package/dist/esm/services/fiscalapi-client.js +7 -1
- package/dist/types/abstractions/download-catalog.inteface.d.ts +22 -0
- package/dist/types/abstractions/download-request.service.interface.d.ts +52 -0
- package/dist/types/abstractions/download-rule.service.inteface.d.ts +15 -0
- package/dist/types/abstractions/fiscalapi-client.interface.d.ts +15 -0
- package/dist/types/index.d.ts +18 -16
- package/dist/types/models/download.d.ts +432 -0
- package/dist/types/services/download-catalog.service.d.ts +29 -0
- package/dist/types/services/download-request.service.d.ts +60 -0
- package/dist/types/services/download-rule.service.d.ts +22 -0
- package/dist/types/services/fiscalapi-client.d.ts +22 -1
- package/package.json +4 -3
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
import { DateTime } from 'luxon';
|
|
2
|
+
import { BaseDto } from '../common/base-dto';
|
|
3
|
+
import { CatalogDto } from '../common/catalog-dto';
|
|
4
|
+
import { Person } from './person';
|
|
5
|
+
/**
|
|
6
|
+
* Representa una plantilla para crear solicitudes de descarga de CFDI o metadatos.
|
|
7
|
+
*/
|
|
8
|
+
export interface DownloadRule extends BaseDto {
|
|
9
|
+
/** ID de la persona asociada a la regla de descarga */
|
|
10
|
+
personId?: string;
|
|
11
|
+
/** Información de la persona asociada */
|
|
12
|
+
person?: Person;
|
|
13
|
+
/** RFC (Tax Identification Number) del solicitante */
|
|
14
|
+
tin?: string;
|
|
15
|
+
/** Descripción de la regla de descarga */
|
|
16
|
+
description?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Estado de la regla de descarga
|
|
19
|
+
* 1: Pendiente, 2: Aprobada, 3: Rechazada, 4: Abandonada
|
|
20
|
+
*/
|
|
21
|
+
downloadRuleStatusId?: string;
|
|
22
|
+
/** Catálogo del estado de la regla de descarga */
|
|
23
|
+
downloadRuleStatus?: CatalogDto;
|
|
24
|
+
/**
|
|
25
|
+
* Tipo de consulta SAT
|
|
26
|
+
* CFDI, Metadata
|
|
27
|
+
*/
|
|
28
|
+
satQueryTypeId?: string;
|
|
29
|
+
/** Catálogo del tipo de consulta SAT */
|
|
30
|
+
satQueryType?: CatalogDto;
|
|
31
|
+
/**
|
|
32
|
+
* Tipo de descarga
|
|
33
|
+
* Emitidos, Recibidos
|
|
34
|
+
*/
|
|
35
|
+
downloadTypeId?: string;
|
|
36
|
+
/** Catálogo del tipo de descarga */
|
|
37
|
+
downloadType?: CatalogDto;
|
|
38
|
+
/**
|
|
39
|
+
* Estado de la factura SAT
|
|
40
|
+
* Vigente, Cancelado
|
|
41
|
+
*/
|
|
42
|
+
satInvoiceStatusId?: string;
|
|
43
|
+
/** Catálogo del estado de la factura SAT */
|
|
44
|
+
satInvoiceStatus?: CatalogDto;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Representa una solicitud de descarga de CFDI o metadatos
|
|
48
|
+
*/
|
|
49
|
+
export interface DownloadRequest extends BaseDto {
|
|
50
|
+
/** Número consecutivo de la solicitud */
|
|
51
|
+
consecutive?: number;
|
|
52
|
+
/**
|
|
53
|
+
* ID de solicitud SAT utilizado para rastrear la solicitud en el sistema SAT
|
|
54
|
+
*/
|
|
55
|
+
satRequestId?: string;
|
|
56
|
+
/**
|
|
57
|
+
* ID de la regla asociada con la solicitud
|
|
58
|
+
*/
|
|
59
|
+
downloadRuleId?: string;
|
|
60
|
+
/** ID del tipo de descarga */
|
|
61
|
+
downloadTypeId?: string;
|
|
62
|
+
/** Catálogo del tipo de descarga */
|
|
63
|
+
downloadType?: CatalogDto;
|
|
64
|
+
/** ID del tipo de solicitud de descarga */
|
|
65
|
+
downloadRequestTypeId?: string;
|
|
66
|
+
/** Catálogo del tipo de solicitud de descarga */
|
|
67
|
+
downloadRequestType?: CatalogDto;
|
|
68
|
+
/**
|
|
69
|
+
* RFC Receptor
|
|
70
|
+
* CFDI específicos o metadatos del RFC receptor dado
|
|
71
|
+
*/
|
|
72
|
+
recipientTin?: string;
|
|
73
|
+
/**
|
|
74
|
+
* RFC Emisor
|
|
75
|
+
* CFDI específicos o metadatos del RFC emisor dado
|
|
76
|
+
*/
|
|
77
|
+
issuerTin?: string;
|
|
78
|
+
/**
|
|
79
|
+
* RFC Solicitante
|
|
80
|
+
* RFC quien está solicitando la consulta
|
|
81
|
+
*/
|
|
82
|
+
requesterTin?: string;
|
|
83
|
+
/**
|
|
84
|
+
* Fecha inicial
|
|
85
|
+
* Fecha de inicio para la solicitud asociada
|
|
86
|
+
*/
|
|
87
|
+
startDate: DateTime;
|
|
88
|
+
/**
|
|
89
|
+
* Fecha final
|
|
90
|
+
* Fecha de fin para la solicitud asociada
|
|
91
|
+
*/
|
|
92
|
+
endDate: DateTime;
|
|
93
|
+
/**
|
|
94
|
+
* Tipo de solicitud
|
|
95
|
+
* Tipo de solicitud para la petición
|
|
96
|
+
* CFDI o Metadata
|
|
97
|
+
*/
|
|
98
|
+
satQueryTypeId?: string;
|
|
99
|
+
/** Catálogo del tipo de consulta SAT */
|
|
100
|
+
satQueryType?: CatalogDto;
|
|
101
|
+
/**
|
|
102
|
+
* Tipo de comprobante
|
|
103
|
+
* Tipo específico de factura a solicitar
|
|
104
|
+
* Ingreso, Egreso, Traslado, Nómina, Pago, Todos
|
|
105
|
+
*/
|
|
106
|
+
satInvoiceTypeId?: string;
|
|
107
|
+
/** Catálogo del tipo de factura SAT */
|
|
108
|
+
satInvoiceType?: CatalogDto;
|
|
109
|
+
/**
|
|
110
|
+
* Estado del comprobante
|
|
111
|
+
* Estado de los CFDI a solicitar
|
|
112
|
+
*/
|
|
113
|
+
satInvoiceStatusId?: string;
|
|
114
|
+
/** Catálogo del estado de la factura SAT */
|
|
115
|
+
satInvoiceStatus?: CatalogDto;
|
|
116
|
+
/**
|
|
117
|
+
* Complemento
|
|
118
|
+
* Complementos CFDI para la solicitud
|
|
119
|
+
*/
|
|
120
|
+
satInvoiceComplementId?: string;
|
|
121
|
+
/** Catálogo del complemento de factura SAT */
|
|
122
|
+
satInvoiceComplement?: CatalogDto;
|
|
123
|
+
/**
|
|
124
|
+
* Estado actual de la solicitud
|
|
125
|
+
* DESCONOCIDO, ACEPTADA, EN PROCESO, TERMINADA, ERROR, RECHAZADA, VENCIDA
|
|
126
|
+
*/
|
|
127
|
+
satRequestStatusId?: string;
|
|
128
|
+
/** Catálogo del estado de la solicitud SAT */
|
|
129
|
+
satRequestStatus?: CatalogDto;
|
|
130
|
+
/**
|
|
131
|
+
* ID del estado de la solicitud en Fiscalapi
|
|
132
|
+
*/
|
|
133
|
+
downloadRequestStatusId?: string;
|
|
134
|
+
/** Catálogo del estado de la solicitud de descarga */
|
|
135
|
+
downloadRequestStatus?: CatalogDto;
|
|
136
|
+
/**
|
|
137
|
+
* Fecha del último intento
|
|
138
|
+
* Fecha del último intento para la solicitud asociada
|
|
139
|
+
*/
|
|
140
|
+
lastAttemptDate?: DateTime | string;
|
|
141
|
+
/**
|
|
142
|
+
* Fecha del siguiente intento
|
|
143
|
+
* Fecha del siguiente intento para la solicitud asociada
|
|
144
|
+
*/
|
|
145
|
+
nextAttemptDate?: DateTime | string;
|
|
146
|
+
/**
|
|
147
|
+
* Número de CFDI encontrados para la solicitud cuando la solicitud está terminada
|
|
148
|
+
*/
|
|
149
|
+
invoiceCount?: number;
|
|
150
|
+
/**
|
|
151
|
+
* Lista de IDs de paquetes disponibles para descarga cuando la solicitud está terminada
|
|
152
|
+
*/
|
|
153
|
+
packageIds?: string[];
|
|
154
|
+
/**
|
|
155
|
+
* Indica si la solicitud está lista para descarga, se vuelve verdadero cuando la solicitud está terminada y los paquetes están disponibles
|
|
156
|
+
*/
|
|
157
|
+
isReadyToDownload?: boolean;
|
|
158
|
+
/**
|
|
159
|
+
* Número total de reintentos intentados para esta solicitud a través de todas las re-submisiones
|
|
160
|
+
*/
|
|
161
|
+
retriesCount?: number;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Representa un elemento de metadatos de CFDI descargado desde el SAT
|
|
165
|
+
*/
|
|
166
|
+
export interface MetadataItem extends BaseDto {
|
|
167
|
+
/**
|
|
168
|
+
* Folio de la factura - UUID
|
|
169
|
+
*/
|
|
170
|
+
invoiceUuid?: string;
|
|
171
|
+
/**
|
|
172
|
+
* RFC del emisor del comprobante - RfcEmisor
|
|
173
|
+
*/
|
|
174
|
+
issuerTin?: string;
|
|
175
|
+
/**
|
|
176
|
+
* Nombre o razón social del emisor - NombreEmisor
|
|
177
|
+
*/
|
|
178
|
+
issuerName?: string;
|
|
179
|
+
/**
|
|
180
|
+
* RFC del receptor del comprobante - RfcReceptor
|
|
181
|
+
*/
|
|
182
|
+
recipientTin?: string;
|
|
183
|
+
/**
|
|
184
|
+
* Nombre o razón social del receptor - NombreReceptor
|
|
185
|
+
*/
|
|
186
|
+
recipientName?: string;
|
|
187
|
+
/**
|
|
188
|
+
* RFC del Proveedor Autorizado de Certificación (PAC) - RfcPac
|
|
189
|
+
*/
|
|
190
|
+
pacTin?: string;
|
|
191
|
+
/**
|
|
192
|
+
* Fecha y hora de emisión del comprobante - FechaEmision
|
|
193
|
+
*/
|
|
194
|
+
invoiceDate: DateTime | string;
|
|
195
|
+
/**
|
|
196
|
+
* Fecha y hora de certificación por el SAT - FechaCertificacionSat
|
|
197
|
+
*/
|
|
198
|
+
satCertificationDate: DateTime | string;
|
|
199
|
+
/**
|
|
200
|
+
* Monto total del comprobante - Monto
|
|
201
|
+
*/
|
|
202
|
+
amount?: number;
|
|
203
|
+
/**
|
|
204
|
+
* Tipo de comprobante (I = Ingreso, E = Egreso, T = Traslado, N = Nómina, P = Pago) - EfectoComprobante
|
|
205
|
+
*/
|
|
206
|
+
invoiceType?: string;
|
|
207
|
+
/**
|
|
208
|
+
* Estatus del comprobante (1 = Vigente, 0 = Cancelado) - Estatus
|
|
209
|
+
*/
|
|
210
|
+
status?: number;
|
|
211
|
+
/**
|
|
212
|
+
* Fecha de cancelación del comprobante (si aplica) - FechaCancelacion
|
|
213
|
+
*/
|
|
214
|
+
cancellationDate?: DateTime | string;
|
|
215
|
+
/** ID del paquete de descarga */
|
|
216
|
+
downloadPackageId?: string;
|
|
217
|
+
/** ID de la solicitud de descarga */
|
|
218
|
+
downloadRequestId?: string;
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* Representa el XML de un CFDI (Comprobante Fiscal Digital por Internet) descargado desde el SAT
|
|
222
|
+
*/
|
|
223
|
+
export interface Xml extends BaseDto {
|
|
224
|
+
/** ID de la solicitud de descarga */
|
|
225
|
+
downloadRequestId?: string;
|
|
226
|
+
/** Versión del CFDI */
|
|
227
|
+
version?: string;
|
|
228
|
+
/** Serie */
|
|
229
|
+
series?: string;
|
|
230
|
+
/** Folio */
|
|
231
|
+
number?: string;
|
|
232
|
+
/** Fecha de emisión del CFDI */
|
|
233
|
+
date: DateTime | string;
|
|
234
|
+
/** Código de la forma de pago */
|
|
235
|
+
paymentForm?: string;
|
|
236
|
+
/** Código del método de pago */
|
|
237
|
+
paymentMethod?: string;
|
|
238
|
+
/** Número de certificado del emisor */
|
|
239
|
+
certificateNumber?: string;
|
|
240
|
+
/** Condiciones de pago */
|
|
241
|
+
paymentConditions?: string;
|
|
242
|
+
/** Subtotal del CFDI */
|
|
243
|
+
subTotal?: number;
|
|
244
|
+
/** Descuento aplicado al CFDI */
|
|
245
|
+
discount?: number;
|
|
246
|
+
/** Código de la moneda del CFDI */
|
|
247
|
+
currency?: string;
|
|
248
|
+
/** Tipo de cambio del CFDI (si aplica) */
|
|
249
|
+
exchangeRate?: number;
|
|
250
|
+
/** Total del CFDI */
|
|
251
|
+
total?: number;
|
|
252
|
+
/** Tipo de comprobante (I = Ingreso, E = Egreso, T = Traslado, N = Nómina, P = Pago) */
|
|
253
|
+
invoiceType?: string;
|
|
254
|
+
/** Código de exportación (si aplica) */
|
|
255
|
+
export?: string;
|
|
256
|
+
/** Lugar de expedición del CFDI */
|
|
257
|
+
expeditionZipCode?: string;
|
|
258
|
+
/** Confirmación si aplica */
|
|
259
|
+
confirmation?: string;
|
|
260
|
+
/** Total impuestos retenidos */
|
|
261
|
+
totalWithheldTaxes?: number;
|
|
262
|
+
/** Total impuestos trasladados */
|
|
263
|
+
totalTransferredTaxes?: number;
|
|
264
|
+
/** Información global del CFDI (para CFDI globales) */
|
|
265
|
+
xmlGlobalInformation?: XmlGlobalInformation;
|
|
266
|
+
/** Información de impuestos del CFDI */
|
|
267
|
+
taxes?: XmlTax[];
|
|
268
|
+
/** Información sobre facturas relacionadas del CFDI (CFDI relacionados) */
|
|
269
|
+
xmlRelated?: XmlRelated[];
|
|
270
|
+
/** Información del emisor del CFDI */
|
|
271
|
+
xmlIssuer?: XmlIssuer;
|
|
272
|
+
/** Información del receptor del CFDI */
|
|
273
|
+
xmlRecipient?: XmlRecipient;
|
|
274
|
+
/** Información de los conceptos del CFDI */
|
|
275
|
+
xmlItems?: XmlItem[];
|
|
276
|
+
/** Información de los complementos del CFDI */
|
|
277
|
+
xmlComplements?: XmlComplement[];
|
|
278
|
+
/** XML crudo en base64 */
|
|
279
|
+
base64Content?: string;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Información global del CFDI
|
|
283
|
+
*/
|
|
284
|
+
export interface XmlGlobalInformation extends BaseDto {
|
|
285
|
+
/** Periodicidad */
|
|
286
|
+
periodicity?: string;
|
|
287
|
+
/** Mes */
|
|
288
|
+
month?: string;
|
|
289
|
+
/** Año */
|
|
290
|
+
year?: number;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Información del emisor del CFDI
|
|
294
|
+
*/
|
|
295
|
+
export interface XmlIssuer extends BaseDto {
|
|
296
|
+
/** RFC del emisor */
|
|
297
|
+
tin?: string;
|
|
298
|
+
/** Razón social */
|
|
299
|
+
legalName?: string;
|
|
300
|
+
/** Régimen fiscal */
|
|
301
|
+
taxRegime?: string;
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Información aduanera del concepto
|
|
305
|
+
*/
|
|
306
|
+
export interface XmlItemCustomsInformation extends BaseDto {
|
|
307
|
+
/** ID del concepto XML */
|
|
308
|
+
xmlItemId?: string;
|
|
309
|
+
/** Número de documento aduanero */
|
|
310
|
+
customsDocumentNumber?: string;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Concepto del CFDI
|
|
314
|
+
*/
|
|
315
|
+
export interface XmlItem extends BaseDto {
|
|
316
|
+
/** ID del XML */
|
|
317
|
+
xmlId?: string;
|
|
318
|
+
/** Código del concepto */
|
|
319
|
+
itemCode?: string;
|
|
320
|
+
/** SKU del concepto */
|
|
321
|
+
sku?: string;
|
|
322
|
+
/** Cantidad */
|
|
323
|
+
quantity?: number;
|
|
324
|
+
/** Unidad de medida */
|
|
325
|
+
unitMeasurement?: string;
|
|
326
|
+
/** Descripción */
|
|
327
|
+
description?: string;
|
|
328
|
+
/** Precio unitario */
|
|
329
|
+
unitPrice?: number;
|
|
330
|
+
/** Importe */
|
|
331
|
+
amount?: number;
|
|
332
|
+
/** Descuento */
|
|
333
|
+
discount?: number;
|
|
334
|
+
/** Objeto de impuesto */
|
|
335
|
+
taxObject?: string;
|
|
336
|
+
/** Cuenta de terceros */
|
|
337
|
+
thirdPartyAccount?: string;
|
|
338
|
+
/** Información aduanera del concepto */
|
|
339
|
+
xmlItemCustomsInformation?: XmlItemCustomsInformation[];
|
|
340
|
+
/** Cuentas prediales del concepto */
|
|
341
|
+
xmlItemPropertyAccounts?: XmlItemPropertyAccount[];
|
|
342
|
+
/** Impuestos del concepto */
|
|
343
|
+
taxes?: XmlItemTax[];
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* Cuenta predial del concepto
|
|
347
|
+
*/
|
|
348
|
+
export interface XmlItemPropertyAccount extends BaseDto {
|
|
349
|
+
/** ID del concepto XML */
|
|
350
|
+
xmlItemId?: string;
|
|
351
|
+
/** Número de cuenta predial */
|
|
352
|
+
propertyAccountNumber?: string;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Impuesto del concepto
|
|
356
|
+
*/
|
|
357
|
+
export interface XmlItemTax extends BaseDto {
|
|
358
|
+
/** Base del impuesto */
|
|
359
|
+
base?: number;
|
|
360
|
+
/** Código del impuesto */
|
|
361
|
+
tax?: string;
|
|
362
|
+
/** Tipo de impuesto */
|
|
363
|
+
taxType?: string;
|
|
364
|
+
/** Tasa o cuota */
|
|
365
|
+
rate?: number;
|
|
366
|
+
/** Importe del impuesto */
|
|
367
|
+
amount?: number;
|
|
368
|
+
/** Naturaleza del impuesto (T = Traslado, R = Retención) */
|
|
369
|
+
taxFlag?: string;
|
|
370
|
+
/** ID del concepto XML */
|
|
371
|
+
xmlItemId?: string;
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* Información del receptor del CFDI
|
|
375
|
+
*/
|
|
376
|
+
export interface XmlRecipient extends BaseDto {
|
|
377
|
+
/** RFC del receptor */
|
|
378
|
+
tin?: string;
|
|
379
|
+
/** Razón social */
|
|
380
|
+
legalName?: string;
|
|
381
|
+
/** Código postal */
|
|
382
|
+
zipCode?: string;
|
|
383
|
+
/** Régimen fiscal */
|
|
384
|
+
taxRegime?: string;
|
|
385
|
+
/** Uso del CFDI */
|
|
386
|
+
cfdiUse?: string;
|
|
387
|
+
/** ID fiscal extranjero */
|
|
388
|
+
foreignTaxId?: string;
|
|
389
|
+
/** Residencia fiscal */
|
|
390
|
+
fiscalResidence?: string;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* CFDI relacionado
|
|
394
|
+
*/
|
|
395
|
+
export interface XmlRelated extends BaseDto {
|
|
396
|
+
/** ID del XML */
|
|
397
|
+
xmlId?: string;
|
|
398
|
+
/** Tipo de relación */
|
|
399
|
+
relationshipType?: string;
|
|
400
|
+
/** UUID del CFDI relacionado */
|
|
401
|
+
cfdiUuid?: string;
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Impuesto del CFDI
|
|
405
|
+
*/
|
|
406
|
+
export interface XmlTax extends BaseDto {
|
|
407
|
+
/** Base del impuesto */
|
|
408
|
+
base?: number;
|
|
409
|
+
/** Código del impuesto */
|
|
410
|
+
tax?: string;
|
|
411
|
+
/** Tipo de impuesto */
|
|
412
|
+
taxType?: string;
|
|
413
|
+
/** Tasa o cuota */
|
|
414
|
+
rate?: number;
|
|
415
|
+
/** Importe del impuesto */
|
|
416
|
+
amount?: number;
|
|
417
|
+
/** Naturaleza del impuesto (T = Traslado, R = Retención) */
|
|
418
|
+
taxFlag?: string;
|
|
419
|
+
/** ID del XML */
|
|
420
|
+
xmlId?: string;
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Complemento del CFDI
|
|
424
|
+
*/
|
|
425
|
+
export interface XmlComplement extends BaseDto {
|
|
426
|
+
/** Nombre del complemento */
|
|
427
|
+
complementName?: string;
|
|
428
|
+
/** Valor del complemento en base64 */
|
|
429
|
+
base64ComplementValue?: string;
|
|
430
|
+
/** ID del XML */
|
|
431
|
+
xmlId?: string;
|
|
432
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CatalogDto } from '../common/catalog-dto';
|
|
2
|
+
import { ApiResponse } from '../common/api-response';
|
|
3
|
+
import { IFiscalapiHttpClient } from '../http/fiscalapi-http-client.interface';
|
|
4
|
+
import { IDownloadCatalogService } from '../abstractions/download-catalog.inteface';
|
|
5
|
+
/**
|
|
6
|
+
* Implementación del servicio de catálogos de descarga masiva
|
|
7
|
+
*/
|
|
8
|
+
export declare class DownloadCatalogService implements IDownloadCatalogService {
|
|
9
|
+
private readonly httpClient;
|
|
10
|
+
private readonly baseEndpoint;
|
|
11
|
+
private readonly apiVersion;
|
|
12
|
+
constructor(httpClient: IFiscalapiHttpClient, apiVersion?: string);
|
|
13
|
+
/**
|
|
14
|
+
* Construye el endpoint completo para las peticiones
|
|
15
|
+
* @param path - Ruta adicional opcional
|
|
16
|
+
* @returns URL completa del endpoint
|
|
17
|
+
*/
|
|
18
|
+
private buildEndpoint;
|
|
19
|
+
/**
|
|
20
|
+
* GET /api/v4/download-catalogs
|
|
21
|
+
* Recupera todos los nombres de los catálogos de descarga masiva disponibles
|
|
22
|
+
*/
|
|
23
|
+
getList(): Promise<ApiResponse<string[]>>;
|
|
24
|
+
/**
|
|
25
|
+
* GET /api/v4/download-catalogs/{catalogName}
|
|
26
|
+
* Lista todos los registros de un catálogo específico
|
|
27
|
+
*/
|
|
28
|
+
listCatalog(catalogName: string): Promise<ApiResponse<CatalogDto[]>>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { DownloadRequest, Xml, MetadataItem } from '../models/download';
|
|
2
|
+
import { IFiscalapiHttpClient } from '../http/fiscalapi-http-client.interface';
|
|
3
|
+
import { BaseFiscalapiService } from './base-fiscalapi-service';
|
|
4
|
+
import { IDownloadRequestService } from '../abstractions/download-request.service.interface';
|
|
5
|
+
import { ApiResponse } from '../common/api-response';
|
|
6
|
+
import { PagedList } from '../common/paged-list';
|
|
7
|
+
import { FileResponse } from '../common/file-response';
|
|
8
|
+
/**
|
|
9
|
+
* Implementación del servicio de solicitudes de descarga masiva
|
|
10
|
+
*/
|
|
11
|
+
export declare class DownloadRequestService extends BaseFiscalapiService<DownloadRequest> implements IDownloadRequestService {
|
|
12
|
+
/**
|
|
13
|
+
* Crea una nueva instancia del servicio de solicitudes de descarga masiva
|
|
14
|
+
* @param {IFiscalapiHttpClient} httpClient - Cliente HTTP
|
|
15
|
+
* @param {string} apiVersion - Versión de la API
|
|
16
|
+
*/
|
|
17
|
+
constructor(httpClient: IFiscalapiHttpClient, apiVersion: string);
|
|
18
|
+
/**
|
|
19
|
+
* Lista los xmls descargados para un requestId.
|
|
20
|
+
*
|
|
21
|
+
* @param requestId - ID de la solicitud
|
|
22
|
+
* @returns Lista paginada de objetos Xml
|
|
23
|
+
*/
|
|
24
|
+
getXmlsAsync(requestId: string): Promise<ApiResponse<PagedList<Xml>>>;
|
|
25
|
+
/**
|
|
26
|
+
* Lista los meta-items descargados para un requestId.
|
|
27
|
+
*
|
|
28
|
+
* @param requestId - ID de la solicitud
|
|
29
|
+
* @returns Lista paginada de objetos MetadataItem
|
|
30
|
+
*/
|
|
31
|
+
getMetadataItemsAsync(requestId: string): Promise<ApiResponse<PagedList<MetadataItem>>>;
|
|
32
|
+
/**
|
|
33
|
+
* Downloads la lista de paquetes (archivos .zip) de un requestId.
|
|
34
|
+
*
|
|
35
|
+
* @param requestId - ID de la solicitud
|
|
36
|
+
* @returns Lista de FileResponses
|
|
37
|
+
*/
|
|
38
|
+
downloadPackageAsync(requestId: string): Promise<ApiResponse<FileResponse[]>>;
|
|
39
|
+
/**
|
|
40
|
+
* Descarga el archivo crudo de solicitud SAT para un requestId.
|
|
41
|
+
*
|
|
42
|
+
* @param requestId - ID de la solicitud
|
|
43
|
+
* @returns Objeto de respuesta de archivo
|
|
44
|
+
*/
|
|
45
|
+
downloadSatRequestAsync(requestId: string): Promise<ApiResponse<FileResponse>>;
|
|
46
|
+
/**
|
|
47
|
+
* Descarga la respuesta SAT para un requestId.
|
|
48
|
+
*
|
|
49
|
+
* @param requestId - ID de la solicitud
|
|
50
|
+
* @returns Objeto de respuesta de archivo
|
|
51
|
+
*/
|
|
52
|
+
downloadSatResponseAsync(requestId: string): Promise<ApiResponse<FileResponse>>;
|
|
53
|
+
/**
|
|
54
|
+
* Busca solicitudes de descarga creadas en una fecha específica.
|
|
55
|
+
*
|
|
56
|
+
* @param createdAt - Fecha de creación
|
|
57
|
+
* @returns Lista de solicitudes de descarga
|
|
58
|
+
*/
|
|
59
|
+
searchAsync(createdAt: Date): Promise<ApiResponse<DownloadRequest[]>>;
|
|
60
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { DownloadRequest, DownloadRule } from '../models/download';
|
|
2
|
+
import { IFiscalapiHttpClient } from '../http/fiscalapi-http-client.interface';
|
|
3
|
+
import { BaseFiscalapiService } from './base-fiscalapi-service';
|
|
4
|
+
import { IDownloadRuleService } from '../abstractions/download-rule.service.inteface';
|
|
5
|
+
import { ApiResponse } from '../common/api-response';
|
|
6
|
+
/**
|
|
7
|
+
* Implementación del servicio de reglas de descarga masiva
|
|
8
|
+
*/
|
|
9
|
+
export declare class DownloadRuleService extends BaseFiscalapiService<DownloadRule> implements IDownloadRuleService {
|
|
10
|
+
/**
|
|
11
|
+
* Crea una nueva instancia del servicio de reglas de descarga masiva
|
|
12
|
+
* @param {IFiscalapiHttpClient} httpClient - Cliente HTTP
|
|
13
|
+
* @param {string} apiVersion - Versión de la API
|
|
14
|
+
*/
|
|
15
|
+
constructor(httpClient: IFiscalapiHttpClient, apiVersion: string);
|
|
16
|
+
/**
|
|
17
|
+
* Crea una regla y una solicitud de descarga masiva de prueba.
|
|
18
|
+
*
|
|
19
|
+
* @returns solicitud de descarga masiva de prueba
|
|
20
|
+
*/
|
|
21
|
+
createTestRule(): Promise<ApiResponse<DownloadRequest>>;
|
|
22
|
+
}
|
|
@@ -1,5 +1,14 @@
|
|
|
1
|
-
import { IFiscalapiClient
|
|
1
|
+
import { IFiscalapiClient } from '../abstractions/fiscalapi-client.interface';
|
|
2
|
+
import { IInvoiceService } from '../abstractions/invoice-service.interface';
|
|
3
|
+
import { IProductService } from '../abstractions/product-service.interface';
|
|
4
|
+
import { IPersonService } from '../abstractions/person-service.interface';
|
|
5
|
+
import { IApiKeyService } from '../abstractions/api-key-service.interface';
|
|
6
|
+
import { ICatalogService } from '../abstractions/catalog-service.interface';
|
|
7
|
+
import { ITaxFileService } from '../abstractions/tax-file-service.interface';
|
|
8
|
+
import { IDownloadCatalogService } from '../abstractions/download-catalog.inteface';
|
|
2
9
|
import { FiscalapiSettings } from '../common/fiscalapi-settings';
|
|
10
|
+
import { IDownloadRuleService } from '../abstractions/download-rule.service.inteface';
|
|
11
|
+
import { IDownloadRequestService } from '../abstractions/download-request.service.interface';
|
|
3
12
|
/**
|
|
4
13
|
* Cliente principal para FiscalAPI
|
|
5
14
|
*/
|
|
@@ -28,6 +37,18 @@ export declare class FiscalapiClient implements IFiscalapiClient {
|
|
|
28
37
|
* Servicio de archivos fiscales
|
|
29
38
|
*/
|
|
30
39
|
readonly taxFiles: ITaxFileService;
|
|
40
|
+
/**
|
|
41
|
+
* Servicio de catálogos de descarga masiva
|
|
42
|
+
*/
|
|
43
|
+
readonly downloadCatalogs: IDownloadCatalogService;
|
|
44
|
+
/**
|
|
45
|
+
* Servicio de reglas de descarga masiva
|
|
46
|
+
*/
|
|
47
|
+
readonly downloadRules: IDownloadRuleService;
|
|
48
|
+
/**
|
|
49
|
+
* Servicio de solicitudes de descarga masiva
|
|
50
|
+
*/
|
|
51
|
+
readonly downloadRequests: IDownloadRequestService;
|
|
31
52
|
/**
|
|
32
53
|
* Crea una nueva instancia del cliente de FiscalAPI
|
|
33
54
|
* @param {FiscalapiSettings} settings - Configuración
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fiscalapi",
|
|
3
|
-
"version": "4.0.
|
|
4
|
-
"description": "SDK de Node.js para
|
|
3
|
+
"version": "4.0.270",
|
|
4
|
+
"description": "SDK de Node.js para Fiscalapi",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
7
7
|
"types": "dist/types/index.d.ts",
|
|
8
8
|
"files": [
|
|
9
9
|
"dist/",
|
|
10
|
+
"README.md",
|
|
10
11
|
"fiscalapi.ico",
|
|
11
12
|
"fiscalapi.png",
|
|
12
13
|
"LICENSE.txt"
|
|
@@ -59,6 +60,6 @@
|
|
|
59
60
|
"@types/node": "^22.13.14",
|
|
60
61
|
"rimraf": "^6.0.1",
|
|
61
62
|
"ts-node": "^10.9.2",
|
|
62
|
-
"typescript": "^5.8.
|
|
63
|
+
"typescript": "^5.8.3"
|
|
63
64
|
}
|
|
64
65
|
}
|