@ramiidv/arca-fecred 0.2.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,83 +1,81 @@
1
+ /**
2
+ * Endpoints y datos del servicio WSFECRED (FECredService).
3
+ * Fuente: WSDL de homologación (`soap:address`) y namespace `targetNamespace`.
4
+ * Los endpoints de WSAA están en `WSAA_ENDPOINTS` de `@ramiidv/arca-common`.
5
+ */
1
6
  export declare const ENDPOINTS: {
2
- readonly wsaa: {
3
- readonly testing: "https://wsaahomo.afip.gov.ar/ws/services/LoginCms";
4
- readonly production: "https://wsaa.afip.gov.ar/ws/services/LoginCms";
5
- };
6
7
  readonly wsfecred: {
7
8
  readonly testing: "https://fwshomo.afip.gob.ar/wsfecred/FECredService";
8
9
  readonly production: "https://serviciosjava.afip.gob.ar/wsfecred/FECredService";
9
- readonly namespace: "https://serviciosjava.afip.gob.ar/wsfecred/FECredService?wsdl";
10
+ readonly namespace: "http://ar.gob.afip.wsfecred/FECredService/";
10
11
  readonly serviceId: "wsfecred";
11
12
  };
12
13
  };
13
- /** Rol del contribuyente en la cuenta corriente FCE */
14
- export declare enum RolCtaCte {
15
- /** Emisor de la FCE */
16
- EMISOR = "Emisor",
17
- /** Receptor de la FCE */
18
- RECEPTOR = "Receptor"
19
- }
20
- /** Estado de la cuenta corriente FCE */
21
- export declare enum EstadoCtaCte {
22
- /** Factura emitida, pendiente de aceptacion/rechazo */
23
- PENDIENTE_ACEPTACION = "Pendiente de Aceptacion",
24
- /** Factura aceptada */
25
- ACEPTADA = "Aceptada",
26
- /** Factura rechazada */
27
- RECHAZADA = "Rechazada",
28
- /** Factura cancelada (pagada) */
29
- CANCELADA = "Cancelada",
30
- /** Factura anulada */
31
- ANULADA = "Anulada"
32
- }
33
- /** Codigos de motivo de rechazo para FCE */
34
- export declare enum MotivoRechazo {
35
- /** Nota de credito / debito */
36
- NOTA_CREDITO_DEBITO = 1,
37
- /** El CUIT informado no es correcto */
38
- CUIT_INCORRECTO = 2,
39
- /** La fecha informada no es correcta */
40
- FECHA_INCORRECTA = 3,
41
- /** El CBU informado no es correcto */
42
- CBU_INCORRECTO = 4,
43
- /** Otros motivos */
44
- OTROS = 5
45
- }
46
- /** Formas de cancelacion de una FCE aceptada */
47
- export declare enum FormaCancelacion {
48
- /** Acreditacion en cuenta bancaria */
49
- ACREDITACION_CUENTA = 1,
50
- /** Transferencia bancaria */
51
- TRANSFERENCIA = 2,
52
- /** Cheque */
53
- CHEQUE = 3,
54
- /** Pago electronico */
55
- PAGO_ELECTRONICO = 4,
56
- /** Compensacion */
57
- COMPENSACION = 5,
58
- /** Endoso */
59
- ENDOSO = 6,
60
- /** Otro */
61
- OTRO = 99
62
- }
63
- /** Tipos de ajuste de operacion FCE */
64
- export declare enum TipoAjusteOperacion {
65
- /** Nota de credito */
66
- NOTA_CREDITO = 1,
67
- /** Nota de debito */
68
- NOTA_DEBITO = 2
69
- }
70
- /** Tipos de retencion comunes en FCE */
71
- export declare enum TipoRetencion {
72
- /** Ganancias */
73
- GANANCIAS = 1,
74
- /** IVA */
75
- IVA = 2,
76
- /** SUSS */
77
- SUSS = 3,
78
- /** Ingresos Brutos */
79
- INGRESOS_BRUTOS = 4,
80
- /** Otras */
81
- OTRAS = 99
82
- }
14
+ /** `RolSimpleType`: rol de la CUIT representada en la operación. */
15
+ export declare const RolCtaCte: {
16
+ readonly EMISOR: "Emisor";
17
+ readonly RECEPTOR: "Receptor";
18
+ };
19
+ export type RolCtaCte = (typeof RolCtaCte)[keyof typeof RolCtaCte];
20
+ /** `EstadoCtaCteSimpleType`: estado de la cuenta corriente de una FCE. */
21
+ export declare const EstadoCtaCte: {
22
+ readonly MODIFICABLE: "Modificable";
23
+ readonly ACEPTADA: "Aceptada";
24
+ readonly RECHAZADA: "Rechazada";
25
+ readonly CANCELADA_TOTAL: "CanceladaTotal";
26
+ readonly INFORMADA_AG_DPTO: "InformadaAgDpto";
27
+ };
28
+ export type EstadoCtaCte = (typeof EstadoCtaCte)[keyof typeof EstadoCtaCte];
29
+ /** `EstadoCmpSimpleType`: estado de un comprobante (factura o nota). */
30
+ export declare const EstadoComprobante: {
31
+ readonly PENDIENTE_RECEPCION: "PendienteRecepcion";
32
+ readonly RECEPCIONADO: "Recepcionado";
33
+ readonly ACEPTADO: "Aceptado";
34
+ readonly RECHAZADO: "Rechazado";
35
+ readonly INFORMADA_AG_DPTO: "InformadaAgDpto";
36
+ };
37
+ export type EstadoComprobante = (typeof EstadoComprobante)[keyof typeof EstadoComprobante];
38
+ /** `TipoFechaSimpleType`: fecha por la que se filtra en `fecha{tipo,desde,hasta}`. */
39
+ export declare const TipoFechaFiltro: {
40
+ readonly EMISION: "Emision";
41
+ readonly PUESTA_DISPO: "PuestaDispo";
42
+ readonly VEN_PAGO: "VenPago";
43
+ readonly VEN_ACEP: "VenAcep";
44
+ readonly ACEP: "Acep";
45
+ readonly INFO_AG_DPTO_CLTV: "InfoAgDptoCltv";
46
+ };
47
+ export type TipoFechaFiltro = (typeof TipoFechaFiltro)[keyof typeof TipoFechaFiltro];
48
+ /**
49
+ * `OpcionTransferenciaSimpleType`: `SCA` (Sistema de Circulación Abierta) o
50
+ * `ADC` (Agente de Depósito Colectivo).
51
+ */
52
+ export declare const OpcionTransferencia: {
53
+ readonly SCA: "SCA";
54
+ readonly ADC: "ADC";
55
+ };
56
+ export type OpcionTransferencia = (typeof OpcionTransferencia)[keyof typeof OpcionTransferencia];
57
+ /** `TipoCancelacionSimpleType`: cancelación parcial o total al aceptar. */
58
+ export declare const TipoCancelacion: {
59
+ readonly PARCIAL: "PAR";
60
+ readonly TOTAL: "TOT";
61
+ };
62
+ export type TipoCancelacion = (typeof TipoCancelacion)[keyof typeof TipoCancelacion];
63
+ /** `TipoAceptacionSimpleType`. */
64
+ export declare const TipoAceptacion: {
65
+ readonly TACITA: "Tacita";
66
+ readonly EXPRESA: "Expresa";
67
+ };
68
+ export type TipoAceptacion = (typeof TipoAceptacion)[keyof typeof TipoAceptacion];
69
+ /**
70
+ * `ResultadoSimpleType`: `A`, `O` o `R`. Por convención de ARCA: aprobado,
71
+ * observado (aprobado con observaciones) y rechazado.
72
+ */
73
+ export declare const Resultado: {
74
+ readonly APROBADO: "A";
75
+ readonly OBSERVADO: "O";
76
+ readonly RECHAZADO: "R";
77
+ };
78
+ export type Resultado = (typeof Resultado)[keyof typeof Resultado];
79
+ /** `TipoCodAutorizacionType` (enumeración del XSD: `A` o `E`). */
80
+ export type TipoCodAutorizacion = 'A' | 'E';
83
81
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS;;;;;;;;;;;CAQZ,CAAC;AAMX,uDAAuD;AACvD,oBAAY,SAAS;IACnB,uBAAuB;IACvB,MAAM,WAAW;IACjB,yBAAyB;IACzB,QAAQ,aAAa;CACtB;AAMD,wCAAwC;AACxC,oBAAY,YAAY;IACtB,uDAAuD;IACvD,oBAAoB,4BAA4B;IAChD,uBAAuB;IACvB,QAAQ,aAAa;IACrB,wBAAwB;IACxB,SAAS,cAAc;IACvB,iCAAiC;IACjC,SAAS,cAAc;IACvB,sBAAsB;IACtB,OAAO,YAAY;CACpB;AAMD,4CAA4C;AAC5C,oBAAY,aAAa;IACvB,+BAA+B;IAC/B,mBAAmB,IAAI;IACvB,uCAAuC;IACvC,eAAe,IAAI;IACnB,wCAAwC;IACxC,gBAAgB,IAAI;IACpB,sCAAsC;IACtC,cAAc,IAAI;IAClB,oBAAoB;IACpB,KAAK,IAAI;CACV;AAMD,gDAAgD;AAChD,oBAAY,gBAAgB;IAC1B,sCAAsC;IACtC,mBAAmB,IAAI;IACvB,6BAA6B;IAC7B,aAAa,IAAI;IACjB,aAAa;IACb,MAAM,IAAI;IACV,uBAAuB;IACvB,gBAAgB,IAAI;IACpB,mBAAmB;IACnB,YAAY,IAAI;IAChB,aAAa;IACb,MAAM,IAAI;IACV,WAAW;IACX,IAAI,KAAK;CACV;AAMD,uCAAuC;AACvC,oBAAY,mBAAmB;IAC7B,sBAAsB;IACtB,YAAY,IAAI;IAChB,qBAAqB;IACrB,WAAW,IAAI;CAChB;AAMD,wCAAwC;AACxC,oBAAY,aAAa;IACvB,gBAAgB;IAChB,SAAS,IAAI;IACb,UAAU;IACV,GAAG,IAAI;IACP,WAAW;IACX,IAAI,IAAI;IACR,sBAAsB;IACtB,eAAe,IAAI;IACnB,YAAY;IACZ,KAAK,KAAK;CACX"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,SAAS;;;;;;;CAOZ,CAAC;AAOX,oEAAoE;AACpE,eAAO,MAAM,SAAS;;;CAGZ,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEnE,0EAA0E;AAC1E,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AACX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,OAAO,YAAY,CAAC,CAAC;AAE5E,wEAAwE;AACxE,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC;AACX,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,OAAO,iBAAiB,CAAC,CAAC;AAE3F,sFAAsF;AACtF,eAAO,MAAM,eAAe;;;;;;;CAOlB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAErF;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AACX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,OAAO,mBAAmB,CAAC,CAAC;AAEjG,2EAA2E;AAC3E,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AACX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAErF,kCAAkC;AAClC,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AACX,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,OAAO,cAAc,CAAC,CAAC;AAElF;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;CAIZ,CAAC;AACX,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEnE,kEAAkE;AAClE,MAAM,MAAM,mBAAmB,GAAG,GAAG,GAAG,GAAG,CAAC"}
package/dist/constants.js CHANGED
@@ -1,108 +1,78 @@
1
- import { WSAA_ENDPOINTS } from '@ramiidv/arca-common';
2
1
  // ---------------------------------------------------------------------------
