@ramiidv/arca-fecred 0.2.0 → 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.
@@ -1,129 +1,83 @@
1
- import { WsaaClient } from '@ramiidv/arca-common';
2
- import type { ServerStatus } from '@ramiidv/arca-common';
1
+ import { ArcaSdkBase } from '@ramiidv/arca-common';
2
+ import type { CallOptions, ServerStatus } from '@ramiidv/arca-common';
3
3
  import { FecredClient } from './fecred-client.js';
4
- import type { ArcaFecredConfig, MontoObligadoResult, CtaCte, ComprobanteFecred, ConsultarCtasCtesParams, ConsultarComprobantesParams, AceptarFecredResult, RechazarFecredResult, InformarCanceladaParams, InformarCanceladaResult, TipoRetencionItem, TipoFormaCancelacionItem, TipoAjusteOperacionItem, TipoMotivoRechazoItem } from './types.js';
4
+ import type { AceptarFecredParams, ArcaFecredConfig, CodigoDescripcion, ConsultarComprobantesParams, ConsultarComprobantesResult, ConsultarCtaCteResult, ConsultarCtasCtesParams, ConsultarCtasCtesResult, ConsultarCuentasEnAgtDptoCltvResult, ConsultarFacturasAgtDptoCltvParams, ConsultarFacturasAgtDptoCltvResult, ConsultarMontoObligadoRecepcionParams, HistorialEstadosComprobanteResult, HistorialEstadosCtaCteResult, IdComprobante, IdComprobanteInput, IdCtaCteInput, InformarCancelacionTotalParams, InformarFacturaAgtDptoCltvParams, ModificarOpcionTransferenciaParams, MontoObligadoRecepcionResult, ObligadoRecepcionResult, OperacionFecredResult, RechazarFecredParams, RechazarNotaDCParams, RechazarNotaDCResult, TipoRetencion } from './types.js';
5
5
  /**
6
- * Main orchestrator class for ARCA WSFECRED (Factura de Credito Electronica MiPyME).
7
- *
8
- * Provides high-level methods that handle WSAA authentication automatically
9
- * and expose results from the WSFECRED web service for managing FCE
10
- * (Electronic Credit Invoices) under Law 27440.
6
+ * Cliente de alto nivel de WSFECRED (Factura de Crédito Electrónica MiPyME,
7
+ * Ley 27.440). Obtiene y cachea el Ticket de Acceso de WSAA automáticamente.
11
8
  *
12
9
  * @example
13
10
  * ```ts
14
- * import { ArcaFecred } from '@ramiidv/arca-fecred';
15
- * import { readFileSync } from 'fs';
16
- *
17
11
  * const fecred = new ArcaFecred({
18
12
  * cert: readFileSync('cert.pem', 'utf-8'),
19
13
  * key: readFileSync('key.pem', 'utf-8'),
20
- * cuit: '20123456789',
21
- * production: false,
14
+ * cuit: '20123456786',
22
15
  * });
23
16
  *
24
- * // Check if a CUIT is obligated to receive FCE
25
- * const obligado = await fecred.consultarMontoObligadoRecepcion('30712345678');
26
- * console.log(obligado.obligado); // true/false
17
+ * const { obligado, montoDesde } = await fecred.consultarMontoObligadoRecepcion({
18
+ * cuitConsultada: '30712345674',
19
+ * fechaEmision: '2026-11-01',
20
+ * });
27
21
  *
28
- * // Query current accounts
29
- * const cuentas = await fecred.consultarCtasCtes({
22
+ * const { ctasCtes, hayMas } = await fecred.consultarCtasCtes({
30
23
  * rol: 'Receptor',
31
- * fechaDesde: '2026-01-01',
32
- * fechaHasta: '2026-03-31',
24
+ * fecha: { tipo: 'Emision', desde: '2026-10-01', hasta: '2026-10-31' },
33
25
  * });
34
26
  * ```
35
27
  */
