@factucat/sdk 0.2.2 → 0.4.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/README.md ADDED
@@ -0,0 +1,106 @@
1
+ # @factucat/sdk
2
+
3
+ SDK **0.3.0**, cliente oficial de FactuCat para TypeScript y Node.js. Incluye métodos tipados, validación de respuestas y autenticación mediante el header `X-API-Key`. Úsalo desde tu servidor para mantener privada la API key.
4
+
5
+ Consulta la [referencia de los 20 métodos](https://docs.factucat.com/sdk/metodos/) para ver parámetros, permisos, respuestas completas y ejemplos, junto con la [configuración](https://docs.factucat.com/sdk/configuracion/), los [tipos y la paginación](https://docs.factucat.com/sdk/tipos-y-paginacion/) y el [manejo de errores](https://docs.factucat.com/sdk/errores-y-reintentos/).
6
+
7
+ | Gestor | Instalación |
8
+ | ------ | --------------------------- |
9
+ | npm | `npm install @factucat/sdk` |
10
+ | yarn | `yarn add @factucat/sdk` |
11
+ | pnpm | `pnpm add @factucat/sdk` |
12
+ | bun | `bun add @factucat/sdk` |
13
+ | nub | `nub add @factucat/sdk` |
14
+
15
+ ```ts
16
+ import { createFactuCatSdk } from '@factucat/sdk'
17
+
18
+ const apiKey = process.env.FACTUCAT_API_KEY
19
+ if (!apiKey) throw new Error('Falta FACTUCAT_API_KEY')
20
+
21
+ const factucat = createFactuCatSdk({ apiKey })
22
+
23
+ const cuenta = await factucat.getMe()
24
+ console.log(cuenta.scopes)
25
+ ```
26
+
27
+ Los métodos devuelven directamente `data`, sin el envoltorio HTTP. El runtime debe ofrecer `fetch`, `crypto.randomUUID` y `AbortSignal.any` (por ejemplo, Node.js 22 o posterior).
28
+
29
+ ## Ambiente automático
30
+
31
+ `baseUrl` es opcional. Una llave con prefijo `fc_test_` selecciona `https://sandbox.factucat.com`; las demás llaves usan `https://factucat.com`.
32
+
33
+ Para desarrollo local u otro ambiente, puedes indicar una `baseUrl` explícita. Esta opción tiene prioridad sobre el prefijo de la llave y debe ser el origen, sin `/api/v1`:
34
+
35
+ ```ts
36
+ const factucat = createFactuCatSdk({
37
+ apiKey,
38
+ baseUrl: 'http://localhost:3000',
39
+ })
40
+ ```
41
+
42
+ Prepara tu cuenta y tu llave de pruebas en [sandbox.factucat.com](https://sandbox.factucat.com). Si una solicitud falla, el SDK conserva el mismo ambiente al reintentar.
43
+
44
+ ## Idempotencia automática
45
+
46
+ Cuando omites `idempotencyKey`, cada llamada que modifica datos genera una clave UUID y la envía en `Idempotency-Key`. Si hay un error de red o timeout, el SDK reintenta una sola vez con la misma clave y contenido. Las consultas GET no generan claves.
47
+
48
+ ```ts
49
+ // Una operación nueva: la clave se genera automáticamente.
50
+ const borrador = await factucat.createDraft()
51
+ ```
52
+
53
+ Una llamada nueva genera otra clave. Para continuar la misma operación después de un reinicio o desde otro proceso, guarda tu propia clave antes de enviar la solicitud y reutilízala con el mismo método, ruta y contenido:
54
+
55
+ ```ts
56
+ const borrador = await factucat.createDraft(
57
+ {},
58
+ {
59
+ idempotencyKey: 'pedido-1001-crear-borrador',
60
+ },
61
+ )
62
+ ```
63
+
64
+ Las claves propias deben tener entre 1 y 255 caracteres; se eliminan los espacios al inicio y al final. No se aceptan claves vacías. Usa una clave distinta para el siguiente paso, por ejemplo `pedido-1001-timbrar`.
65
+
66
+ ## Errores y reintentos
67
+
68
+ - `FactuCatApiError`: respuesta HTTP de error, con `status`, `code`, `requestId` y `retryable`. El SDK la devuelve sin reintentar automáticamente, incluso cuando `retryable` es `true`.
69
+ - `FactuCatNetworkError`: fallo de transporte después del reintento, o cancelación mediante `signal`. `timedOut` indica si el error final fue un timeout.
70
+ - `ZodError`: solicitud o respuesta que no cumple el contrato. No se reintenta automáticamente.
71
+
72
+ El timeout predeterminado es de 30 segundos por intento y la espera entre intentos es de 250 ms. Puedes configurar `timeoutMs` al crear el cliente y pasar un `signal` en las opciones de cada operación.
73
+
74
+ La clave generada protege los reintentos internos de una llamada. Si se agotan durante el timbrado, consulta el borrador o documento original: un error de conexión no confirma que el CFDI no se haya emitido.
75
+
76
+ ### Tratamiento de IVA por concepto
77
+
78
+ `addDraftItem` y `updateDraftItem` aceptan `vatTreatment` opcional:
79
+ `iva_16`, `iva_8`, `tasa_0`, `exento` o `no_objeto`.
80
+
81
+ ```ts
82
+ await sdk.addDraftItem(draftId, {
83
+ description: 'Servicio exento',
84
+ quantity: 1,
85
+ unitPrice: 1000,
86
+ vatTreatment: 'exento',
87
+ })
88
+ ```
89
+
90
+ Omitir el tratamiento conserva la inferencia fiscal. `vatRate` sigue siendo
91
+ compatible: `vatRate: 0` por sí solo significa **Tasa 0%**. Si se envían
92
+ `vatTreatment` y `vatRate`, deben coincidir; de lo contrario, la API responde
93
+ HTTP 400 con `invalid_input`. Un tratamiento explícito se guarda como manual.
94
+ Los conceptos de borradores y facturas exponen `objetoImp`, `vatKind` y
95
+ `vatTreatment` (este último no representa la tasa histórica de 10%).
96
+ La CLI permite `invoice-add-item --vat-treatment exento`; `--iva 0` sigue siendo Tasa 0%.
97
+
98
+
99
+ Optional CFDI issue date (`Fecha de emisión`): pass `issueDate` to `createDraft`,
100
+ `setDraftMeta`, or `stampDraft`. It accepts `YYYY-MM-DD` or an ISO datetime,
101
+ interpreted as a calendar day in the issuer's timezone (default
102
+ `America/Mexico_City`). Today and the previous two days are allowed to preserve
103
+ headroom within the SAT 72-hour limit. Stamp overrides are saved to the draft;
104
+ stored dates are revalidated at stamp time. Invalid or expired values return
105
+ HTTP 400 with `INVALID_ISSUE_DATE`. Records expose the saved calendar-day marker
106
+ as a UTC-midnight ISO string in `issueDate`; `issuedAt` remains the stamping time.
package/dist/index.d.ts CHANGED
@@ -1,12 +1,13 @@
1
- import type { CustomerCreateInput, CustomerListQuery, CustomerRecord, DraftAddItemInput, DraftCreateInput, DraftListItem, DraftListQuery, DraftRecord, DraftSetMetaInput, DraftSetReceiverInput, DraftStampInput, DraftUpdateItemInput, InvoiceListItem, InvoiceListQuery, InvoicePdfOutput, InvoiceRecord, InvoiceXmlOutput, PublicApiErrorCode, PublicMe } from '@factucat/public-api-contracts';
1
+ import type { CustomerCreateInput, CustomerListQuery, CustomerRecord, DraftAddItemInput, DraftCreateInput, DraftListItem, DraftListQuery, DraftRecord, DraftSetMetaInput, DraftSetReceiverInput, DraftStampInput, DraftUpdateItemInput, ExternalInvoiceCancelInput, ExternalInvoiceCancelOutput, InvoiceCancelInput, InvoiceCancelOutput, InvoiceListItem, InvoiceListQuery, InvoicePdfOutput, InvoiceRecord, InvoiceXmlOutput, PublicApiErrorCode, PublicMe } from '@factucat/public-api-contracts';
2
2
  type HttpMethod = 'DELETE' | 'GET' | 'PATCH' | 'POST';
3
3
  export declare class FactuCatApiError extends Error {
4
- readonly code: PublicApiErrorCode;
4
+ /** Server error code; may be a newer code than this SDK's typed enum. */
5
+ readonly code: PublicApiErrorCode | (string & {});
5
6
  readonly requestId: string;
6
7
  readonly retryable: boolean;
7
8
  readonly status: number;
8
9
  constructor(input: {
9
- code: PublicApiErrorCode;
10
+ code: PublicApiErrorCode | (string & {});
10
11
  message: string;
11
12
  requestId: string;
12
13
  retryable: boolean;
@@ -27,10 +28,20 @@ export declare class FactuCatNetworkError extends Error {
27
28
  }
28
29
  type RequestOptions = {
29
30
  signal?: AbortSignal;
31
+ /**
32
+ * Identifies one logical operation (1–255 characters).
33
+ * Mutations generate a UUID when omitted and reuse it for transport retries.
34
+ * Persist your own key to resume the same operation across separate calls.
35
+ */
30
36
  idempotencyKey?: string;
31
37
  };
32
38
  export type FactuCatSdkOptions = {
33
- baseUrl: string;
39
+ /**
40
+ * API origin, without /api/v1. Overrides automatic environment selection.
41
+ * Defaults to https://sandbox.factucat.com for fc_test_ keys and
42
+ * https://factucat.com for all other keys.
43
+ */
44
+ baseUrl?: string;
34
45
  apiKey: string;
35
46
  userAgent?: string;
36
47
  timeoutMs?: number;
@@ -45,6 +56,7 @@ export declare class FactuCatSdk {
45
56
  constructor(options: FactuCatSdkOptions);
46
57
  private isTimeoutError;
47
58
  private shouldRetryRequest;
59
+ private toApiError;
48
60
  private sleep;
49
61
  getMe(options?: RequestOptions): Promise<PublicMe>;
50
62
  listCustomers(input?: CustomerListQuery, options?: RequestOptions): Promise<{
@@ -59,6 +71,7 @@ export declare class FactuCatSdk {
59
71
  currency: "MXN" | "USD" | "EUR";
60
72
  createdAt: string;
61
73
  updatedAt: string;
74
+ preferredCfdiUse?: string | null | undefined;
62
75
  fiscalResidence?: string | undefined;
63
76
  taxId?: string | undefined;
64
77
  email?: string | undefined;
@@ -76,6 +89,7 @@ export declare class FactuCatSdk {
76
89
  currency: "MXN" | "USD" | "EUR";
77
90
  createdAt: string;
78
91
  updatedAt: string;
92
+ preferredCfdiUse?: string | null | undefined;
79
93
  fiscalResidence?: string | undefined;
80
94
  taxId?: string | undefined;
81
95
  email?: string | undefined;
@@ -93,6 +107,7 @@ export declare class FactuCatSdk {
93
107
  currency: "MXN" | "USD" | "EUR";
94
108
  createdAt: string;
95
109
  updatedAt: string;
110
+ preferredCfdiUse?: string | null | undefined;
96
111
  fiscalResidence?: string | undefined;
97
112
  taxId?: string | undefined;
98
113
  email?: string | undefined;
@@ -122,10 +137,11 @@ export declare class FactuCatSdk {
122
137
  status: "error" | "draft" | "issued" | "cancelled";
123
138
  cfdiType: string;
124
139
  cfdiUse: string;
140
+ exportacion: "01" | "02" | "03" | "04";
125
141
  currency: "MXN" | "USD" | "EUR";
126
142
  exchangeRate: number;
127
143
  subtotal: number;
128
- vatRate: 0 | 0.1 | 0.16;
144
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
129
145
  taxTotal: number;
130
146
  total: number;
131
147
  pdfLanguage: "es" | "en";
@@ -140,9 +156,12 @@ export declare class FactuCatSdk {
140
156
  quantity: number;
141
157
  unitPrice: number;
142
158
  amount: number;
143
- vatRate: 0 | 0.1 | 0.16;
159
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
144
160
  isrWithholdingRate: 0 | 0.1 | 0.0125;
145
161
  productCode?: string | undefined;
162
+ objetoImp?: "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | undefined;
163
+ vatKind?: "exento" | "none" | "tasa" | undefined;
164
+ vatTreatment?: "iva_16" | "iva_8" | "tasa_0" | "exento" | "no_objeto" | undefined;
146
165
  vatSource?: "default" | "manual" | "inferred" | undefined;
147
166
  vatReason?: string | undefined;
148
167
  isrWithholdingSource?: "default" | "manual" | "inferred" | undefined;
@@ -163,6 +182,7 @@ export declare class FactuCatSdk {
163
182
  exchangeRateDate?: string | undefined;
164
183
  customerNotes?: string | undefined;
165
184
  errorMessage?: string | undefined;
185
+ issueDate?: string | undefined;
166
186
  issuedAt?: string | undefined;
167
187
  cancelledAt?: string | undefined;
168
188
  }>;
@@ -177,10 +197,11 @@ export declare class FactuCatSdk {
177
197
  status: "error" | "draft" | "issued" | "cancelled";
178
198
  cfdiType: string;
179
199
  cfdiUse: string;
200
+ exportacion: "01" | "02" | "03" | "04";
180
201
  currency: "MXN" | "USD" | "EUR";
181
202
  exchangeRate: number;
182
203
  subtotal: number;
183
- vatRate: 0 | 0.1 | 0.16;
204
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
184
205
  taxTotal: number;
185
206
  total: number;
186
207
  pdfLanguage: "es" | "en";
@@ -195,9 +216,12 @@ export declare class FactuCatSdk {
195
216
  quantity: number;
196
217
  unitPrice: number;
197
218
  amount: number;
198
- vatRate: 0 | 0.1 | 0.16;
219
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
199
220
  isrWithholdingRate: 0 | 0.1 | 0.0125;
200
221
  productCode?: string | undefined;
222
+ objetoImp?: "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | undefined;
223
+ vatKind?: "exento" | "none" | "tasa" | undefined;
224
+ vatTreatment?: "iva_16" | "iva_8" | "tasa_0" | "exento" | "no_objeto" | undefined;
201
225
  vatSource?: "default" | "manual" | "inferred" | undefined;
202
226
  vatReason?: string | undefined;
203
227
  isrWithholdingSource?: "default" | "manual" | "inferred" | undefined;
@@ -218,6 +242,7 @@ export declare class FactuCatSdk {
218
242
  exchangeRateDate?: string | undefined;
219
243
  customerNotes?: string | undefined;
220
244
  errorMessage?: string | undefined;
245
+ issueDate?: string | undefined;
221
246
  issuedAt?: string | undefined;
222
247
  cancelledAt?: string | undefined;
223
248
  }>;
@@ -232,10 +257,11 @@ export declare class FactuCatSdk {
232
257
  status: "error" | "draft" | "issued" | "cancelled";
233
258
  cfdiType: string;
234
259
  cfdiUse: string;
260
+ exportacion: "01" | "02" | "03" | "04";
235
261
  currency: "MXN" | "USD" | "EUR";
236
262
  exchangeRate: number;
237
263
  subtotal: number;
238
- vatRate: 0 | 0.1 | 0.16;
264
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
239
265
  taxTotal: number;
240
266
  total: number;
241
267
  pdfLanguage: "es" | "en";
@@ -250,9 +276,12 @@ export declare class FactuCatSdk {
250
276
  quantity: number;
251
277
  unitPrice: number;
252
278
  amount: number;
253
- vatRate: 0 | 0.1 | 0.16;
279
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
254
280
  isrWithholdingRate: 0 | 0.1 | 0.0125;
255
281
  productCode?: string | undefined;
282
+ objetoImp?: "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | undefined;
283
+ vatKind?: "exento" | "none" | "tasa" | undefined;
284
+ vatTreatment?: "iva_16" | "iva_8" | "tasa_0" | "exento" | "no_objeto" | undefined;
256
285
  vatSource?: "default" | "manual" | "inferred" | undefined;
257
286
  vatReason?: string | undefined;
258
287
  isrWithholdingSource?: "default" | "manual" | "inferred" | undefined;
@@ -273,6 +302,7 @@ export declare class FactuCatSdk {
273
302
  exchangeRateDate?: string | undefined;
274
303
  customerNotes?: string | undefined;
275
304
  errorMessage?: string | undefined;
305
+ issueDate?: string | undefined;
276
306
  issuedAt?: string | undefined;
277
307
  cancelledAt?: string | undefined;
278
308
  }>;
@@ -287,10 +317,11 @@ export declare class FactuCatSdk {
287
317
  status: "error" | "draft" | "issued" | "cancelled";
288
318
  cfdiType: string;
289
319
  cfdiUse: string;
320
+ exportacion: "01" | "02" | "03" | "04";
290
321
  currency: "MXN" | "USD" | "EUR";
291
322
  exchangeRate: number;
292
323
  subtotal: number;
293
- vatRate: 0 | 0.1 | 0.16;
324
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
294
325
  taxTotal: number;
295
326
  total: number;
296
327
  pdfLanguage: "es" | "en";
@@ -305,9 +336,12 @@ export declare class FactuCatSdk {
305
336
  quantity: number;
306
337
  unitPrice: number;
307
338
  amount: number;
308
- vatRate: 0 | 0.1 | 0.16;
339
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
309
340
  isrWithholdingRate: 0 | 0.1 | 0.0125;
310
341
  productCode?: string | undefined;
342
+ objetoImp?: "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | undefined;
343
+ vatKind?: "exento" | "none" | "tasa" | undefined;
344
+ vatTreatment?: "iva_16" | "iva_8" | "tasa_0" | "exento" | "no_objeto" | undefined;
311
345
  vatSource?: "default" | "manual" | "inferred" | undefined;
312
346
  vatReason?: string | undefined;
313
347
  isrWithholdingSource?: "default" | "manual" | "inferred" | undefined;
@@ -328,6 +362,7 @@ export declare class FactuCatSdk {
328
362
  exchangeRateDate?: string | undefined;
329
363
  customerNotes?: string | undefined;
330
364
  errorMessage?: string | undefined;
365
+ issueDate?: string | undefined;
331
366
  issuedAt?: string | undefined;
332
367
  cancelledAt?: string | undefined;
333
368
  }>;
@@ -342,10 +377,11 @@ export declare class FactuCatSdk {
342
377
  status: "error" | "draft" | "issued" | "cancelled";
343
378
  cfdiType: string;
344
379
  cfdiUse: string;
380
+ exportacion: "01" | "02" | "03" | "04";
345
381
  currency: "MXN" | "USD" | "EUR";
346
382
  exchangeRate: number;
347
383
  subtotal: number;
348
- vatRate: 0 | 0.1 | 0.16;
384
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
349
385
  taxTotal: number;
350
386
  total: number;
351
387
  pdfLanguage: "es" | "en";
@@ -360,9 +396,12 @@ export declare class FactuCatSdk {
360
396
  quantity: number;
361
397
  unitPrice: number;
362
398
  amount: number;
363
- vatRate: 0 | 0.1 | 0.16;
399
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
364
400
  isrWithholdingRate: 0 | 0.1 | 0.0125;
365
401
  productCode?: string | undefined;
402
+ objetoImp?: "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | undefined;
403
+ vatKind?: "exento" | "none" | "tasa" | undefined;
404
+ vatTreatment?: "iva_16" | "iva_8" | "tasa_0" | "exento" | "no_objeto" | undefined;
366
405
  vatSource?: "default" | "manual" | "inferred" | undefined;
367
406
  vatReason?: string | undefined;
368
407
  isrWithholdingSource?: "default" | "manual" | "inferred" | undefined;
@@ -383,6 +422,7 @@ export declare class FactuCatSdk {
383
422
  exchangeRateDate?: string | undefined;
384
423
  customerNotes?: string | undefined;
385
424
  errorMessage?: string | undefined;
425
+ issueDate?: string | undefined;
386
426
  issuedAt?: string | undefined;
387
427
  cancelledAt?: string | undefined;
388
428
  }>;
@@ -397,10 +437,11 @@ export declare class FactuCatSdk {
397
437
  status: "error" | "draft" | "issued" | "cancelled";
398
438
  cfdiType: string;
399
439
  cfdiUse: string;
440
+ exportacion: "01" | "02" | "03" | "04";
400
441
  currency: "MXN" | "USD" | "EUR";
401
442
  exchangeRate: number;
402
443
  subtotal: number;
403
- vatRate: 0 | 0.1 | 0.16;
444
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
404
445
  taxTotal: number;
405
446
  total: number;
406
447
  pdfLanguage: "es" | "en";
@@ -415,9 +456,12 @@ export declare class FactuCatSdk {
415
456
  quantity: number;
416
457
  unitPrice: number;
417
458
  amount: number;
418
- vatRate: 0 | 0.1 | 0.16;
459
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
419
460
  isrWithholdingRate: 0 | 0.1 | 0.0125;
420
461
  productCode?: string | undefined;
462
+ objetoImp?: "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | undefined;
463
+ vatKind?: "exento" | "none" | "tasa" | undefined;
464
+ vatTreatment?: "iva_16" | "iva_8" | "tasa_0" | "exento" | "no_objeto" | undefined;
421
465
  vatSource?: "default" | "manual" | "inferred" | undefined;
422
466
  vatReason?: string | undefined;
423
467
  isrWithholdingSource?: "default" | "manual" | "inferred" | undefined;
@@ -438,6 +482,7 @@ export declare class FactuCatSdk {
438
482
  exchangeRateDate?: string | undefined;
439
483
  customerNotes?: string | undefined;
440
484
  errorMessage?: string | undefined;
485
+ issueDate?: string | undefined;
441
486
  issuedAt?: string | undefined;
442
487
  cancelledAt?: string | undefined;
443
488
  }>;
@@ -452,10 +497,11 @@ export declare class FactuCatSdk {
452
497
  status: "error" | "draft" | "issued" | "cancelled";
453
498
  cfdiType: string;
454
499
  cfdiUse: string;
500
+ exportacion: "01" | "02" | "03" | "04";
455
501
  currency: "MXN" | "USD" | "EUR";
456
502
  exchangeRate: number;
457
503
  subtotal: number;
458
- vatRate: 0 | 0.1 | 0.16;
504
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
459
505
  taxTotal: number;
460
506
  total: number;
461
507
  pdfLanguage: "es" | "en";
@@ -470,9 +516,12 @@ export declare class FactuCatSdk {
470
516
  quantity: number;
471
517
  unitPrice: number;
472
518
  amount: number;
473
- vatRate: 0 | 0.1 | 0.16;
519
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
474
520
  isrWithholdingRate: 0 | 0.1 | 0.0125;
475
521
  productCode?: string | undefined;
522
+ objetoImp?: "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | undefined;
523
+ vatKind?: "exento" | "none" | "tasa" | undefined;
524
+ vatTreatment?: "iva_16" | "iva_8" | "tasa_0" | "exento" | "no_objeto" | undefined;
476
525
  vatSource?: "default" | "manual" | "inferred" | undefined;
477
526
  vatReason?: string | undefined;
478
527
  isrWithholdingSource?: "default" | "manual" | "inferred" | undefined;
@@ -493,6 +542,7 @@ export declare class FactuCatSdk {
493
542
  exchangeRateDate?: string | undefined;
494
543
  customerNotes?: string | undefined;
495
544
  errorMessage?: string | undefined;
545
+ issueDate?: string | undefined;
496
546
  issuedAt?: string | undefined;
497
547
  cancelledAt?: string | undefined;
498
548
  }>;
@@ -510,10 +560,11 @@ export declare class FactuCatSdk {
510
560
  status: "error" | "draft" | "issued" | "cancelled";
511
561
  cfdiType: string;
512
562
  cfdiUse: string;
563
+ exportacion: "01" | "02" | "03" | "04";
513
564
  currency: "MXN" | "USD" | "EUR";
514
565
  exchangeRate: number;
515
566
  subtotal: number;
516
- vatRate: 0 | 0.1 | 0.16;
567
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
517
568
  taxTotal: number;
518
569
  total: number;
519
570
  pdfLanguage: "es" | "en";
@@ -528,9 +579,12 @@ export declare class FactuCatSdk {
528
579
  quantity: number;
529
580
  unitPrice: number;
530
581
  amount: number;
531
- vatRate: 0 | 0.1 | 0.16;
582
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
532
583
  isrWithholdingRate: 0 | 0.1 | 0.0125;
533
584
  productCode?: string | undefined;
585
+ objetoImp?: "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | undefined;
586
+ vatKind?: "exento" | "none" | "tasa" | undefined;
587
+ vatTreatment?: "iva_16" | "iva_8" | "tasa_0" | "exento" | "no_objeto" | undefined;
534
588
  vatSource?: "default" | "manual" | "inferred" | undefined;
535
589
  vatReason?: string | undefined;
536
590
  isrWithholdingSource?: "default" | "manual" | "inferred" | undefined;
@@ -551,9 +605,12 @@ export declare class FactuCatSdk {
551
605
  exchangeRateDate?: string | undefined;
552
606
  customerNotes?: string | undefined;
553
607
  errorMessage?: string | undefined;
608
+ issueDate?: string | undefined;
554
609
  issuedAt?: string | undefined;
555
610
  cancelledAt?: string | undefined;
556
611
  }>;
612
+ cancelInvoice(id: string, input: InvoiceCancelInput, options?: RequestOptions): Promise<InvoiceCancelOutput>;
613
+ cancelExternalInvoice(input: ExternalInvoiceCancelInput, options?: RequestOptions): Promise<ExternalInvoiceCancelOutput>;
557
614
  listInvoices(input?: InvoiceListQuery, options?: RequestOptions): Promise<{
558
615
  id: string;
559
616
  folio: string;
@@ -578,10 +635,11 @@ export declare class FactuCatSdk {
578
635
  status: "error" | "draft" | "issued" | "cancelled";
579
636
  cfdiType: string;
580
637
  cfdiUse: string;
638
+ exportacion: "01" | "02" | "03" | "04";
581
639
  currency: "MXN" | "USD" | "EUR";
582
640
  exchangeRate: number;
583
641
  subtotal: number;
584
- vatRate: 0 | 0.1 | 0.16;
642
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
585
643
  taxTotal: number;
586
644
  total: number;
587
645
  pdfLanguage: "es" | "en";
@@ -596,9 +654,12 @@ export declare class FactuCatSdk {
596
654
  quantity: number;
597
655
  unitPrice: number;
598
656
  amount: number;
599
- vatRate: 0 | 0.1 | 0.16;
657
+ vatRate: 0 | 0.08 | 0.1 | 0.16;
600
658
  isrWithholdingRate: 0 | 0.1 | 0.0125;
601
659
  productCode?: string | undefined;
660
+ objetoImp?: "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | undefined;
661
+ vatKind?: "exento" | "none" | "tasa" | undefined;
662
+ vatTreatment?: "iva_16" | "iva_8" | "tasa_0" | "exento" | "no_objeto" | undefined;
602
663
  vatSource?: "default" | "manual" | "inferred" | undefined;
603
664
  vatReason?: string | undefined;
604
665
  isrWithholdingSource?: "default" | "manual" | "inferred" | undefined;
@@ -619,6 +680,7 @@ export declare class FactuCatSdk {
619
680
  exchangeRateDate?: string | undefined;
620
681
  customerNotes?: string | undefined;
621
682
  errorMessage?: string | undefined;
683
+ issueDate?: string | undefined;
622
684
  issuedAt?: string | undefined;
623
685
  cancelledAt?: string | undefined;
624
686
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
+ import { createPublicSuccessEnvelopeSchema, customerCreateInputSchema, customerListQuerySchema, customerRecordSchema, draftAddItemInputSchema, draftCreateInputSchema, draftListItemSchema, draftListQuerySchema, draftRecordSchema, draftSetMetaInputSchema, draftSetReceiverInputSchema, draftStampInputSchema, draftUpdateItemInputSchema, externalInvoiceCancelInputSchema, externalInvoiceCancelOutputSchema, invoiceCancelInputSchema, invoiceCancelOutputSchema, invoiceListItemSchema, invoiceListQuerySchema, invoicePdfOutputSchema, invoiceRecordSchema, invoiceXmlOutputSchema, publicApiErrorCodeSchema, publicErrorEnvelopeSchema, publicMeSchema, } from '@factucat/public-api-contracts';
1
2
  import { z } from 'zod';
2
- import { createPublicSuccessEnvelopeSchema, customerCreateInputSchema, customerListQuerySchema, customerRecordSchema, draftAddItemInputSchema, draftCreateInputSchema, draftListItemSchema, draftListQuerySchema, draftRecordSchema, draftSetMetaInputSchema, draftSetReceiverInputSchema, draftStampInputSchema, draftUpdateItemInputSchema, invoiceListItemSchema, invoiceListQuerySchema, invoicePdfOutputSchema, invoiceRecordSchema, invoiceXmlOutputSchema, publicErrorEnvelopeSchema, publicMeSchema, } from '@factucat/public-api-contracts';
3
3
  export class FactuCatApiError extends Error {
4
+ /** Server error code; may be a newer code than this SDK's typed enum. */
4
5
  code;
5
6
  requestId;
6
7
  retryable;
@@ -50,7 +51,10 @@ export class FactuCatSdk {
50
51
  userAgent;
51
52
  constructor(options) {
52
53
  this.apiKey = options.apiKey;
53
- this.baseUrl = options.baseUrl.replace(/\/+$/, '');
54
+ this.baseUrl = (options.baseUrl ??
55
+ (options.apiKey.startsWith('fc_test_')
56
+ ? 'https://sandbox.factucat.com'
57
+ : 'https://factucat.com')).replace(/\/+$/, '');
54
58
  this.fetchImpl = options.fetch ?? fetch;
55
59
  this.timeoutMs = options.timeoutMs ?? 30_000;
56
60
  this.userAgent = options.userAgent;
@@ -63,6 +67,47 @@ export class FactuCatSdk {
63
67
  input.method === 'DELETE' ||
64
68
  input.idempotencyKey !== undefined);
65
69
  }
70
+ toApiError(json, response) {
71
+ const parsed = publicErrorEnvelopeSchema.safeParse(json);
72
+ if (parsed.success) {
73
+ return new FactuCatApiError({
74
+ ...parsed.data.error,
75
+ status: response.status,
76
+ });
77
+ }
78
+ const headerRequestId = response.headers.get('x-request-id') ??
79
+ response.headers.get('X-Request-Id');
80
+ const body = json && typeof json === 'object' && 'error' in json
81
+ ? json.error
82
+ : undefined;
83
+ const record = body && typeof body === 'object' ? body : null;
84
+ const codeRaw = typeof record?.code === 'string' ? record.code : null;
85
+ const knownCode = codeRaw
86
+ ? publicApiErrorCodeSchema.safeParse(codeRaw)
87
+ : null;
88
+ const message = typeof record?.message === 'string' && record.message.trim().length > 0
89
+ ? record.message
90
+ : `Respuesta inválida del servidor (${response.status}).`;
91
+ const requestId = (typeof record?.requestId === 'string' &&
92
+ record.requestId.trim().length > 0
93
+ ? record.requestId
94
+ : null) ??
95
+ (headerRequestId && headerRequestId.trim().length > 0
96
+ ? headerRequestId
97
+ : 'unknown');
98
+ const retryable = typeof record?.retryable === 'boolean'
99
+ ? record.retryable
100
+ : response.status >= 500;
101
+ return new FactuCatApiError({
102
+ code: knownCode?.success
103
+ ? knownCode.data
104
+ : (codeRaw ?? 'internal_error'),
105
+ message,
106
+ requestId,
107
+ retryable,
108
+ status: response.status,
109
+ });
110
+ }
66
111
  async sleep(ms) {
67
112
  await new Promise((resolve) => setTimeout(resolve, ms));
68
113
  }
@@ -173,6 +218,22 @@ export class FactuCatSdk {
173
218
  ...options,
174
219
  });
175
220
  }
221
+ async cancelInvoice(id, input, options) {
222
+ return this.request(`/api/v1/invoices/${id}/cancel`, {
223
+ method: 'POST',
224
+ body: invoiceCancelInputSchema.parse(input),
225
+ responseSchema: createPublicSuccessEnvelopeSchema(invoiceCancelOutputSchema),
226
+ ...options,
227
+ });
228
+ }
229
+ async cancelExternalInvoice(input, options) {
230
+ return this.request('/api/v1/external-invoice-cancellations', {
231
+ method: 'POST',
232
+ body: externalInvoiceCancelInputSchema.parse(input),
233
+ responseSchema: createPublicSuccessEnvelopeSchema(externalInvoiceCancelOutputSchema),
234
+ ...options,
235
+ });
236
+ }
176
237
  async listInvoices(input = {}, options) {
177
238
  const query = invoiceListQuerySchema.parse(input);
178
239
  return this.request(`/api/v1/invoices${buildQuery(query)}`, {
@@ -203,9 +264,15 @@ export class FactuCatSdk {
203
264
  });
204
265
  }
205
266
  async request(path, input) {
267
+ // Resolve once per logical call, before retries can reach the server.
268
+ const idempotencyKey = input.idempotencyKey === undefined
269
+ ? input.method === 'GET'
270
+ ? undefined
271
+ : globalThis.crypto.randomUUID()
272
+ : z.string().trim().min(1).max(255).parse(input.idempotencyKey);
206
273
  const maxAttempts = this.shouldRetryRequest({
207
274
  method: input.method,
208
- idempotencyKey: input.idempotencyKey,
275
+ idempotencyKey,
209
276
  })
210
277
  ? 2
211
278
  : 1;
@@ -225,29 +292,14 @@ export class FactuCatSdk {
225
292
  ? {}
226
293
  : { 'content-type': 'application/json' }),
227
294
  ...(this.userAgent ? { 'user-agent': this.userAgent } : {}),
228
- ...(input.idempotencyKey
229
- ? { 'idempotency-key': input.idempotencyKey }
230
- : {}),
295
+ ...(idempotencyKey ? { 'idempotency-key': idempotencyKey } : {}),
231
296
  },
232
297
  body: input.body === undefined ? undefined : JSON.stringify(input.body),
233
298
  signal,
234
299
  });
235
300
  const json = await response.json().catch(() => ({}));
236
301
  if (!response.ok) {
237
- const parsed = publicErrorEnvelopeSchema.safeParse(json);
238
- if (parsed.success) {
239
- throw new FactuCatApiError({
240
- ...parsed.data.error,
241
- status: response.status,
242
- });
243
- }
244
- throw new FactuCatApiError({
245
- code: 'internal_error',
246
- message: `Respuesta inválida del servidor (${response.status}).`,
247
- requestId: 'unknown',
248
- retryable: response.status >= 500,
249
- status: response.status,
250
- });
302
+ throw this.toApiError(json, response);
251
303
  }
252
304
  const parsed = input.responseSchema.parse(json);
253
305
  return parsed.data;
@@ -257,7 +309,7 @@ export class FactuCatSdk {
257
309
  throw error;
258
310
  }
259
311
  const timedOut = this.isTimeoutError(error);
260
- const shouldRetry = attempt < maxAttempts && !(input.signal?.aborted);
312
+ const shouldRetry = attempt < maxAttempts && !input.signal?.aborted;
261
313
  if (shouldRetry) {
262
314
  await this.sleep(250);
263
315
  continue;
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@factucat/sdk",
3
- "version": "0.2.2",
3
+ "version": "0.4.0",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -18,11 +18,21 @@
18
18
  }
19
19
  },
20
20
  "dependencies": {
21
- "zod": "^4.3.6",
22
- "@factucat/public-api-contracts": "0.2.1"
21
+ "@factucat/public-api-contracts": "0.4.0",
22
+ "zod": "^4.6.7"
23
+ },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/factucat/factucat.git",
27
+ "directory": "packages/sdk"
28
+ },
29
+ "homepage": "https://github.com/factucat/factucat/tree/main/packages/sdk",
30
+ "bugs": {
31
+ "url": "https://github.com/factucat/factucat/issues"
23
32
  },
24
33
  "scripts": {
25
34
  "build": "tsc -p tsconfig.build.json",
26
- "lint": "eslint \"src/**/*.ts\" --ignore-pattern \"src/**/*.d.ts\""
35
+ "test": "pnpm build && node --test tests/*.test.mjs",
36
+ "lint": "eslint \"src/**/*.ts\" \"tests/**/*.mjs\" --ignore-pattern \"src/**/*.d.ts\""
27
37
  }
28
38
  }