@ramiidv/arca-padron 0.3.0 → 0.5.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.
Files changed (172) hide show
  1. package/CHANGELOG.md +117 -0
  2. package/README.md +146 -99
  3. package/dist/arca-padron.d.ts +107 -0
  4. package/dist/arca-padron.d.ts.map +1 -0
  5. package/dist/arca-padron.js +178 -0
  6. package/dist/arca-padron.js.map +1 -0
  7. package/dist/base-client.d.ts +45 -0
  8. package/dist/base-client.d.ts.map +1 -0
  9. package/dist/base-client.js +54 -0
  10. package/dist/base-client.js.map +1 -0
  11. package/dist/{esm/condicion-iva.d.ts → condicion-iva.d.ts} +9 -5
  12. package/dist/condicion-iva.d.ts.map +1 -0
  13. package/dist/condicion-iva.js +170 -0
  14. package/dist/condicion-iva.js.map +1 -0
  15. package/dist/{esm/constants.d.ts → constants.d.ts} +57 -12
  16. package/dist/constants.d.ts.map +1 -0
  17. package/dist/{esm/constants.js → constants.js} +53 -11
  18. package/dist/constants.js.map +1 -0
  19. package/dist/errors.d.ts +50 -0
  20. package/dist/errors.d.ts.map +1 -0
  21. package/dist/errors.js +58 -0
  22. package/dist/errors.js.map +1 -0
  23. package/dist/index.d.ts +24 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +30 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/mapping.d.ts +22 -0
  28. package/dist/mapping.d.ts.map +1 -0
  29. package/dist/mapping.js +52 -0
  30. package/dist/mapping.js.map +1 -0
  31. package/dist/padron-a10.d.ts +24 -0
  32. package/dist/padron-a10.d.ts.map +1 -0
  33. package/dist/padron-a10.js +41 -0
  34. package/dist/padron-a10.js.map +1 -0
  35. package/dist/padron-a100.d.ts +26 -0
  36. package/dist/padron-a100.d.ts.map +1 -0
  37. package/dist/padron-a100.js +46 -0
  38. package/dist/padron-a100.js.map +1 -0
  39. package/dist/padron-a13.d.ts +36 -0
  40. package/dist/padron-a13.d.ts.map +1 -0
  41. package/dist/padron-a13.js +95 -0
  42. package/dist/padron-a13.js.map +1 -0
  43. package/dist/padron-a4.d.ts +21 -0
  44. package/dist/padron-a4.d.ts.map +1 -0
  45. package/dist/padron-a4.js +128 -0
  46. package/dist/padron-a4.js.map +1 -0
  47. package/dist/padron-a5.d.ts +39 -0
  48. package/dist/padron-a5.d.ts.map +1 -0
  49. package/dist/padron-a5.js +214 -0
  50. package/dist/padron-a5.js.map +1 -0
  51. package/dist/{cjs/types.d.ts → types.d.ts} +36 -53
  52. package/dist/types.d.ts.map +1 -0
  53. package/dist/types.js.map +1 -0
  54. package/llms.txt +46 -27
  55. package/package.json +21 -32
  56. package/dist/cjs/arca-padron.d.ts +0 -98
  57. package/dist/cjs/arca-padron.d.ts.map +0 -1
  58. package/dist/cjs/arca-padron.js +0 -177
  59. package/dist/cjs/arca-padron.js.map +0 -1
  60. package/dist/cjs/base-client.d.ts +0 -36
  61. package/dist/cjs/base-client.d.ts.map +0 -1
  62. package/dist/cjs/base-client.js +0 -52
  63. package/dist/cjs/base-client.js.map +0 -1
  64. package/dist/cjs/condicion-iva.d.ts +0 -24
  65. package/dist/cjs/condicion-iva.d.ts.map +0 -1
  66. package/dist/cjs/condicion-iva.js +0 -119
  67. package/dist/cjs/condicion-iva.js.map +0 -1
  68. package/dist/cjs/constants.d.ts +0 -97
  69. package/dist/cjs/constants.d.ts.map +0 -1
  70. package/dist/cjs/constants.js +0 -113
  71. package/dist/cjs/constants.js.map +0 -1
  72. package/dist/cjs/errors.d.ts +0 -22
  73. package/dist/cjs/errors.d.ts.map +0 -1
  74. package/dist/cjs/errors.js +0 -36
  75. package/dist/cjs/errors.js.map +0 -1
  76. package/dist/cjs/index.d.ts +0 -16
  77. package/dist/cjs/index.d.ts.map +0 -1
  78. package/dist/cjs/index.js +0 -56
  79. package/dist/cjs/index.js.map +0 -1
  80. package/dist/cjs/mapping.d.ts +0 -9
  81. package/dist/cjs/mapping.d.ts.map +0 -1
  82. package/dist/cjs/mapping.js +0 -14
  83. package/dist/cjs/mapping.js.map +0 -1
  84. package/dist/cjs/package.json +0 -1
  85. package/dist/cjs/padron-a10.d.ts +0 -18
  86. package/dist/cjs/padron-a10.d.ts.map +0 -1
  87. package/dist/cjs/padron-a10.js +0 -73
  88. package/dist/cjs/padron-a10.js.map +0 -1
  89. package/dist/cjs/padron-a100.d.ts +0 -16
  90. package/dist/cjs/padron-a100.d.ts.map +0 -1
  91. package/dist/cjs/padron-a100.js +0 -38
  92. package/dist/cjs/padron-a100.js.map +0 -1
  93. package/dist/cjs/padron-a13.d.ts +0 -24
  94. package/dist/cjs/padron-a13.d.ts.map +0 -1
  95. package/dist/cjs/padron-a13.js +0 -80
  96. package/dist/cjs/padron-a13.js.map +0 -1
  97. package/dist/cjs/padron-a4.d.ts +0 -18
  98. package/dist/cjs/padron-a4.d.ts.map +0 -1
  99. package/dist/cjs/padron-a4.js +0 -173
  100. package/dist/cjs/padron-a4.js.map +0 -1
  101. package/dist/cjs/padron-a5.d.ts +0 -24
  102. package/dist/cjs/padron-a5.d.ts.map +0 -1
  103. package/dist/cjs/padron-a5.js +0 -156
  104. package/dist/cjs/padron-a5.js.map +0 -1
  105. package/dist/cjs/soap-client.d.ts +0 -2
  106. package/dist/cjs/soap-client.d.ts.map +0 -1
  107. package/dist/cjs/soap-client.js +0 -13
  108. package/dist/cjs/soap-client.js.map +0 -1
  109. package/dist/cjs/types.d.ts.map +0 -1
  110. package/dist/cjs/types.js +0 -3
  111. package/dist/cjs/types.js.map +0 -1
  112. package/dist/cjs/wsaa.d.ts +0 -3
  113. package/dist/cjs/wsaa.d.ts.map +0 -1
  114. package/dist/cjs/wsaa.js +0 -6
  115. package/dist/cjs/wsaa.js.map +0 -1
  116. package/dist/esm/arca-padron.d.ts +0 -98
  117. package/dist/esm/arca-padron.d.ts.map +0 -1
  118. package/dist/esm/arca-padron.js +0 -173
  119. package/dist/esm/arca-padron.js.map +0 -1
  120. package/dist/esm/base-client.d.ts +0 -36
  121. package/dist/esm/base-client.d.ts.map +0 -1
  122. package/dist/esm/base-client.js +0 -48
  123. package/dist/esm/base-client.js.map +0 -1
  124. package/dist/esm/condicion-iva.d.ts.map +0 -1
  125. package/dist/esm/condicion-iva.js +0 -116
  126. package/dist/esm/condicion-iva.js.map +0 -1
  127. package/dist/esm/constants.d.ts.map +0 -1
  128. package/dist/esm/constants.js.map +0 -1
  129. package/dist/esm/errors.d.ts +0 -22
  130. package/dist/esm/errors.d.ts.map +0 -1
  131. package/dist/esm/errors.js +0 -26
  132. package/dist/esm/errors.js.map +0 -1
  133. package/dist/esm/index.d.ts +0 -16
  134. package/dist/esm/index.d.ts.map +0 -1
  135. package/dist/esm/index.js +0 -22
  136. package/dist/esm/index.js.map +0 -1
  137. package/dist/esm/mapping.d.ts +0 -9
  138. package/dist/esm/mapping.d.ts.map +0 -1
  139. package/dist/esm/mapping.js +0 -8
  140. package/dist/esm/mapping.js.map +0 -1
  141. package/dist/esm/padron-a10.d.ts +0 -18
  142. package/dist/esm/padron-a10.d.ts.map +0 -1
  143. package/dist/esm/padron-a10.js +0 -69
  144. package/dist/esm/padron-a10.js.map +0 -1
  145. package/dist/esm/padron-a100.d.ts +0 -16
  146. package/dist/esm/padron-a100.d.ts.map +0 -1
  147. package/dist/esm/padron-a100.js +0 -34
  148. package/dist/esm/padron-a100.js.map +0 -1
  149. package/dist/esm/padron-a13.d.ts +0 -24
  150. package/dist/esm/padron-a13.d.ts.map +0 -1
  151. package/dist/esm/padron-a13.js +0 -75
  152. package/dist/esm/padron-a13.js.map +0 -1
  153. package/dist/esm/padron-a4.d.ts +0 -18
  154. package/dist/esm/padron-a4.d.ts.map +0 -1
  155. package/dist/esm/padron-a4.js +0 -169
  156. package/dist/esm/padron-a4.js.map +0 -1
  157. package/dist/esm/padron-a5.d.ts +0 -24
  158. package/dist/esm/padron-a5.d.ts.map +0 -1
  159. package/dist/esm/padron-a5.js +0 -151
  160. package/dist/esm/padron-a5.js.map +0 -1
  161. package/dist/esm/soap-client.d.ts +0 -2
  162. package/dist/esm/soap-client.d.ts.map +0 -1
  163. package/dist/esm/soap-client.js +0 -3
  164. package/dist/esm/soap-client.js.map +0 -1
  165. package/dist/esm/types.d.ts +0 -346
  166. package/dist/esm/types.d.ts.map +0 -1
  167. package/dist/esm/types.js.map +0 -1
  168. package/dist/esm/wsaa.d.ts +0 -3
  169. package/dist/esm/wsaa.d.ts.map +0 -1
  170. package/dist/esm/wsaa.js +0 -2
  171. package/dist/esm/wsaa.js.map +0 -1
  172. /package/dist/{esm/types.js → types.js} +0 -0