36
- export declare class ArcaFecred {
37
- /** Low-level WSAA client for direct access */
38
- readonly wsaa: WsaaClient;
39
- /** Low-level WSFECRED client for direct access */
40
- readonly fecred: FecredClient;
41
- private readonly cuit;
42
- private readonly onEvent?;
28
+ export declare class ArcaFecred extends ArcaSdkBase<'wsfecred'> {
29
+ /** Cliente de bajo nivel de FECredService. */
30
+ readonly client: FecredClient;
31
+ /** @deprecated Usá `client` (mismo objeto; mismo nombre que en el resto de los SDKs). */
32
+ get fecred(): FecredClient;
43
33
  constructor(config: ArcaFecredConfig);
34
+ /** Estado de los servidores de WSFECRED (`dummy`, sin autenticación). */
35
+ status(opts?: CallOptions): Promise<ServerStatus>;
36
+ /** Si una CUIT está obligada a recibir FCE para una fecha de emisión, y desde qué monto. */
37
+ consultarMontoObligadoRecepcion(params: ConsultarMontoObligadoRecepcionParams, opts?: CallOptions): Promise<MontoObligadoRecepcionResult>;
38
+ /** Si una CUIT está obligada a recibir FCE y desde qué fecha. */
39
+ consultarObligadoRecepcion(cuitConsultada: number | string, opts?: CallOptions): Promise<ObligadoRecepcionResult>;
40
+ /** Cuentas corrientes de FCE (paginado: ver `hayMas` / `nroPagina`). */
41
+ consultarCtasCtes(params: ConsultarCtasCtesParams, opts?: CallOptions): Promise<ConsultarCtasCtesResult>;
42
+ /** Detalle de una cuenta corriente. */
43
+ consultarCtaCte(idCtaCte: IdCtaCteInput, opts?: CallOptions): Promise<ConsultarCtaCteResult>;
44
+ /** Comprobantes FCE (paginado: ver `hayMas` / `nroPagina`). */
45
+ consultarComprobantes(params: ConsultarComprobantesParams, opts?: CallOptions): Promise<ConsultarComprobantesResult>;
46
+ /** Historial de estados de un comprobante. */
47
+ consultarHistorialEstadosComprobante(idComprobante: IdComprobanteInput, opts?: CallOptions): Promise<HistorialEstadosComprobanteResult>;
48
+ /** Historial de estados de una cuenta corriente. */
49
+ consultarHistorialEstadosCtaCte(idCtaCte: IdCtaCteInput, opts?: CallOptions): Promise<HistorialEstadosCtaCteResult>;
50
+ /** Remitos asociados a un comprobante. */
51
+ obtenerRemitos(idComprobante: IdComprobanteInput, opts?: CallOptions): Promise<IdComprobante[]>;
44
52
  /**
45
- * Health check for the WSFECRED service.
46
- * Does not require authentication.
47
- */
48
- status(): Promise<ServerStatus>;
49
- /**
50
- * Check if a CUIT is obligated to receive FCE (Factura de Credito Electronica).
51
- * Authenticates automatically via WSAA.
52
- *
53
- * @param cuitConsultada - CUIT to check
54
- * @returns Result indicating if the CUIT is obligated and the threshold amount
55
- */
56
- consultarMontoObligadoRecepcion(cuitConsultada: string): Promise<MontoObligadoResult>;
57
- /**
58
- * Query current accounts from FCE activity.
59
- * Authenticates automatically via WSAA.
60
- *
61
- * @param params - Query filters (role, CUITs, date range)
62
- * @returns Array of current account records
63
- */
64
- consultarCtasCtes(params: ConsultarCtasCtesParams): Promise<CtaCte[]>;
65
- /**
66
- * Search FCE invoices by filters.
67
- * Authenticates automatically via WSAA.
68
- *
69
- * @param params - Query filters
70
- * @returns Array of FCE invoice records
71
- */
72
- consultarComprobantes(params: ConsultarComprobantesParams): Promise<ComprobanteFecred[]>;
73
- /**
74
- * Accept an FCE (Factura de Credito Electronica).
75
- * Authenticates automatically via WSAA.
76
- *
77
- * @param codCtaCte - Current account code of the FCE to accept
78
- * @returns Result of the acceptance operation
79
- */
80
- aceptarFECred(codCtaCte: number): Promise<AceptarFecredResult>;
81
- /**
82
- * Reject an FCE (Factura de Credito Electronica).
83
- * Authenticates automatically via WSAA.
84
- *
85
- * @param codCtaCte - Current account code of the FCE to reject
86
- * @param codMotivoRechazo - Rejection reason code (use MotivoRechazo enum)
87
- * @returns Result of the rejection operation
88
- */
89
- rechazarFECred(codCtaCte: number, codMotivoRechazo: number): Promise<RechazarFecredResult>;
90
- /**
91
- * Inform that an accepted FCE was paid/cancelled.
92
- * Authenticates automatically via WSAA.
93
- *
94
- * @param params - Cancellation details (account code, payment method, optional observations)
95
- * @returns Result of the cancellation notification
96
- */
97
- informarFacturaAceptadaCancelada(params: InformarCanceladaParams): Promise<InformarCanceladaResult>;
98
- /**
99
- * Query available retention types.
100
- * Authenticates automatically via WSAA.
101
- */
102
- consultarTiposRetenciones(): Promise<TipoRetencionItem[]>;
103
- /**
104
- * Query available payment method types for cancelling accepted FCE.
105
- * Authenticates automatically via WSAA.
106
- */
107
- consultarTiposFormasCancelacion(): Promise<TipoFormaCancelacionItem[]>;
108
- /**
109
- * Query available operation adjustment types.
110
- * Authenticates automatically via WSAA.
111
- */
112
- consultarTiposAjustesOperacion(): Promise<TipoAjusteOperacionItem[]>;
113
- /**
114
- * Query available rejection reason types.
115
- * Authenticates automatically via WSAA.
116
- */
117
- consultarTiposMotivoRechazo(): Promise<TipoMotivoRechazoItem[]>;
118
- /** Invalidate the cached WSAA access ticket for WSFECRED. */
119
- clearAuthCache(): void;
120
- private getAuth;
121
- private parseCtaCte;
122
- private parseComprobante;
123
- /**
124
- * Generic parser for parameter arrays from WSFECRED responses.
125
- * Handles varying SOAP response structures (different key names, namespaces).
53
+ * Acepta una FCE. Un rechazo de ARCA (errores o `resultado = 'R'`) se lanza
54
+ * como `ArcaServiceError`. Si la respuesta se pierde (`ArcaSoapError` con
55
+ * `uncertain`), consultá el estado con `consultarCtaCte` antes de reintentar.
126
56
  */
127
- private parseParamArray;
57
+ aceptarFECred(params: AceptarFecredParams, opts?: CallOptions): Promise<OperacionFecredResult>;
58
+ /** Rechaza una FCE (motivos de `consultarTiposMotivosRechazo`). */
59
+ rechazarFECred(params: RechazarFecredParams, opts?: CallOptions): Promise<OperacionFecredResult>;
60
+ /** Informa la cancelación total de una FCE aceptada. */
61
+ informarCancelacionTotalFECred(params: InformarCancelacionTotalParams, opts?: CallOptions): Promise<OperacionFecredResult>;
62
+ /** Rechaza una nota de débito/crédito asociada a una FCE. */
63
+ rechazarNotaDC(params: RechazarNotaDCParams, opts?: CallOptions): Promise<RechazarNotaDCResult>;
64
+ /** Cambia la opción de transferencia (SCA/ADC) de una cuenta corriente. */
65
+ modificarOpcionTransferencia(params: ModificarOpcionTransferenciaParams, opts?: CallOptions): Promise<OperacionFecredResult>;
66
+ /** Informa una factura a un Agente de Depósito Colectivo. */
67
+ informarFacturaAgtDptoCltv(params: InformarFacturaAgtDptoCltvParams, opts?: CallOptions): Promise<OperacionFecredResult>;
68
+ /** Cuentas de la CUIT representada en Agentes de Depósito Colectivo. */
69
+ consultarCuentasEnAgtDptoCltv(opts?: CallOptions): Promise<ConsultarCuentasEnAgtDptoCltvResult>;
70
+ /** Facturas informadas a Agentes de Depósito Colectivo. */
71
+ consultarFacturasAgtDptoCltv(params?: ConsultarFacturasAgtDptoCltvParams, opts?: CallOptions): Promise<ConsultarFacturasAgtDptoCltvResult>;
72
+ /** Tipos de retenciones (jurisdicción y porcentaje). */
73
+ consultarTiposRetenciones(opts?: CallOptions): Promise<TipoRetencion[]>;
74
+ /** Formas de cancelación (para `aceptarFECred` / `informarCancelacionTotalFECred`). */
75
+ consultarTiposFormasCancelacion(opts?: CallOptions): Promise<CodigoDescripcion[]>;
76
+ /** Motivos de rechazo (para `rechazarFECred` / `rechazarNotaDC`). */
77
+ consultarTiposMotivosRechazo(opts?: CallOptions): Promise<CodigoDescripcion[]>;
78
+ /** Tipos de ajustes de operación (para `aceptarFECred`). */
79
+ consultarTiposAjustesOperacion(opts?: CallOptions): Promise<CodigoDescripcion[]>;
80
+ /** Credenciales diferidas: el cliente las pide después de validar los parámetros. */
81
+ private auth;
128
82
  }
129
83
  //# sourceMappingURL=arca-fecred.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arca-fecred.d.ts","sourceRoot":"","sources":["../src/arca-fecred.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAe,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAA8B,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EACV,gBAAgB,EAEhB,mBAAmB,EACnB,MAAM,EACN,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,UAAU;IACrB,8CAA8C;IAC9C,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,kDAAkD;IAClD,SAAgB,MAAM,EAAE,YAAY,CAAC;IAErC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA6B;gBAE1C,MAAM,EAAE,gBAAgB;IAkCpC;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,YAAY,CAAC;IAQrC;;;;;;OAMG;IACG,+BAA+B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAe3F;;;;;;OAMG;IACG,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAsB3E;;;;;;OAMG;IACG,qBAAqB,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAyB9F;;;;;;OAMG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAYpE;;;;;;;OAOG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAYhG;;;;;;OAMG;IACG,gCAAgC,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAoBzG;;;OAGG;IACG,yBAAyB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAc/D;;;OAGG;IACG,+BAA+B,IAAI,OAAO,CAAC,wBAAwB,EAAE,CAAC;IAc5E;;;OAGG;IACG,8BAA8B,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAc1E;;;OAGG;IACG,2BAA2B,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAkBrE,6DAA6D;IAC7D,cAAc,IAAI,IAAI;YAQR,OAAO;IASrB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,gBAAgB;IA4CxB;;;OAGG;IACH,OAAO,CAAC,eAAe;CA6BxB"}
1
+ {"version":3,"file":"arca-fecred.d.ts","sourceRoot":"","sources":["../src/arca-fecred.ts"],"names":[],"mappings":"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"}