3
2
  // Endpoints
4
3
  // ---------------------------------------------------------------------------
4
+ /**
5
+ * Endpoints y datos del servicio WSFECRED (FECredService).
6
+ * Fuente: WSDL de homologación (`soap:address`) y namespace `targetNamespace`.
7
+ * Los endpoints de WSAA están en `WSAA_ENDPOINTS` de `@ramiidv/arca-common`.
8
+ */
5
9
  export const ENDPOINTS = {
6
- wsaa: WSAA_ENDPOINTS,
7
10
  wsfecred: {
8
11
  testing: 'https://fwshomo.afip.gob.ar/wsfecred/FECredService',
9
12
  production: 'https://serviciosjava.afip.gob.ar/wsfecred/FECredService',
10
- namespace: 'https://serviciosjava.afip.gob.ar/wsfecred/FECredService?wsdl',
13
+ namespace: 'http://ar.gob.afip.wsfecred/FECredService/',
11
14
  serviceId: 'wsfecred',
12
15
  },
13
16
  };
14
17
  // ---------------------------------------------------------------------------
15
- // Roles en la cuenta corriente
18
+ // Enumeraciones del XSD (xsd:simpleType con xsd:enumeration)
16
19
  // ---------------------------------------------------------------------------
17
- /** Rol del contribuyente en la cuenta corriente FCE */
18
- export var RolCtaCte;
19
- (function (RolCtaCte) {
20
- /** Emisor de la FCE */
21
- RolCtaCte["EMISOR"] = "Emisor";
22
- /** Receptor de la FCE */
23
- RolCtaCte["RECEPTOR"] = "Receptor";
24
- })(RolCtaCte || (RolCtaCte = {}));
25
- // ---------------------------------------------------------------------------
26
- // Estados de la cuenta corriente
27
- // ---------------------------------------------------------------------------
28
- /** Estado de la cuenta corriente FCE */
29
- export var EstadoCtaCte;
30
- (function (EstadoCtaCte) {
31
- /** Factura emitida, pendiente de aceptacion/rechazo */
32
- EstadoCtaCte["PENDIENTE_ACEPTACION"] = "Pendiente de Aceptacion";
33
- /** Factura aceptada */
34
- EstadoCtaCte["ACEPTADA"] = "Aceptada";
35
- /** Factura rechazada */
36
- EstadoCtaCte["RECHAZADA"] = "Rechazada";
37
- /** Factura cancelada (pagada) */
38
- EstadoCtaCte["CANCELADA"] = "Cancelada";
39
- /** Factura anulada */
40
- EstadoCtaCte["ANULADA"] = "Anulada";
41
- })(EstadoCtaCte || (EstadoCtaCte = {}));
42
- // ---------------------------------------------------------------------------
43
- // Motivos de rechazo
44
- // ---------------------------------------------------------------------------
45
- /** Codigos de motivo de rechazo para FCE */
46
- export var MotivoRechazo;
47
- (function (MotivoRechazo) {
48
- /** Nota de credito / debito */
49
- MotivoRechazo[MotivoRechazo["NOTA_CREDITO_DEBITO"] = 1] = "NOTA_CREDITO_DEBITO";
50
- /** El CUIT informado no es correcto */
51
- MotivoRechazo[MotivoRechazo["CUIT_INCORRECTO"] = 2] = "CUIT_INCORRECTO";
52
- /** La fecha informada no es correcta */
53
- MotivoRechazo[MotivoRechazo["FECHA_INCORRECTA"] = 3] = "FECHA_INCORRECTA";
54
- /** El CBU informado no es correcto */
55
- MotivoRechazo[MotivoRechazo["CBU_INCORRECTO"] = 4] = "CBU_INCORRECTO";
56
- /** Otros motivos */
57
- MotivoRechazo[MotivoRechazo["OTROS"] = 5] = "OTROS";
58
- })(MotivoRechazo || (MotivoRechazo = {}));
59
- // ---------------------------------------------------------------------------
60
- // Formas de cancelacion
61
- // ---------------------------------------------------------------------------
62
- /** Formas de cancelacion de una FCE aceptada */
63
- export var FormaCancelacion;
64
- (function (FormaCancelacion) {
65
- /** Acreditacion en cuenta bancaria */
66
- FormaCancelacion[FormaCancelacion["ACREDITACION_CUENTA"] = 1] = "ACREDITACION_CUENTA";
67
- /** Transferencia bancaria */
68
- FormaCancelacion[FormaCancelacion["TRANSFERENCIA"] = 2] = "TRANSFERENCIA";
69
- /** Cheque */
70
- FormaCancelacion[FormaCancelacion["CHEQUE"] = 3] = "CHEQUE";
71
- /** Pago electronico */
72
- FormaCancelacion[FormaCancelacion["PAGO_ELECTRONICO"] = 4] = "PAGO_ELECTRONICO";
73
- /** Compensacion */
74
- FormaCancelacion[FormaCancelacion["COMPENSACION"] = 5] = "COMPENSACION";
75
- /** Endoso */
76
- FormaCancelacion[FormaCancelacion["ENDOSO"] = 6] = "ENDOSO";
77
- /** Otro */
78
- FormaCancelacion[FormaCancelacion["OTRO"] = 99] = "OTRO";
79
- })(FormaCancelacion || (FormaCancelacion = {}));
80
- // ---------------------------------------------------------------------------
81
- // Tipos de ajuste de operacion
82
- // ---------------------------------------------------------------------------
83
- /** Tipos de ajuste de operacion FCE */
84
- export var TipoAjusteOperacion;
85
- (function (TipoAjusteOperacion) {
86
- /** Nota de credito */
87
- TipoAjusteOperacion[TipoAjusteOperacion["NOTA_CREDITO"] = 1] = "NOTA_CREDITO";
88
- /** Nota de debito */
89
- TipoAjusteOperacion[TipoAjusteOperacion["NOTA_DEBITO"] = 2] = "NOTA_DEBITO";
90
- })(TipoAjusteOperacion || (TipoAjusteOperacion = {}));
91
- // ---------------------------------------------------------------------------
92
- // Tipos de retencion
93
- // ---------------------------------------------------------------------------
94
- /** Tipos de retencion comunes en FCE */
95
- export var TipoRetencion;
96
- (function (TipoRetencion) {
97
- /** Ganancias */
98
- TipoRetencion[TipoRetencion["GANANCIAS"] = 1] = "GANANCIAS";
99
- /** IVA */
100
- TipoRetencion[TipoRetencion["IVA"] = 2] = "IVA";
101
- /** SUSS */
102
- TipoRetencion[TipoRetencion["SUSS"] = 3] = "SUSS";
103
- /** Ingresos Brutos */
104
- TipoRetencion[TipoRetencion["INGRESOS_BRUTOS"] = 4] = "INGRESOS_BRUTOS";
105
- /** Otras */
106
- TipoRetencion[TipoRetencion["OTRAS"] = 99] = "OTRAS";
107
- })(TipoRetencion || (TipoRetencion = {}));
20
+ // Se exportan como objeto + tipo: se puede usar `RolCtaCte.EMISOR` o el literal `'Emisor'`.
21
+ /** `RolSimpleType`: rol de la CUIT representada en la operación. */
22
+ export const RolCtaCte = {
23
+ EMISOR: 'Emisor',
24
+ RECEPTOR: 'Receptor',
25
+ };
26
+ /** `EstadoCtaCteSimpleType`: estado de la cuenta corriente de una FCE. */
27
+ export const EstadoCtaCte = {
28
+ MODIFICABLE: 'Modificable',
29
+ ACEPTADA: 'Aceptada',
30
+ RECHAZADA: 'Rechazada',
31
+ CANCELADA_TOTAL: 'CanceladaTotal',
32
+ INFORMADA_AG_DPTO: 'InformadaAgDpto',
33
+ };
34
+ /** `EstadoCmpSimpleType`: estado de un comprobante (factura o nota). */
35
+ export const EstadoComprobante = {
36
+ PENDIENTE_RECEPCION: 'PendienteRecepcion',
37
+ RECEPCIONADO: 'Recepcionado',
38
+ ACEPTADO: 'Aceptado',
39
+ RECHAZADO: 'Rechazado',
40
+ INFORMADA_AG_DPTO: 'InformadaAgDpto',
41
+ };
42
+ /** `TipoFechaSimpleType`: fecha por la que se filtra en `fecha{tipo,desde,hasta}`. */
43
+ export const TipoFechaFiltro = {
44
+ EMISION: 'Emision',
45
+ PUESTA_DISPO: 'PuestaDispo',
46
+ VEN_PAGO: 'VenPago',
47
+ VEN_ACEP: 'VenAcep',
48
+ ACEP: 'Acep',
49
+ INFO_AG_DPTO_CLTV: 'InfoAgDptoCltv',
50
+ };
51
+ /**
52
+ * `OpcionTransferenciaSimpleType`: `SCA` (Sistema de Circulación Abierta) o
53
+ * `ADC` (Agente de Depósito Colectivo).
54
+ */
55
+ export const OpcionTransferencia = {
56
+ SCA: 'SCA',
57
+ ADC: 'ADC',
58
+ };
59
+ /** `TipoCancelacionSimpleType`: cancelación parcial o total al aceptar. */
60
+ export const TipoCancelacion = {
61
+ PARCIAL: 'PAR',
62
+ TOTAL: 'TOT',
63
+ };
64
+ /** `TipoAceptacionSimpleType`. */
65
+ export const TipoAceptacion = {
66
+ TACITA: 'Tacita',
67
+ EXPRESA: 'Expresa',
68
+ };
69
+ /**
70
+ * `ResultadoSimpleType`: `A`, `O` o `R`. Por convención de ARCA: aprobado,
71
+ * observado (aprobado con observaciones) y rechazado.
72
+ */
73
+ export const Resultado = {
74
+ APROBADO: 'A',
75
+ OBSERVADO: 'O',
76
+ RECHAZADO: 'R',
77
+ };
108
78
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,cAAc;IACpB,QAAQ,EAAE;QACR,OAAO,EAAE,oDAAoD;QAC7D,UAAU,EAAE,0DAA0D;QACtE,SAAS,EAAE,+DAA+D;QAC1E,SAAS,EAAE,UAAU;KACtB;CACO,CAAC;AAEX,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,uDAAuD;AACvD,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,uBAAuB;IACvB,8BAAiB,CAAA;IACjB,yBAAyB;IACzB,kCAAqB,CAAA;AACvB,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAED,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E,wCAAwC;AACxC,MAAM,CAAN,IAAY,YAWX;AAXD,WAAY,YAAY;IACtB,uDAAuD;IACvD,gEAAgD,CAAA;IAChD,uBAAuB;IACvB,qCAAqB,CAAA;IACrB,wBAAwB;IACxB,uCAAuB,CAAA;IACvB,iCAAiC;IACjC,uCAAuB,CAAA;IACvB,sBAAsB;IACtB,mCAAmB,CAAA;AACrB,CAAC,EAXW,YAAY,KAAZ,YAAY,QAWvB;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,4CAA4C;AAC5C,MAAM,CAAN,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,+BAA+B;IAC/B,+EAAuB,CAAA;IACvB,uCAAuC;IACvC,uEAAmB,CAAA;IACnB,wCAAwC;IACxC,yEAAoB,CAAA;IACpB,sCAAsC;IACtC,qEAAkB,CAAA;IAClB,oBAAoB;IACpB,mDAAS,CAAA;AACX,CAAC,EAXW,aAAa,KAAb,aAAa,QAWxB;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,gDAAgD;AAChD,MAAM,CAAN,IAAY,gBAeX;AAfD,WAAY,gBAAgB;IAC1B,sCAAsC;IACtC,qFAAuB,CAAA;IACvB,6BAA6B;IAC7B,yEAAiB,CAAA;IACjB,aAAa;IACb,2DAAU,CAAA;IACV,uBAAuB;IACvB,+EAAoB,CAAA;IACpB,mBAAmB;IACnB,uEAAgB,CAAA;IAChB,aAAa;IACb,2DAAU,CAAA;IACV,WAAW;IACX,wDAAS,CAAA;AACX,CAAC,EAfW,gBAAgB,KAAhB,gBAAgB,QAe3B;AAED,8EAA8E;AAC9E,+BAA+B;AAC/B,8EAA8E;AAE9E,uCAAuC;AACvC,MAAM,CAAN,IAAY,mBAKX;AALD,WAAY,mBAAmB;IAC7B,sBAAsB;IACtB,6EAAgB,CAAA;IAChB,qBAAqB;IACrB,2EAAe,CAAA;AACjB,CAAC,EALW,mBAAmB,KAAnB,mBAAmB,QAK9B;AAED,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,wCAAwC;AACxC,MAAM,CAAN,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,gBAAgB;IAChB,2DAAa,CAAA;IACb,UAAU;IACV,+CAAO,CAAA;IACP,WAAW;IACX,iDAAQ,CAAA;IACR,sBAAsB;IACtB,uEAAmB,CAAA;IACnB,YAAY;IACZ,oDAAU,CAAA;AACZ,CAAC,EAXW,aAAa,KAAb,aAAa,QAWxB"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,QAAQ,EAAE;QACR,OAAO,EAAE,oDAAoD;QAC7D,UAAU,EAAE,0DAA0D;QACtE,SAAS,EAAE,4CAA4C;QACvD,SAAS,EAAE,UAAU;KACtB;CACO,CAAC;AAEX,8EAA8E;AAC9E,6DAA6D;AAC7D,8EAA8E;AAC9E,4FAA4F;AAE5F,oEAAoE;AACpE,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAGX,0EAA0E;AAC1E,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,WAAW,EAAE,aAAa;IAC1B,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,eAAe,EAAE,gBAAgB;IACjC,iBAAiB,EAAE,iBAAiB;CAC5B,CAAC;AAGX,wEAAwE;AACxE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,mBAAmB,EAAE,oBAAoB;IACzC,YAAY,EAAE,cAAc;IAC5B,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,iBAAiB,EAAE,iBAAiB;CAC5B,CAAC;AAGX,sFAAsF;AACtF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,aAAa;IAC3B,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,MAAM;IACZ,iBAAiB,EAAE,gBAAgB;CAC3B,CAAC;AAGX;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,GAAG,EAAE,KAAK;IACV,GAAG,EAAE,KAAK;CACF,CAAC;AAGX,2EAA2E;AAC3E,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,KAAK;IACd,KAAK,EAAE,KAAK;CACJ,CAAC;AAGX,kCAAkC;AAClC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACV,CAAC;AAGX;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,QAAQ,EAAE,GAAG;IACb,SAAS,EAAE,GAAG;IACd,SAAS,EAAE,GAAG;CACN,CAAC"}
@@ -1,100 +1,90 @@
1
- import type { ArcaEvent, SoapCallOptions, ServerStatus } from '@ramiidv/arca-common';
2
- import type { WsAuth } from './types.js';
1
+ import type { ArcaEvent, CallOptions, LegacyTlsMode, ServerStatus } from '@ramiidv/arca-common';
2
+ import type { AceptarFecredParams, 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, WsAuth } from './types.js';
3
3
  export interface FecredClientConfig {
4
- /** SOAP endpoint URL */
4
+ /** URL de FECredService. */
5
5
  endpoint: string;
6
- /** SOAP namespace */
6
+ /** Namespace del servicio (`http://ar.gob.afip.wsfecred/FECredService/`). */
7
7
  namespace: string;
8
- /** SOAP call options (retries, timeout) */
9
- soapOptions?: Pick<SoapCallOptions, 'timeout' | 'retries' | 'retryDelayMs'>;
10
- /** Optional event callback */
8
+ /** Opciones de transporte SOAP. */
9
+ soapOptions?: {
10
+ timeout?: number;
11
+ retries?: number;
12
+ retryDelayMs?: number;
13
+ fetch?: typeof fetch;
14
+ legacyTls?: LegacyTlsMode;
15
+ };
16
+ /** Callback de eventos. */
11
17
  onEvent?: (event: ArcaEvent) => void;
12
18
  }
