@ramiidv/arca-padron 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.
Files changed (151) hide show
  1. package/CHANGELOG.md +116 -0
  2. package/README.md +205 -65
  3. package/dist/cjs/arca-padron.d.ts +111 -0
  4. package/dist/cjs/arca-padron.d.ts.map +1 -0
  5. package/dist/cjs/arca-padron.js +211 -0
  6. package/dist/cjs/arca-padron.js.map +1 -0
  7. package/dist/cjs/base-client.d.ts +45 -0
  8. package/dist/cjs/base-client.d.ts.map +1 -0
  9. package/dist/cjs/base-client.js +68 -0
  10. package/dist/cjs/base-client.js.map +1 -0
  11. package/dist/cjs/condicion-iva.d.ts +28 -0
  12. package/dist/cjs/condicion-iva.d.ts.map +1 -0
  13. package/dist/cjs/condicion-iva.js +166 -0
  14. package/dist/cjs/condicion-iva.js.map +1 -0
  15. package/dist/cjs/constants.d.ts +142 -0
  16. package/dist/cjs/constants.d.ts.map +1 -0
  17. package/dist/cjs/constants.js +155 -0
  18. package/dist/cjs/constants.js.map +1 -0
  19. package/dist/cjs/errors.d.ts +50 -0
  20. package/dist/cjs/errors.d.ts.map +1 -0
  21. package/dist/cjs/errors.js +62 -0
  22. package/dist/cjs/errors.js.map +1 -0
  23. package/dist/cjs/index.d.ts +24 -0
  24. package/dist/cjs/index.d.ts.map +1 -0
  25. package/dist/cjs/index.js +66 -0
  26. package/dist/cjs/index.js.map +1 -0
  27. package/dist/cjs/mapping.d.ts +52 -0
  28. package/dist/cjs/mapping.d.ts.map +1 -0
  29. package/dist/cjs/mapping.js +135 -0
  30. package/dist/cjs/mapping.js.map +1 -0
  31. package/dist/cjs/package.json +1 -0
  32. package/dist/cjs/padron-a10.d.ts +21 -0
  33. package/dist/cjs/padron-a10.d.ts.map +1 -0
  34. package/dist/cjs/padron-a10.js +38 -0
  35. package/dist/cjs/padron-a10.js.map +1 -0
  36. package/dist/cjs/padron-a100.d.ts +20 -0
  37. package/dist/cjs/padron-a100.d.ts.map +1 -0
  38. package/dist/cjs/padron-a100.js +48 -0
  39. package/dist/cjs/padron-a100.js.map +1 -0
  40. package/dist/cjs/padron-a13.d.ts +34 -0
  41. package/dist/cjs/padron-a13.d.ts.map +1 -0
  42. package/dist/cjs/padron-a13.js +100 -0
  43. package/dist/cjs/padron-a13.js.map +1 -0
  44. package/dist/cjs/padron-a4.d.ts +21 -0
  45. package/dist/cjs/padron-a4.d.ts.map +1 -0
  46. package/dist/cjs/padron-a4.js +119 -0
  47. package/dist/cjs/padron-a4.js.map +1 -0
  48. package/dist/cjs/padron-a5.d.ts +37 -0
  49. package/dist/cjs/padron-a5.d.ts.map +1 -0
  50. package/dist/cjs/padron-a5.js +181 -0
  51. package/dist/cjs/padron-a5.js.map +1 -0
  52. package/dist/cjs/types.d.ts +337 -0
  53. package/dist/cjs/types.d.ts.map +1 -0
  54. package/dist/cjs/types.js +3 -0
  55. package/dist/cjs/types.js.map +1 -0
  56. package/dist/esm/arca-padron.d.ts +111 -0
  57. package/dist/esm/arca-padron.d.ts.map +1 -0
  58. package/dist/esm/arca-padron.js +207 -0
  59. package/dist/esm/arca-padron.js.map +1 -0
  60. package/dist/esm/base-client.d.ts +45 -0
  61. package/dist/esm/base-client.d.ts.map +1 -0
  62. package/dist/esm/base-client.js +64 -0
  63. package/dist/esm/base-client.js.map +1 -0
  64. package/dist/esm/condicion-iva.d.ts +28 -0
  65. package/dist/esm/condicion-iva.d.ts.map +1 -0
  66. package/dist/esm/condicion-iva.js +163 -0
  67. package/dist/esm/condicion-iva.js.map +1 -0
  68. package/dist/esm/constants.d.ts +142 -0
  69. package/dist/esm/constants.d.ts.map +1 -0
  70. package/dist/{constants.js → esm/constants.js} +67 -7
  71. package/dist/esm/constants.js.map +1 -0
  72. package/dist/esm/errors.d.ts +50 -0
  73. package/dist/esm/errors.d.ts.map +1 -0
  74. package/dist/esm/errors.js +55 -0
  75. package/dist/esm/errors.js.map +1 -0
  76. package/dist/esm/index.d.ts +24 -0
  77. package/dist/esm/index.d.ts.map +1 -0
  78. package/dist/esm/index.js +30 -0
  79. package/dist/esm/index.js.map +1 -0
  80. package/dist/esm/mapping.d.ts +52 -0
  81. package/dist/esm/mapping.d.ts.map +1 -0
  82. package/dist/esm/mapping.js +118 -0
  83. package/dist/esm/mapping.js.map +1 -0
  84. package/dist/esm/padron-a10.d.ts +21 -0
  85. package/dist/esm/padron-a10.d.ts.map +1 -0
  86. package/dist/esm/padron-a10.js +33 -0
  87. package/dist/esm/padron-a10.js.map +1 -0
  88. package/dist/esm/padron-a100.d.ts +20 -0
  89. package/dist/esm/padron-a100.d.ts.map +1 -0
  90. package/dist/esm/padron-a100.js +44 -0
  91. package/dist/esm/padron-a100.js.map +1 -0
  92. package/dist/esm/padron-a13.d.ts +34 -0
  93. package/dist/esm/padron-a13.d.ts.map +1 -0
  94. package/dist/esm/padron-a13.js +94 -0
  95. package/dist/esm/padron-a13.js.map +1 -0
  96. package/dist/esm/padron-a4.d.ts +21 -0
  97. package/dist/esm/padron-a4.d.ts.map +1 -0
  98. package/dist/esm/padron-a4.js +114 -0
  99. package/dist/esm/padron-a4.js.map +1 -0
  100. package/dist/esm/padron-a5.d.ts +37 -0
  101. package/dist/esm/padron-a5.d.ts.map +1 -0
  102. package/dist/esm/padron-a5.js +176 -0
  103. package/dist/esm/padron-a5.js.map +1 -0
  104. package/dist/esm/types.d.ts +337 -0
  105. package/dist/esm/types.d.ts.map +1 -0
  106. package/dist/esm/types.js.map +1 -0
  107. package/llms.txt +69 -28
  108. package/package.json +25 -17
  109. package/dist/arca-padron.d.ts +0 -70
  110. package/dist/arca-padron.d.ts.map +0 -1
  111. package/dist/arca-padron.js +0 -129
  112. package/dist/arca-padron.js.map +0 -1
  113. package/dist/base-client.d.ts +0 -26
  114. package/dist/base-client.d.ts.map +0 -1
  115. package/dist/base-client.js +0 -27
  116. package/dist/base-client.js.map +0 -1
  117. package/dist/constants.d.ts +0 -79
  118. package/dist/constants.d.ts.map +0 -1
  119. package/dist/constants.js.map +0 -1
  120. package/dist/errors.d.ts +0 -20
  121. package/dist/errors.d.ts.map +0 -1
  122. package/dist/errors.js +0 -24
  123. package/dist/errors.js.map +0 -1
  124. package/dist/index.d.ts +0 -12
  125. package/dist/index.d.ts.map +0 -1
  126. package/dist/index.js +0 -16
  127. package/dist/index.js.map +0 -1
  128. package/dist/padron-a10.d.ts +0 -16
  129. package/dist/padron-a10.d.ts.map +0 -1
  130. package/dist/padron-a10.js +0 -74
  131. package/dist/padron-a10.js.map +0 -1
  132. package/dist/padron-a100.d.ts +0 -15
  133. package/dist/padron-a100.d.ts.map +0 -1
  134. package/dist/padron-a100.js +0 -40
  135. package/dist/padron-a100.js.map +0 -1
  136. package/dist/padron-a4.d.ts +0 -16
  137. package/dist/padron-a4.d.ts.map +0 -1
  138. package/dist/padron-a4.js +0 -174
  139. package/dist/padron-a4.js.map +0 -1
  140. package/dist/soap-client.d.ts +0 -2
  141. package/dist/soap-client.d.ts.map +0 -1
  142. package/dist/soap-client.js +0 -3
  143. package/dist/soap-client.js.map +0 -1
  144. package/dist/types.d.ts +0 -172
  145. package/dist/types.d.ts.map +0 -1
  146. package/dist/types.js.map +0 -1
  147. package/dist/wsaa.d.ts +0 -3
  148. package/dist/wsaa.d.ts.map +0 -1
  149. package/dist/wsaa.js +0 -2
  150. package/dist/wsaa.js.map +0 -1
  151. /package/dist/{types.js → esm/types.js} +0 -0
