@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.
- package/CHANGELOG.md +116 -0
- package/README.md +205 -65
- package/dist/cjs/arca-padron.d.ts +111 -0
- package/dist/cjs/arca-padron.d.ts.map +1 -0
- package/dist/cjs/arca-padron.js +211 -0
- package/dist/cjs/arca-padron.js.map +1 -0
- package/dist/cjs/base-client.d.ts +45 -0
- package/dist/cjs/base-client.d.ts.map +1 -0
- package/dist/cjs/base-client.js +68 -0
- package/dist/cjs/base-client.js.map +1 -0
- package/dist/cjs/condicion-iva.d.ts +28 -0
- package/dist/cjs/condicion-iva.d.ts.map +1 -0
- package/dist/cjs/condicion-iva.js +166 -0
- package/dist/cjs/condicion-iva.js.map +1 -0
- package/dist/cjs/constants.d.ts +142 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +155 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/errors.d.ts +50 -0
- package/dist/cjs/errors.d.ts.map +1 -0
- package/dist/cjs/errors.js +62 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/index.d.ts +24 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +66 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/mapping.d.ts +52 -0
- package/dist/cjs/mapping.d.ts.map +1 -0
- package/dist/cjs/mapping.js +135 -0
- package/dist/cjs/mapping.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/padron-a10.d.ts +21 -0
- package/dist/cjs/padron-a10.d.ts.map +1 -0
- package/dist/cjs/padron-a10.js +38 -0
- package/dist/cjs/padron-a10.js.map +1 -0
- package/dist/cjs/padron-a100.d.ts +20 -0
- package/dist/cjs/padron-a100.d.ts.map +1 -0
- package/dist/cjs/padron-a100.js +48 -0
- package/dist/cjs/padron-a100.js.map +1 -0
- package/dist/cjs/padron-a13.d.ts +34 -0
- package/dist/cjs/padron-a13.d.ts.map +1 -0
- package/dist/cjs/padron-a13.js +100 -0
- package/dist/cjs/padron-a13.js.map +1 -0
- package/dist/cjs/padron-a4.d.ts +21 -0
- package/dist/cjs/padron-a4.d.ts.map +1 -0
- package/dist/cjs/padron-a4.js +119 -0
- package/dist/cjs/padron-a4.js.map +1 -0
- package/dist/cjs/padron-a5.d.ts +37 -0
- package/dist/cjs/padron-a5.d.ts.map +1 -0
- package/dist/cjs/padron-a5.js +181 -0
- package/dist/cjs/padron-a5.js.map +1 -0
- package/dist/cjs/types.d.ts +337 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/arca-padron.d.ts +111 -0
- package/dist/esm/arca-padron.d.ts.map +1 -0
- package/dist/esm/arca-padron.js +207 -0
- package/dist/esm/arca-padron.js.map +1 -0
- package/dist/esm/base-client.d.ts +45 -0
- package/dist/esm/base-client.d.ts.map +1 -0
- package/dist/esm/base-client.js +64 -0
- package/dist/esm/base-client.js.map +1 -0
- package/dist/esm/condicion-iva.d.ts +28 -0
- package/dist/esm/condicion-iva.d.ts.map +1 -0
- package/dist/esm/condicion-iva.js +163 -0
- package/dist/esm/condicion-iva.js.map +1 -0
- package/dist/esm/constants.d.ts +142 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/{constants.js → esm/constants.js} +67 -7
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/errors.d.ts +50 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js +55 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/index.d.ts +24 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +30 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/mapping.d.ts +52 -0
- package/dist/esm/mapping.d.ts.map +1 -0
- package/dist/esm/mapping.js +118 -0
- package/dist/esm/mapping.js.map +1 -0
- package/dist/esm/padron-a10.d.ts +21 -0
- package/dist/esm/padron-a10.d.ts.map +1 -0
- package/dist/esm/padron-a10.js +33 -0
- package/dist/esm/padron-a10.js.map +1 -0
- package/dist/esm/padron-a100.d.ts +20 -0
- package/dist/esm/padron-a100.d.ts.map +1 -0
- package/dist/esm/padron-a100.js +44 -0
- package/dist/esm/padron-a100.js.map +1 -0
- package/dist/esm/padron-a13.d.ts +34 -0
- package/dist/esm/padron-a13.d.ts.map +1 -0
- package/dist/esm/padron-a13.js +94 -0
- package/dist/esm/padron-a13.js.map +1 -0
- package/dist/esm/padron-a4.d.ts +21 -0
- package/dist/esm/padron-a4.d.ts.map +1 -0
- package/dist/esm/padron-a4.js +114 -0
- package/dist/esm/padron-a4.js.map +1 -0
- package/dist/esm/padron-a5.d.ts +37 -0
- package/dist/esm/padron-a5.d.ts.map +1 -0
- package/dist/esm/padron-a5.js +176 -0
- package/dist/esm/padron-a5.js.map +1 -0
- package/dist/esm/types.d.ts +337 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js.map +1 -0
- package/llms.txt +69 -28
- package/package.json +25 -17
- package/dist/arca-padron.d.ts +0 -70
- package/dist/arca-padron.d.ts.map +0 -1
- package/dist/arca-padron.js +0 -129
- package/dist/arca-padron.js.map +0 -1
- package/dist/base-client.d.ts +0 -26
- package/dist/base-client.d.ts.map +0 -1
- package/dist/base-client.js +0 -27
- package/dist/base-client.js.map +0 -1
- package/dist/constants.d.ts +0 -79
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js.map +0 -1
- package/dist/errors.d.ts +0 -20
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -24
- package/dist/errors.js.map +0 -1
- package/dist/index.d.ts +0 -12
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -16
- package/dist/index.js.map +0 -1
- package/dist/padron-a10.d.ts +0 -16
- package/dist/padron-a10.d.ts.map +0 -1
- package/dist/padron-a10.js +0 -74
- package/dist/padron-a10.js.map +0 -1
- package/dist/padron-a100.d.ts +0 -15
- package/dist/padron-a100.d.ts.map +0 -1
- package/dist/padron-a100.js +0 -40
- package/dist/padron-a100.js.map +0 -1
- package/dist/padron-a4.d.ts +0 -16
- package/dist/padron-a4.d.ts.map +0 -1
- package/dist/padron-a4.js +0 -174
- package/dist/padron-a4.js.map +0 -1
- package/dist/soap-client.d.ts +0 -2
- package/dist/soap-client.d.ts.map +0 -1
- package/dist/soap-client.js +0 -3
- package/dist/soap-client.js.map +0 -1
- package/dist/types.d.ts +0 -172
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js.map +0 -1
- package/dist/wsaa.d.ts +0 -3
- package/dist/wsaa.d.ts.map +0 -1
- package/dist/wsaa.js +0 -2
- package/dist/wsaa.js.map +0 -1
- /package/dist/{types.js → esm/types.js} +0 -0
package/llms.txt
CHANGED
|
@@ -1,44 +1,79 @@
|
|
|
1
|
-
# @ramiidv/arca-padron
|
|
1
|
+
# @ramiidv/arca-padron
|
|
2
2
|
|
|
3
|
-
> TypeScript SDK para los web services de Padron de ARCA (ex AFIP) -
|
|
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
|
|
8
|
+
npm install @ramiidv/arca-padron
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
Requisitos: Node.js >= 18 (fetch nativo). ESM
|
|
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
|
|
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
|
|
21
|
-
cuit: string,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
###
|
|
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
|
|
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.
|
|
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<
|
|
41
|
-
Health check
|
|
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
|
|
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
|
-
|
|
125
|
-
-
|
|
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
|
-
-
|
|
128
|
-
-
|
|
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 {
|
|
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
|
|
137
|
-
if (error instanceof ArcaPadronServiceError) { /*
|
|
138
|
-
if (error instanceof
|
|
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 (
|
|
152
|
-
-
|
|
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.
|
|
4
|
-
"description": "TypeScript SDK para los web services de Padrón de ARCA (ex AFIP) -
|
|
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
|
-
"
|
|
11
|
-
|
|
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
|
|
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
|
|
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.
|
|
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
|
}
|
package/dist/arca-padron.d.ts
DELETED
|
@@ -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"}
|
package/dist/arca-padron.js
DELETED
|
@@ -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
|
package/dist/arca-padron.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"arca-padron.js","sourceRoot":"","sources":["../src/arca-padron.ts"],"names":[],"mappings":"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"}
|
package/dist/base-client.d.ts
DELETED
|
@@ -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"}
|
package/dist/base-client.js
DELETED
|
@@ -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
|
package/dist/base-client.js.map
DELETED
|
@@ -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"}
|
package/dist/constants.d.ts
DELETED
|
@@ -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
|
package/dist/constants.d.ts.map
DELETED
|
@@ -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"}
|
package/dist/constants.js.map
DELETED
|
@@ -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
|
package/dist/errors.d.ts.map
DELETED
|
@@ -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"}
|