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