package/llms.txt CHANGED
@@ -1,44 +1,79 @@
1
- # @ramiidv/arca-padron-sdk
1
+ # @ramiidv/arca-padron
2
2
 
3
- > TypeScript SDK para los web services de Padron de ARCA (ex AFIP) - Alcances A4, A10 y A100
3
+ > TypeScript SDK para los web services de Padron de ARCA (ex AFIP) - Constancia de Inscripcion (ex A5), A4, A10, A13 y A100, mas condicionIvaDesdePadron
4
4
 
5
5
  ## Instalacion
6
6
 
7
7
  ```bash
8
- npm install @ramiidv/arca-padron-sdk
8
+ npm install @ramiidv/arca-padron
9
9
  ```
10
10
 
11
- Requisitos: Node.js >= 18 (fetch nativo). ESM only.
11
+ Requisitos: Node.js >= 18 (fetch nativo). Dual ESM + CommonJS.
12
12
 
13
13
  ## Configuracion
14
14
 
15
15
  ```typescript
16
- import { ArcaPadron } from '@ramiidv/arca-padron-sdk';
16
+ import { ArcaPadron } from '@ramiidv/arca-padron';
17
17
 
18
+ // ArcaPadronConfig extends ArcaBaseConfig (@ramiidv/arca-common)
18
19
  const padron = new ArcaPadron({
19
20
  cert: string, // PEM X.509 certificate
20
- key: string, // PEM RSA private key
21
- cuit: string, // CUIT representada (ej: "20123456789")
21
+ key: string, // PEM private key
22
+ cuit: string | number, // CUIT representada (validated: check digit). Ej: "20123456786"
22
23
  production?: boolean, // default: false (homologacion)
23
- retries?: number, // default: 1
24
+ timeout?: number, // ms, default 30000
25
+ retries?: number, // default: 1 (transient errors only; SOAP Faults are never retried)
24
26
  retryDelayMs?: number, // default: 1000
25
- onEvent?: (event: ArcaPadronEvent) => void,
27
+ tokenTTLMinutes?: number,
28
+ onEvent?: (event: ArcaEvent) => void,
29
+ ticketStorage?: TicketStorage, // persist WSAA tickets across restarts (recommended)
30
+ clockOffsetMs?: number, // ARCA clock - local clock, ms. Default: 0
31
+ autoClockSkew?: boolean, // default: true
32
+ loginErrorCooldownMs?: number,
33
+ fetch?: typeof fetch, // custom fetch (proxy, tests)
34
+ legacyTls?: 'auto' | 'never' | 'always',
35
+ signal?: AbortSignal, // global cancellation
36
+ wsaa?: WsaaClient, // shared WSAA client (e.g. arca.wsaa from arca-facturacion)
37
+ endpoints?: { wsaa?, a5?, a4?, a10?, a13?, a100? }, // override URLs
26
38
  });
27
39
  ```
28
40
 
41
+ Every method accepts an optional last argument `{ signal?: AbortSignal }`.
42
+ CUITs are accepted with or without dashes ('20-11111111-2', '20111111112', 20111111112), validated locally (check digit; ArcaValidationError without calling ARCA) and sent normalized.
43
+ All Padron operations are read-only queries.
44
+ Without `ticketStorage`, a restart loses the access ticket and WSAA rejects new logins until it expires (`ArcaTicketVigenteError`).
45
+
29
46
  ## Metodos principales
30
47
 
