@ramiidv/arca-padron 0.5.0 → 0.7.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 +49 -0
- package/README.md +334 -210
- package/dist/arca-padron.d.ts +29 -19
- package/dist/arca-padron.d.ts.map +1 -1
- package/dist/arca-padron.js +37 -28
- package/dist/arca-padron.js.map +1 -1
- package/dist/base-client.d.ts +16 -5
- package/dist/base-client.d.ts.map +1 -1
- package/dist/base-client.js +15 -4
- package/dist/base-client.js.map +1 -1
- package/dist/condicion-iva.d.ts +8 -2
- package/dist/condicion-iva.d.ts.map +1 -1
- package/dist/condicion-iva.js +38 -19
- package/dist/condicion-iva.js.map +1 -1
- package/dist/constants.d.ts +35 -32
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +16 -10
- package/dist/constants.js.map +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +9 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -10
- package/dist/index.js.map +1 -1
- package/dist/mapping.d.ts +23 -3
- package/dist/mapping.d.ts.map +1 -1
- package/dist/mapping.js +63 -7
- package/dist/mapping.js.map +1 -1
- package/dist/padron-a10.d.ts +2 -2
- package/dist/padron-a10.d.ts.map +1 -1
- package/dist/padron-a10.js +2 -2
- package/dist/padron-a100.d.ts +5 -4
- package/dist/padron-a100.d.ts.map +1 -1
- package/dist/padron-a100.js +8 -5
- package/dist/padron-a100.js.map +1 -1
- package/dist/padron-a13.d.ts +6 -5
- package/dist/padron-a13.d.ts.map +1 -1
- package/dist/padron-a13.js +8 -5
- package/dist/padron-a13.js.map +1 -1
- package/dist/padron-a4.d.ts +2 -2
- package/dist/padron-a4.d.ts.map +1 -1
- package/dist/padron-a4.js +5 -30
- package/dist/padron-a4.js.map +1 -1
- package/dist/padron-a5.d.ts +27 -11
- package/dist/padron-a5.d.ts.map +1 -1
- package/dist/padron-a5.js +105 -34
- package/dist/padron-a5.js.map +1 -1
- package/dist/types.d.ts +65 -12
- package/dist/types.d.ts.map +1 -1
- package/llms.txt +96 -67
- package/package.json +2 -2
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
export type { AccessTicket, ArcaEvent, ServerStatus, SoapCallOptions, TicketStorage, CallOptions, } from '@ramiidv/arca-common';
|
|
2
|
-
import type {
|
|
3
|
-
/** @deprecated Use ArcaEvent from @ramiidv/arca-common instead. */
|
|
4
|
-
export type ArcaPadronEvent = ArcaEvent;
|
|
2
|
+
import type { ArcaSdkConfig, CondicionIva, ServiceStatus } from '@ramiidv/arca-common';
|
|
5
3
|
/** Servicios de Padrón con endpoint propio. */
|
|
6
4
|
export type PadronServicio = 'a5' | 'a4' | 'a10' | 'a13' | 'a100';
|
|
7
5
|
/**
|
|
@@ -18,12 +16,35 @@ export interface ArcaPadronConfig extends ArcaSdkConfig {
|
|
|
18
16
|
endpoints?: Partial<Record<PadronServicio | 'wsaa', string>>;
|
|
19
17
|
}
|
|
20
18
|
/** Resultado de `status()`: el de cada servicio por separado (uno caído no oculta a los demás). */
|
|
21
|
-
export type PadronStatus = Record<PadronServicio,
|
|
19
|
+
export type PadronStatus = Record<PadronServicio, ServiceStatus>;
|
|
22
20
|
export interface WsAuth {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
token: string;
|
|
22
|
+
sign: string;
|
|
23
|
+
cuitRepresentada: string;
|
|
26
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* `metadata` de las respuestas de Padrón: cuándo y en qué servidor procesó ARCA
|
|
27
|
+
* la consulta. Útil para auditoría y para reportar incidentes a ARCA.
|
|
28
|
+
*/
|
|
29
|
+
export interface PadronMetadata {
|
|
30
|
+
/** Fecha y hora de proceso (`xs:dateTime`, tal cual lo envía ARCA: "2026-02-26T15:52:37.653-03:00"). */
|
|
31
|
+
fechaHora?: string;
|
|
32
|
+
/** Nombre del equipo que procesó el requerimiento. */
|
|
33
|
+
servidor?: string;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Lista devuelta por un método de Padrón. Es un array común; si ARCA informó
|
|
37
|
+
* `metadata`, se lee en `lista.metadata` (propiedad no enumerable: no aparece al
|
|
38
|
+
* iterar, serializar con `JSON.stringify` ni copiar el array).
|
|
39
|
+
*/
|
|
40
|
+
export type ListaPadron<T> = T[] & {
|
|
41
|
+
metadata?: PadronMetadata;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Tipo de persona. ARCA informa `FISICA` o `JURIDICA`; el SDK no rechaza otro
|
|
45
|
+
* valor (lo devuelve tal cual), por eso el tipo admite cualquier string.
|
|
46
|
+
*/
|
|
47
|
+
export type TipoPersonaPadron = 'FISICA' | 'JURIDICA' | (string & {});
|
|
27
48
|
export interface DependenciaA4 {
|
|
28
49
|
idDependencia?: number;
|
|
29
50
|
descripcionDependencia?: string;
|
|
@@ -38,6 +59,7 @@ export interface ImpuestoA4 {
|
|
|
38
59
|
estado?: string;
|
|
39
60
|
periodo?: number;
|
|
40
61
|
diaPeriodo?: number;
|
|
62
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
41
63
|
ffInscripcion?: string;
|
|
42
64
|
}
|
|
43
65
|
export interface ActividadA4 {
|
|
@@ -61,7 +83,9 @@ export interface RelacionA4 {
|
|
|
61
83
|
idPersonaAsociada?: string;
|
|
62
84
|
tipoRelacion?: string;
|
|
63
85
|
subtipoRelacion?: string;
|
|
86
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
64
87
|
ffRelacion?: string;
|
|
88
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
65
89
|
ffVencimiento?: string;
|
|
66
90
|
}
|
|
67
91
|
export interface CategoriaA4 {
|
|
@@ -83,7 +107,9 @@ export interface TelefonoA4 {
|
|
|
83
107
|
}
|
|
84
108
|
export interface PersonaA4 {
|
|
85
109
|
idPersona: string;
|
|
86
|
-
|
|
110
|
+
/** `metadata` de la respuesta (fecha/hora y servidor de ARCA), si vino. */
|
|
111
|
+
metadata?: PadronMetadata;
|
|
112
|
+
tipoPersona: TipoPersonaPadron;
|
|
87
113
|
tipoClave?: string;
|
|
88
114
|
estadoClave?: string;
|
|
89
115
|
apellido?: string;
|
|
@@ -91,15 +117,21 @@ export interface PersonaA4 {
|
|
|
91
117
|
razonSocial?: string;
|
|
92
118
|
numeroDocumento?: string;
|
|
93
119
|
tipoDocumento?: string;
|
|
120
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
94
121
|
fechaNacimiento?: string;
|
|
95
122
|
sexo?: string;
|
|
96
123
|
numeroInscripcion?: string;
|
|
97
124
|
formaJuridica?: string;
|
|
98
125
|
mesCierre?: number;
|
|
126
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
99
127
|
fechaInscripcion?: string;
|
|
128
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
100
129
|
fechaContratoSocial?: string;
|
|
130
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
101
131
|
fechaFallecimiento?: string;
|
|
132
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
102
133
|
fechaJubilado?: string;
|
|
134
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
103
135
|
fechaVencimientoMigracion?: string;
|
|
104
136
|
localidadInscripcion?: string;
|
|
105
137
|
provinciaInscripcion?: string;
|
|
@@ -134,7 +166,9 @@ export interface DomicilioA10 {
|
|
|
134
166
|
}
|
|
135
167
|
export interface PersonaA10 {
|
|
136
168
|
idPersona: string;
|
|
137
|
-
|
|
169
|
+
/** `metadata` de la respuesta (fecha/hora y servidor de ARCA), si vino. */
|
|
170
|
+
metadata?: PadronMetadata;
|
|
171
|
+
tipoPersona: TipoPersonaPadron;
|
|
138
172
|
tipoClave?: string;
|
|
139
173
|
estadoClave?: string;
|
|
140
174
|
nombre?: string;
|
|
@@ -178,7 +212,9 @@ export interface DomicilioA13 {
|
|
|
178
212
|
}
|
|
179
213
|
export interface PersonaA13 {
|
|
180
214
|
idPersona: string;
|
|
181
|
-
|
|
215
|
+
/** `metadata` de la respuesta (fecha/hora y servidor de ARCA), si vino. */
|
|
216
|
+
metadata?: PadronMetadata;
|
|
217
|
+
tipoPersona: TipoPersonaPadron;
|
|
182
218
|
tipoClave?: string;
|
|
183
219
|
estadoClave?: string;
|
|
184
220
|
nombre?: string;
|
|
@@ -188,8 +224,11 @@ export interface PersonaA13 {
|
|
|
188
224
|
tipoDocumento?: string;
|
|
189
225
|
formaJuridica?: string;
|
|
190
226
|
mesCierre?: number;
|
|
227
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
191
228
|
fechaNacimiento?: string;
|
|
229
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
192
230
|
fechaFallecimiento?: string;
|
|
231
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
193
232
|
fechaContratoSocial?: string;
|
|
194
233
|
idActividadPrincipal?: string;
|
|
195
234
|
descripcionActividadPrincipal?: string;
|
|
@@ -264,7 +303,9 @@ export interface ComponenteSociedadA5 {
|
|
|
264
303
|
nombrePersonaAsociada?: string;
|
|
265
304
|
razonSocialPersonaAsociada?: string;
|
|
266
305
|
tipoComponente?: string;
|
|
306
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
267
307
|
ffRelacion?: string;
|
|
308
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
268
309
|
ffVencimiento?: string;
|
|
269
310
|
}
|
|
270
311
|
export interface MonotributoA5 {
|
|
@@ -276,7 +317,12 @@ export interface MonotributoA5 {
|
|
|
276
317
|
componenteDeSociedad?: ComponenteSociedadA5[];
|
|
277
318
|
}
|
|
278
319
|
export interface ErrorConstanciaA5 {
|
|
279
|
-
/**
|
|
320
|
+
/**
|
|
321
|
+
* Mensajes de error (ej: "No existe persona con ese Id", CUIT limitada, constancia
|
|
322
|
+
* bloqueada). En `getPersonaList_v2` también se informan acá, sin hacer fallar la
|
|
323
|
+
* consulta, las CUITs inválidas (no se envían a ARCA) y las personas que ARCA
|
|
324
|
+
* devolvió con datos inválidos.
|
|
325
|
+
*/
|
|
280
326
|
error: string[];
|
|
281
327
|
idPersona?: string;
|
|
282
328
|
nombre?: string;
|
|
@@ -294,14 +340,16 @@ export interface ErrorRegimenA5 {
|
|
|
294
340
|
*/
|
|
295
341
|
export interface PersonaA5 {
|
|
296
342
|
idPersona: string;
|
|
297
|
-
tipoPersona?:
|
|
343
|
+
tipoPersona?: TipoPersonaPadron;
|
|
298
344
|
tipoClave?: string;
|
|
299
345
|
estadoClave?: string;
|
|
300
346
|
nombre?: string;
|
|
301
347
|
apellido?: string;
|
|
302
348
|
razonSocial?: string;
|
|
303
349
|
mesCierre?: number;
|
|
350
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
304
351
|
fechaContratoSocial?: string;
|
|
352
|
+
/** `xs:dateTime`: string tal cual lo envía ARCA (no se convierte a `Date`). */
|
|
305
353
|
fechaFallecimiento?: string;
|
|
306
354
|
esSucesion?: string;
|
|
307
355
|
domicilioFiscal?: DomicilioA5;
|
|
@@ -316,6 +364,11 @@ export interface PersonaA5 {
|
|
|
316
364
|
errorConstancia?: ErrorConstanciaA5;
|
|
317
365
|
errorRegimenGeneral?: ErrorRegimenA5;
|
|
318
366
|
errorMonotributo?: ErrorRegimenA5;
|
|
367
|
+
/**
|
|
368
|
+
* `metadata` de la respuesta (fecha/hora y servidor de ARCA), si vino. En
|
|
369
|
+
* `getPersonaList_v2` está en el array (ver `ListaPadron`), no en cada persona.
|
|
370
|
+
*/
|
|
371
|
+
metadata?: PadronMetadata;
|
|
319
372
|
}
|
|
320
373
|
export interface CondicionIvaPadron {
|
|
321
374
|
/**
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,YAAY,EACV,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,eAAe,EACf,aAAa,EACb,WAAW,GACZ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/llms.txt
CHANGED
|
@@ -1,86 +1,93 @@
|
|
|
1
1
|
# @ramiidv/arca-padron
|
|
2
2
|
|
|
3
|
-
> TypeScript
|
|
3
|
+
> SDK en TypeScript para los web services de Padrón de ARCA (ex AFIP): Constancia de Inscripción (ex A5), A4, A10, A13 y A100, más `condicionIvaDesdePadron` para obtener la condición frente al IVA del receptor de una factura.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## Instalación
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
8
|
npm install @ramiidv/arca-padron
|
|
9
9
|
```
|
|
10
10
|
|
|
11
|
-
Requisitos: Node.js >=
|
|
11
|
+
Requisitos: Node.js >= 20.19. Solo ESM; desde CommonJS se carga con `require()` (require(esm)). Única dependencia: `@ramiidv/arca-common`.
|
|
12
12
|
|
|
13
|
-
##
|
|
13
|
+
## Configuración
|
|
14
14
|
|
|
15
15
|
```typescript
|
|
16
16
|
import { ArcaPadron } from '@ramiidv/arca-padron';
|
|
17
17
|
|
|
18
|
-
// ArcaPadronConfig
|
|
18
|
+
// ArcaPadronConfig extiende ArcaSdkConfig (@ramiidv/arca-common)
|
|
19
19
|
const padron = new ArcaPadron({
|
|
20
|
-
cert: string, //
|
|
21
|
-
key: string, //
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
cert: string, // certificado X.509 (PEM)
|
|
21
|
+
key: string, // clave privada (PEM)
|
|
22
|
+
keyPassphrase?: string,
|
|
23
|
+
cuit: string | number, // CUIT representada (se valida el dígito verificador). Ej: "20123456786"
|
|
24
|
+
production?: boolean, // default: false (homologación)
|
|
24
25
|
timeout?: number, // ms, default 30000
|
|
25
|
-
retries?: number, // default
|
|
26
|
-
retryDelayMs?: number, // default
|
|
26
|
+
retries?: number, // default 1 (solo errores transitorios; un SOAP Fault nunca se reintenta)
|
|
27
|
+
retryDelayMs?: number, // default 1000
|
|
27
28
|
tokenTTLMinutes?: number,
|
|
28
29
|
onEvent?: (event: ArcaEvent) => void,
|
|
29
|
-
ticketStorage?: TicketStorage, //
|
|
30
|
-
clockOffsetMs?: number, // ARCA
|
|
31
|
-
autoClockSkew?: boolean, // default
|
|
30
|
+
ticketStorage?: TicketStorage, // persiste los tickets WSAA entre reinicios (recomendado)
|
|
31
|
+
clockOffsetMs?: number, // reloj ARCA - reloj local, ms. Default 0
|
|
32
|
+
autoClockSkew?: boolean, // default true
|
|
32
33
|
loginErrorCooldownMs?: number,
|
|
33
|
-
|
|
34
|
+
permanentErrorCooldownMs?: number,
|
|
35
|
+
fetch?: typeof fetch, // fetch propio (proxy, tests)
|
|
34
36
|
legacyTls?: 'auto' | 'never' | 'always',
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
endpoints?: { wsaa?, a5?, a4?, a10?, a13?, a100? }, //
|
|
37
|
+
wsaa?: WsaaClient, // WsaaClient compartido (ej: facturacion.wsaa de @ramiidv/arca-facturacion), mismo entorno
|
|
38
|
+
signal?: AbortSignal, // cancela todas las llamadas de la instancia
|
|
39
|
+
endpoints?: { wsaa?, a5?, a4?, a10?, a13?, a100? }, // URLs propias
|
|
38
40
|
});
|
|
39
41
|
```
|
|
40
42
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
Todos los métodos aceptan un último argumento opcional `{ signal?: AbortSignal }`.
|
|
44
|
+
Las CUIT se aceptan con o sin guiones ('20-11111111-2', '20111111112', 20111111112), se validan localmente (dígito verificador; `ArcaValidationError` sin llamar a ARCA) y se envían normalizadas.
|
|
45
|
+
Todas las operaciones de Padrón son consultas.
|
|
46
|
+
Sin `ticketStorage`, un reinicio pierde el ticket de acceso y WSAA rechaza nuevos logins hasta que vence (`ArcaTicketVigenteError`).
|
|
45
47
|
|
|
46
|
-
##
|
|
48
|
+
## Métodos principales
|
|
47
49
|
|
|
48
50
|
### getConstanciaInscripcion(cuit): Promise<PersonaA5>
|
|
49
|
-
Constancia de
|
|
51
|
+
Constancia de inscripción vía ws_sr_constancia_inscripcion (`getPersona_v2`; reemplaza a ws_sr_padron_a5, deprecado por ARCA). PersonaA5: idPersona, tipoPersona, nombre/apellido/razonSocial, estadoClave, domicilioFiscal, dependencia, caracterizacion[], regimenGeneral { impuestos, actividades, regimenes, categoriaAutonomo }, monotributo { impuestos, actividades, actividadMonotributista, categoria, componenteDeSociedad[] }, impuestos (ambos regímenes), errorConstancia { error[] }, errorRegimenGeneral { error[], mensaje }, errorMonotributo { error[], mensaje }, metadata { fechaHora, servidor }. Los problemas de la constancia (CUIT limitada, domicilio incompleto...) vuelven en esos campos, no se lanzan. Excepción: CUIT inexistente (Fault, o errorConstancia "No existe persona con ese Id") → `ArcaPadronServiceError` con reason 'inexistente'.
|
|
50
52
|
|
|
51
|
-
### getConstanciasInscripcion(cuits[]): Promise<PersonaA5
|
|
52
|
-
getPersonaList_v2
|
|
53
|
+
### getConstanciasInscripcion(cuits[]): Promise<ListaPadron<PersonaA5>>
|
|
54
|
+
`getPersonaList_v2`: 1 a 250 CUITs por llamada (fuera de ese rango, ArcaValidationError), resultado en el orden de `cuits`. Una CUIT no hace fallar el lote: inexistente → errorConstancia.error = ['No existe persona con ese Id']; CUIT inválida → no se envía a ARCA y vuelve con idPersona = valor recibido y errorConstancia.error = ['CUIT inválido: ... No se consultó a ARCA.']; persona con datos inválidos en la respuesta → errorConstancia con el detalle (si no trae CUIT, se omite).
|
|
53
55
|
|
|
54
56
|
### condicionIvaDesdePadron(persona: PersonaA5 | PersonaA4): { condicionIva: CondicionIva | null; motivo: string }
|
|
55
|
-
|
|
57
|
+
Función pura. Estados de impuestos: palabras de TipoEstado del manual A4 (ACTIVO, ACTIVO EN TRAMITE, BAJA PROVISORIA, BAJA DEFINITIVA, EXENTO, EXENTO EN TRAMITE, NO APORTANTE) o ids SUPA (AC, EX, BP, BD, NA). Activo = ACTIVO / ACTIVO EN TRAMITE. Monotributo (impuesto 20 activo; la categoría solo si no figura el 20; un 20 en BAJA nunca cuenta) → MONOTRIBUTISTA (6); categorías 61/99/100/101-104 → MONOTRIBUTO_SOCIAL (13); descripción de categoría con "PROMOVID" → MONOTRIBUTO_INDEPENDIENTE_PROMOVIDO (16); categoría 98 (asociado cooperativa) → MONOTRIBUTISTA. Monotributo tiene prioridad sobre IVA. IVA 30 activo → RESPONSABLE_INSCRIPTO (1); IVA 30 EXENTO/EXENTO EN TRAMITE o impuesto 32 → EXENTO (4); impuesto 34 → IVA_NO_ALCANZADO (15); impuesto 33 (responsable no inscripto, categoría eliminada) → null con motivo propio. NO APORTANTE no es "no alcanzado". Si no, null con motivo (nunca asume consumidor final). Los errores de ARCA (errorConstancia, p. ej. CUIT limitada RG 3832/16; errorRegimenGeneral; errorMonotributo) y una CUIT no activa se advierten siempre en el motivo, también cuando la condición se determinó. Usar el resultado como `condicionIva` en @ramiidv/arca-facturacion.
|
|
56
58
|
|
|
57
59
|
### getPersonaA13(cuit): Promise<PersonaA13>
|
|
58
|
-
Datos
|
|
60
|
+
Datos básicos vía ws_sr_padron_a13 `getPersona` (domicilio[] con calle, numero, codigoPostal, estadoDomicilio...). Con la clave inactiva lanza ArcaPadronServiceError reason 'inactiva'.
|
|
59
61
|
|
|
60
62
|
### getPersonaA13V2(cuit): Promise<PersonaA13>
|
|
61
|
-
A13 getPersonaV2 (manual v1.4):
|
|
63
|
+
A13 `getPersonaV2` (manual v1.4): responde también con la clave INACTIVA.
|
|
62
64
|
|
|
63
|
-
### getIdPersonaListByDocumento(documento): Promise<string
|
|
64
|
-
CUIT/CUIL
|
|
65
|
+
### getIdPersonaListByDocumento(documento): Promise<ListaPadron<string>>
|
|
66
|
+
CUIT/CUIL asociados a un número de documento (A13). Acepta puntos, espacios y guiones ('11.709.676'); 1 a 11 dígitos. Devuelve [] si ARCA no informa claves.
|
|
65
67
|
|
|
66
68
|
### getPersona(cuit): Promise<PersonaA4>
|
|
67
|
-
Datos completos
|
|
69
|
+
Datos completos vía ws_sr_padron_a4: domicilios, impuestos, actividades, regímenes, relaciones, categorías, emails, teléfonos.
|
|
68
70
|
|
|
69
71
|
### getPersonaBasic(cuit): Promise<PersonaA10>
|
|
70
|
-
Datos
|
|
72
|
+
Datos básicos vía ws_sr_padron_a10: datos generales, dependencia y domicilios.
|
|
71
73
|
|
|
72
|
-
### getParametros(collection: string): Promise<ParameterRecord
|
|
73
|
-
Tablas de
|
|
74
|
+
### getParametros(collection: string): Promise<ListaPadron<ParameterRecord>>
|
|
75
|
+
Tablas de parámetros vía ws_sr_padron_a100 (`getParameterCollectionByName`). id, descripcion y los value de los atributos vuelven tal cual los envía ARCA (xs:string: "10.50" sigue siendo "10.50"). Lanza ArcaPadronError si falta parameterCollection; una colección vacía devuelve []; un nombre vacío lanza ArcaValidationError. Enum CollectionName (manual A100 v2.1): PROVINCIA (SUPA.E_PROVINCIA), TIPO_DOCUMENTO, 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, REGIMEN, TIPO_REGIMEN, CARACTERIZACION, TIPO_ARCHIVO, ACTIVIDAD_RUBRO, RUBRO_ACTIVIDAD, ACTIVIDAD_OCUPACIONAL.
|
|
74
76
|
|
|
75
77
|
### status(): Promise<PadronStatus>
|
|
76
|
-
|
|
78
|
+
`dummy` de a5, a4, a10, a13 y a100 en paralelo, sin autenticación. Cada valor es un `ServiceStatus` de arca-common: `{ ok: true, status }` solo si los tres servidores (appserver, dbserver, authserver) están en "OK"; `{ ok: false, error, status }` si respondió con alguno en otro estado (ej: dbserver "ERROR"); `{ ok: false, error }` si no respondió. Los `dummy()` de bajo nivel devuelven el ServerStatus sin evaluar (usar `serverStatusOk` de arca-common).
|
|
79
|
+
|
|
80
|
+
### metadata
|
|
81
|
+
Las personas traen `metadata?: { fechaHora?, servidor? }` de la respuesta. Las listas (`ListaPadron<T> = T[] & { metadata? }`) lo traen en `lista.metadata`, propiedad no enumerable del array.
|
|
77
82
|
|
|
78
83
|
## Tipos principales
|
|
79
84
|
|
|
85
|
+
Los xs:string y xs:long (CUIT, actividades, teléfonos, códigos postales) vuelven como string. Los xs:dateTime (fechaContratoSocial, fechaNacimiento, ffRelacion, metadata.fechaHora...) vuelven como el string que envía ARCA, sin convertir a Date. `TipoPersonaPadron = 'FISICA' | 'JURIDICA' | (string & {})`: el SDK no rechaza otro valor.
|
|
86
|
+
|
|
80
87
|
```typescript
|
|
81
88
|
interface PersonaA4 {
|
|
82
89
|
idPersona: string;
|
|
83
|
-
tipoPersona:
|
|
90
|
+
tipoPersona: TipoPersonaPadron;
|
|
84
91
|
tipoClave?: string;
|
|
85
92
|
estadoClave?: string;
|
|
86
93
|
apellido?: string;
|
|
@@ -117,11 +124,12 @@ interface PersonaA4 {
|
|
|
117
124
|
categoria?: CategoriaA4[];
|
|
118
125
|
email?: EmailA4[];
|
|
119
126
|
telefono?: TelefonoA4[];
|
|
127
|
+
metadata?: PadronMetadata;
|
|
120
128
|
}
|
|
121
129
|
|
|
122
130
|
interface PersonaA10 {
|
|
123
131
|
idPersona: string;
|
|
124
|
-
tipoPersona:
|
|
132
|
+
tipoPersona: TipoPersonaPadron;
|
|
125
133
|
tipoClave?: string;
|
|
126
134
|
estadoClave?: string;
|
|
127
135
|
nombre?: string;
|
|
@@ -134,17 +142,36 @@ interface PersonaA10 {
|
|
|
134
142
|
dependencia?: DependenciaA10;
|
|
135
143
|
claveInactivaAsociada?: string[];
|
|
136
144
|
domicilio?: DomicilioA10[];
|
|
145
|
+
metadata?: PadronMetadata;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
interface PersonaA13 {
|
|
149
|
+
idPersona: string;
|
|
150
|
+
tipoPersona: TipoPersonaPadron;
|
|
151
|
+
tipoClave?: string;
|
|
152
|
+
estadoClave?: string;
|
|
153
|
+
nombre?: string;
|
|
154
|
+
apellido?: string;
|
|
155
|
+
razonSocial?: string;
|
|
156
|
+
numeroDocumento?: string;
|
|
157
|
+
tipoDocumento?: string;
|
|
158
|
+
formaJuridica?: string;
|
|
159
|
+
mesCierre?: number;
|
|
160
|
+
fechaNacimiento?: string;
|
|
161
|
+
fechaFallecimiento?: string;
|
|
162
|
+
fechaContratoSocial?: string;
|
|
163
|
+
idActividadPrincipal?: string;
|
|
164
|
+
descripcionActividadPrincipal?: string;
|
|
165
|
+
periodoActividadPrincipal?: number;
|
|
166
|
+
claveInactivaAsociada?: string[];
|
|
167
|
+
domicilio?: DomicilioA13[];
|
|
168
|
+
metadata?: PadronMetadata;
|
|
137
169
|
}
|
|
138
170
|
|
|
139
171
|
interface ParameterRecord {
|
|
140
172
|
id: string;
|
|
141
173
|
descripcion: string;
|
|
142
|
-
atributos?:
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
interface ParameterAttribute {
|
|
146
|
-
name: string;
|
|
147
|
-
value?: string; // exactly as sent by ARCA
|
|
174
|
+
atributos?: { name: string; value?: string }[]; // value tal cual lo envía ARCA
|
|
148
175
|
}
|
|
149
176
|
|
|
150
177
|
interface ServerStatus {
|
|
@@ -156,13 +183,13 @@ interface ServerStatus {
|
|
|
156
183
|
|
|
157
184
|
## Errores
|
|
158
185
|
|
|
159
|
-
|
|
160
|
-
- ArcaValidationError:
|
|
161
|
-
- ArcaAuthError:
|
|
162
|
-
- ArcaTicketVigenteError (
|
|
163
|
-
- ArcaPadronServiceError (
|
|
164
|
-
- ArcaPadronError: ARCA
|
|
165
|
-
- ArcaSoapError: HTTP/
|
|
186
|
+
Todos extienden ArcaError (de @ramiidv/arca-common), tienen un `code` estable e `instanceof` funciona aunque haya copias duplicadas del paquete:
|
|
187
|
+
- ArcaValidationError: CUIT/documento inválido (no se envió el request).
|
|
188
|
+
- ArcaAuthError: errores de autenticación WSAA.
|
|
189
|
+
- ArcaTicketVigenteError (extiende ArcaAuthError): WSAA ya emitió un TA vigente que no está en memoria ni en el storage.
|
|
190
|
+
- ArcaPadronServiceError (extiende ArcaServiceError): errores de negocio. ARCA los informa como SOAP Fault; los textos conocidos se convierten con un `reason` tipado: 'inexistente' ("La Clave (CUIT/CUIL) consultada es inexistente", "No existe persona con ese Id"; en la constancia también desde errorConstancia), 'inactiva' ("... se encuentra INACTIVA"), 'id_invalido' ("El Id de la persona no es valido"), 'no_autorizado' ("No autorizado, par token/sign invalido.", "Falta token y/o sign.", "Debe enviar la CUIT representada", "Este token no le permite actuar en representacion de la CUIT ..."), 'otro'. `errors[0].msg` tiene el texto de ARCA; `cause`, el ArcaSoapError original. Nunca se reintentan.
|
|
191
|
+
- ArcaPadronError: respuesta de ARCA sin un elemento obligatorio (ej: personaReturn sin persona).
|
|
192
|
+
- ArcaSoapError: errores HTTP/transporte, timeouts, cancelaciones y SOAP Faults no reconocidos (statusCode?, faultCode?, faultString?, uncertain, aborted).
|
|
166
193
|
|
|
167
194
|
```typescript
|
|
168
195
|
import { ArcaPadronServiceError, ArcaSoapError, ArcaValidationError } from '@ramiidv/arca-padron';
|
|
@@ -170,34 +197,36 @@ import { ArcaPadronServiceError, ArcaSoapError, ArcaValidationError } from '@ram
|
|
|
170
197
|
try {
|
|
171
198
|
await padron.getPersona(cuit);
|
|
172
199
|
} catch (error) {
|
|
173
|
-
if (error instanceof ArcaValidationError) { /*
|
|
174
|
-
else if (error instanceof ArcaPadronServiceError && error.reason === 'inexistente') { /* CUIT
|
|
175
|
-
else if (error instanceof ArcaPadronServiceError) { /*
|
|
176
|
-
else if (error instanceof ArcaSoapError) { /* HTTP/
|
|
200
|
+
if (error instanceof ArcaValidationError) { /* CUIT inválida */ }
|
|
201
|
+
else if (error instanceof ArcaPadronServiceError && error.reason === 'inexistente') { /* la CUIT no existe */ }
|
|
202
|
+
else if (error instanceof ArcaPadronServiceError) { /* otro error de negocio: error.reason, error.errors */ }
|
|
203
|
+
else if (error instanceof ArcaSoapError) { /* error HTTP/red: error.statusCode */ }
|
|
177
204
|
}
|
|
178
205
|
```
|
|
179
206
|
|
|
180
207
|
## Eventos
|
|
181
208
|
|
|
182
|
-
|
|
209
|
+
Unión discriminada: auth:login, auth:cache-hit (source: memory|storage), auth:clock-skew, auth:storage-error, request:start, request:end, request:retry, request:error. Por `onEvent` o `padron.on(tipo, handler)`.
|
|
210
|
+
|
|
211
|
+
## Entornos
|
|
212
|
+
|
|
213
|
+
Hosts: homologación `https://awshomo.afip.gov.ar`, producción `https://aws.afip.gov.ar` (rutas `/sr-padron/webservices/personaServiceA5|A4|A10|A13` y `/sr-parametros/webservices/parameterServiceA100`). El manual de la constancia v4.1 publica `awshomo.arca.gob.ar` / `aws.arca.gob.ar`; el SDK usa los `soap:address` de los WSDL oficiales (afip.gov.ar), que responden igual. Constante `ENDPOINTS`; se pueden sobrescribir con `endpoints`.
|
|
183
214
|
|
|
184
215
|
## Enums
|
|
185
216
|
|
|
186
|
-
- Provincia (0-24
|
|
217
|
+
- Provincia (0-24)
|
|
187
218
|
- TipoDomicilio (FISCAL, LEGAL, REAL)
|
|
188
219
|
- TipoPersona (FISICA, JURIDICA)
|
|
189
|
-
-
|
|
190
|
-
-
|
|
191
|
-
-
|
|
192
|
-
-
|
|
220
|
+
- EstadoClave (ACTIVO, INACTIVO, LIMITADO)
|
|
221
|
+
- ImpuestoId (GANANCIAS_PH=11, MONOTRIBUTO=20, MONOTRIBUTO_AUTONOMO=21, IVA_RESPONSABLE_INSCRIPTO=30, BIENES_PERSONALES=180, EMPLEADOR=301, AUTONOMOS=308: de los manuales de ARCA; GANANCIAS_PJ=10, IVA_EXENTO=32, IVA_RESPONSABLE_NO_INSCRIPTO=33, IVA_NO_ALCANZADO=34 no figuran en los manuales del padrón). El monotributo social se identifica por categoría, no por id de impuesto.
|
|
222
|
+
- DocTipo (códigos numéricos de WSFEv1, de common): NO es el `tipoDocumento` string del padrón ("DNI", "LC"...).
|
|
223
|
+
- CondicionIva (reexportado de @ramiidv/arca-common)
|
|
224
|
+
- CollectionName (ver getParametros)
|
|
193
225
|
|
|
194
226
|
## Clientes de bajo nivel
|
|
195
227
|
|
|
196
|
-
|
|
228
|
+
Propiedades públicas: padron.wsaa, padron.a5 (constancia: getPersona, getPersonaList), padron.a4, padron.a10, padron.a13 (getPersona, getPersonaV2, getIdPersonaListByDocumento), padron.a100 (getParameterCollectionByName). Reciben `auth: WsAuth = { token, sign, cuitRepresentada }` como primer argumento.
|
|
197
229
|
|
|
198
|
-
##
|
|
230
|
+
## Deprecados
|
|
199
231
|
|
|
200
|
-
|
|
201
|
-
- parseXml(xml): Record<string, unknown> - parse XML with CUIT-safe options
|
|
202
|
-
- buildXml(obj): string - build XML from object
|
|
203
|
-
- checkServiceErrors: deprecated (Padron reports business errors as SOAP Faults)
|
|
232
|
+
`ensureArray`, `parseXml` y `buildXml` se siguen exportando por compatibilidad: importarlos de @ramiidv/arca-common. `BasePadronClient.soapOptions` y `.onEvent` (protected) no se usan.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ramiidv/arca-padron",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
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
|
"author": "ramiidv",
|
|
6
6
|
"license": "MIT",
|
|
@@ -56,6 +56,6 @@
|
|
|
56
56
|
"node": ">=20.19.0"
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
|
-
"@ramiidv/arca-common": "^0.
|
|
59
|
+
"@ramiidv/arca-common": "^0.7.0"
|
|
60
60
|
}
|
|
61
61
|
}
|