@ramiidv/arca-agro 0.2.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +211 -179
  2. package/dist/arca-agro.d.ts +25 -140
  3. package/dist/arca-agro.d.ts.map +1 -1
  4. package/dist/arca-agro.js +69 -264
  5. package/dist/arca-agro.js.map +1 -1
  6. package/dist/constants.d.ts +34 -8
  7. package/dist/constants.d.ts.map +1 -1
  8. package/dist/constants.js +34 -11
  9. package/dist/constants.js.map +1 -1
  10. package/dist/context.d.ts +13 -0
  11. package/dist/context.d.ts.map +1 -0
  12. package/dist/context.js +2 -0
  13. package/dist/context.js.map +1 -0
  14. package/dist/cpe-client.d.ts +95 -51
  15. package/dist/cpe-client.d.ts.map +1 -1
  16. package/dist/cpe-client.js +236 -228
  17. package/dist/cpe-client.js.map +1 -1
  18. package/dist/cpe-schemas.d.ts +76 -0
  19. package/dist/cpe-schemas.d.ts.map +1 -0
  20. package/dist/cpe-schemas.js +512 -0
  21. package/dist/cpe-schemas.js.map +1 -0
  22. package/dist/cpe-types.d.ts +599 -0
  23. package/dist/cpe-types.d.ts.map +1 -0
  24. package/dist/cpe-types.js +2 -0
  25. package/dist/cpe-types.js.map +1 -0
  26. package/dist/errors.d.ts +38 -0
  27. package/dist/errors.d.ts.map +1 -0
  28. package/dist/errors.js +53 -0
  29. package/dist/errors.js.map +1 -0
  30. package/dist/index.d.ts +10 -10
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +8 -13
  33. package/dist/index.js.map +1 -1
  34. package/dist/lpg-client.d.ts +64 -43
  35. package/dist/lpg-client.d.ts.map +1 -1
  36. package/dist/lpg-client.js +215 -175
  37. package/dist/lpg-client.js.map +1 -1
  38. package/dist/lpg-schemas.d.ts +50 -0
  39. package/dist/lpg-schemas.d.ts.map +1 -0
  40. package/dist/lpg-schemas.js +478 -0
  41. package/dist/lpg-schemas.js.map +1 -0
  42. package/dist/lpg-types.d.ts +470 -0
  43. package/dist/lpg-types.d.ts.map +1 -0
  44. package/dist/lpg-types.js +2 -0
  45. package/dist/lpg-types.js.map +1 -0
  46. package/dist/schema.d.ts +90 -0
  47. package/dist/schema.d.ts.map +1 -0
  48. package/dist/schema.js +301 -0
  49. package/dist/schema.js.map +1 -0
  50. package/dist/types.d.ts +33 -455
  51. package/dist/types.d.ts.map +1 -1
  52. package/dist/validation.d.ts +22 -43
  53. package/dist/validation.d.ts.map +1 -1
  54. package/dist/validation.js +31 -134
  55. package/dist/validation.js.map +1 -1
  56. package/llms.txt +78 -159
  57. package/package.json +6 -7
  58. package/dist/ctg-client.d.ts +0 -56
  59. package/dist/ctg-client.d.ts.map +0 -1
  60. package/dist/ctg-client.js +0 -214
  61. package/dist/ctg-client.js.map +0 -1