31
- ### getPersona(cuit: string): Promise<PersonaA4>
48
+ ### getConstanciaInscripcion(cuit): Promise<PersonaA5>
49
+ Constancia de inscripcion via ws_sr_constancia_inscripcion (getPersona_v2; replaces ws_sr_padron_a5, deprecated by ARCA). PersonaA5: idPersona, tipoPersona, nombre/apellido/razonSocial, estadoClave, domicilioFiscal, dependencia, caracterizacion[], regimenGeneral { impuestos, actividades, regimenes, categoriaAutonomo }, monotributo { impuestos, actividades, actividadMonotributista, categoria, componenteDeSociedad[] }, impuestos (both regimes), errorConstancia { error[] }, errorRegimenGeneral { error[], mensaje }, errorMonotributo { error[], mensaje }. Constancia-level problems are returned in those error fields, not thrown.
50
+
51
+ ### getConstanciasInscripcion(cuits[]): Promise<PersonaA5[]>
52
+ getPersonaList_v2: 1 to 250 CUITs per call. Non-existent CUITs come back as a PersonaA5 with errorConstancia.error = ['No existe persona con ese Id'].
53
+
54
+ ### condicionIvaDesdePadron(persona: PersonaA5 | PersonaA4): { condicionIva: CondicionIva | null; motivo: string }
55
+ Pure helper. Tax states: words from A4 manual TipoEstado (ACTIVO, ACTIVO EN TRAMITE, BAJA PROVISORIA, BAJA DEFINITIVA, EXENTO, EXENTO EN TRAMITE, NO APORTANTE) or SUPA ids (AC, EX, BP, BD, NA). Active = ACTIVO / ACTIVO EN TRAMITE. Monotributo (impuesto 20 active; category only if impuesto 20 is absent; impuesto 20 in BAJA never counts) → MONOTRIBUTISTA (6); categories 61/99/100/101-104 → MONOTRIBUTO_SOCIAL (13); category description "PROMOVID" → MONOTRIBUTO_INDEPENDIENTE_PROMOVIDO (16); category 98 (asociado cooperativa) → MONOTRIBUTISTA. IVA 30 active → RESPONSABLE_INSCRIPTO (1); IVA 30 EXENTO/EXENTO EN TRAMITE or impuesto 32 → EXENTO (4); impuesto 34 → IVA_NO_ALCANZADO (15). NO APORTANTE is NOT "no alcanzado". Otherwise null with motivo (never assumes consumidor final); errorRegimenGeneral/errorMonotributo are included in motivo. Use the result as `condicionIva` in @ramiidv/arca-facturacion.
56
+
57
+ ### getPersonaA13(cuit): Promise<PersonaA13>
58
+ Datos basicos via ws_sr_padron_a13 getPersona (domicilio[] with calle, numero, codigoPostal, estadoDomicilio...). Throws ArcaPadronServiceError reason 'inactiva' for inactive keys.
59
+
60
+ ### getPersonaA13V2(cuit): Promise<PersonaA13>
61
+ A13 getPersonaV2 (manual v1.4): also returns data for INACTIVE keys.
62
+
63
+ ### getIdPersonaListByDocumento(documento): Promise<string[]>
64
+ CUIT/CUIL list for a document number via ws_sr_padron_a13. Accepts dots/spaces ('11.709.676'). Returns [] when ARCA reports none.
65
+
66
+ ### getPersona(cuit): Promise<PersonaA4>
32
67
  Datos completos del contribuyente via ws_sr_padron_a4. Incluye: domicilios, impuestos, actividades, regimenes, relaciones, categorias, emails, telefonos.
33
68
 
34
- ### getPersonaBasic(cuit: string): Promise<PersonaA10>
35
- Datos basicos del contribuyente via ws_sr_padron_a10. Incluye: datos generales y domicilios.
69
+ ### getPersonaBasic(cuit): Promise<PersonaA10>
70
+ Datos basicos del contribuyente via ws_sr_padron_a10. Incluye: datos generales, dependencia y domicilios.
36
71
 
37
72
  ### getParametros(collection: string): Promise<ParameterRecord[]>
38
- Tablas de parametros via ws_sr_padron_a100. Usa el enum CollectionName con valores SUPA.* prefijados. Colecciones: PROVINCIA (SUPA.E_PROVINCIA), TIPO_DOCUMENTO (SUPA.TIPO_DOCUMENTO), TIPO_DOMICILIO (SUPA.TIPO_DOMICILIO), TIPO_CLAVE (SUPA.TIPO_CLAVE_IDENTIFICACION), TIPO_EMPRESA_JURIDICA, TIPO_EMPRESA_JURIDICA_SUBGRUPO, TIPO_RELACION, TIPO_SUBTIPO_RELACION, TIPO_COMPONENTE_SOCIEDAD, TIPO_RELACION_COMPONENTE_SOC, TIPO_EMAIL, TIPO_TELEFONO, TIPO_RESIDENCIA, TIPO_DATO_ADICIONAL_DOMICILIO, ORGANISMO_INFORMANTE, ORGANISMO_CONTROL, PROVINCIA_SOCIEDAD_ORG, SEXO, CALLE, LOCALIDAD.
73
+ Tablas de parametros via ws_sr_padron_a100 (getParameterCollectionByName). id, descripcion and attribute values are returned exactly as sent by ARCA (xs:string: "10.50" stays "10.50"). Throws ArcaPadronError if parameterCollection is missing; an empty collection returns []. CollectionName enum (manual A100 v2.1): PROVINCIA (SUPA.E_PROVINCIA), TIPO_DOCUMENTO (SUPA.TIPO_DOCUMENTO), TIPO_DOMICILIO (SUPA.TIPO_DOMICILIO), TIPO_CLAVE (SUPA.TIPO_CLAVE_IDENTIFICACION), TIPO_EMPRESA_JURIDICA, TIPO_EMPRESA_JURIDICA_SUBGRUPO, TIPO_RELACION, TIPO_SUBTIPO_RELACION, TIPO_COMPONENTE_SOCIEDAD, TIPO_RELACION_COMPONENTE_SOC, TIPO_EMAIL, TIPO_TELEFONO, TIPO_RESIDENCIA, TIPO_DATO_ADICIONAL_DOMICILIO, ORGANISMO_INFORMANTE, ORGANISMO_CONTROL, PROVINCIA_SOCIEDAD_ORG, SEXO (E_SEXO), CALLE (PUC_PARAM.T_CALLE), LOCALIDAD (PUC_PARAM.T_LOCALIDAD), AUTONOMO_MONOTRIBUTO (SUPA.E_AUTONOMO_MONOTRIBUTO), REGIMEN (SUPA.E_REGIMEN), TIPO_REGIMEN (SUPA.TIPO_REGIMEN), CARACTERIZACION (SUPA.E_CARACTERIZACION), TIPO_ARCHIVO (SUPA.TIPO_ARCHIVO), ACTIVIDAD_RUBRO (SUPA.A_ACTIVIDAD_RUBRO), RUBRO_ACTIVIDAD (SUPA.E_RUBRO_ACTIVIDAD), ACTIVIDAD_OCUPACIONAL (SUPA.E_ACTIVIDAD_OCUPACIONAL).
39
74
 
40
- ### status(): Promise<{ a4: ServerStatus, a10: ServerStatus, a100: ServerStatus }>
41
- Health check de los tres servicios. No requiere autenticacion.
75
+ ### status(): Promise<PadronStatus>
76
+ Health check (dummy) of a5, a4, a10, a13, a100 in parallel with Promise.allSettled. Each value is PromiseSettledResult<ServerStatus>: `if (s.a4.status === 'fulfilled') s.a4.value.appserver`. No authentication.
42
77
 