@@ -0,0 +1,95 @@
1
+ import { ArcaValidationError, validateCuit } from '@ramiidv/arca-common';
2
+ import { decode, decodePersona, id, int, list, must, obj, str } from './mapping.js';
3
+ import { BasePadronClient } from './base-client.js';
4
+ /**
5
+ * Client for ws_sr_padron_a13 - Datos básicos de un contribuyente (manual v1.4).
6
+ */
7
+ export class PadronA13Client extends BasePadronClient {
8
+ /**
9
+ * Datos de un contribuyente por CUIT (`getPersona`). Si la clave está
10
+ * inactiva, ARCA responde con error (`reason: 'inactiva'`): usá `getPersonaV2`.
11
+ * @param auth - Authentication object with Token, Sign, and CuitRepresentada
12
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones)
13
+ * @param opts - Opciones por llamada (signal)
14
+ */
15
+ async getPersona(auth, cuit, opts) {
16
+ const idPersona = validateCuit(cuit);
17
+ const result = await this.call('getPersona', { ...this.authParams(auth), idPersona }, opts);
18
+ return decodePersona(result, PersonaA13Schema, 'getPersona');
19
+ }
20
+ /**
21
+ * Datos de un contribuyente por CUIT, aunque la clave esté INACTIVA
22
+ * (`getPersonaV2`, agregado en el manual v1.4).
23
+ */
24
+ async getPersonaV2(auth, cuit, opts) {
25
+ const idPersona = validateCuit(cuit);
26
+ const result = await this.call('getPersonaV2', { ...this.authParams(auth), idPersona }, opts);
27
+ return decodePersona(result, PersonaA13Schema, 'getPersonaV2');
28
+ }
29
+ /**
30
+ * CUITs/CUILs asociados a un número de documento. Devuelve `[]` si ARCA
31
+ * responde sin claves.
32
+ * @param documento - Número de documento (se aceptan puntos y espacios: "11.709.676")
33
+ */
34
+ async getIdPersonaListByDocumento(auth, documento, opts) {
35
+ const result = await this.call('getIdPersonaListByDocumento', { ...this.authParams(auth), documento: normalizarDocumento(documento) }, opts);
36
+ return (decode(result, IdPersonaListReturnSchema, 'getIdPersonaListByDocumento.idPersonaListReturn').idPersona ?? []);
37
+ }
38
+ }
39
+ /** Normaliza un número de documento: sin puntos, espacios ni guiones; solo dígitos (1 a 11). */
40
+ export function normalizarDocumento(documento) {
41
+ const normalized = String(documento).replace(/[.\s-]/g, '');
42
+ if (!/^\d{1,11}$/.test(normalized)) {
43
+ throw new ArcaValidationError(`Documento inválido: "${documento}". Debe ser numérico.`, [{ field: 'documento', message: 'El documento debe tener entre 1 y 11 dígitos', value: documento }], 'documento');
44
+ }
45
+ return normalized;
46
+ }
47
+ // ---------------------------------------------------------------------------
48
+ // Schemas de la respuesta (WSDL personaServiceA13, orden del WSDL). Todos los
49
+ // elementos son `minOccurs="0"`; los `must()` son los que el SDK exige.
50
+ // ---------------------------------------------------------------------------
51
+ const Domicilio = {
52
+ calle: str(),
53
+ codigoPostal: str(),
54
+ datoAdicional: str(),
55
+ descripcionProvincia: str(),
56
+ direccion: str(),
57
+ estadoDomicilio: str(),
58
+ idProvincia: int(),
59
+ localidad: str(),
60
+ manzana: str(),
61
+ numero: int(),
62
+ oficinaDptoLocal: str(),
63
+ piso: str(),
64
+ sector: str(),
65
+ tipoDatoAdicional: str(),
66
+ tipoDomicilio: str(),
67
+ torre: str(),
68
+ };
69
+ /** `persona` de A13 (`getPersona` y `getPersonaV2`). */
70
+ export const PersonaA13Schema = {
71
+ apellido: str(),
72
+ claveInactivaAsociada: list(id()),
73
+ descripcionActividadPrincipal: str(),
74
+ domicilio: list(obj(Domicilio)),
75
+ estadoClave: str(),
76
+ fechaContratoSocial: str(),
77
+ fechaFallecimiento: str(),
78
+ fechaNacimiento: str(),
79
+ formaJuridica: str(),
80
+ idActividadPrincipal: id(),
81
+ idPersona: must(id()),
82
+ mesCierre: int(),
83
+ nombre: str(),
84
+ numeroDocumento: str(),
85
+ periodoActividadPrincipal: int(),
86
+ razonSocial: str(),
87
+ tipoClave: str(),
88
+ tipoDocumento: str(),
89
+ tipoPersona: must(str({ minLen: 1 })),
90
+ };
91
+ /** @internal Exportado para los tests de contrato. */
92
+ export const IdPersonaListReturnSchema = {
93
+ idPersona: list(id()),
94
+ };
95
+ //# sourceMappingURL=padron-a13.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"padron-a13.js","sourceRoot":"","sources":["../src/padron-a13.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { CallOptions } from '@ramiidv/arca-common';
2
+ import { type Schema } from './mapping.js';
3
+ import { BasePadronClient, type PadronClientConfig } from './base-client.js';
4
+ import type { PersonaA4, WsAuth } from './types.js';
5
+ export type PadronA4ClientConfig = PadronClientConfig;
6
+ /**
7
+ * Client for ws_sr_padron_a4 - Datos completos de un contribuyente.
8
+ */
9
+ export declare class PadronA4Client extends BasePadronClient {
10
+ /**
11
+ * Datos completos de un contribuyente.
12
+ * @param auth - Authentication object with Token, Sign, and CuitRepresentada
13
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones; se valida el dígito verificador)
14
+ * @param opts - Opciones por llamada (signal)
15
+ * @throws ArcaPadronServiceError si ARCA informa la CUIT inexistente, inactiva, etc.
16
+ */
17
+ getPersona(auth: WsAuth, cuit: string | number, opts?: CallOptions): Promise<PersonaA4>;
18
+ }
19
+ /** `persona` de A4 (estructura plana). */
20
+ export declare const PersonaA4Schema: Schema;
21
+ //# sourceMappingURL=padron-a4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"padron-a4.d.ts","sourceRoot":"","sources":["../src/padron-a4.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAkE,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3G,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEtD;;GAEG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;IAClD;;;;;;OAMG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;CAK9F;AA4ED,0CAA0C;AAC1C,eAAO,MAAM,eAAe,EAAE,MAwC7B,CAAC"}
@@ -0,0 +1,128 @@
1
+ import { validateCuit } from '@ramiidv/arca-common';
2
+ import { Dependencia, dec, decodePersona, id, int, list, must, obj, str } from './mapping.js';
3
+ import { BasePadronClient } from './base-client.js';
4
+ /**
5
+ * Client for ws_sr_padron_a4 - Datos completos de un contribuyente.
6
+ */
7
+ export class PadronA4Client extends BasePadronClient {
8
+ /**
9
+ * Datos completos de un contribuyente.
10
+ * @param auth - Authentication object with Token, Sign, and CuitRepresentada
11
+ * @param cuit - CUIT/CUIL a consultar (con o sin guiones; se valida el dígito verificador)
12
+ * @param opts - Opciones por llamada (signal)
13
+ * @throws ArcaPadronServiceError si ARCA informa la CUIT inexistente, inactiva, etc.
14
+ */
15
+ async getPersona(auth, cuit, opts) {
16
+ const idPersona = validateCuit(cuit);
17
+ const result = await this.call('getPersona', { ...this.authParams(auth), idPersona }, opts);
18
+ return decodePersona(result, PersonaA4Schema, 'getPersona');
19
+ }
20
+ }
21
+ // ---------------------------------------------------------------------------
22
+ // Schemas de la respuesta (WSDL personaServiceA4, orden del WSDL). Todos los
23
+ // elementos son `minOccurs="0"`; los `must()` son los que el SDK exige.
24
+ // ---------------------------------------------------------------------------
25
+ const Actividad = {
26
+ descripcionActividad: str(),
27
+ idActividad: must(id()),
28
+ nomenclador: int(),
29
+ orden: int(),
30
+ periodo: int(),
31
+ };
32
+ const Categoria = {
33
+ descripcionCategoria: str(),
34
+ estado: str(),
35
+ idCategoria: must(int()),
36
+ idImpuesto: int(),
37
+ periodo: int(),
38
+ };
39
+ const Domicilio = {
40
+ codPostal: str(),
41
+ datoAdicional: str(),
42
+ descripcionProvincia: str(),
43
+ direccion: str(),
44
+ idProvincia: int(),
45
+ localidad: str(),
46
+ orden: int(),
47
+ tipoDatoAdicional: str(),
48
+ tipoDomicilio: str(),
49
+ };
50
+ const Email = {
51
+ direccion: must(str({ minLen: 1 })),
52
+ estado: str(),
53
+ tipoEmail: str(),
54
+ };
55
+ const Impuesto = {
56
+ descripcionImpuesto: str(),
57
+ diaPeriodo: int(),
58
+ /** Manual A4 §5.3: ACTIVO, ACTIVO EN TRAMITE, BAJA PROVISORIA, BAJA DEFINITIVA, EXENTO, EXENTO EN TRAMITE, NO APORTANTE. */
59
+ estado: str(),
60
+ ffInscripcion: str(),
61
+ idImpuesto: must(int()),
62
+ periodo: int(),
63
+ };
64
+ const Regimen = {
65
+ descripcionRegimen: str(),
66
+ diaPeriodo: int(),
67
+ estado: str(),
68
+ idImpuesto: int(),
69
+ idRegimen: must(int()),
70
+ periodo: int(),
71
+ tipoRegimen: str(),
72
+ };
73
+ const Relacion = {
74
+ ffRelacion: str(),
75
+ ffVencimiento: str(),
76
+ idPersona: must(id()),
77
+ idPersonaAsociada: id(),
78
+ subtipoRelacion: str(),
79
+ tipoRelacion: str(),
80
+ };
81
+ const Telefono = {
82
+ numero: must(id()),
83
+ tipoLinea: str(),
84
+ tipoTelefono: str(),
85
+ };
86
+ /** `persona` de A4 (estructura plana). */
87
+ export const PersonaA4Schema = {
88
+ actividad: list(obj(Actividad)),
89
+ apellido: str(),
90
+ cantidadSociosEmpresaMono: int(),
91
+ categoria: list(obj(Categoria)),
92
+ claveInactivaAsociada: list(id()),
93
+ dependencia: obj(Dependencia),
94
+ domicilio: list(obj(Domicilio)),
95
+ email: list(obj(Email)),
96
+ estadoClave: str(),
97
+ fechaContratoSocial: str(),
98
+ fechaFallecimiento: str(),
99
+ fechaInscripcion: str(),
100
+ fechaJubilado: str(),
101
+ fechaNacimiento: str(),
102
+ fechaVencimientoMigracion: str(),
103
+ formaJuridica: str(),
104
+ idPersona: must(id()),
105
+ impuesto: list(obj(Impuesto)),
106
+ leyJubilacion: int(),
107
+ localidadInscripcion: str(),
108
+ mesCierre: int(),
109
+ nombre: str(),
110
+ numeroDocumento: str(),
111
+ numeroInscripcion: str(),
112
+ organismoInscripcion: str(),
113
+ organismoOriginante: str(),
114
+ /** `xs:double` */
115
+ porcentajeCapitalNacional: dec(2),
116
+ provinciaInscripcion: str(),
117
+ razonSocial: str(),
118
+ regimen: list(obj(Regimen)),
119
+ relacion: list(obj(Relacion)),
120
+ sexo: str(),
121
+ telefono: list(obj(Telefono)),
122
+ tipoClave: str(),
123
+ tipoDocumento: str(),
124
+ tipoOrganismoOriginante: str(),
125
+ tipoPersona: must(str({ minLen: 1 })),
126
+ tipoResidencia: str(),
127
+ };
128
+ //# sourceMappingURL=padron-a4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"padron-a4.js","sourceRoot":"","sources":["../src/padron-a4.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import type { CallOptions } from '@ramiidv/arca-common';
2
+ import { type Schema } from './mapping.js';
3
+ import { BasePadronClient, type PadronClientConfig } from './base-client.js';
4
+ import type { PersonaA5, WsAuth } from './types.js';
5
+ export type PadronA5ClientConfig = PadronClientConfig;
6
+ /** Máximo de claves por `getPersonaList_v2` (manual de constancia v4.1, §3.3). */
7
+ export declare const MAX_PERSONA_LIST = 250;
8
+ /**
9
+ * Client for ws_sr_constancia_inscripcion (ex ws_sr_padron_a5, deprecado por
10
+ * ARCA) - Constancia de inscripción: datos generales, domicilio fiscal,
11
+ * impuestos del régimen general y monotributo.
12
+ *
13
+ * Usa `getPersona_v2` y `getPersonaList_v2`, los métodos vigentes según el
14
+ * manual del servicio (v4.1).
15
+ */
16
+ export declare class PadronA5Client extends BasePadronClient {
17
+ /**
18
+ * Constancia de inscripción de un contribuyente (`getPersona_v2`).
19
+ *
20
+ * Si ARCA no puede emitir la constancia, devuelve la persona con
21
+ * `errorConstancia` / `errorRegimenGeneral` / `errorMonotributo`.
22
+ * @param cuit - CUIT a consultar (con o sin guiones; se valida el dígito verificador)
23
+ * @throws ArcaPadronServiceError si ARCA responde con un Fault de negocio (ej: CUIT inexistente)
24
+ */
25
+ getPersona(auth: WsAuth, cuit: string | number, opts?: CallOptions): Promise<PersonaA5>;
26
+ /**
27
+ * Constancias de hasta 250 contribuyentes en una llamada (`getPersonaList_v2`).
28
+ *
29
+ * Devuelve una persona por cada clave que informa ARCA. Las claves
30
+ * inexistentes vuelven con `errorConstancia` (ej: "No existe persona con ese
31
+ * Id") en lugar de hacer fallar toda la consulta.
32
+ */
33
+ getPersonaList(auth: WsAuth, cuits: Array<string | number>, opts?: CallOptions): Promise<PersonaA5[]>;
34
+ }
35
+ /** @internal `personaReturn` (y `persona` de `personaListReturn`); exportado para los tests de contrato. */
36
+ export declare const PersonaReturnSchema: Schema;
37
+ /** @internal `personaListReturn` de `getPersonaList_v2`. */
38
+ export declare const PersonaListReturnSchema: Schema;
39
+ //# sourceMappingURL=padron-a5.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"padron-a5.d.ts","sourceRoot":"","sources":["../src/padron-a5.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAoD,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EASV,SAAS,EAET,MAAM,EACP,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEtD,kFAAkF;AAClF,eAAO,MAAM,gBAAgB,MAAM,CAAC;AAEpC;;;;;;;GAOG;AACH,qBAAa,cAAe,SAAQ,gBAAgB;IAClD;;;;;;;OAOG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC;IAM7F;;;;;;OAMG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;CAuB5G;AAmCD,4GAA4G;AAC5G,eAAO,MAAM,mBAAmB,EAAE,MAuEjC,CAAC;AAEF,4DAA4D;AAC5D,eAAO,MAAM,uBAAuB,EAAE,MAAoD,CAAC"}
@@ -0,0 +1,214 @@
1
+ import { ArcaValidationError, validateCuit } from '@ramiidv/arca-common';
2
+ import { ArcaPadronError } from './errors.js';
3
+ import { Domicilio, decode, id, int, list, must, obj, str } from './mapping.js';
4
+ import { BasePadronClient } from './base-client.js';
5
+ /** Máximo de claves por `getPersonaList_v2` (manual de constancia v4.1, §3.3). */
6
+ export const MAX_PERSONA_LIST = 250;
7
+ /**
8
+ * Client for ws_sr_constancia_inscripcion (ex ws_sr_padron_a5, deprecado por
9
+ * ARCA) - Constancia de inscripción: datos generales, domicilio fiscal,
10
+ * impuestos del régimen general y monotributo.
11
+ *
12
+ * Usa `getPersona_v2` y `getPersonaList_v2`, los métodos vigentes según el
13
+ * manual del servicio (v4.1).
14
+ */
15
+ export class PadronA5Client extends BasePadronClient {
16
+ /**
17
+ * Constancia de inscripción de un contribuyente (`getPersona_v2`).
18
+ *
19
+ * Si ARCA no puede emitir la constancia, devuelve la persona con
20
+ * `errorConstancia` / `errorRegimenGeneral` / `errorMonotributo`.
21
+ * @param cuit - CUIT a consultar (con o sin guiones; se valida el dígito verificador)
22
+ * @throws ArcaPadronServiceError si ARCA responde con un Fault de negocio (ej: CUIT inexistente)
23
+ */
24
+ async getPersona(auth, cuit, opts) {
25
+ const idPersona = validateCuit(cuit);
26
+ const result = await this.call('getPersona_v2', { ...this.authParams(auth), idPersona }, opts);
27
+ return mapPersonaA5(decode(result, PersonaReturnSchema, 'getPersona_v2.personaReturn'));
28
+ }
29
+ /**
30
+ * Constancias de hasta 250 contribuyentes en una llamada (`getPersonaList_v2`).
31
+ *
32
+ * Devuelve una persona por cada clave que informa ARCA. Las claves
33
+ * inexistentes vuelven con `errorConstancia` (ej: "No existe persona con ese
34
+ * Id") en lugar de hacer fallar toda la consulta.
35
+ */
36
+ async getPersonaList(auth, cuits, opts) {
37
+ if (!Array.isArray(cuits) || cuits.length === 0 || cuits.length > MAX_PERSONA_LIST) {
38
+ throw new ArcaValidationError(`getPersonaList_v2 acepta entre 1 y ${MAX_PERSONA_LIST} CUITs (recibió ${Array.isArray(cuits) ? cuits.length : 0})`, [
39
+ {
40
+ field: 'cuits',
41
+ message: `Entre 1 y ${MAX_PERSONA_LIST} CUITs`,
42
+ value: Array.isArray(cuits) ? cuits.length : cuits,
43
+ },
44
+ ], 'cuits');
45
+ }
46
+ const idPersona = cuits.map((c) => validateCuit(c));
47
+ const result = await this.call('getPersonaList_v2', { ...this.authParams(auth), idPersona }, opts);
48
+ const { persona } = decode(result, PersonaListReturnSchema, 'getPersonaList_v2.personaListReturn');
49
+ return (persona ?? []).map(mapPersonaA5);
50
+ }
51
+ }
52
+ // ---------------------------------------------------------------------------
53
+ // Schemas de la respuesta (WSDL personaServiceA5, orden del WSDL). Todos los
54
+ // elementos son `minOccurs="0"`; los `must()` son los que el SDK exige.
55
+ // ---------------------------------------------------------------------------
56
+ const Actividad = {
57
+ descripcionActividad: str(),
58
+ idActividad: must(id()),
59
+ nomenclador: int(),
60
+ orden: int(),
61
+ periodo: int(),
62
+ };
63
+ const Categoria = {
64
+ descripcionCategoria: str(),
65
+ idCategoria: must(int()),
66
+ idImpuesto: int(),
67
+ periodo: int(),
68
+ };
69
+ const Impuesto = {
70
+ descripcionImpuesto: str(),
71
+ estadoImpuesto: str(),
72
+ idImpuesto: must(int()),
73
+ motivo: str(),
74
+ periodo: int(),
75
+ };
76
+ const ErrorRegimen = {
77
+ error: list(str()),
78
+ mensaje: str(),
79
+ };
80
+ /** @internal `personaReturn` (y `persona` de `personaListReturn`); exportado para los tests de contrato. */
81
+ export const PersonaReturnSchema = {
82
+ datosGenerales: obj({
83
+ apellido: str(),
84
+ caracterizacion: list(obj({
85
+ descripcionCaracterizacion: str(),
86
+ fechaSolicitud: int(),
87
+ idCaracterizacion: must(int()),
88
+ periodo: int(),
89
+ })),
90
+ dependencia: obj({
91
+ codPostal: str(),
92
+ descripcionDependencia: str(),
93
+ descripcionProvincia: str(),
94
+ direccion: str(),
95
+ idDependencia: int(),
96
+ idProvincia: int(),
97
+ localidad: str(),
98
+ }),
99
+ domicilioFiscal: obj(Domicilio),
100
+ esSucesion: str(),
101
+ estadoClave: str(),
102
+ fechaContratoSocial: str(),
103
+ fechaFallecimiento: str(),
104
+ idPersona: id(),
105
+ mesCierre: int(),
106
+ nombre: str(),
107
+ razonSocial: str(),
108
+ tipoClave: str(),
109
+ tipoPersona: str(),
110
+ }),
111
+ datosMonotributo: obj({
112
+ actividad: list(obj(Actividad)),
113
+ actividadMonotributista: obj(Actividad),
114
+ categoriaMonotributo: obj(Categoria),
115
+ componenteDeSociedad: list(obj({
116
+ apellidoPersonaAsociada: str(),
117
+ ffRelacion: str(),
118
+ ffVencimiento: str(),
119
+ idPersonaAsociada: id(),
120
+ nombrePersonaAsociada: str(),
121
+ razonSocialPersonaAsociada: str(),
122
+ tipoComponente: str(),
123
+ })),
124
+ impuesto: list(obj(Impuesto)),
125
+ }),
126
+ datosRegimenGeneral: obj({
127
+ actividad: list(obj(Actividad)),
128
+ categoriaAutonomo: obj(Categoria),
129
+ impuesto: list(obj(Impuesto)),
130
+ regimen: list(obj({
131
+ descripcionRegimen: str(),
132
+ idImpuesto: int(),
133
+ idRegimen: must(int()),
134
+ periodo: int(),
135
+ tipoRegimen: str(),
136
+ })),
137
+ }),
138
+ errorConstancia: obj({
139
+ apellido: str(),
140
+ error: list(str()),
141
+ idPersona: id(),
142
+ nombre: str(),
143
+ }),
144
+ errorMonotributo: obj(ErrorRegimen),
145
+ errorRegimenGeneral: obj(ErrorRegimen),
146
+ };
147
+ /** @internal `personaListReturn` de `getPersonaList_v2`. */
148
+ export const PersonaListReturnSchema = { persona: list(obj(PersonaReturnSchema)) };
149
+ const errorRegimen = (e) => ({
150
+ error: e.error ?? [],
151
+ mensaje: e.mensaje,
152
+ });
153
+ /** Arma la `PersonaA5` a partir de un `personaReturn` (o un `persona` de la lista) decodificado. */
154
+ function mapPersonaA5(raw) {
155
+ const { datosGenerales: g, datosRegimenGeneral: rg, datosMonotributo: mt, errorConstancia: ec } = raw;
156
+ if (!g && !ec) {
157
+ throw new ArcaPadronError('Respuesta inválida de ARCA: la constancia no tiene datosGenerales ni errorConstancia');
158
+ }
159
+ const idPersona = g?.idPersona ?? ec?.idPersona;
160
+ if (!idPersona)
161
+ throw new ArcaPadronError('Respuesta inválida de ARCA: falta datosGenerales.idPersona');
162
+ const persona = {
163
+ idPersona,
164
+ tipoPersona: g?.tipoPersona,
165
+ tipoClave: g?.tipoClave,
166
+ estadoClave: g?.estadoClave,
167
+ nombre: g?.nombre ?? ec?.nombre,
168
+ apellido: g?.apellido ?? ec?.apellido,
169
+ razonSocial: g?.razonSocial,
170
+ mesCierre: g?.mesCierre,
171
+ fechaContratoSocial: g?.fechaContratoSocial,
172
+ fechaFallecimiento: g?.fechaFallecimiento,
173
+ esSucesion: g?.esSucesion,
174
+ domicilioFiscal: g?.domicilioFiscal,
175
+ impuestos: [],
176
+ };
177
+ if (g?.dependencia)
178
+ persona.dependencia = g.dependencia;
179
+ if (g?.caracterizacion)
180
+ persona.caracterizacion = g.caracterizacion;
181
+ if (rg) {
182
+ persona.regimenGeneral = {
183
+ impuestos: rg.impuesto ?? [],
184
+ actividades: rg.actividad ?? [],
185
+ regimenes: rg.regimen ?? [],
186
+ categoriaAutonomo: rg.categoriaAutonomo,
187
+ };
188
+ }
189
+ if (mt) {
190
+ persona.monotributo = {
191
+ impuestos: mt.impuesto ?? [],
192
+ actividades: mt.actividad ?? [],
193
+ actividadMonotributista: mt.actividadMonotributista,
194
+ categoria: mt.categoriaMonotributo,
195
+ };
196
+ if (mt.componenteDeSociedad)
197
+ persona.monotributo.componenteDeSociedad = mt.componenteDeSociedad;
198
+ }
199
+ persona.impuestos = [...(persona.regimenGeneral?.impuestos ?? []), ...(persona.monotributo?.impuestos ?? [])];
200
+ if (ec) {
201
+ persona.errorConstancia = {
202
+ error: ec.error ?? [],
203
+ idPersona: ec.idPersona,
204
+ nombre: ec.nombre,
205
+ apellido: ec.apellido,
206
+ };
207
+ }
208
+ if (raw.errorRegimenGeneral)
209
+ persona.errorRegimenGeneral = errorRegimen(raw.errorRegimenGeneral);
210
+ if (raw.errorMonotributo)
211
+ persona.errorMonotributo = errorRegimen(raw.errorMonotributo);
212
+ return persona;
213
+ }
214
+ //# sourceMappingURL=padron-a5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"padron-a5.js","sourceRoot":"","sources":["../src/padron-a5.ts"],"names":[],"mappings":"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"}