@@ -1,145 +1,42 @@
1
- import { ArcaValidationError, } from '@ramiidv/arca-common';
2
- // ---------------------------------------------------------------------------
3
- // Helpers
4
- // ---------------------------------------------------------------------------
5
- function validateCuitField(value, fieldName, errors) {
6
- if (value == null) {
7
- errors.push({ field: fieldName, message: `${fieldName} es requerido`, value });
8
- return;
9
- }
10
- const str = String(value);
11
- if (!/^\d{11}$/.test(str)) {
12
- errors.push({
13
- field: fieldName,
14
- message: `${fieldName} debe tener exactamente 11 digitos numericos`,
15
- value,
16
- });
1
+ import { encodeRequest } from './schema.js';
2
+ import { AUTORIZAR_AUTOMOTOR, AUTORIZAR_FERROVIARIA } from './cpe-schemas.js';
3
+ import { AJUSTE_UNIFICADO, LIQUIDACION_AUTORIZAR } from './lpg-schemas.js';
4
+ /** @internal `origen` debe tener `operador` o `productor`. */
5
+ export function requireOrigen(input, errors) {
6
+ const origen = input['origen'];
7
+ if (origen !== null && typeof origen === 'object') {
8
+ const o = origen;
9
+ if (o['operador'] == null && o['productor'] == null) {
10
+ errors.push({ field: 'origen', message: 'origen: se debe informar operador o productor', value: origen });
11
+ }
17
12
  }
18
13
  }
19
- function requirePositive(value, fieldName, errors) {
20
- if (value == null) {
21
- errors.push({ field: fieldName, message: `${fieldName} es requerido`, value });
22
- return;
23
- }
24
- if (typeof value !== 'number' || value <= 0) {
25
- errors.push({
26
- field: fieldName,
27
- message: `${fieldName} debe ser un numero mayor a 0`,
28
- value,
29
- });
14
+ /** @internal Las consultas de una CPE necesitan `cartaPorte` o `nroCTG`. */
15
+ export function requireCartaPorteOCtg(input, errors) {
16
+ if (input['cartaPorte'] == null && input['nroCTG'] == null) {
17
+ errors.push({ field: 'cartaPorte', message: 'se debe informar cartaPorte o nroCTG' });
30
18
  }
31
19
  }
32
- function requireNonNegative(value, fieldName, errors) {
33
- if (value == null) {
34
- errors.push({ field: fieldName, message: `${fieldName} es requerido`, value });
35
- return;
36
- }
37
- if (typeof value !== 'number' || value < 0) {
38
- errors.push({
39
- field: fieldName,
40
- message: `${fieldName} debe ser un numero mayor o igual a 0`,
41
- value,
42
- });
20
+ /** @internal El ajuste unificado necesita `ajusteCredito` y/o `ajusteDebito`. */
21
+ export function requireAjuste(input, errors) {
22
+ if (input['ajusteCredito'] == null && input['ajusteDebito'] == null) {
23
+ errors.push({ field: 'ajusteCredito', message: 'se debe informar ajusteCredito y/o ajusteDebito' });
43
24
  }
44
25
  }
45
- function throwIfErrors(errors, context) {
46
- if (errors.length > 0) {
47
- throw new ArcaValidationError(`Validacion de ${context} fallida: ${errors.map((e) => e.message).join('; ')}`, errors, context);
48
- }
26
+ /** Valida una solicitud de `autorizarCPEAutomotor`. @throws ArcaValidationError */
27
+ export function validateAutorizarCPEAutomotor(params) {
28
+ encodeRequest(params, AUTORIZAR_AUTOMOTOR, 'autorizarCPEAutomotor', requireOrigen);
49
29
  }
50
- // ---------------------------------------------------------------------------
51
- // CPE Validation
52
- // ---------------------------------------------------------------------------
53
- /**
54
- * Valida los datos de una Carta de Porte Electronica antes de enviar al servicio WSCPE.
55
- *
56
- * Campos validados:
57
- * - cuitTitularCartaPorte: 11 digitos
58
- * - sucursal: > 0
59
- * - nroOrden: >= 0
60
- * - codGrano: > 0
61
- * - pesoNeto: > 0
62
- * - cuitDestino: 11 digitos
63
- * - codLocalidadDestino: > 0
64
- * - cuitTransportista: 11 digitos
65
- *
66
- * @throws ArcaValidationError con detalles de todos los campos invalidos.
67
- */
68
- export function validateCPE(cpe) {
69
- const errors = [];
70
- validateCuitField(cpe.cuitTitularCartaPorte, 'cuitTitularCartaPorte', errors);
71
- requirePositive(cpe.sucursal, 'sucursal', errors);
72
- requireNonNegative(cpe.nroOrden, 'nroOrden', errors);
73
- requirePositive(cpe.codGrano, 'codGrano', errors);
74
- requirePositive(cpe.pesoNeto, 'pesoNeto', errors);
75
- validateCuitField(cpe.cuitDestino, 'cuitDestino', errors);
76
- requirePositive(cpe.codLocalidadDestino, 'codLocalidadDestino', errors);
77
- validateCuitField(cpe.cuitTransportista, 'cuitTransportista', errors);
78
- throwIfErrors(errors, 'CartaPorteAutomotor');
30
+ /** Valida una solicitud de `autorizarCPEFerroviaria`. @throws ArcaValidationError */
31
+ export function validateAutorizarCPEFerroviaria(params) {
32
+ encodeRequest(params, AUTORIZAR_FERROVIARIA, 'autorizarCPEFerroviaria');
79
33
  }
80
- // ---------------------------------------------------------------------------
81
- // CTG Validation
82
- // ---------------------------------------------------------------------------
83
- /**
84
- * Valida los datos de una solicitud de CTG antes de enviar al servicio WSCTG.
85
- *
86
- * Campos validados:
87
- * - nroCartaPorte: > 0
88
- * - codEspecie: > 0
89
- * - pesoNeto: > 0
90
- * - cuitDestino: 11 digitos
91
- * - cuitDestinatario: 11 digitos
92
- * - codLocalidadOrigen: > 0
93
- * - codLocalidadDestino: > 0
94
- * - codCosecha: > 0
95
- *
96
- * @throws ArcaValidationError con detalles de todos los campos invalidos.
97
- */
98
- export function validateCTG(ctg) {
99
- const errors = [];
100
- requirePositive(ctg.nroCartaPorte, 'nroCartaPorte', errors);
101
- requirePositive(ctg.codEspecie, 'codEspecie', errors);
102
- requirePositive(ctg.pesoNeto, 'pesoNeto', errors);
103
- validateCuitField(ctg.cuitDestino, 'cuitDestino', errors);
104
- validateCuitField(ctg.cuitDestinatario, 'cuitDestinatario', errors);
105
- requirePositive(ctg.codLocalidadOrigen, 'codLocalidadOrigen', errors);
106
- requirePositive(ctg.codLocalidadDestino, 'codLocalidadDestino', errors);
107
- requirePositive(ctg.codCosecha, 'codCosecha', errors);
108
- if (ctg.cuitTransportista != null) {
109
- validateCuitField(ctg.cuitTransportista, 'cuitTransportista', errors);
110
- }
111
- throwIfErrors(errors, 'SolicitudCTG');
34
+ /** Valida una solicitud de `liquidacionAutorizar`. @throws ArcaValidationError */
35
+ export function validateLiquidacion(params) {
36
+ encodeRequest(params, LIQUIDACION_AUTORIZAR, 'liquidacionAutorizar');
112
37
  }
113
- // ---------------------------------------------------------------------------
114
- // Liquidacion Validation
115
- // ---------------------------------------------------------------------------
116
- /**
117
- * Valida los datos de una liquidacion primaria de granos antes de enviar al servicio WSLPG.
118
- *
119
- * Campos validados:
120
- * - cuitComprador: 11 digitos
121
- * - cuitVendedor: 11 digitos
122
- * - codGrano: > 0
123
- * - pesoNeto: > 0
124
- * - precioRefTn: >= 0 (si presente)
125
- *
126
- * @throws ArcaValidationError con detalles de todos los campos invalidos.
127
- */
128
- export function validateLiquidacion(liq) {
129
- const errors = [];
130
- validateCuitField(liq.cuitComprador, 'cuitComprador', errors);
131
- validateCuitField(liq.cuitVendedor, 'cuitVendedor', errors);
132
- requirePositive(liq.codGrano, 'codGrano', errors);
133
- requirePositive(liq.pesoNeto, 'pesoNeto', errors);
134
- if (liq.precioRefTn != null) {
135
- requireNonNegative(liq.precioRefTn, 'precioRefTn', errors);
136
- }
137
- if (liq.cuitCorredorVendedor != null) {
138
- validateCuitField(liq.cuitCorredorVendedor, 'cuitCorredorVendedor', errors);
139
- }
140
- if (liq.cuitCorredorComprador != null) {
141
- validateCuitField(liq.cuitCorredorComprador, 'cuitCorredorComprador', errors);
142
- }
143
- throwIfErrors(errors, 'Liquidacion');
38
+ /** Valida una solicitud de `liquidacionAjustarUnificado`. @throws ArcaValidationError */
39
+ export function validateAjusteUnificado(params) {
40
+ encodeRequest(params, AJUSTE_UNIFICADO, 'liquidacionAjustarUnificado', requireAjuste);
144
41
  }
145
42
  //# sourceMappingURL=validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAI3E,8DAA8D;AAC9D,MAAM,UAAU,aAAa,CAAC,KAA8B,EAAE,MAA+B;IAC3F,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/B,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,CAAC,GAAG,MAAiC,CAAC;QAC5C,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC;YACpD,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,+CAA+C,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;AACH,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,qBAAqB,CAAC,KAA8B,EAAE,MAA+B;IACnG,IAAI,KAAK,CAAC,YAAY,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,aAAa,CAAC,KAA8B,EAAE,MAA+B;IAC3F,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,CAAC;QACpE,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,6BAA6B,CAAC,MAAmC;IAC/E,aAAa,CAAC,MAAM,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,aAAa,CAAC,CAAC;AACrF,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,+BAA+B,CAAC,MAAqC;IACnF,aAAa,CAAC,MAAM,EAAE,qBAAqB,EAAE,yBAAyB,CAAC,CAAC;AAC1E,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,mBAAmB,CAAC,MAAkC;IACpE,aAAa,CAAC,MAAM,EAAE,qBAAqB,EAAE,sBAAsB,CAAC,CAAC;AACvE,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,uBAAuB,CAAC,MAA6B;IACnE,aAAa,CAAC,MAAM,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,aAAa,CAAC,CAAC;AACxF,CAAC"}
package/llms.txt CHANGED
@@ -1,187 +1,106 @@
1
- # @ramiidv/arca-agro - Technical Reference
1
+ # @ramiidv/arca-agro - Technical Reference (v0.3.0)
2
2
 
3
3
  ## Overview
4
4
 
5
- TypeScript SDK for ARCA (Argentina's tax authority, formerly AFIP) agricultural web services. Bundles three SOAP services into a single package with automatic WSAA authentication.
5
+ TypeScript SDK for ARCA (Argentina's tax authority, formerly AFIP) agricultural SOAP web services, with automatic WSAA authentication (via @ramiidv/arca-common ^0.4.0).
6
6
 
7
- - **WSCPE** - Carta de Porte Electrónica: electronic bill of lading for grain transport
8
- - **WSCTG** - Código de Trazabilidad de Granos: grain traceability codes
9
- - **WSLPG** - Liquidación Primaria de Granos: primary grain settlement and certification
7
+ - WSCPE - Carta de Porte Electrónica (grain bill of lading; road "automotor" and rail "ferroviaria")
8
+ - WSLPG - Liquidación Primaria de Granos (primary grain settlement) and certificación primaria (cg*)
9
+
10
+ WSCTG (Código de Trazabilidad de Granos) is NOT included: it was repealed on 2021-11-01 (RG 5017/2021) and its endpoints return 404. The CTG number is now returned by WSCPE (`cabecera.nroCTG`).
10
11
 
11
12
  ## Architecture
12
13
 
13
14
  ```
14
- ArcaAgro (orchestrator)
15
- ├── .cpe → CpeClient (WSCPE) → WSAA service: "wscpe"
16
- ├── .ctg → CtgClient (WSCTG) → WSAA service: "wsctg"
17
- └── .lpg → LpgClient (WSLPG) → WSAA service: "wslpg"
15
+ ArcaAgro
16
+ ├── .cpe → CpeClient (WSCPE) → WSAA service "wscpe"
17
+ └── .lpg → LpgClient (WSLPG) → WSAA service "wslpg"
18
18
  ```
19
19
 
20
- All shared utilities (WsaaClient, afipSoapCall, errors, types) come from `@ramiidv/arca-common`. No duplication.
21
-
22
- ## WSAA Service Identifiers
23
-
24
- | Service | WSAA ID |
25
- |---------|---------|
26
- | WSCPE | `wscpe` |
27
- | WSCTG | `wsctg` |
28
- | WSLPG | `wslpg` |
29
-
30
- ## Endpoints
31
-
32
- ### WSCPE
33
- - Testing: `https://fwshomo.afip.gov.ar/wscpe/services/soap`
34
- - Production: `https://serviciosjava.afip.gob.ar/wscpe/services/soap`
35
-
36
- ### WSCTG
37
- - Testing: `https://fwshomo.afip.gov.ar/wsctg/services/CTGService_v4.0`
38
- - Production: `https://serviciosjava.afip.gob.ar/wsctg/services/CTGService_v4.0`
39
-
40
- ### WSLPG
41
- - Testing: `https://fwshomo.afip.gov.ar/wslpg/LpgService`
42
- - Production: `https://serviciosjava.afip.gob.ar/wslpg/LpgService`
43
-
44
- ## API Methods
45
-
46
- ### agro.cpe.* (WSCPE)
47
-
48
- | Method | Description |
49
- |--------|-------------|
50
- | `autorizarCPEAutomotor(cpe)` | Authorize electronic bill of lading for road transport |
51
- | `confirmadoArriboCPE(params)` | Confirm arrival at destination |
52
- | `rechazoCPE(params)` | Reject a CPE |
53
- | `anularCPE(params)` | Cancel a CPE |
54
- | `editarCPE(params)` | Edit fields of an authorized CPE |
55
- | `informarContingencia(params)` | Report a contingency on a CPE |
56
- | `consultarCPE(params)` | Query CPEs by search criteria |
57
- | `consultarCPEPorDestino(params)` | Query CPEs by destination |
58
- | `consultarUltNroOrden(sucursal)` | Get last order number for a branch |
59
- | `siguienteNroOrden(sucursal)` | Get next order number (last + 1) |
60
- | `consultarConstanciaCPEPDF(nroCTG)` | Get CPE certificate as base64 PDF |
61
- | `dummy()` | Check WSCPE server status |
62
-
63
- ### agro.ctg.* (WSCTG)
64
-
65
- | Method | Description |
66
- |--------|-------------|
67
- | `solicitarCTGInicial(solicitud)` | Request initial CTG for grain transport |
68
- | `confirmarArribo(params)` | Confirm CTG arrival at destination |
69
- | `rechazarCTG(params)` | Reject a CTG |
70
- | `anularCTG(params)` | Cancel a CTG |
71
- | `consultarCTG(params)` | Query CTGs by search criteria |
72
- | `consultarCTGExcel(params)` | Query CTGs and get Excel export (base64) |
73
- | `consultarConstanciaCTGPDF(nroCTG)` | Get CTG certificate as base64 PDF |
74
- | `obtenerCTGActivos()` | Get active (pending) CTGs |
75
- | `dummy()` | Check WSCTG server status |
76
-
77
- ### agro.lpg.* (WSLPG)
78
-
79
- | Method | Description |
80
- |--------|-------------|
81
- | `liquidacionAutorizar(liquidacion)` | Authorize a primary grain settlement |
82
- | `liquidacionConsultar(params)` | Query authorized settlements |
83
- | `liquidacionAnular(ptoEmision, nroOrden)` | Cancel a settlement |
84
- | `liquidacionAjustarUnificado(params)` | Unified adjustment (debit/credit) |
85
- | `certificacionAutorizar(certificacion)` | Authorize a grain certification |
86
- | `certificacionAnular(tipo, nro)` | Cancel a certification |
87
- | `consultarParametros(tipo, params?)` | Query WSLPG parameters (grain types, grades, ports, etc.) |
88
- | `dummy()` | Check WSLPG server status |
89
-
90
- ### Global
91
-
92
- | Method | Description |
93
- |--------|-------------|
94
- | `serverStatus()` | Check all 3 services at once |
95
- | `clearAuthCache()` | Invalidate all cached WSAA tokens |
96
- | `on(event, handler)` | Subscribe to SDK events |
97
- | `off(event, handler)` | Unsubscribe from events |
98
-
99
- ## Key Types
100
-
101
- ### Configuration
102
-
103
- ```ts
104
- interface ArcaAgroConfig {
105
- cuit: number;
106
- cert: string; // PEM certificate
107
- key: string; // PEM private key
108
- production?: boolean; // default: false
109
- tokenTTLMinutes?: number; // default: 720
110
- requestTimeoutMs?: number; // default: 30000
111
- retries?: number; // default: 1
112
- retryDelayMs?: number; // default: 1000
113
- onEvent?: (event: ArcaEvent) => void;
114
- }
115
- ```
20
+ Sub-clients are only obtained from `ArcaAgro` (their classes are exported as types). Every public method takes an optional last argument `opts?: { signal?: AbortSignal }`.
116
21
 
117
- ### CPE Types
22
+ ## Endpoints and namespaces
118
23
 
119
- - `CartaPorteAutomotor` - Input for CPE authorization
120
- - `CartaPorteResult` - CPE operation result (nroCTG, nroCartaPorte, estado, errores, raw)
121
- - `ConsultaCPEParams` - CPE query parameters
122
- - `ConfirmadoArriboCPEParams` - Arrival confirmation input
123
- - `RechazoAnulacionCPEParams` - Rejection/cancellation input
124
- - `EditarCPEParams` - Edit input
125
- - `ContingenciaCPEParams` - Contingency report input
24
+ | Service | Testing | Production | Namespace |
25
+ |---|---|---|---|
26
+ | WSCPE | https://cpea-ws-qaext.afip.gob.ar/wscpe/services/soap | https://cpea-ws.afip.gob.ar/wscpe/services/soap | https://serviciosjava.afip.gob.ar/wscpe/ |
27
+ | WSLPG | https://fwshomo.afip.gov.ar/wslpg/LpgService | https://serviciosjava.afip.gob.ar/wslpg/LpgService | http://serviciosjava.afip.gob.ar/wslpg/ (http!) |
126
28
 
127
- ### CTG Types
29
+ SOAP details (from the official WSDLs):
30
+ - WSCPE: request element `<Op>Req` (capitalized operation, e.g. `AutorizarCPEAutomotorReq`), response `<Op>Resp` with a `respuesta` child; SOAPAction = namespace + operation; auth `{token, sign, cuitRepresentada}`; business errors in `respuesta.errores.error[]{codigo,descripcion}`.
31
+ - WSLPG: request/response elements per WSDL (e.g. `liquidacionReq`/`liquidacionResp` → `liqReturn`); SOAPAction = namespace + operation; auth `{token, sign, cuit}`; errors in `errores.error[]` and `erroresFormato.error[]`; info in `eventos.evento[]`.
32
+ - `dummy` (both): empty SOAP Body, no auth.
128
33
 
129
- - `SolicitudCTG` - Input for CTG request
130
- - `CTGResult` - CTG operation result (nroCTG, estado, vigencia, errores, raw)
131
- - `ConsultaCTGParams` - CTG query parameters
132
- - `ConfirmarArriboCTGParams` - Arrival confirmation input
133
- - `RechazoCTGParams` - Rejection input
134
- - `AnulacionCTGParams` - Cancellation input
135
- - `CTGActivosResult` - Active CTGs result
34
+ ## Configuration (ArcaAgroConfig extends ArcaBaseConfig)
136
35
 
137
- ### LPG Types
36
+ cuit (number|string, validated with check digit), cert, key, production=false, timeout=30000, retries=1 (queries only), retryDelayMs=1000, tokenTTLMinutes=720, ticketStorage, clockOffsetMs, autoClockSkew, loginErrorCooldownMs, fetch, legacyTls, onEvent, endpoints?: { cpe?, lpg?, wsaa? }.
138
37
 
139
- - `Liquidacion` - Input for settlement authorization
140
- - `LiquidacionResult` - Settlement result (codOperacion, nroOrden, totalPagar, errores, raw)
141
- - `ConsultaLiquidacionParams` - Settlement query parameters
142
- - `AjusteUnificadoParams` - Unified adjustment input
143
- - `Certificacion` - Certification input
144
- - `CertificacionResult` - Certification result
38
+ ## ArcaAgro
145
39
 
146
- ## Error Hierarchy
40
+ - `cpe: CpeClient`, `lpg: LpgClient`
41
+ - `serverStatus(opts?)` → `{ cpe: AgroServiceStatus, lpg: AgroServiceStatus }` where `AgroServiceStatus = { ok: true, status: ServerStatus } | { ok: false, error: Error }` (Promise.allSettled)
42
+ - `clearAuthCache(): Promise<void>`
43
+ - `on(type, handler)`, `off(type, handler)`
147
44
 
148
- All errors extend from `ArcaError` (from `@ramiidv/arca-common`):
45
+ ## CpeClient (agro.cpe)
149
46
 
150
- - `ArcaAuthError` - WSAA authentication failures
151
- - `ArcaSoapError` - HTTP/SOAP transport errors (includes `statusCode`)
152
- - `ArcaServiceError` - Business logic errors from ARCA (includes `errors[]` with code + msg)
153
- - `ArcaValidationError` - Input validation errors
47
+ Constants: `TIPO_CPE = { AUTOMOTOR: 74, FERROVIARIA: 75, AUTOMOTOR_FLETE_CORTO: 274 }`, `ESTADOS_CPE` (AC, AN, BR, CF, CN, CO, DE, RE, PA, AP, DD, PE, IN, PO).
154
48
 
155
- ## Low-Level Clients
49
+ Requests mirror the XSD (`solicitud` content). `CartaPorteId = { tipoCPE, sucursal, nroOrden }`.
156
50
 
157
- For direct control over auth, use the individual clients:
51
+ Emissions (kind 'emision', never retried):
52
+ - `autorizarCPEAutomotor(AutorizarCPEAutomotorParams)` → `CPEAutomotorDetalle` (requires `cabecera.nroCTG`)
53
+ - params: `{ cabecera: {tipoCP, cuitSolicitante, sucursal, nroOrden}, origen: {operador?|productor?}, correspondeRetiroProductor, esSolicitanteCampo, retiroProductor?, intervinientes?, datosCarga: {codGrano, cosecha, semilla?, pesoBruto, pesoTara}, destino: {cuit, esDestinoCampo, codProvincia, codLocalidad, planta?}, destinatario: {cuit}, transporte: {cuitTransportista, dominio[], fechaHoraPartida, kmRecorrer, codigoTurno?, cuitChofer, tarifa?, cuitPagadorFlete, cuitIntermediarioFlete?, mercaderiaFumigada}, observaciones? }`
54
+ - `autorizarCPEFerroviaria(AutorizarCPEFerroviariaParams)` → `CPEFerroviariaDetalle`
55
+ - returning `CPEResultado { cabecera?, pdf?, metadata? }`: `editarCPEAutomotor`, `editarCPEConfirmadaAutomotor`, `confirmarArriboCPE`, `confirmacionDefinitivaCPEAutomotor`, `descargadoDestinoCPE`, `rechazoCPE`, `anularCPE`, `nuevoDestinoDestinatarioCPEAutomotor`, `regresoOrigenCPEAutomotor`, `desvioCPEAutomotor`, `informarContingencia`, `cerrarContingenciaCPE`, `editarCPEFerroviaria`, `editarCPEConfirmadaFerroviaria`, `confirmacionDefinitivaCPEFerroviaria`, `nuevoDestinoDestinatarioCPEFerroviaria`, `regresoOrigenCPEFerroviaria`, `desvioCPEFerroviaria`
158
56
 
159
- ```ts
160
- import { CpeClient, CtgClient, LpgClient } from '@ramiidv/arca-agro';
161
- import { WsaaClient } from '@ramiidv/arca-common';
57
+ Queries:
58
+ - `consultarCPEAutomotor({cuitSolicitante?, cartaPorte? | nroCTG?})` → `CPEAutomotorDetalle`
59
+ - `consultarCPEFerroviaria(...)` → `CPEFerroviariaDetalle`
60
+ - `consultaCPEFerroviariaPorNroOperativo(nroOperativo)` → `OperativoFerroviarioCPE`
61
+ - `consultarCPEPorDestino({planta, fechaPartidaDesde, fechaPartidaHasta, tipoCartaPorte?})` → `CPEResumen[]`
62
+ - `consultarCPEPPendientesDeResolucion({perfil: 'S'|'D', planta?})` → `CPEResumen[]`
63
+ - `consultarUltNroOrden(sucursal, tipoCPE)` → number (throws if missing)
64
+ - `siguienteNroOrden(sucursal, tipoCPE)` → number (NOT atomic: concurrent callers get the same number)
65
+ - `consultarProvincias()`, `consultarLocalidadesPorProvincia(codProvincia)`, `consultarTiposGrano()`, `consultarCategoriasSemillas()` → `CodigoDescripcion[]` (`codigo` is string)
66
+ - `consultarPlantas(cuit)` → `PlantaCPE[]`; `consultarLocalidadesProductor(cuit)` → `LocalidadProductorCPE[]`; `consultarVariedadesSemillas(codGrano?)` → `VariedadSemillaCPE[]`
67
+ - `dummy()` → ServerStatus
162
68
 
163
- const cpe = new CpeClient(production, { timeoutMs, retries, retryDelayMs, onEvent });
164
- const ctg = new CtgClient(production, { ... });
165
- const lpg = new LpgClient(production, { ... });
166
- ```
69
+ Not supported: derivados granarios (DG, types 284-287), ductos, consultarRenspa, consultarDomiciliosPorCUIT, DG parametrics.
167
70
 
168
- Each client method takes `auth: AgroAuth` as first parameter:
169
- ```ts
170
- interface AgroAuth { Token: string; Sign: string; Cuit: number; }
171
- ```
71
+ ## LpgClient (agro.lpg)
72
+
73
+ Emissions:
74
+ - `liquidacionAutorizar({ liquidacion: LiquidacionLpg, deducciones?, retenciones?, percepciones? })` → `{ autorizacion: LiquidacionAutorizadaLpg (coe: string), eventos }`
75
+ - `liquidacionAnular(coe)` → `{ coe?, resultado, pdf?, eventos }`
76
+ - `liquidacionAjustarUnificado({ ajusteBase, ajusteCredito?, ajusteDebito? })` → `{ ajusteUnificado (coe: string), eventos }`
77
+ - `cgAutorizar(CgAutorizarParams)` → `{ autorizacion (coe: string), eventos }`
78
+ - `cgSolicitarAnulacion(coe, {pdf?})`, `cgConfirmarAnulacion(coe, {pdf?})` → `{ estadoCertificado, pdf?, eventos }`
79
+
80
+ Queries:
81
+ - `liquidacionXCoeConsultar(coe, {pdf?})`, `liquidacionXNroOrdenConsultar(ptoEmision, nroOrden)` → `{ liquidacion?, autorizacion, pdf?, eventos }`
82
+ - `liquidacionUltimoNroOrdenConsultar(ptoEmision)`, `cgConsultarUltimoNroOrden(ptoEmision)` → number
83
+ - parametrics → `CodigoDescripcion[]`: `provinciasConsultar`, `localidadXProvinciaConsultar(codProvincia)`, `tipoOperacionXActividadConsultar(nroActLiquida)`, `puertoConsultar`, `tipoActividadConsultar`, `tipoActividadRepresentadoConsultar`, `tipoCertificadoDepositoConsultar`, `tipoRetencionConsultar`, `tipoDeduccionConsultar`, `tipoGranoConsultar`, `codigoGradoReferenciaConsultar`, `campaniasConsultar`; `codigoGradoEntregadoXTipoGranoConsultar(codGrano)` → `GradoEntregadoLpg[]`
84
+ - `dummy()`
85
+
86
+ `LiquidacionLpg` (LpgLiquidacionBaseType, XSD order): ptoEmision, nroOrden, numeroContrato?, cuitComprador, nroActComprador, nroIngBrutoComprador, codTipoOperacion, esLiquidacionPropia?, esCanje?, codPuerto, desPuertoLocalidad?, codGrano, pesoNetoSinCertificado?, codLocalidadProcedenciaSinCertificado?, codProvProcedenciaSinCertificado?, cuitVendedor, nroIngBrutoVendedor, actuaCorredor?, liquidaCorredor, cuitCorredor?, comisionCorredor?, nroIngBrutoCorredor?, fechaPrecioOperacion, precioRefTn, codGradoRef?, codGradoEnt?, valGradoEnt?, factorEnt?, precioFleteTn, contProteico?, alicIvaOperacion?, campaniaPPal, codLocalidadProcedencia, codProvProcedencia, datosAdicionales?, certificados?[], opcionales?[].
87
+
88
+ Not supported: lsg*, anticipos, anulación contra documento, ajuste por contrato, cgBuscarCtg, cgBuscarCertConSaldoDisponible, cgConsultarXCoe/XNroOrden, cgInformarCalidad.
89
+
90
+ ## Validation
91
+
92
+ All requests are validated locally against the XSD before sending (ArcaValidationError with all `details[]`): required fields, unknown fields, ranges/lengths/enums, CUIT check digit (validateCuit), finite numbers, decimals rounded to `fractionDigits`, `xsd:date` (Date | AAAAMMDD | AAAA-MM-DD → AAAA-MM-DD), `xsd:dateTime` (Date → Argentina time -03:00, or ISO string). Exported: `validateAutorizarCPEAutomotor`, `validateAutorizarCPEFerroviaria`, `validateLiquidacion`, `validateAjusteUnificado`.
172
93
 
173
- ## Source Files
94
+ ## Errors
174
95
 
175
- | File | Purpose |
176
- |------|---------|
177
- | `src/constants.ts` | Endpoints, namespaces, WSAA service IDs |
178
- | `src/types.ts` | All TypeScript interfaces for the 3 services |
179
- | `src/cpe-client.ts` | Low-level WSCPE SOAP client |
180
- | `src/ctg-client.ts` | Low-level WSCTG SOAP client |
181
- | `src/lpg-client.ts` | Low-level WSLPG SOAP client |
182
- | `src/arca-agro.ts` | Main orchestrator with auto-auth and namespaced API |
183
- | `src/index.ts` | Public exports |
96
+ - `ArcaValidationError` - invalid input (no request sent)
97
+ - `ArcaAgroServiceError extends ArcaServiceError` - ARCA business errors; `errors[]`, `service`, `method`, `response`
98
+ - `ArcaSoapError` - transport/HTTP/SOAP Fault; `uncertain` for emissions
99
+ - `ArcaAgroResponseError` - response missing a required datum (nroCTG, coe, nroOrden); `uncertain` for emissions
100
+ - `ArcaAuthError`, `ArcaTicketVigenteError` - WSAA
184
101
 
185
- ## Dependencies
102
+ ## Recovering an uncertain emission
186
103
 
187
- - `@ramiidv/arca-common` (^0.1.0) - WsaaClient, afipSoapCall, errors, types, validators
104
+ - CPE: `consultarUltNroOrden(sucursal, tipoCPE) >= nroOrden` → it was authorized; fetch it with `consultarCPEAutomotor({cartaPorte})`. Otherwise retry with the same nroOrden.
105
+ - LPG: `liquidacionUltimoNroOrdenConsultar(ptoEmision)` + `liquidacionXNroOrdenConsultar`; for anular/ajuste use `liquidacionXCoeConsultar(coe)`.
106
+ - CG: `cgConsultarUltimoNroOrden(ptoEmision)`.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ramiidv/arca-agro",
3
- "version": "0.2.0",
4
- "description": "SDK para servicios agropecuarios de ARCA (ex AFIP) - WSCPE, WSCTG, WSLPG",
3
+ "version": "0.3.0",
4
+ "description": "SDK para servicios agropecuarios de ARCA (ex AFIP) - WSCPE (Carta de Porte Electrónica) y WSLPG (Liquidación Primaria de Granos)",
5
5
  "author": "ramiidv",
6
6
  "license": "MIT",
7
7
  "type": "module",
@@ -28,7 +28,7 @@
28
28
  "typecheck": "tsc --noEmit",
29
29
  "test": "vitest run",
30
30
  "test:watch": "vitest",
31
- "prepublishOnly": "npm run clean && npm run build"
31
+ "prepublishOnly": "npm run clean && npm run build && npm test"
32
32
  },
33
33
  "keywords": [
34
34
  "arca",
@@ -36,15 +36,14 @@
36
36
  "agro",
37
37
  "granos",
38
38
  "carta-de-porte",
39
- "ctg",
40
39
  "liquidacion",
41
40
  "argentina",
42
41
  "wscpe",
43
- "wsctg",
44
42
  "wslpg",
45
43
  "soap",
46
44
  "sdk",
47
- "typescript"
45
+ "typescript",
46
+ "cpe"
48
47
  ],
49
48
  "repository": {
50
49
  "type": "git",
@@ -61,7 +60,7 @@
61
60
  "node": ">=18.0.0"
62
61
  },
63
62
  "dependencies": {
64
- "@ramiidv/arca-common": "^0.1.0"
63
+ "@ramiidv/arca-common": "^0.4.0"
65
64
  },
66
65
  "devDependencies": {
67
66
  "@types/node": "^22.0.0",
@@ -1,56 +0,0 @@
1
- import type { ArcaEvent, ServerStatus } from '@ramiidv/arca-common';
2
- import type { AgroAuth, SolicitudCTG, CTGResult, ConsultaCTGParams, ConfirmarArriboCTGParams, RechazoCTGParams, AnulacionCTGParams, CTGActivosResult } from './types.js';
3
- export interface CtgClientOptions {
4
- timeoutMs?: number;
5
- retries?: number;
6
- retryDelayMs?: number;
7
- onEvent?: (event: ArcaEvent) => void;
8
- }
9
- /**
10
- * Cliente de bajo nivel para WSCTG (Código de Trazabilidad de Granos).
11
- * Gestiona CTGs para el seguimiento del transporte de granos.
12
- */
13
- export declare class CtgClient {
14
- private readonly endpoint;
15
- private readonly soapOpts;
16
- constructor(production: boolean, opts?: CtgClientOptions);
17
- private call;
18
- private parseResult;
19
- /**
20
- * Solicita un CTG inicial para el transporte de granos.
21
- */
22
- solicitarCTGInicial(auth: AgroAuth, solicitud: SolicitudCTG): Promise<CTGResult>;
23
- /**
24
- * Confirma el arribo de un CTG en destino.
25
- */
26
- confirmarArribo(auth: AgroAuth, params: ConfirmarArriboCTGParams): Promise<CTGResult>;
27
- /**
28
- * Rechaza un CTG.
29
- */
30
- rechazarCTG(auth: AgroAuth, params: RechazoCTGParams): Promise<CTGResult>;
31
- /**
32
- * Anula un CTG.
33
- */
34
- anularCTG(auth: AgroAuth, params: AnulacionCTGParams): Promise<CTGResult>;
35
- /**
36
- * Consulta CTGs según criterios de búsqueda.
37
- */
38
- consultarCTG(auth: AgroAuth, params: ConsultaCTGParams): Promise<CTGResult[]>;
39
- /**
40
- * Consulta CTGs y retorna el resultado en formato Excel (base64).
41
- */
42
- consultarCTGExcel(auth: AgroAuth, params: ConsultaCTGParams): Promise<string>;
43
- /**
44
- * Obtiene la constancia PDF de un CTG en base64.
45
- */
46
- consultarConstanciaCTGPDF(auth: AgroAuth, nroCTG: number): Promise<string>;
47
- /**
48
- * Obtiene los CTGs activos (pendientes).
49
- */
50
- obtenerCTGActivos(auth: AgroAuth): Promise<CTGActivosResult>;
51
- /**
52
- * Verifica el estado de los servidores del WSCTG.
53
- */
54
- dummy(): Promise<ServerStatus>;
55
- }
56
- //# sourceMappingURL=ctg-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ctg-client.d.ts","sourceRoot":"","sources":["../src/ctg-client.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAmB,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,iBAAiB,EACjB,wBAAwB,EACxB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;CACtC;AAED;;;GAGG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4E;gBAEzF,UAAU,EAAE,OAAO,EAAE,IAAI,GAAE,gBAAqB;YAY9C,IAAI;IAYlB,OAAO,CAAC,WAAW;IAiCnB;;OAEG;IACG,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,SAAS,CAAC;IAgBtF;;OAEG;IACG,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,SAAS,CAAC;IAuB3F;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqB/E;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC;IAqB/E;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAenF;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAYnF;;OAEG;IACG,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAchF;;OAEG;IACG,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAsBlE;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,YAAY,CAAC;CAcrC"}