43
78
  ## Tipos principales
44
79
 
@@ -109,7 +144,7 @@ interface ParameterRecord {
109
144
 
110
145
  interface ParameterAttribute {
111
146
  name: string;
112
- value: string;
147
+ value?: string; // exactly as sent by ARCA
113
148
  }
114
149
 
115
150
  interface ServerStatus {
@@ -121,42 +156,48 @@ interface ServerStatus {
121
156
 
122
157
  ## Errores
123
158
 
124
- 4-class hierarchy:
125
- - ArcaPadronError: base class
159
+ All extend ArcaError (from @ramiidv/arca-common), have a stable `code`, and instanceof works across duplicated package copies:
160
+ - ArcaValidationError: invalid CUIT/document (no request sent)
126
161
  - ArcaAuthError: WSAA authentication failures
127
- - ArcaPadronServiceError: business errors from ARCA (has errors: {code: number, msg: string}[])
128
- - ArcaSoapError: HTTP/transport errors (has statusCode?: number)
162
+ - ArcaTicketVigenteError (extends ArcaAuthError): WSAA already issued a valid TA not available in memory/storage
163
+ - ArcaPadronServiceError (extends ArcaServiceError): business errors. ARCA reports them as SOAP Faults; known texts are converted with a typed `reason`: 'inexistente' ("La Clave (CUIT/CUIL) consultada es inexistente", "No existe persona con ese Id"), 'inactiva' ("... se encuentra INACTIVA"), 'id_invalido' ("El Id de la persona no es valido"), 'no_autorizado' (token/sign/cuitRepresentada errors), 'otro'. `errors[0].msg` has ARCA's text, `cause` is the original ArcaSoapError. Never retried.
164
+ - ArcaPadronError: ARCA response missing a mandatory element (e.g. personaReturn without persona).
165
+ - ArcaSoapError: HTTP/transport errors, timeouts, aborts and unrecognized SOAP Faults (statusCode?, faultCode?, faultString?, uncertain, aborted).
129
166
 
130
167
  ```typescript
131
- import { ArcaAuthError, ArcaPadronServiceError, ArcaSoapError } from '@ramiidv/arca-padron-sdk';
168
+ import { ArcaPadronServiceError, ArcaSoapError, ArcaValidationError } from '@ramiidv/arca-padron';
132
169
 
133
170
  try {
134
171
  await padron.getPersona(cuit);
135
172
  } catch (error) {
136
- if (error instanceof ArcaAuthError) { /* auth failure */ }
137
- if (error instanceof ArcaPadronServiceError) { /* business error, check error.errors */ }
138
- if (error instanceof ArcaSoapError) { /* HTTP/network error, check error.statusCode */ }
173
+ if (error instanceof ArcaValidationError) { /* bad CUIT */ }
174
+ else if (error instanceof ArcaPadronServiceError && error.reason === 'inexistente') { /* CUIT does not exist */ }
175
+ else if (error instanceof ArcaPadronServiceError) { /* other business error: error.reason, error.errors */ }
176
+ else if (error instanceof ArcaSoapError) { /* HTTP/network error, error.statusCode */ }
139
177
  }
140
178
  ```
141
179
 
142
180
  ## Eventos
143
181
 
144
- Discriminated union types: auth:login, auth:cache-hit, request:start, request:end, request:retry, request:error.
182
+ Discriminated union types: auth:login, auth:cache-hit (source: memory|storage), auth:clock-skew, auth:storage-error, request:start, request:end, request:retry, request:error.
145
183
 
146
184
  ## Enums
147
185
 
148
186
  - Provincia (0-24, Argentine provinces)
149
187
  - TipoDomicilio (FISCAL, LEGAL, REAL)
150
188
  - TipoPersona (FISICA, JURIDICA)
151
- - ImpuestoId (IVA_RESPONSABLE_INSCRIPTO=30, IVA_EXENTO=32, MONOTRIBUTO=20, EMPLEADOR=301, GANANCIAS_PH=11, GANANCIAS_PJ=10, BIENES_PERSONALES=31)
152
- - CollectionName (PROVINCIA, TIPO_DOCUMENTO, TIPO_DOMICILIO, TIPO_CLAVE, TIPO_EMPRESA_JURIDICA, TIPO_EMPRESA_JURIDICA_SUBGRUPO, TIPO_RELACION, TIPO_SUBTIPO_RELACION, TIPO_COMPONENTE_SOCIEDAD, TIPO_RELACION_COMPONENTE_SOC, TIPO_EMAIL, TIPO_TELEFONO, TIPO_RESIDENCIA, TIPO_DATO_ADICIONAL_DOMICILIO, ORGANISMO_INFORMANTE, ORGANISMO_CONTROL, PROVINCIA_SOCIEDAD_ORG, SEXO, CALLE, LOCALIDAD)
189
+ - ImpuestoId (GANANCIAS_PH=11, MONOTRIBUTO=20, MONOTRIBUTO_AUTONOMO=21, IVA_RESPONSABLE_INSCRIPTO=30, BIENES_PERSONALES=180, EMPLEADOR=301, AUTONOMOS=308 — from ARCA manuals; GANANCIAS_PJ=10, IVA_EXENTO=32, IVA_NO_ALCANZADO=34 are not in the padron manuals; IVA_NO_INSCRIPTO=33 deprecated). Social monotributo is identified by category, not by tax id.
190
+ - DocTipo (numeric WSFEv1 document codes, from common). TipoDocumento is a deprecated alias of DocTipo: it is NOT the padron `tipoDocumento` string ("DNI", "LC"...).
191
+ - CondicionIva (re-exported from @ramiidv/arca-common)
192
+ - CollectionName (see getParametros)
153
193
 
154
194
  ## Clientes de bajo nivel
155
195
 
156
- Accesibles como propiedades publicas: padron.wsaa, padron.a4, padron.a10, padron.a100.
196
+ Accesibles como propiedades publicas: padron.wsaa, padron.a5 (constancia: getPersona, getPersonaList), padron.a4, padron.a10, padron.a13 (getPersona, getPersonaV2, getIdPersonaListByDocumento), padron.a100. They take `auth: { Token, Sign, CuitRepresentada }` as first argument.
157
197
 
158
198
  ## Utilidades exportadas
159
199
 
160
200
  - ensureArray<T>(value): T[] - normaliza single/array SOAP responses
161
201
  - parseXml(xml): Record<string, unknown> - parse XML with CUIT-safe options
162
202
  - buildXml(obj): string - build XML from object
203
+ - checkServiceErrors: deprecated (Padron reports business errors as SOAP Faults)
package/package.json CHANGED
@@ -1,29 +1,38 @@
1
1
  {
2
2
  "name": "@ramiidv/arca-padron",
3
- "version": "0.2.0",
4
- "description": "TypeScript SDK para los web services de Padrón de ARCA (ex AFIP) - Alcances A4, A10 y A100",
3
+ "version": "0.4.0",
4
+ "description": "TypeScript SDK para los web services de Padrón de ARCA (ex AFIP) - Constancia de Inscripción, A4, A10, A13 y A100",
5
5
  "type": "module",
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
6
+ "main": "./dist/cjs/index.js",
7
+ "types": "./dist/cjs/index.d.ts",
8
8
  "exports": {
9
9
  ".": {
10
- "types": "./dist/index.d.ts",
11
- "default": "./dist/index.js"
12
- }
10
+ "import": {
11
+ "types": "./dist/esm/index.d.ts",
12
+ "default": "./dist/esm/index.js"
13
+ },
14
+ "require": {
15
+ "types": "./dist/cjs/index.d.ts",
16
+ "default": "./dist/cjs/index.js"
17
+ }
18
+ },
19
+ "./package.json": "./package.json"
13
20
  },
14
21
  "files": [
15
22
  "dist",
16
23
  "llms.txt",
17
24
  "LICENSE",
18
- "README.md"
25
+ "README.md",
26
+ "CHANGELOG.md"
19
27
  ],
20
28
  "scripts": {
21
- "build": "tsc",
29
+ "build": "tsc -p tsconfig.json && tsc -p tsconfig.cjs.json && node -e \"require('fs').writeFileSync('dist/cjs/package.json', JSON.stringify({ type: 'commonjs' }))\"",
22
30
  "clean": "rm -rf dist",
23
31
  "typecheck": "tsc --noEmit",
24
32
  "test": "vitest run",
25
33
  "test:watch": "vitest",
26
- "prepublishOnly": "npm run build"
34
+ "prepublishOnly": "npm run clean && npm run build && npm test && npm run test:smoke",
35
+ "test:smoke": "node scripts/smoke.mjs ArcaPadron condicionIvaDesdePadron ArcaPadronServiceError ArcaValidationError ImpuestoId CollectionName FileTicketStorage"
27
36
  },
28
37
  "keywords": [
29
38
  "arca",
@@ -38,11 +47,11 @@
38
47
  "license": "MIT",
39
48
  "repository": {
40
49
  "type": "git",
41
- "url": "git+https://github.com/ramiidv/arca-padron-sdk.git"
50
+ "url": "git+https://github.com/ramiidv/arca-padron.git"
42
51
  },
43
52
  "homepage": "https://arca-sdk.dev/padron",
44
53
  "bugs": {
45
- "url": "https://github.com/ramiidv/arca-padron-sdk/issues"
54
+ "url": "https://github.com/ramiidv/arca-padron/issues"
46
55
  },
47
56
  "publishConfig": {
48
57
  "access": "public"
@@ -51,14 +60,13 @@
51
60
  "node": ">=18"
52
61
  },
53
62
  "dependencies": {
54
- "@ramiidv/arca-common": "^0.1.0",
55
- "fast-xml-parser": "^5.0.0",
56
- "node-forge": "^1.3.0"
63
+ "@ramiidv/arca-common": "^0.4.0"
57
64
  },
58
65
  "devDependencies": {
59
66
  "@types/node": "^22.0.0",
60
- "@types/node-forge": "^1.3.0",
61
67
  "typescript": "^5.7.0",
62
68
  "vitest": "^3.1.0"
63
- }
69
+ },
70
+ "module": "./dist/esm/index.js",
71
+ "sideEffects": false
64
72
  }
@@ -1,70 +0,0 @@
1
- import { WsaaClient } from '@ramiidv/arca-common';
2
- import { PadronA4Client } from './padron-a4.js';
3
- import { PadronA10Client } from './padron-a10.js';
4
- import { PadronA100Client } from './padron-a100.js';
5
- import type { ArcaPadronConfig, ParameterRecord, PersonaA4, PersonaA10, ServerStatus } from './types.js';
6
- /**
7
- * Main orchestrator class for ARCA Padrón web services.
8
- *
9
- * Provides high-level methods that handle WSAA authentication automatically
10
- * and expose results from the A4 (full), A10 (basic), and A100 (parameters)
11
- * web services.
12
- *
13
- * @example
14
- * ```ts
15
- * import { ArcaPadron } from '@ramiidv/arca-padron';
16
- * import { readFileSync } from 'fs';
17
- *
18
- * const client = new ArcaPadron({
19
- * cert: readFileSync('cert.pem', 'utf-8'),
20
- * key: readFileSync('key.pem', 'utf-8'),
21
- * cuit: '20123456789',
22
- * production: false,
23
- * });
24
- *
25
- * const persona = await client.getPersona('20123456789');
26
- * console.log(persona.tipoPersona, persona.nombre);
27
- * ```
28
- */
29
- export declare class ArcaPadron {
30
- /** Low-level WSAA client for direct access */
31
- readonly wsaa: WsaaClient;
32
- /** Low-level Padrón A4 client for direct access */
33
- readonly a4: PadronA4Client;
34
- /** Low-level Padrón A10 client for direct access */
35
- readonly a10: PadronA10Client;
36
- /** Low-level Padrón A100 client for direct access */
37
- readonly a100: PadronA100Client;
38
- private readonly cuit;
39
- private readonly onEvent?;
40
- constructor(config: ArcaPadronConfig);
41
- /**
42
- * Get full taxpayer data (Padrón A4) for a given CUIT.
43
- * Authenticates automatically via WSAA.
44
- * @param cuit - CUIT of the taxpayer to query
45
- */
46
- getPersona(cuit: string): Promise<PersonaA4>;
47
- /**
48
- * Get basic taxpayer data (Padrón A10) for a given CUIT.
49
- * Authenticates automatically via WSAA.
50
- * @param cuit - CUIT of the taxpayer to query
51
- */
52
- getPersonaBasic(cuit: string): Promise<PersonaA10>;
53
- /**
54
- * Get a parameter table (Padrón A100) by collection name.
55
- * Authenticates automatically via WSAA.
56
- * @param collection - Name of the collection (e.g. CollectionName.PROVINCIA, CollectionName.TIPO_DOCUMENTO)
57
- */
58
- getParametros(collection: string): Promise<ParameterRecord[]>;
59
- /**
60
- * Health check for all three Padrón services.
61
- * Does not require authentication.
62
- */
63
- status(): Promise<{
64
- a4: ServerStatus;
65
- a10: ServerStatus;
66
- a100: ServerStatus;
67
- }>;
68
- private getAuth;
69
- }
70
- //# sourceMappingURL=arca-padron.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arca-padron.d.ts","sourceRoot":"","sources":["../src/arca-padron.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EACf,SAAS,EACT,UAAU,EACV,YAAY,EAEb,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAU;IACrB,8CAA8C;IAC9C,SAAgB,IAAI,EAAE,UAAU,CAAC;IACjC,mDAAmD;IACnD,SAAgB,EAAE,EAAE,cAAc,CAAC;IACnC,oDAAoD;IACpD,SAAgB,GAAG,EAAE,eAAe,CAAC;IACrC,qDAAqD;IACrD,SAAgB,IAAI,EAAE,gBAAgB,CAAC;IAEvC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA6B;gBAE1C,MAAM,EAAE,gBAAgB;IA4CpC;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAKlD;;;;OAIG;IACG,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAKxD;;;;OAIG;IACG,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAKnE;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,YAAY,CAAC;QAAC,GAAG,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,YAAY,CAAA;KAAE,CAAC;YAatE,OAAO;CAQtB"}
@@ -1,129 +0,0 @@
1
- import { WsaaClient } from '@ramiidv/arca-common';
2
- import { ENDPOINTS } from './constants.js';
3
- import { PadronA4Client } from './padron-a4.js';
4
- import { PadronA10Client } from './padron-a10.js';
5
- import { PadronA100Client } from './padron-a100.js';
6
- /**
7
- * Main orchestrator class for ARCA Padrón web services.
8
- *
9
- * Provides high-level methods that handle WSAA authentication automatically
10
- * and expose results from the A4 (full), A10 (basic), and A100 (parameters)
11
- * web services.
12
- *
13
- * @example
14
- * ```ts
15
- * import { ArcaPadron } from '@ramiidv/arca-padron';
16
- * import { readFileSync } from 'fs';
17
- *
18
- * const client = new ArcaPadron({
19
- * cert: readFileSync('cert.pem', 'utf-8'),
20
- * key: readFileSync('key.pem', 'utf-8'),
21
- * cuit: '20123456789',
22
- * production: false,
23
- * });
24
- *
25
- * const persona = await client.getPersona('20123456789');
26
- * console.log(persona.tipoPersona, persona.nombre);
27
- * ```
28
- */
29
- export class ArcaPadron {
30
- /** Low-level WSAA client for direct access */
31
- wsaa;
32
- /** Low-level Padrón A4 client for direct access */
33
- a4;
34
- /** Low-level Padrón A10 client for direct access */
35
- a10;
36
- /** Low-level Padrón A100 client for direct access */
37
- a100;
38
- cuit;
39
- onEvent;
40
- constructor(config) {
41
- const isProduction = config.production ?? false;
42
- const env = isProduction ? 'production' : 'testing';
43
- this.cuit = config.cuit;
44
- this.onEvent = config.onEvent;
45
- const soapOptions = {
46
- timeout: config.timeout,
47
- retries: config.retries,
48
- retryDelayMs: config.retryDelayMs,
49
- };
50
- this.wsaa = new WsaaClient({
51
- cert: config.cert,
52
- key: config.key,
53
- production: isProduction,
54
- timeout: config.timeout,
55
- retries: config.retries,
56
- retryDelayMs: config.retryDelayMs,
57
- onEvent: config.onEvent,
58
- });
59
- this.a4 = new PadronA4Client({
60
- endpoint: ENDPOINTS.a4[env],
61
- namespace: ENDPOINTS.a4.namespace,
62
- soapOptions,
63
- onEvent: config.onEvent,
64
- });
65
- this.a10 = new PadronA10Client({
66
- endpoint: ENDPOINTS.a10[env],
67
- namespace: ENDPOINTS.a10.namespace,
68
- soapOptions,
69
- onEvent: config.onEvent,
70
- });
71
- this.a100 = new PadronA100Client({
72
- endpoint: ENDPOINTS.a100[env],
73
- namespace: ENDPOINTS.a100.namespace,
74
- soapOptions,
75
- onEvent: config.onEvent,
76
- });
77
- }
78
- /**
79
- * Get full taxpayer data (Padrón A4) for a given CUIT.
80
- * Authenticates automatically via WSAA.
81
- * @param cuit - CUIT of the taxpayer to query
82
- */
83
- async getPersona(cuit) {
84
- const auth = await this.getAuth(ENDPOINTS.a4.serviceId);
85
- return this.a4.getPersona(auth, cuit);
86
- }
87
- /**
88
- * Get basic taxpayer data (Padrón A10) for a given CUIT.
89
- * Authenticates automatically via WSAA.
90
- * @param cuit - CUIT of the taxpayer to query
91
- */
92
- async getPersonaBasic(cuit) {
93
- const auth = await this.getAuth(ENDPOINTS.a10.serviceId);
94
- return this.a10.getPersona(auth, cuit);
95
- }
96
- /**
97
- * Get a parameter table (Padrón A100) by collection name.
98
- * Authenticates automatically via WSAA.
99
- * @param collection - Name of the collection (e.g. CollectionName.PROVINCIA, CollectionName.TIPO_DOCUMENTO)
100
- */
101
- async getParametros(collection) {
102
- const auth = await this.getAuth(ENDPOINTS.a100.serviceId);
103
- return this.a100.getParameterCollectionByName(auth, collection);
104
- }
105
- /**
106
- * Health check for all three Padrón services.
107
- * Does not require authentication.
108
- */
109
- async status() {
110
- const [a4, a10, a100] = await Promise.all([
111
- this.a4.dummy(),
112
- this.a10.dummy(),
113
- this.a100.dummy(),
114
- ]);
115
- return { a4, a10, a100 };
116
- }
117
- // -------------------------------------------------------------------------
118
- // Private helpers
119
- // -------------------------------------------------------------------------
120
- async getAuth(serviceId) {
121
- const ticket = await this.wsaa.getAccessTicket(serviceId);
122
- return {
123
- Token: ticket.token,
124
- Sign: ticket.sign,
125
- CuitRepresentada: this.cuit,
126
- };
127
- }
128
- }
129
- //# sourceMappingURL=arca-padron.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arca-padron.js","sourceRoot":"","sources":["../src/arca-padron.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import type { ArcaEvent, SoapCallOptions, ServerStatus } from '@ramiidv/arca-common';
2
- /** Shared configuration for all Padrón service clients. */
3
- export interface PadronClientConfig {
4
- /** SOAP endpoint URL */
5
- endpoint: string;
6
- /** SOAP namespace */
7
- namespace: string;
8
- /** SOAP call options (retries, timeout) */
9
- soapOptions?: Pick<SoapCallOptions, 'timeout' | 'retries' | 'retryDelayMs'>;
10
- /** Optional event callback */
11
- onEvent?: (event: ArcaEvent) => void;
12
- }
13
- /**
14
- * Abstract base class for Padrón web service clients.
15
- * Provides shared constructor logic and health-check method.
16
- */
17
- export declare abstract class BasePadronClient {
18
- protected readonly endpoint: string;
19
- protected readonly namespace: string;
20
- protected readonly soapOptions?: Pick<SoapCallOptions, 'timeout' | 'retries' | 'retryDelayMs'>;
21
- protected readonly onEvent?: (event: ArcaEvent) => void;
22
- constructor(config: PadronClientConfig);
23
- /** Health check for this service. */
24
- dummy(): Promise<ServerStatus>;
25
- }
26
- //# sourceMappingURL=base-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-client.d.ts","sourceRoot":"","sources":["../src/base-client.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErF,2DAA2D;AAC3D,MAAM,WAAW,kBAAkB;IACjC,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,GAAG,cAAc,CAAC,CAAC;IAC5E,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACtC;AAED;;;GAGG;AACH,8BAAsB,gBAAgB;IACpC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IACpC,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IACrC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,SAAS,GAAG,cAAc,CAAC,CAAC;IAC/F,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;gBAE5C,MAAM,EAAE,kBAAkB;IAOtC,qCAAqC;IAC/B,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;CAerC"}
@@ -1,27 +0,0 @@
1
- import { afipSoapCall } from '@ramiidv/arca-common';
2
- /**
3
- * Abstract base class for Padrón web service clients.
4
- * Provides shared constructor logic and health-check method.
5
- */
6
- export class BasePadronClient {
7
- endpoint;
8
- namespace;
9
- soapOptions;
10
- onEvent;
11
- constructor(config) {
12
- this.endpoint = config.endpoint;
13
- this.namespace = config.namespace;
14
- this.soapOptions = config.soapOptions;
15
- this.onEvent = config.onEvent;
16
- }
17
- /** Health check for this service. */
18
- async dummy() {
19
- const result = await afipSoapCall(this.endpoint, this.namespace, 'dummy', {}, { ...this.soapOptions, onEvent: this.onEvent });
20
- return {
21
- appserver: (result['appserver'] ?? ''),
22
- dbserver: (result['dbserver'] ?? ''),
23
- authserver: (result['authserver'] ?? ''),
24
- };
25
- }
26
- }
27
- //# sourceMappingURL=base-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"base-client.js","sourceRoot":"","sources":["../src/base-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAepD;;;GAGG;AACH,MAAM,OAAgB,gBAAgB;IACjB,QAAQ,CAAS;IACjB,SAAS,CAAS;IAClB,WAAW,CAAiE;IAC5E,OAAO,CAA8B;IAExD,YAAY,MAA0B;QACpC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,qCAAqC;IACrC,KAAK,CAAC,KAAK;QACT,MAAM,MAAM,GAAG,MAAM,YAAY,CAC/B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,SAAS,EACd,OAAO,EACP,EAAE,EACF,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAC/C,CAAC;QAEF,OAAO;YACL,SAAS,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAW;YAChD,QAAQ,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAW;YAC9C,UAAU,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAAW;SACnD,CAAC;IACJ,CAAC;CACF"}
@@ -1,79 +0,0 @@
1
- export { Provincia, DocTipo as TipoDocumento } from '@ramiidv/arca-common';
2
- export declare const ENDPOINTS: {
3
- readonly wsaa: {
4
- readonly testing: "https://wsaahomo.afip.gov.ar/ws/services/LoginCms";
5
- readonly production: "https://wsaa.afip.gov.ar/ws/services/LoginCms";
6
- };
7
- readonly a4: {
8
- readonly testing: "https://awshomo.afip.gov.ar/sr-padron/webservices/personaServiceA4";
9
- readonly production: "https://aws.afip.gov.ar/sr-padron/webservices/personaServiceA4";
10
- readonly namespace: "http://a4.soap.ws.server.puc.sr/";
11
- readonly serviceId: "ws_sr_padron_a4";
12
- };
13
- readonly a10: {
14
- readonly testing: "https://awshomo.afip.gov.ar/sr-padron/webservices/personaServiceA10";
15
- readonly production: "https://aws.afip.gov.ar/sr-padron/webservices/personaServiceA10";
16
- readonly namespace: "http://a10.soap.ws.server.puc.sr/";
17
- readonly serviceId: "ws_sr_padron_a10";
18
- };
19
- readonly a100: {
20
- readonly testing: "https://awshomo.afip.gov.ar/sr-parametros/webservices/parameterServiceA100";
21
- readonly production: "https://aws.afip.gov.ar/sr-parametros/webservices/parameterServiceA100";
22
- readonly namespace: "http://a100.soap.ws.server.pucParam.sr/";
23
- readonly serviceId: "ws_sr_padron_a100";
24
- };
25
- };
26
- /** Tipos de domicilio */
27
- export declare enum TipoDomicilio {
28
- FISCAL = "FISCAL",
29
- LEGAL = "LEGAL",
30
- REAL = "REAL"
31
- }
32
- /** Tipos de persona */
33
- export declare enum TipoPersona {
34
- FISICA = "FISICA",
35
- JURIDICA = "JURIDICA"
36
- }
37
- /** IDs de impuestos comunes */
38
- export declare enum ImpuestoId {
39
- GANANCIAS_PJ = 10,
40
- GANANCIAS_PH = 11,
41
- MONOTRIBUTO_SOCIAL = 20,
42
- MONOTRIBUTO = 21,
43
- IVA_RESPONSABLE_INSCRIPTO = 30,
44
- BIENES_PERSONALES = 31,
45
- IVA_EXENTO = 32,
46
- IVA_NO_INSCRIPTO = 33,
47
- IVA_NO_ALCANZADO = 34,
48
- EMPLEADOR = 301
49
- }
50
- /** Estado de la clave fiscal del contribuyente */
51
- export declare enum EstadoClave {
52
- ACTIVO = "ACTIVO",
53
- INACTIVO = "INACTIVO",
54
- LIMITADO = "LIMITADO"
55
- }
56
- /** Nombres de colecciones disponibles en ws_sr_padron_a100 */
57
- export declare enum CollectionName {
58
- PROVINCIA = "SUPA.E_PROVINCIA",
59
- TIPO_DOCUMENTO = "SUPA.TIPO_DOCUMENTO",
60
- TIPO_DOMICILIO = "SUPA.TIPO_DOMICILIO",
61
- TIPO_CLAVE = "SUPA.TIPO_CLAVE_IDENTIFICACION",
62
- TIPO_EMPRESA_JURIDICA = "SUPA.TIPO_EMPRESA_JURIDICA",
63
- TIPO_EMPRESA_JURIDICA_SUBGRUPO = "SUPA.TIPO_EMPRESA_JURI_SUBGRUPO",
64
- TIPO_RELACION = "SUPA.TIPO_RELACION",
65
- TIPO_SUBTIPO_RELACION = "SUPA.TIPO_SUBTIPO_RELACION",
66
- TIPO_COMPONENTE_SOCIEDAD = "SUPA.TIPO_COMPONENTE_SOCIEDAD",
67
- TIPO_RELACION_COMPONENTE_SOC = "SUPA.TIPO_RELACION_COMPONENTE_SOC",
68
- TIPO_EMAIL = "SUPA.TIPO_EMAIL",
69
- TIPO_TELEFONO = "SUPA.TIPO_TELEFONO",
70
- TIPO_RESIDENCIA = "SUPA.TIPO_RESIDENCIA",
71
- TIPO_DATO_ADICIONAL_DOMICILIO = "SUPA.TIPO_DATO_ADICIONAL_DOMICILIO",
72
- ORGANISMO_INFORMANTE = "SUPA.E_ORGANISMO_INFORMANTE",
73
- ORGANISMO_CONTROL = "SUPA.E_ORGANISMO_CONTROL",
74
- PROVINCIA_SOCIEDAD_ORG = "SUPA.A_PROVINCIA_SOCIEDAD_ORG",
75
- SEXO = "E_SEXO",
76
- CALLE = "PUC_PARAM.T_CALLE",
77
- LOCALIDAD = "PUC_PARAM.T_LOCALIDAD"
78
- }
79
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM3E,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;CAoBZ,CAAC;AAMX,yBAAyB;AACzB,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;CACd;AAED,uBAAuB;AACvB,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,+BAA+B;AAC/B,oBAAY,UAAU;IACpB,YAAY,KAAK;IACjB,YAAY,KAAK;IACjB,kBAAkB,KAAK;IACvB,WAAW,KAAK;IAChB,yBAAyB,KAAK;IAC9B,iBAAiB,KAAK;IACtB,UAAU,KAAK;IACf,gBAAgB,KAAK;IACrB,gBAAgB,KAAK;IACrB,SAAS,MAAM;CAChB;AAED,kDAAkD;AAClD,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACtB;AAED,8DAA8D;AAC9D,oBAAY,cAAc;IACxB,SAAS,qBAAqB;IAC9B,cAAc,wBAAwB;IACtC,cAAc,wBAAwB;IACtC,UAAU,mCAAmC;IAC7C,qBAAqB,+BAA+B;IACpD,8BAA8B,oCAAoC;IAClE,aAAa,uBAAuB;IACpC,qBAAqB,+BAA+B;IACpD,wBAAwB,kCAAkC;IAC1D,4BAA4B,sCAAsC;IAClE,UAAU,oBAAoB;IAC9B,aAAa,uBAAuB;IACpC,eAAe,yBAAyB;IACxC,6BAA6B,uCAAuC;IACpE,oBAAoB,gCAAgC;IACpD,iBAAiB,6BAA6B;IAC9C,sBAAsB,kCAAkC;IACxD,IAAI,WAAW;IACf,KAAK,sBAAsB;IAC3B,SAAS,0BAA0B;CACpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,qCAAqC;AACrC,OAAO,EAAE,SAAS,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE3E,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,cAAc;IACpB,EAAE,EAAE;QACF,OAAO,EAAE,oEAAoE;QAC7E,UAAU,EAAE,gEAAgE;QAC5E,SAAS,EAAE,kCAAkC;QAC7C,SAAS,EAAE,iBAAiB;KAC7B;IACD,GAAG,EAAE;QACH,OAAO,EAAE,qEAAqE;QAC9E,UAAU,EAAE,iEAAiE;QAC7E,SAAS,EAAE,mCAAmC;QAC9C,SAAS,EAAE,kBAAkB;KAC9B;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,4EAA4E;QACrF,UAAU,EAAE,wEAAwE;QACpF,SAAS,EAAE,yCAAyC;QACpD,SAAS,EAAE,mBAAmB;KAC/B;CACO,CAAC;AAEX,8EAA8E;AAC9E,0BAA0B;AAC1B,8EAA8E;AAE9E,yBAAyB;AACzB,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,gCAAe,CAAA;IACf,8BAAa,CAAA;AACf,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAED,uBAAuB;AACvB,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;AACvB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,+BAA+B;AAC/B,MAAM,CAAN,IAAY,UAWX;AAXD,WAAY,UAAU;IACpB,4DAAiB,CAAA;IACjB,4DAAiB,CAAA;IACjB,wEAAuB,CAAA;IACvB,0DAAgB,CAAA;IAChB,sFAA8B,CAAA;IAC9B,sEAAsB,CAAA;IACtB,wDAAe,CAAA;IACf,oEAAqB,CAAA;IACrB,oEAAqB,CAAA;IACrB,uDAAe,CAAA;AACjB,CAAC,EAXW,UAAU,KAAV,UAAU,QAWrB;AAED,kDAAkD;AAClD,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;IACrB,oCAAqB,CAAA;AACvB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,8DAA8D;AAC9D,MAAM,CAAN,IAAY,cAqBX;AArBD,WAAY,cAAc;IACxB,gDAA8B,CAAA;IAC9B,wDAAsC,CAAA;IACtC,wDAAsC,CAAA;IACtC,+DAA6C,CAAA;IAC7C,sEAAoD,CAAA;IACpD,oFAAkE,CAAA;IAClE,sDAAoC,CAAA;IACpC,sEAAoD,CAAA;IACpD,4EAA0D,CAAA;IAC1D,oFAAkE,CAAA;IAClE,gDAA8B,CAAA;IAC9B,sDAAoC,CAAA;IACpC,0DAAwC,CAAA;IACxC,sFAAoE,CAAA;IACpE,sEAAoD,CAAA;IACpD,gEAA8C,CAAA;IAC9C,0EAAwD,CAAA;IACxD,iCAAe,CAAA;IACf,6CAA2B,CAAA;IAC3B,qDAAmC,CAAA;AACrC,CAAC,EArBW,cAAc,KAAd,cAAc,QAqBzB"}
package/dist/errors.d.ts DELETED
@@ -1,20 +0,0 @@
1
- export { ArcaError, ArcaAuthError, ArcaSoapError, ArcaServiceError } from '@ramiidv/arca-common';
2
- import { ArcaError, ArcaServiceError } from '@ramiidv/arca-common';
3
- /**
4
- * Base error for Padrón SDK.
5
- * Extends ArcaError from common for backward compatibility.
6
- */
7
- export declare class ArcaPadronError extends ArcaError {
8
- constructor(message: string);
9
- }
10
- /**
11
- * Error de servicio de Padrón (errores de negocio).
12
- * Extiende ArcaServiceError de common.
13
- */
14
- export declare class ArcaPadronServiceError extends ArcaServiceError {
15
- constructor(message: string, errors: {
16
- code: number;
17
- msg: string;
18
- }[]);
19
- }
20
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEnE;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,SAAS;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,gBAAgB;gBAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE;CAIrE"}