13
19
  /**
14
- * Low-level client for the WSFECRED web service.
15
- * Wraps each SOAP method using afipSoapCall from arca-common.
20
+ * Credenciales para un request: el `WsAuth` o una función que lo obtiene. La
21
+ * función se llama después de validar los parámetros.
22
+ */
23
+ export type WsAuthSource = WsAuth | (() => Promise<WsAuth>);
24
+ /**
25
+ * Cliente de bajo nivel de WSFECRED (FECredService). Cada método arma el
26
+ * request según el XSD (en orden), valida los datos, detecta los errores de
27
+ * negocio (`arrayErrores`/`arrayErroresFormato` → `ArcaServiceError`) y
28
+ * devuelve la respuesta tipada.
29
+ *
30
+ * Las operaciones que cambian estado en ARCA (aceptar, rechazar, informar,
31
+ * modificar) se envían como `kind: 'emision'`: nunca se reintentan y, si la
32
+ * respuesta se pierde, el `ArcaSoapError` tiene `uncertain = true`.
16
33
  */
17
34
  export declare class FecredClient {
18
35
  protected readonly endpoint: string;
19
36
  protected readonly namespace: string;
20
- protected readonly soapOptions?: Pick<SoapCallOptions, 'timeout' | 'retries' | 'retryDelayMs'>;
37
+ protected readonly soapOptions: NonNullable<FecredClientConfig['soapOptions']>;
21
38
  protected readonly onEvent?: (event: ArcaEvent) => void;
22
39
  constructor(config: FecredClientConfig);
23
- private call;
24
- /** Health check - verifica el estado de los servidores WSFECRED. */
25
- dummy(): Promise<ServerStatus>;
26
- /**
27
- * Consulta si una CUIT esta obligada a recibir FCE.
28
- * @param auth - Credenciales de autenticacion
29
- * @param cuitConsultada - CUIT a consultar
30
- */
31
- consultarMontoObligadoRecepcion(auth: WsAuth, cuitConsultada: string): Promise<Record<string, unknown>>;
32
- /**
33
- * Consulta cuentas corrientes de actividad FCE.
34
- * @param auth - Credenciales de autenticacion
35
- * @param params - Filtros de consulta (rol, CUITs, fechas)
36
- */
37
- consultarCtasCtes(auth: WsAuth, params: {
38
- rol: string;
39
- cuitEmisor?: string;
40
- cuitReceptor?: string;
41
- fechaDesde: string;
42
- fechaHasta: string;
43
- }): Promise<Record<string, unknown>>;
44
- /**
45
- * Consulta comprobantes FCE por filtros.
46
- * @param auth - Credenciales de autenticacion
47
- * @param params - Filtros de consulta
48
- */
49
- consultarComprobantes(auth: WsAuth, params: {
50
- cuitEmisor?: string;
51
- cuitReceptor?: string;
52
- codCtaCte?: number;
53
- fechaDesde?: string;
54
- fechaHasta?: string;
55
- }): Promise<Record<string, unknown>>;
56
- /**
57
- * Acepta una FCE.
58
- * @param auth - Credenciales de autenticacion
59
- * @param codCtaCte - Codigo de cuenta corriente de la FCE a aceptar
60
- */
61
- aceptarFECred(auth: WsAuth, codCtaCte: number): Promise<Record<string, unknown>>;
62
40
  /**
63
- * Rechaza una FCE.
64
- * @param auth - Credenciales de autenticacion
65
- * @param codCtaCte - Codigo de cuenta corriente de la FCE a rechazar
66
- * @param codMotivoRechazo - Codigo del motivo de rechazo
41
+ * Llama a `method` con el wrapper `<method>Request` (o Body vacío si `auth`
42
+ * es `null`), `SOAPAction = namespace + method`, y chequea errores de negocio.
67
43
  */
68
- rechazarFECred(auth: WsAuth, codCtaCte: number, codMotivoRechazo: number): Promise<Record<string, unknown>>;
69
- /**
70
- * Informa que una FCE aceptada fue pagada/cancelada.
71
- * @param auth - Credenciales de autenticacion
72
- * @param params - Datos de la cancelacion
73
- */
74
- informarFacturaAceptadaCancelada(auth: WsAuth, params: {
75
- codCtaCte: number;
76
- codFormaCancelacion: number;
77
- observaciones?: string;
78
- }): Promise<Record<string, unknown>>;
79
- /**
80
- * Consulta los tipos de retenciones disponibles.
81
- * @param auth - Credenciales de autenticacion
82
- */
83
- consultarTiposRetenciones(auth: WsAuth): Promise<Record<string, unknown>>;
84
- /**
85
- * Consulta las formas de cancelacion disponibles.
86
- * @param auth - Credenciales de autenticacion
87
- */
88
- consultarTiposFormasCancelacion(auth: WsAuth): Promise<Record<string, unknown>>;
89
- /**
90
- * Consulta los tipos de ajustes de operacion disponibles.
91
- * @param auth - Credenciales de autenticacion
92
- */
93
- consultarTiposAjustesOperacion(auth: WsAuth): Promise<Record<string, unknown>>;
94
- /**
95
- * Consulta los tipos de motivos de rechazo disponibles.
96
- * @param auth - Credenciales de autenticacion
97
- */
98
- consultarTiposMotivoRechazo(auth: WsAuth): Promise<Record<string, unknown>>;
44
+ private call;
45
+ private operacion;
46
+ private codigosDescripciones;
47
+ /** `dummy`: estado de los servidores (sin autenticación). */
48
+ dummy(opts?: CallOptions): Promise<ServerStatus>;
49
+ /** `consultarMontoObligadoRecepcion`: si la CUIT está obligada a recibir FCE y desde qué monto. */
50
+ consultarMontoObligadoRecepcion(auth: WsAuthSource, params: ConsultarMontoObligadoRecepcionParams, opts?: CallOptions): Promise<MontoObligadoRecepcionResult>;
51
+ /** `consultarObligadoRecepcion`: si la CUIT está obligada a recibir FCE (campo `respuesta`) y desde cuándo. */
52
+ consultarObligadoRecepcion(auth: WsAuthSource, cuitConsultada: number | string, opts?: CallOptions): Promise<ObligadoRecepcionResult>;
53
+ /** `consultarCtasCtes`: cuentas corrientes (paginado). */
54
+ consultarCtasCtes(auth: WsAuthSource, params: ConsultarCtasCtesParams, opts?: CallOptions): Promise<ConsultarCtasCtesResult>;
55
+ /** `consultarCtaCte`: detalle de una cuenta corriente. */
56
+ consultarCtaCte(auth: WsAuthSource, idCtaCte: IdCtaCteInput, opts?: CallOptions): Promise<ConsultarCtaCteResult>;
57
+ /** `consultarComprobantes`: facturas y notas FCE (paginado). */
58
+ consultarComprobantes(auth: WsAuthSource, params: ConsultarComprobantesParams, opts?: CallOptions): Promise<ConsultarComprobantesResult>;
59
+ /** `consultarHistorialEstadosComprobante`. */
60
+ consultarHistorialEstadosComprobante(auth: WsAuthSource, idComprobante: IdComprobanteInput, opts?: CallOptions): Promise<HistorialEstadosComprobanteResult>;
61
+ /** `consultarHistorialEstadosCtaCte`. */
62
+ consultarHistorialEstadosCtaCte(auth: WsAuthSource, idCtaCte: IdCtaCteInput, opts?: CallOptions): Promise<HistorialEstadosCtaCteResult>;
63
+ /** `obtenerRemitos`: remitos asociados a un comprobante. */
64
+ obtenerRemitos(auth: WsAuthSource, idComprobante: IdComprobanteInput, opts?: CallOptions): Promise<IdComprobante[]>;
65
+ /** `aceptarFECred`: acepta una factura de crédito. */
66
+ aceptarFECred(auth: WsAuthSource, params: AceptarFecredParams, opts?: CallOptions): Promise<OperacionFecredResult>;
67
+ /** `rechazarFECred`: rechaza una factura de crédito. */
68
+ rechazarFECred(auth: WsAuthSource, params: RechazarFecredParams, opts?: CallOptions): Promise<OperacionFecredResult>;
69
+ /** `informarCancelacionTotalFECred`: informa la cancelación total de una FCE aceptada. */
70
+ informarCancelacionTotalFECred(auth: WsAuthSource, params: InformarCancelacionTotalParams, opts?: CallOptions): Promise<OperacionFecredResult>;
71
+ /** `modificarOpcionTransferencia`: cambia la opción de transferencia (SCA/ADC). */
72
+ modificarOpcionTransferencia(auth: WsAuthSource, params: ModificarOpcionTransferenciaParams, opts?: CallOptions): Promise<OperacionFecredResult>;
73
+ /** `informarFacturaAgtDptoCltv`: informa la factura a un Agente de Depósito Colectivo. */
74
+ informarFacturaAgtDptoCltv(auth: WsAuthSource, params: InformarFacturaAgtDptoCltvParams, opts?: CallOptions): Promise<OperacionFecredResult>;
75
+ /** `rechazarNotaDC`: rechaza una nota de débito/crédito. */
76
+ rechazarNotaDC(auth: WsAuthSource, params: RechazarNotaDCParams, opts?: CallOptions): Promise<RechazarNotaDCResult>;
77
+ /** `consultarCuentasEnAgtDptoCltv`: cuentas de la CUIT representada en Agentes de Depósito Colectivo. */
78
+ consultarCuentasEnAgtDptoCltv(auth: WsAuthSource, opts?: CallOptions): Promise<ConsultarCuentasEnAgtDptoCltvResult>;
79
+ /** `consultarFacturasAgtDptoCltv`: facturas informadas a Agentes de Depósito Colectivo. */
80
+ consultarFacturasAgtDptoCltv(auth: WsAuthSource, params?: ConsultarFacturasAgtDptoCltvParams, opts?: CallOptions): Promise<ConsultarFacturasAgtDptoCltvResult>;
81
+ /** `consultarTiposRetenciones`. */
82
+ consultarTiposRetenciones(auth: WsAuthSource, opts?: CallOptions): Promise<TipoRetencion[]>;
83
+ /** `consultarTiposFormasCancelacion`. */
84
+ consultarTiposFormasCancelacion(auth: WsAuthSource, opts?: CallOptions): Promise<CodigoDescripcion[]>;
85
+ /** `consultarTiposMotivosRechazo`. */
86
+ consultarTiposMotivosRechazo(auth: WsAuthSource, opts?: CallOptions): Promise<CodigoDescripcion[]>;
87
+ /** `consultarTiposAjustesOperacion`. */
88
+ consultarTiposAjustesOperacion(auth: WsAuthSource, opts?: CallOptions): Promise<CodigoDescripcion[]>;
99
89
  }
100
90
  //# sourceMappingURL=fecred-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fecred-client.d.ts","sourceRoot":"","sources":["../src/fecred-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fecred-client.d.ts","sourceRoot":"","sources":["../src/fecred-client.ts"],"names":[],"mappings":"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"}