@factucat/sdk 0.2.1 → 0.3.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 +74 -0
- package/dist/index.d.ts +61 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +153 -40
- package/dist/index.js.map +1 -1
- package/package.json +13 -3
package/README.md
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
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.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,23 +1,47 @@
|
|
|
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
|
+
type HttpMethod = 'DELETE' | 'GET' | 'PATCH' | 'POST';
|
|
2
3
|
export declare class FactuCatApiError extends Error {
|
|
3
|
-
|
|
4
|
+
/** Server error code; may be a newer code than this SDK's typed enum. */
|
|
5
|
+
readonly code: PublicApiErrorCode | (string & {});
|
|
4
6
|
readonly requestId: string;
|
|
5
7
|
readonly retryable: boolean;
|
|
6
8
|
readonly status: number;
|
|
7
9
|
constructor(input: {
|
|
8
|
-
code: PublicApiErrorCode;
|
|
10
|
+
code: PublicApiErrorCode | (string & {});
|
|
9
11
|
message: string;
|
|
10
12
|
requestId: string;
|
|
11
13
|
retryable: boolean;
|
|
12
14
|
status: number;
|
|
13
15
|
});
|
|
14
16
|
}
|
|
17
|
+
export declare class FactuCatNetworkError extends Error {
|
|
18
|
+
readonly method: HttpMethod;
|
|
19
|
+
readonly path: string;
|
|
20
|
+
readonly retryable: boolean;
|
|
21
|
+
readonly timedOut: boolean;
|
|
22
|
+
constructor(input: {
|
|
23
|
+
method: HttpMethod;
|
|
24
|
+
path: string;
|
|
25
|
+
timedOut: boolean;
|
|
26
|
+
cause?: unknown;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
15
29
|
type RequestOptions = {
|
|
16
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
|
+
*/
|
|
17
36
|
idempotencyKey?: string;
|
|
18
37
|
};
|
|
19
38
|
export type FactuCatSdkOptions = {
|
|
20
|
-
|
|
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;
|
|
21
45
|
apiKey: string;
|
|
22
46
|
userAgent?: string;
|
|
23
47
|
timeoutMs?: number;
|
|
@@ -30,6 +54,10 @@ export declare class FactuCatSdk {
|
|
|
30
54
|
private readonly timeoutMs;
|
|
31
55
|
private readonly userAgent?;
|
|
32
56
|
constructor(options: FactuCatSdkOptions);
|
|
57
|
+
private isTimeoutError;
|
|
58
|
+
private shouldRetryRequest;
|
|
59
|
+
private toApiError;
|
|
60
|
+
private sleep;
|
|
33
61
|
getMe(options?: RequestOptions): Promise<PublicMe>;
|
|
34
62
|
listCustomers(input?: CustomerListQuery, options?: RequestOptions): Promise<{
|
|
35
63
|
id: string;
|
|
@@ -106,10 +134,11 @@ export declare class FactuCatSdk {
|
|
|
106
134
|
status: "error" | "draft" | "issued" | "cancelled";
|
|
107
135
|
cfdiType: string;
|
|
108
136
|
cfdiUse: string;
|
|
137
|
+
exportacion: "01" | "02" | "03" | "04";
|
|
109
138
|
currency: "MXN" | "USD" | "EUR";
|
|
110
139
|
exchangeRate: number;
|
|
111
140
|
subtotal: number;
|
|
112
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
141
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
113
142
|
taxTotal: number;
|
|
114
143
|
total: number;
|
|
115
144
|
pdfLanguage: "es" | "en";
|
|
@@ -124,7 +153,7 @@ export declare class FactuCatSdk {
|
|
|
124
153
|
quantity: number;
|
|
125
154
|
unitPrice: number;
|
|
126
155
|
amount: number;
|
|
127
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
156
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
128
157
|
isrWithholdingRate: 0 | 0.1 | 0.0125;
|
|
129
158
|
productCode?: string | undefined;
|
|
130
159
|
vatSource?: "default" | "manual" | "inferred" | undefined;
|
|
@@ -161,10 +190,11 @@ export declare class FactuCatSdk {
|
|
|
161
190
|
status: "error" | "draft" | "issued" | "cancelled";
|
|
162
191
|
cfdiType: string;
|
|
163
192
|
cfdiUse: string;
|
|
193
|
+
exportacion: "01" | "02" | "03" | "04";
|
|
164
194
|
currency: "MXN" | "USD" | "EUR";
|
|
165
195
|
exchangeRate: number;
|
|
166
196
|
subtotal: number;
|
|
167
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
197
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
168
198
|
taxTotal: number;
|
|
169
199
|
total: number;
|
|
170
200
|
pdfLanguage: "es" | "en";
|
|
@@ -179,7 +209,7 @@ export declare class FactuCatSdk {
|
|
|
179
209
|
quantity: number;
|
|
180
210
|
unitPrice: number;
|
|
181
211
|
amount: number;
|
|
182
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
212
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
183
213
|
isrWithholdingRate: 0 | 0.1 | 0.0125;
|
|
184
214
|
productCode?: string | undefined;
|
|
185
215
|
vatSource?: "default" | "manual" | "inferred" | undefined;
|
|
@@ -216,10 +246,11 @@ export declare class FactuCatSdk {
|
|
|
216
246
|
status: "error" | "draft" | "issued" | "cancelled";
|
|
217
247
|
cfdiType: string;
|
|
218
248
|
cfdiUse: string;
|
|
249
|
+
exportacion: "01" | "02" | "03" | "04";
|
|
219
250
|
currency: "MXN" | "USD" | "EUR";
|
|
220
251
|
exchangeRate: number;
|
|
221
252
|
subtotal: number;
|
|
222
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
253
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
223
254
|
taxTotal: number;
|
|
224
255
|
total: number;
|
|
225
256
|
pdfLanguage: "es" | "en";
|
|
@@ -234,7 +265,7 @@ export declare class FactuCatSdk {
|
|
|
234
265
|
quantity: number;
|
|
235
266
|
unitPrice: number;
|
|
236
267
|
amount: number;
|
|
237
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
268
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
238
269
|
isrWithholdingRate: 0 | 0.1 | 0.0125;
|
|
239
270
|
productCode?: string | undefined;
|
|
240
271
|
vatSource?: "default" | "manual" | "inferred" | undefined;
|
|
@@ -271,10 +302,11 @@ export declare class FactuCatSdk {
|
|
|
271
302
|
status: "error" | "draft" | "issued" | "cancelled";
|
|
272
303
|
cfdiType: string;
|
|
273
304
|
cfdiUse: string;
|
|
305
|
+
exportacion: "01" | "02" | "03" | "04";
|
|
274
306
|
currency: "MXN" | "USD" | "EUR";
|
|
275
307
|
exchangeRate: number;
|
|
276
308
|
subtotal: number;
|
|
277
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
309
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
278
310
|
taxTotal: number;
|
|
279
311
|
total: number;
|
|
280
312
|
pdfLanguage: "es" | "en";
|
|
@@ -289,7 +321,7 @@ export declare class FactuCatSdk {
|
|
|
289
321
|
quantity: number;
|
|
290
322
|
unitPrice: number;
|
|
291
323
|
amount: number;
|
|
292
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
324
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
293
325
|
isrWithholdingRate: 0 | 0.1 | 0.0125;
|
|
294
326
|
productCode?: string | undefined;
|
|
295
327
|
vatSource?: "default" | "manual" | "inferred" | undefined;
|
|
@@ -326,10 +358,11 @@ export declare class FactuCatSdk {
|
|
|
326
358
|
status: "error" | "draft" | "issued" | "cancelled";
|
|
327
359
|
cfdiType: string;
|
|
328
360
|
cfdiUse: string;
|
|
361
|
+
exportacion: "01" | "02" | "03" | "04";
|
|
329
362
|
currency: "MXN" | "USD" | "EUR";
|
|
330
363
|
exchangeRate: number;
|
|
331
364
|
subtotal: number;
|
|
332
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
365
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
333
366
|
taxTotal: number;
|
|
334
367
|
total: number;
|
|
335
368
|
pdfLanguage: "es" | "en";
|
|
@@ -344,7 +377,7 @@ export declare class FactuCatSdk {
|
|
|
344
377
|
quantity: number;
|
|
345
378
|
unitPrice: number;
|
|
346
379
|
amount: number;
|
|
347
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
380
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
348
381
|
isrWithholdingRate: 0 | 0.1 | 0.0125;
|
|
349
382
|
productCode?: string | undefined;
|
|
350
383
|
vatSource?: "default" | "manual" | "inferred" | undefined;
|
|
@@ -381,10 +414,11 @@ export declare class FactuCatSdk {
|
|
|
381
414
|
status: "error" | "draft" | "issued" | "cancelled";
|
|
382
415
|
cfdiType: string;
|
|
383
416
|
cfdiUse: string;
|
|
417
|
+
exportacion: "01" | "02" | "03" | "04";
|
|
384
418
|
currency: "MXN" | "USD" | "EUR";
|
|
385
419
|
exchangeRate: number;
|
|
386
420
|
subtotal: number;
|
|
387
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
421
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
388
422
|
taxTotal: number;
|
|
389
423
|
total: number;
|
|
390
424
|
pdfLanguage: "es" | "en";
|
|
@@ -399,7 +433,7 @@ export declare class FactuCatSdk {
|
|
|
399
433
|
quantity: number;
|
|
400
434
|
unitPrice: number;
|
|
401
435
|
amount: number;
|
|
402
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
436
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
403
437
|
isrWithholdingRate: 0 | 0.1 | 0.0125;
|
|
404
438
|
productCode?: string | undefined;
|
|
405
439
|
vatSource?: "default" | "manual" | "inferred" | undefined;
|
|
@@ -436,10 +470,11 @@ export declare class FactuCatSdk {
|
|
|
436
470
|
status: "error" | "draft" | "issued" | "cancelled";
|
|
437
471
|
cfdiType: string;
|
|
438
472
|
cfdiUse: string;
|
|
473
|
+
exportacion: "01" | "02" | "03" | "04";
|
|
439
474
|
currency: "MXN" | "USD" | "EUR";
|
|
440
475
|
exchangeRate: number;
|
|
441
476
|
subtotal: number;
|
|
442
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
477
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
443
478
|
taxTotal: number;
|
|
444
479
|
total: number;
|
|
445
480
|
pdfLanguage: "es" | "en";
|
|
@@ -454,7 +489,7 @@ export declare class FactuCatSdk {
|
|
|
454
489
|
quantity: number;
|
|
455
490
|
unitPrice: number;
|
|
456
491
|
amount: number;
|
|
457
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
492
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
458
493
|
isrWithholdingRate: 0 | 0.1 | 0.0125;
|
|
459
494
|
productCode?: string | undefined;
|
|
460
495
|
vatSource?: "default" | "manual" | "inferred" | undefined;
|
|
@@ -494,10 +529,11 @@ export declare class FactuCatSdk {
|
|
|
494
529
|
status: "error" | "draft" | "issued" | "cancelled";
|
|
495
530
|
cfdiType: string;
|
|
496
531
|
cfdiUse: string;
|
|
532
|
+
exportacion: "01" | "02" | "03" | "04";
|
|
497
533
|
currency: "MXN" | "USD" | "EUR";
|
|
498
534
|
exchangeRate: number;
|
|
499
535
|
subtotal: number;
|
|
500
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
536
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
501
537
|
taxTotal: number;
|
|
502
538
|
total: number;
|
|
503
539
|
pdfLanguage: "es" | "en";
|
|
@@ -512,7 +548,7 @@ export declare class FactuCatSdk {
|
|
|
512
548
|
quantity: number;
|
|
513
549
|
unitPrice: number;
|
|
514
550
|
amount: number;
|
|
515
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
551
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
516
552
|
isrWithholdingRate: 0 | 0.1 | 0.0125;
|
|
517
553
|
productCode?: string | undefined;
|
|
518
554
|
vatSource?: "default" | "manual" | "inferred" | undefined;
|
|
@@ -538,6 +574,8 @@ export declare class FactuCatSdk {
|
|
|
538
574
|
issuedAt?: string | undefined;
|
|
539
575
|
cancelledAt?: string | undefined;
|
|
540
576
|
}>;
|
|
577
|
+
cancelInvoice(id: string, input: InvoiceCancelInput, options?: RequestOptions): Promise<InvoiceCancelOutput>;
|
|
578
|
+
cancelExternalInvoice(input: ExternalInvoiceCancelInput, options?: RequestOptions): Promise<ExternalInvoiceCancelOutput>;
|
|
541
579
|
listInvoices(input?: InvoiceListQuery, options?: RequestOptions): Promise<{
|
|
542
580
|
id: string;
|
|
543
581
|
folio: string;
|
|
@@ -562,10 +600,11 @@ export declare class FactuCatSdk {
|
|
|
562
600
|
status: "error" | "draft" | "issued" | "cancelled";
|
|
563
601
|
cfdiType: string;
|
|
564
602
|
cfdiUse: string;
|
|
603
|
+
exportacion: "01" | "02" | "03" | "04";
|
|
565
604
|
currency: "MXN" | "USD" | "EUR";
|
|
566
605
|
exchangeRate: number;
|
|
567
606
|
subtotal: number;
|
|
568
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
607
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
569
608
|
taxTotal: number;
|
|
570
609
|
total: number;
|
|
571
610
|
pdfLanguage: "es" | "en";
|
|
@@ -580,7 +619,7 @@ export declare class FactuCatSdk {
|
|
|
580
619
|
quantity: number;
|
|
581
620
|
unitPrice: number;
|
|
582
621
|
amount: number;
|
|
583
|
-
vatRate: 0 | 0.1 | 0.16;
|
|
622
|
+
vatRate: 0 | 0.08 | 0.1 | 0.16;
|
|
584
623
|
isrWithholdingRate: 0 | 0.1 | 0.0125;
|
|
585
624
|
productCode?: string | undefined;
|
|
586
625
|
vatSource?: "default" | "manual" | "inferred" | undefined;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,2BAA2B,EAC3B,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,QAAQ,EACT,MAAM,gCAAgC,CAAA;AAEvC,KAAK,UAAU,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,CAAA;AAErD,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,kBAAkB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;gBAEX,KAAK,EAAE;QACjB,IAAI,EAAE,kBAAkB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;QACxC,OAAO,EAAE,MAAM,CAAA;QACf,SAAS,EAAE,MAAM,CAAA;QACjB,SAAS,EAAE,OAAO,CAAA;QAClB,MAAM,EAAE,MAAM,CAAA;KACf;CAQF;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAEd,KAAK,EAAE;QACjB,MAAM,EAAE,UAAU,CAAA;QAClB,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,OAAO,CAAA;QACjB,KAAK,CAAC,EAAE,OAAO,CAAA;KAChB;CAaF;AAED,KAAK,cAAc,GAAG;IACpB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAChC,CAAA;AAcD,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAQ;gBAEvB,OAAO,EAAE,kBAAkB;IAavC,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,UAAU;YAmDJ,KAAK;IAIb,KAAK,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;IAQlD,aAAa,CAAC,KAAK,GAAE,iBAAsB,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;IAWrE,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;IASnE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;IAQhD,UAAU,CAAC,KAAK,GAAE,cAAmB,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;IAW/D,WAAW,CAAC,KAAK,GAAE,gBAAqB,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASlE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQ7C,gBAAgB,CACpB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,qBAAqB,EAC5B,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUpB,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUpB,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,iBAAiB,EACxB,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUpB,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,oBAAoB,EAC3B,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUpB,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IASpB,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;IAUjD,UAAU,CACd,EAAE,EAAE,MAAM,EACV,KAAK,GAAE,eAAoB,EAC3B,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAUpB,aAAa,CACjB,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,kBAAkB,EACzB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,mBAAmB,CAAC;IAWzB,qBAAqB,CACzB,KAAK,EAAE,0BAA0B,EACjC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,2BAA2B,CAAC;IAWjC,YAAY,CAAC,KAAK,GAAE,gBAAqB,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;IAWnE,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAQ/C,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;IAQvD,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc;;;;;YAQ/C,OAAO;CAqFtB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,eAE5D;AAED,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,GACjB,CAAA"}
|
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;
|
|
@@ -14,6 +15,23 @@ export class FactuCatApiError extends Error {
|
|
|
14
15
|
this.status = input.status;
|
|
15
16
|
}
|
|
16
17
|
}
|
|
18
|
+
export class FactuCatNetworkError extends Error {
|
|
19
|
+
method;
|
|
20
|
+
path;
|
|
21
|
+
retryable;
|
|
22
|
+
timedOut;
|
|
23
|
+
constructor(input) {
|
|
24
|
+
super(input.timedOut
|
|
25
|
+
? `FactuCat tardó demasiado en responder (${input.method} ${input.path}).`
|
|
26
|
+
: `No fue posible conectar con FactuCat (${input.method} ${input.path}).`);
|
|
27
|
+
this.name = 'FactuCatNetworkError';
|
|
28
|
+
this.method = input.method;
|
|
29
|
+
this.path = input.path;
|
|
30
|
+
this.retryable = true;
|
|
31
|
+
this.timedOut = input.timedOut;
|
|
32
|
+
this.cause = input.cause;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
17
35
|
function buildQuery(params) {
|
|
18
36
|
const search = new URLSearchParams();
|
|
19
37
|
for (const [key, value] of Object.entries(params)) {
|
|
@@ -33,11 +51,66 @@ export class FactuCatSdk {
|
|
|
33
51
|
userAgent;
|
|
34
52
|
constructor(options) {
|
|
35
53
|
this.apiKey = options.apiKey;
|
|
36
|
-
this.baseUrl = options.baseUrl
|
|
54
|
+
this.baseUrl = (options.baseUrl ??
|
|
55
|
+
(options.apiKey.startsWith('fc_test_')
|
|
56
|
+
? 'https://sandbox.factucat.com'
|
|
57
|
+
: 'https://factucat.com')).replace(/\/+$/, '');
|
|
37
58
|
this.fetchImpl = options.fetch ?? fetch;
|
|
38
59
|
this.timeoutMs = options.timeoutMs ?? 30_000;
|
|
39
60
|
this.userAgent = options.userAgent;
|
|
40
61
|
}
|
|
62
|
+
isTimeoutError(error) {
|
|
63
|
+
return error instanceof Error && error.name === 'AbortError';
|
|
64
|
+
}
|
|
65
|
+
shouldRetryRequest(input) {
|
|
66
|
+
return (input.method === 'GET' ||
|
|
67
|
+
input.method === 'DELETE' ||
|
|
68
|
+
input.idempotencyKey !== undefined);
|
|
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
|
+
}
|
|
111
|
+
async sleep(ms) {
|
|
112
|
+
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
113
|
+
}
|
|
41
114
|
async getMe(options) {
|
|
42
115
|
return this.request('/api/v1/me', {
|
|
43
116
|
method: 'GET',
|
|
@@ -145,6 +218,22 @@ export class FactuCatSdk {
|
|
|
145
218
|
...options,
|
|
146
219
|
});
|
|
147
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
|
+
}
|
|
148
237
|
async listInvoices(input = {}, options) {
|
|
149
238
|
const query = invoiceListQuerySchema.parse(input);
|
|
150
239
|
return this.request(`/api/v1/invoices${buildQuery(query)}`, {
|
|
@@ -175,48 +264,72 @@ export class FactuCatSdk {
|
|
|
175
264
|
});
|
|
176
265
|
}
|
|
177
266
|
async request(path, input) {
|
|
178
|
-
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
signal
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
...
|
|
203
|
-
|
|
204
|
-
|
|
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);
|
|
273
|
+
const maxAttempts = this.shouldRetryRequest({
|
|
274
|
+
method: input.method,
|
|
275
|
+
idempotencyKey,
|
|
276
|
+
})
|
|
277
|
+
? 2
|
|
278
|
+
: 1;
|
|
279
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {
|
|
280
|
+
const controller = new AbortController();
|
|
281
|
+
const timeout = setTimeout(() => controller.abort(), this.timeoutMs);
|
|
282
|
+
const signal = input.signal
|
|
283
|
+
? AbortSignal.any([input.signal, controller.signal])
|
|
284
|
+
: controller.signal;
|
|
285
|
+
try {
|
|
286
|
+
const response = await this.fetchImpl(`${this.baseUrl}${path}`, {
|
|
287
|
+
method: input.method,
|
|
288
|
+
headers: {
|
|
289
|
+
accept: 'application/json',
|
|
290
|
+
'x-api-key': this.apiKey,
|
|
291
|
+
...(input.body === undefined
|
|
292
|
+
? {}
|
|
293
|
+
: { 'content-type': 'application/json' }),
|
|
294
|
+
...(this.userAgent ? { 'user-agent': this.userAgent } : {}),
|
|
295
|
+
...(idempotencyKey ? { 'idempotency-key': idempotencyKey } : {}),
|
|
296
|
+
},
|
|
297
|
+
body: input.body === undefined ? undefined : JSON.stringify(input.body),
|
|
298
|
+
signal,
|
|
299
|
+
});
|
|
300
|
+
const json = await response.json().catch(() => ({}));
|
|
301
|
+
if (!response.ok) {
|
|
302
|
+
throw this.toApiError(json, response);
|
|
205
303
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
304
|
+
const parsed = input.responseSchema.parse(json);
|
|
305
|
+
return parsed.data;
|
|
306
|
+
}
|
|
307
|
+
catch (error) {
|
|
308
|
+
if (error instanceof FactuCatApiError || error instanceof z.ZodError) {
|
|
309
|
+
throw error;
|
|
310
|
+
}
|
|
311
|
+
const timedOut = this.isTimeoutError(error);
|
|
312
|
+
const shouldRetry = attempt < maxAttempts && !input.signal?.aborted;
|
|
313
|
+
if (shouldRetry) {
|
|
314
|
+
await this.sleep(250);
|
|
315
|
+
continue;
|
|
316
|
+
}
|
|
317
|
+
throw new FactuCatNetworkError({
|
|
318
|
+
method: input.method,
|
|
319
|
+
path,
|
|
320
|
+
timedOut,
|
|
321
|
+
cause: error,
|
|
212
322
|
});
|
|
213
323
|
}
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
finally {
|
|
218
|
-
clearTimeout(timeout);
|
|
324
|
+
finally {
|
|
325
|
+
clearTimeout(timeout);
|
|
326
|
+
}
|
|
219
327
|
}
|
|
328
|
+
throw new FactuCatNetworkError({
|
|
329
|
+
method: input.method,
|
|
330
|
+
path,
|
|
331
|
+
timedOut: false,
|
|
332
|
+
});
|
|
220
333
|
}
|
|
221
334
|
}
|
|
222
335
|
export function createFactuCatSdk(options) {
|
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.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
@@ -19,10 +19,20 @@
|
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"zod": "^4.3.6",
|
|
22
|
-
"@factucat/public-api-contracts": "0.
|
|
22
|
+
"@factucat/public-api-contracts": "0.3.0"
|
|
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
|
-
"
|
|
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
|
}
|