@ramiidv/arca-fecred 0.1.0 → 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.
@@ -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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"}
@@ -1,365 +1,191 @@
1
- import { WsaaClient, ensureArray } from '@ramiidv/arca-common';
1
+ import { WsaaClient } from '@ramiidv/arca-common';
2
2
  import { ENDPOINTS } from './constants.js';
3
3
  import { FecredClient } from './fecred-client.js';
4
- import { validateCuit, validateCodCtaCte, validateConsultaCtasCtes } from './validation.js';
4
+ import { cuitParam } from './validation.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
28
  export class ArcaFecred {
37
- /** Low-level WSAA client for direct access */
29
+ /** Cliente WSAA (se puede compartir con otros SDKs). */
38
30
  wsaa;
39
- /** Low-level WSFECRED client for direct access */
31
+ /** Cliente de bajo nivel de FECredService. */
40
32
  fecred;
33
+ /** CUIT representada (11 dígitos). */
41
34
  cuit;
42
- onEvent;
43
35
  constructor(config) {
44
- const isProduction = config.production ?? false;
45
- const env = isProduction ? 'production' : 'testing';
46
- this.cuit = config.cuit;
47
- this.onEvent = config.onEvent;
48
- const soapOptions = {
49
- timeout: config.timeout,
50
- retries: config.retries,
51
- retryDelayMs: config.retryDelayMs,
52
- };
53
- this.wsaa = new WsaaClient({
54
- cert: config.cert,
55
- key: config.key,
56
- production: isProduction,
57
- timeout: config.timeout,
58
- retries: config.retries,
59
- retryDelayMs: config.retryDelayMs,
60
- onEvent: config.onEvent,
61
- });
36
+ const production = config.production ?? false;
37
+ this.cuit = cuitParam(config.cuit, 'cuit');
38
+ this.wsaa =
39
+ config.wsaa ??
40
+ new WsaaClient({
41
+ cert: config.cert,
42
+ key: config.key,
43
+ production,
44
+ endpoint: config.endpoints?.wsaa,
45
+ tokenTTLMinutes: config.tokenTTLMinutes,
46
+ timeout: config.timeout,
47
+ retries: config.retries,
48
+ retryDelayMs: config.retryDelayMs,
49
+ onEvent: config.onEvent,
50
+ ticketStorage: config.ticketStorage,
51
+ clockOffsetMs: config.clockOffsetMs,
52
+ autoClockSkew: config.autoClockSkew,
53
+ loginErrorCooldownMs: config.loginErrorCooldownMs,
54
+ fetch: config.fetch,
55
+ legacyTls: config.legacyTls,
56
+ });
62
57
  this.fecred = new FecredClient({
63
- endpoint: ENDPOINTS.wsfecred[env],
58
+ endpoint: config.endpoints?.wsfecred ?? (production ? ENDPOINTS.wsfecred.production : ENDPOINTS.wsfecred.testing),
64
59
  namespace: ENDPOINTS.wsfecred.namespace,
65
- soapOptions,
60
+ soapOptions: {
61
+ timeout: config.timeout,
62
+ retries: config.retries,
63
+ retryDelayMs: config.retryDelayMs,
64
+ fetch: config.fetch,
65
+ legacyTls: config.legacyTls,
66
+ },
66
67
  onEvent: config.onEvent,
67
68
  });
68
69
  }
69
70
  // =========================================================================
70
71
  // Health check
71
72
  // =========================================================================
72
- /**
73
- * Health check for the WSFECRED service.
74
- * Does not require authentication.
75
- */
76
- async status() {
77
- return this.fecred.dummy();
73
+ /** Estado de los servidores de WSFECRED (`dummy`, sin autenticación). */
74
+ status(opts) {
75
+ return this.fecred.dummy(opts);
78
76
  }
79
77
  // =========================================================================
80
- // Consultas de operaciones
78
+ // Obligación de recepción
81
79
  // =========================================================================
82
- /**
83
- * Check if a CUIT is obligated to receive FCE (Factura de Credito Electronica).
84
- * Authenticates automatically via WSAA.
85
- *
86
- * @param cuitConsultada - CUIT to check
87
- * @returns Result indicating if the CUIT is obligated and the threshold amount
88
- */
89
- async consultarMontoObligadoRecepcion(cuitConsultada) {
90
- validateCuit(cuitConsultada, 'cuitConsultada');
91
- const auth = await this.getAuth();
92
- const result = await this.fecred.consultarMontoObligadoRecepcion(auth, cuitConsultada);
93
- return {
94
- cuitConsultada,
95
- obligado: (result['obligado'] ?? result['Obligado'] ?? false),
96
- montoDesde: result['montoDesde'] != null
97
- ? Number(result['montoDesde'] ?? result['MontoDesde'])
98
- : undefined,
99
- raw: result,
100
- };
101
- }
102
- /**
103
- * Query current accounts from FCE activity.
104
- * Authenticates automatically via WSAA.
105
- *
106
- * @param params - Query filters (role, CUITs, date range)
107
- * @returns Array of current account records
108
- */
109
- async consultarCtasCtes(params) {
110
- validateConsultaCtasCtes(params);
111
- const auth = await this.getAuth();
112
- const result = await this.fecred.consultarCtasCtes(auth, {
113
- rol: params.rol,
114
- cuitEmisor: params.cuitEmisor,
115
- cuitReceptor: params.cuitReceptor,
116
- fechaDesde: params.fechaDesde,
117
- fechaHasta: params.fechaHasta,
118
- });
119
- const ctasCtes = result['arrayCtasCtes'] ?? result['CtasCtes'] ?? result['ctasCtes'];
120
- if (!ctasCtes)
121
- return [];
122
- const ctasCtesObj = ctasCtes;
123
- const items = ensureArray(ctasCtesObj['CtaCte'] ?? ctasCtesObj['ctaCte'] ?? ctasCtesObj);
124
- return items.map((item) => this.parseCtaCte(item));
80
+ /** Si una CUIT está obligada a recibir FCE para una fecha de emisión, y desde qué monto. */
81
+ consultarMontoObligadoRecepcion(params, opts) {
82
+ return this.fecred.consultarMontoObligadoRecepcion(this.auth(opts), params, opts);
125
83
  }
126
- /**
127
- * Search FCE invoices by filters.
128
- * Authenticates automatically via WSAA.
129
- *
130
- * @param params - Query filters
131
- * @returns Array of FCE invoice records
132
- */
133
- async consultarComprobantes(params) {
134
- const auth = await this.getAuth();
135
- const result = await this.fecred.consultarComprobantes(auth, {
136
- cuitEmisor: params.cuitEmisor,
137
- cuitReceptor: params.cuitReceptor,
138
- codCtaCte: params.codCtaCte,
139
- fechaDesde: params.fechaDesde,
140
- fechaHasta: params.fechaHasta,
141
- });
142
- const comprobantes = result['arrayComprobantes'] ?? result['Comprobantes'] ?? result['comprobantes'];
143
- if (!comprobantes)
144
- return [];
145
- const compObj = comprobantes;
146
- const items = ensureArray(compObj['Comprobante'] ?? compObj['comprobante'] ?? compObj);
147
- return items.map((item) => this.parseComprobante(item));
84
+ /** Si una CUIT está obligada a recibir FCE y desde qué fecha. */
85
+ consultarObligadoRecepcion(cuitConsultada, opts) {
86
+ return this.fecred.consultarObligadoRecepcion(this.auth(opts), cuitConsultada, opts);
148
87
  }
149
88
  // =========================================================================
150
- // Acciones sobre FCE
89
+ // Consultas
151
90
  // =========================================================================
152
- /**
153
- * Accept an FCE (Factura de Credito Electronica).
154
- * Authenticates automatically via WSAA.
155
- *
156
- * @param codCtaCte - Current account code of the FCE to accept
157
- * @returns Result of the acceptance operation
158
- */
159
- async aceptarFECred(codCtaCte) {
160
- validateCodCtaCte(codCtaCte);
161
- const auth = await this.getAuth();
162
- const result = await this.fecred.aceptarFECred(auth, codCtaCte);
163
- return {
164
- codCtaCte,
165
- resultado: (result['resultado'] ?? result['Resultado'] ?? ''),
166
- raw: result,
167
- };
91
+ /** Cuentas corrientes de FCE (paginado: ver `hayMas` / `nroPagina`). */
92
+ consultarCtasCtes(params, opts) {
93
+ return this.fecred.consultarCtasCtes(this.auth(opts), params, opts);
168
94
  }
169
- /**
170
- * Reject an FCE (Factura de Credito Electronica).
171
- * Authenticates automatically via WSAA.
172
- *
173
- * @param codCtaCte - Current account code of the FCE to reject
174
- * @param codMotivoRechazo - Rejection reason code (use MotivoRechazo enum)
175
- * @returns Result of the rejection operation
176
- */
177
- async rechazarFECred(codCtaCte, codMotivoRechazo) {
178
- validateCodCtaCte(codCtaCte);
179
- const auth = await this.getAuth();
180
- const result = await this.fecred.rechazarFECred(auth, codCtaCte, codMotivoRechazo);
181
- return {
182
- codCtaCte,
183
- resultado: (result['resultado'] ?? result['Resultado'] ?? ''),
184
- raw: result,
185
- };
95
+ /** Detalle de una cuenta corriente. */
96
+ consultarCtaCte(idCtaCte, opts) {
97
+ return this.fecred.consultarCtaCte(this.auth(opts), idCtaCte, opts);
186
98
  }
187
- /**
188
- * Inform that an accepted FCE was paid/cancelled.
189
- * Authenticates automatically via WSAA.
190
- *
191
- * @param params - Cancellation details (account code, payment method, optional observations)
192
- * @returns Result of the cancellation notification
193
- */
194
- async informarFacturaAceptadaCancelada(params) {
195
- validateCodCtaCte(params.codCtaCte);
196
- const auth = await this.getAuth();
197
- const result = await this.fecred.informarFacturaAceptadaCancelada(auth, {
198
- codCtaCte: params.codCtaCte,
199
- codFormaCancelacion: params.codFormaCancelacion,
200
- observaciones: params.observaciones,
201
- });
202
- return {
203
- codCtaCte: params.codCtaCte,
204
- resultado: (result['resultado'] ?? result['Resultado'] ?? ''),
205
- raw: result,
206
- };
99
+ /** Comprobantes FCE (paginado: ver `hayMas` / `nroPagina`). */
100
+ consultarComprobantes(params, opts) {
101
+ return this.fecred.consultarComprobantes(this.auth(opts), params, opts);
102
+ }
103
+ /** Historial de estados de un comprobante. */
104
+ consultarHistorialEstadosComprobante(idComprobante, opts) {
105
+ return this.fecred.consultarHistorialEstadosComprobante(this.auth(opts), idComprobante, opts);
106
+ }
107
+ /** Historial de estados de una cuenta corriente. */
108
+ consultarHistorialEstadosCtaCte(idCtaCte, opts) {
109
+ return this.fecred.consultarHistorialEstadosCtaCte(this.auth(opts), idCtaCte, opts);
110
+ }
111
+ /** Remitos asociados a un comprobante. */
112
+ obtenerRemitos(idComprobante, opts) {
113
+ return this.fecred.obtenerRemitos(this.auth(opts), idComprobante, opts);
207
114
  }
208
115
  // =========================================================================
209
- // Consultas de parametros
116
+ // Operaciones (no idempotentes: nunca se reintentan)
210
117
  // =========================================================================
211
118
  /**
212
- * Query available retention types.
213
- * Authenticates automatically via WSAA.
119
+ * Acepta una FCE. Un rechazo de ARCA (errores o `resultado = 'R'`) se lanza
120
+ * como `ArcaServiceError`. Si la respuesta se pierde (`ArcaSoapError` con
121
+ * `uncertain`), consultá el estado con `consultarCtaCte` antes de reintentar.
214
122
  */
215
- async consultarTiposRetenciones() {
216
- const auth = await this.getAuth();
217
- const result = await this.fecred.consultarTiposRetenciones(auth);
218
- return this.parseParamArray(result, ['arrayTiposRetenciones', 'TiposRetenciones', 'tiposRetenciones'], ['TipoRetencion', 'tipoRetencion'], (item) => ({
219
- codTipoRetencion: Number(item['codTipoRetencion'] ?? item['CodTipoRetencion'] ?? 0),
220
- descTipoRetencion: (item['descTipoRetencion'] ?? item['DescTipoRetencion'] ?? ''),
221
- }));
123
+ aceptarFECred(params, opts) {
124
+ return this.fecred.aceptarFECred(this.auth(opts), params, opts);
222
125
  }
223
- /**
224
- * Query available payment method types for cancelling accepted FCE.
225
- * Authenticates automatically via WSAA.
226
- */
227
- async consultarTiposFormasCancelacion() {
228
- const auth = await this.getAuth();
229
- const result = await this.fecred.consultarTiposFormasCancelacion(auth);
230
- return this.parseParamArray(result, ['arrayTiposFormasCancelacion', 'TiposFormasCancelacion', 'tiposFormasCancelacion'], ['TipoFormaCancelacion', 'tipoFormaCancelacion'], (item) => ({
231
- codFormaCancelacion: Number(item['codFormaCancelacion'] ?? item['CodFormaCancelacion'] ?? 0),
232
- descFormaCancelacion: (item['descFormaCancelacion'] ?? item['DescFormaCancelacion'] ?? ''),
233
- }));
126
+ /** Rechaza una FCE (motivos de `consultarTiposMotivosRechazo`). */
127
+ rechazarFECred(params, opts) {
128
+ return this.fecred.rechazarFECred(this.auth(opts), params, opts);
234
129
  }
235
- /**
236
- * Query available operation adjustment types.
237
- * Authenticates automatically via WSAA.
238
- */
239
- async consultarTiposAjustesOperacion() {
240
- const auth = await this.getAuth();
241
- const result = await this.fecred.consultarTiposAjustesOperacion(auth);
242
- return this.parseParamArray(result, ['arrayTiposAjustesOperacion', 'TiposAjustesOperacion', 'tiposAjustesOperacion'], ['TipoAjusteOperacion', 'tipoAjusteOperacion'], (item) => ({
243
- codTipoAjuste: Number(item['codTipoAjuste'] ?? item['CodTipoAjuste'] ?? 0),
244
- descTipoAjuste: (item['descTipoAjuste'] ?? item['DescTipoAjuste'] ?? ''),
245
- }));
130
+ /** Informa la cancelación total de una FCE aceptada. */
131
+ informarCancelacionTotalFECred(params, opts) {
132
+ return this.fecred.informarCancelacionTotalFECred(this.auth(opts), params, opts);
246
133
  }
247
- /**
248
- * Query available rejection reason types.
249
- * Authenticates automatically via WSAA.
250
- */
251
- async consultarTiposMotivoRechazo() {
252
- const auth = await this.getAuth();
253
- const result = await this.fecred.consultarTiposMotivoRechazo(auth);
254
- return this.parseParamArray(result, ['arrayTiposMotivoRechazo', 'TiposMotivoRechazo', 'tiposMotivoRechazo'], ['TipoMotivoRechazo', 'tipoMotivoRechazo'], (item) => ({
255
- codMotivoRechazo: Number(item['codMotivoRechazo'] ?? item['CodMotivoRechazo'] ?? 0),
256
- descMotivoRechazo: (item['descMotivoRechazo'] ?? item['DescMotivoRechazo'] ?? ''),
257
- }));
134
+ /** Rechaza una nota de débito/crédito asociada a una FCE. */
135
+ rechazarNotaDC(params, opts) {
136
+ return this.fecred.rechazarNotaDC(this.auth(opts), params, opts);
137
+ }
138
+ /** Cambia la opción de transferencia (SCA/ADC) de una cuenta corriente. */
139
+ modificarOpcionTransferencia(params, opts) {
140
+ return this.fecred.modificarOpcionTransferencia(this.auth(opts), params, opts);
141
+ }
142
+ /** Informa una factura a un Agente de Depósito Colectivo. */
143
+ informarFacturaAgtDptoCltv(params, opts) {
144
+ return this.fecred.informarFacturaAgtDptoCltv(this.auth(opts), params, opts);
258
145
  }
259
146
  // =========================================================================
260
- // Cache management
147
+ // Agente de Depósito Colectivo
261
148
  // =========================================================================
262
- /** Invalidate the cached WSAA access ticket for WSFECRED. */
263
- clearAuthCache() {
264
- this.wsaa.clearTicket(ENDPOINTS.wsfecred.serviceId);
149
+ /** Cuentas de la CUIT representada en Agentes de Depósito Colectivo. */
150
+ consultarCuentasEnAgtDptoCltv(opts) {
151
+ return this.fecred.consultarCuentasEnAgtDptoCltv(this.auth(opts), opts);
152
+ }
153
+ /** Facturas informadas a Agentes de Depósito Colectivo. */
154
+ consultarFacturasAgtDptoCltv(params, opts) {
155
+ return this.fecred.consultarFacturasAgtDptoCltv(this.auth(opts), params, opts);
265
156
  }
266
157
  // =========================================================================
267
- // Private helpers
158
+ // Tablas de parámetros
268
159
  // =========================================================================
269
- async getAuth() {
270
- const ticket = await this.wsaa.getAccessTicket(ENDPOINTS.wsfecred.serviceId);
271
- return {
272
- Token: ticket.token,
273
- Sign: ticket.sign,
274
- Cuit: this.cuit,
275
- };
160
+ /** Tipos de retenciones (jurisdicción y porcentaje). */
161
+ consultarTiposRetenciones(opts) {
162
+ return this.fecred.consultarTiposRetenciones(this.auth(opts), opts);
276
163
  }
277
- parseCtaCte(item) {
278
- return {
279
- codCtaCte: Number(item['codCtaCte'] ?? item['CodCtaCte'] ?? 0),
280
- cuitEmisor: String(item['cuitEmisor'] ?? item['CUITEmisor'] ?? item['CuitEmisor'] ?? ''),
281
- denominacionEmisor: (item['denominacionEmisor'] ?? item['DenominacionEmisor']),
282
- cuitReceptor: String(item['cuitReceptor'] ?? item['CUITReceptor'] ?? item['CuitReceptor'] ?? ''),
283
- denominacionReceptor: (item['denominacionReceptor'] ?? item['DenominacionReceptor']),
284
- tipoComprobante: item['tipoComprobante'] != null ? Number(item['tipoComprobante'] ?? item['TipoComprobante']) : undefined,
285
- puntoVenta: item['puntoVenta'] != null ? Number(item['puntoVenta'] ?? item['PuntoVenta']) : undefined,
286
- nroComprobante: item['nroComprobante'] != null ? Number(item['nroComprobante'] ?? item['NroComprobante']) : undefined,
287
- codMoneda: (item['codMoneda'] ?? item['CodMoneda']),
288
- importeTotal: item['importeTotal'] != null ? Number(item['importeTotal'] ?? item['ImporteTotal']) : undefined,
289
- saldo: item['saldo'] != null ? Number(item['saldo'] ?? item['Saldo']) : undefined,
290
- estado: (item['estado'] ?? item['Estado']),
291
- fechaEmision: (item['fechaEmision'] ?? item['FechaEmision']),
292
- fechaVencimientoPago: (item['fechaVencimientoPago'] ?? item['FechaVencimientoPago']),
293
- fechaVencimientoAceptacion: (item['fechaVencimientoAceptacion'] ?? item['FechaVencimientoAceptacion']),
294
- cae: (item['cae'] ?? item['CAE']),
295
- raw: item,
296
- };
164
+ /** Formas de cancelación (para `aceptarFECred` / `informarCancelacionTotalFECred`). */
165
+ consultarTiposFormasCancelacion(opts) {
166
+ return this.fecred.consultarTiposFormasCancelacion(this.auth(opts), opts);
297
167
  }
298
- parseComprobante(item) {
299
- const retenciones = item['retenciones'] ?? item['Retenciones'];
300
- let parsedRetenciones;
301
- if (retenciones) {
302
- const retObj = retenciones;
303
- const retItems = ensureArray(retObj['Retencion'] ?? retObj['retencion'] ?? retObj);
304
- parsedRetenciones = retItems.map((r) => {
305
- const ret = r;
306
- return {
307
- codTipoRetencion: Number(ret['codTipoRetencion'] ?? ret['CodTipoRetencion'] ?? 0),
308
- descTipoRetencion: (ret['descTipoRetencion'] ?? ret['DescTipoRetencion']),
309
- importeRetencion: Number(ret['importeRetencion'] ?? ret['ImporteRetencion'] ?? 0),
310
- porcentajeRetencion: ret['porcentajeRetencion'] != null
311
- ? Number(ret['porcentajeRetencion'] ?? ret['PorcentajeRetencion'])
312
- : undefined,
313
- };
314
- });
315
- }
316
- return {
317
- codCtaCte: Number(item['codCtaCte'] ?? item['CodCtaCte'] ?? 0),
318
- tipoComprobante: item['tipoComprobante'] != null ? Number(item['tipoComprobante'] ?? item['TipoComprobante']) : undefined,
319
- puntoVenta: item['puntoVenta'] != null ? Number(item['puntoVenta'] ?? item['PuntoVenta']) : undefined,
320
- nroComprobante: item['nroComprobante'] != null ? Number(item['nroComprobante'] ?? item['NroComprobante']) : undefined,
321
- cuitEmisor: String(item['cuitEmisor'] ?? item['CUITEmisor'] ?? item['CuitEmisor'] ?? ''),
322
- denominacionEmisor: (item['denominacionEmisor'] ?? item['DenominacionEmisor']),
323
- cuitReceptor: String(item['cuitReceptor'] ?? item['CUITReceptor'] ?? item['CuitReceptor'] ?? ''),
324
- denominacionReceptor: (item['denominacionReceptor'] ?? item['DenominacionReceptor']),
325
- codMoneda: (item['codMoneda'] ?? item['CodMoneda']),
326
- importeTotal: item['importeTotal'] != null ? Number(item['importeTotal'] ?? item['ImporteTotal']) : undefined,
327
- importeNeto: item['importeNeto'] != null ? Number(item['importeNeto'] ?? item['ImporteNeto']) : undefined,
328
- saldo: item['saldo'] != null ? Number(item['saldo'] ?? item['Saldo']) : undefined,
329
- estado: (item['estado'] ?? item['Estado']),
330
- fechaEmision: (item['fechaEmision'] ?? item['FechaEmision']),
331
- fechaVencimientoPago: (item['fechaVencimientoPago'] ?? item['FechaVencimientoPago']),
332
- cae: (item['cae'] ?? item['CAE']),
333
- retenciones: parsedRetenciones,
334
- raw: item,
335
- };
168
+ /** Motivos de rechazo (para `rechazarFECred` / `rechazarNotaDC`). */
169
+ consultarTiposMotivosRechazo(opts) {
170
+ return this.fecred.consultarTiposMotivosRechazo(this.auth(opts), opts);
336
171
  }
337
- /**
338
- * Generic parser for parameter arrays from WSFECRED responses.
339
- * Handles varying SOAP response structures (different key names, namespaces).
340
- */
341
- parseParamArray(result, containerKeys, itemKeys, mapper) {
342
- let container;
343
- for (const key of containerKeys) {
344
- if (result[key] !== undefined) {
345
- container = result[key];
346
- break;
347
- }
348
- }
349
- if (!container)
350
- return [];
351
- const containerObj = container;
352
- let items = [];
353
- for (const key of itemKeys) {
354
- if (containerObj[key] !== undefined) {
355
- items = ensureArray(containerObj[key]);
356
- break;
357
- }
358
- }
359
- if (items.length === 0) {
360
- items = ensureArray(containerObj);
361
- }
362
- return items.map((item) => mapper(item));
172
+ /** Tipos de ajustes de operación (para `aceptarFECred`). */
173
+ consultarTiposAjustesOperacion(opts) {
174
+ return this.fecred.consultarTiposAjustesOperacion(this.auth(opts), opts);
175
+ }
176
+ // =========================================================================
177
+ // Tickets
178
+ // =========================================================================
179
+ /** Descarta el Ticket de Acceso de WSFECRED (memoria y `ticketStorage`). */
180
+ clearAuthCache() {
181
+ return this.wsaa.clearTicket(ENDPOINTS.wsfecred.serviceId);
182
+ }
183
+ /** Credenciales diferidas: el cliente las pide después de validar los parámetros. */
184
+ auth(opts) {
185
+ return async () => {
186
+ const ticket = await this.wsaa.getAccessTicket(ENDPOINTS.wsfecred.serviceId, opts);
187
+ return { token: ticket.token, sign: ticket.sign, cuitRepresentada: this.cuit };
188
+ };
363
189
  }
364
190
  }
365
191
  //# sourceMappingURL=arca-fecred.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arca-fecred.js","sourceRoot":"","sources":["../src/arca-fecred.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arca-fecred.js","sourceRoot":"","sources":["../src/arca-fecred.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAgC5C;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,UAAU;IACrB,wDAAwD;IACxC,IAAI,CAAa;IACjC,8CAA8C;IAC9B,MAAM,CAAe;IAErC,sCAAsC;IACrB,IAAI,CAAS;IAE9B,YAAY,MAAwB;QAClC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,KAAK,CAAC;QAC9C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI;YACP,MAAM,CAAC,IAAI;gBACX,IAAI,UAAU,CAAC;oBACb,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,GAAG,EAAE,MAAM,CAAC,GAAG;oBACf,UAAU;oBACV,QAAQ,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI;oBAChC,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;oBACjD,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;iBAC5B,CAAC,CAAC;QAEL,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC;YAC7B,QAAQ,EACN,MAAM,CAAC,SAAS,EAAE,QAAQ,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC;YACzG,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,SAAS;YACvC,WAAW,EAAE;gBACX,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B;YACD,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,eAAe;IACf,4EAA4E;IAE5E,yEAAyE;IACzE,MAAM,CAAC,IAAkB;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,4EAA4E;IAC5E,0BAA0B;IAC1B,4EAA4E;IAE5E,4FAA4F;IAC5F,+BAA+B,CAC7B,MAA6C,EAC7C,IAAkB;QAElB,OAAO,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpF,CAAC;IAED,iEAAiE;IACjE,0BAA0B,CAAC,cAA+B,EAAE,IAAkB;QAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACvF,CAAC;IAED,4EAA4E;IAC5E,YAAY;IACZ,4EAA4E;IAE5E,wEAAwE;IACxE,iBAAiB,CAAC,MAA+B,EAAE,IAAkB;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,uCAAuC;IACvC,eAAe,CAAC,QAAuB,EAAE,IAAkB;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,+DAA+D;IAC/D,qBAAqB,CACnB,MAAmC,EACnC,IAAkB;QAElB,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,8CAA8C;IAC9C,oCAAoC,CAClC,aAAiC,EACjC,IAAkB;QAElB,OAAO,IAAI,CAAC,MAAM,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAChG,CAAC;IAED,oDAAoD;IACpD,+BAA+B,CAC7B,QAAuB,EACvB,IAAkB;QAElB,OAAO,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACtF,CAAC;IAED,0CAA0C;IAC1C,cAAc,CAAC,aAAiC,EAAE,IAAkB;QAClE,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,4EAA4E;IAC5E,qDAAqD;IACrD,4EAA4E;IAE5E;;;;OAIG;IACH,aAAa,CAAC,MAA2B,EAAE,IAAkB;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,mEAAmE;IACnE,cAAc,CAAC,MAA4B,EAAE,IAAkB;QAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,wDAAwD;IACxD,8BAA8B,CAC5B,MAAsC,EACtC,IAAkB;QAElB,OAAO,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACnF,CAAC;IAED,6DAA6D;IAC7D,cAAc,CAAC,MAA4B,EAAE,IAAkB;QAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,2EAA2E;IAC3E,4BAA4B,CAC1B,MAA0C,EAC1C,IAAkB;QAElB,OAAO,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC;IAED,6DAA6D;IAC7D,0BAA0B,CACxB,MAAwC,EACxC,IAAkB;QAElB,OAAO,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IAC/E,CAAC;IAED,4EAA4E;IAC5E,+BAA+B;IAC/B,4EAA4E;IAE5E,wEAAwE;IACxE,6BAA6B,CAAC,IAAkB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,2DAA2D;IAC3D,4BAA4B,CAC1B,MAA2C,EAC3C,IAAkB;QAElB,OAAO,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC;IAED,4EAA4E;IAC5E,uBAAuB;IACvB,4EAA4E;IAE5E,wDAAwD;IACxD,yBAAyB,CAAC,IAAkB;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,uFAAuF;IACvF,+BAA+B,CAAC,IAAkB;QAChD,OAAO,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,qEAAqE;IACrE,4BAA4B,CAAC,IAAkB;QAC7C,OAAO,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,4DAA4D;IAC5D,8BAA8B,CAAC,IAAkB;QAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;IAED,4EAA4E;IAC5E,UAAU;IACV,4EAA4E;IAE5E,4EAA4E;IAC5E,cAAc;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7D,CAAC;IAED,qFAAqF;IAC7E,IAAI,CAAC,IAAkB;QAC7B,OAAO,KAAK,IAAI,EAAE;YAChB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YACnF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QACjF,CAAC,CAAC;IACJ,CAAC;CACF"}