@ramiidv/arca-agro 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/CHANGELOG.md +119 -0
  2. package/README.md +239 -183
  3. package/dist/arca-agro.d.ts +27 -143
  4. package/dist/arca-agro.d.ts.map +1 -1
  5. package/dist/arca-agro.js +28 -277
  6. package/dist/arca-agro.js.map +1 -1
  7. package/dist/constants.d.ts +34 -8
  8. package/dist/constants.d.ts.map +1 -1
  9. package/dist/constants.js +34 -11
  10. package/dist/constants.js.map +1 -1
  11. package/dist/context.d.ts +16 -0
  12. package/dist/context.d.ts.map +1 -0
  13. package/dist/context.js +2 -0
  14. package/dist/context.js.map +1 -0
  15. package/dist/cpe-client.d.ts +97 -52
  16. package/dist/cpe-client.d.ts.map +1 -1
  17. package/dist/cpe-client.js +238 -229
  18. package/dist/cpe-client.js.map +1 -1
  19. package/dist/cpe-schemas.d.ts +74 -0
  20. package/dist/cpe-schemas.d.ts.map +1 -0
  21. package/dist/cpe-schemas.js +510 -0
  22. package/dist/cpe-schemas.js.map +1 -0
  23. package/dist/cpe-types.d.ts +599 -0
  24. package/dist/cpe-types.d.ts.map +1 -0
  25. package/dist/cpe-types.js +2 -0
  26. package/dist/cpe-types.js.map +1 -0
  27. package/dist/errors.d.ts +33 -0
  28. package/dist/errors.d.ts.map +1 -0
  29. package/dist/errors.js +47 -0
  30. package/dist/errors.js.map +1 -0
  31. package/dist/index.d.ts +10 -10
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +8 -13
  34. package/dist/index.js.map +1 -1
  35. package/dist/lpg-client.d.ts +66 -44
  36. package/dist/lpg-client.d.ts.map +1 -1
  37. package/dist/lpg-client.js +216 -176
  38. package/dist/lpg-client.js.map +1 -1
  39. package/dist/lpg-schemas.d.ts +48 -0
  40. package/dist/lpg-schemas.d.ts.map +1 -0
  41. package/dist/lpg-schemas.js +477 -0
  42. package/dist/lpg-schemas.js.map +1 -0
  43. package/dist/lpg-types.d.ts +470 -0
  44. package/dist/lpg-types.d.ts.map +1 -0
  45. package/dist/lpg-types.js +2 -0
  46. package/dist/lpg-types.js.map +1 -0
  47. package/dist/schema.d.ts +6 -0
  48. package/dist/schema.d.ts.map +1 -0
  49. package/dist/schema.js +15 -0
  50. package/dist/schema.js.map +1 -0
  51. package/dist/types.d.ts +28 -455
  52. package/dist/types.d.ts.map +1 -1
  53. package/dist/validation.d.ts +22 -43
  54. package/dist/validation.d.ts.map +1 -1
  55. package/dist/validation.js +31 -134
  56. package/dist/validation.js.map +1 -1
  57. package/llms.txt +78 -159
  58. package/package.json +18 -22
  59. package/dist/ctg-client.d.ts +0 -56
  60. package/dist/ctg-client.d.ts.map +0 -1
  61. package/dist/ctg-client.js +0 -214
  62. package/dist/ctg-client.js.map +0 -1
@@ -1,267 +1,276 @@
1
- import { afipSoapCall, ensureArray, checkServiceErrors, } from '@ramiidv/arca-common';
2
- import { CPE_ENDPOINTS, CPE_NAMESPACE } from './constants.js';
1
+ import { SoapServiceClient, parseServerStatus } from '@ramiidv/arca-common';
2
+ import { CPE_NAMESPACE } from './constants.js';
3
+ import { ArcaAgroResponseError, throwOnServiceErrors } from './errors.js';
4
+ import { decodeResponse, encodeRequest, int, list, must, obj } from './schema.js';
5
+ import * as S from './cpe-schemas.js';
6
+ import { requireCartaPorteOCtg, requireOrigen } from './validation.js';
7
+ const SERVICE = 'WSCPE';
8
+ const listOf = (name, item) => ({ [name]: list(obj(item), 0) });
3
9
  /**
4
- * Cliente de bajo nivel para WSCPE (Carta de Porte Electrónica).
5
- * Maneja el transporte de granos por vía automotor.
10
+ * Cliente de WSCPE (Carta de Porte Electrónica). Se accede como `agro.cpe`.
11
+ *
12
+ * Cubre el circuito automotor y ferroviario de granos y las consultas
13
+ * paramétricas. El circuito de derivados granarios (DG) no está soportado.
14
+ *
15
+ * Las operaciones que crean o modifican una CPE son emisiones: nunca se
16
+ * reintentan y, si la respuesta se pierde, el `ArcaSoapError` tiene
17
+ * `uncertain: true` (ver README, "Recuperar una emisión incierta").
6
18
  */
7
- export class CpeClient {
8
- endpoint;
9
- soapOpts;
10
- constructor(production, opts = {}) {
11
- this.endpoint = production
12
- ? CPE_ENDPOINTS.production
13
- : CPE_ENDPOINTS.testing;
14
- this.soapOpts = {
15
- timeout: opts.timeoutMs,
16
- retries: opts.retries,
17
- retryDelayMs: opts.retryDelayMs,
18
- onEvent: opts.onEvent,
19
- };
20
- }
21
- async call(method, params) {
22
- const result = await afipSoapCall(this.endpoint, CPE_NAMESPACE, method, params, this.soapOpts);
23
- checkServiceErrors(result, 'WSCPE');
24
- return result;
25
- }
26
- parseResult(raw) {
27
- const errores = ensureArray((raw['errores'] ?? raw['arrayErrores'])).map((e) => ({
28
- Code: Number(e['codigo'] ?? e['Code'] ?? 0),
29
- Msg: String(e['descripcion'] ?? e['Msg'] ?? ''),
30
- }));
31
- const eventos = ensureArray((raw['eventos'] ?? raw['arrayEventos'])).map((e) => ({
32
- Code: Number(e['codigo'] ?? e['Code'] ?? 0),
33
- Msg: String(e['descripcion'] ?? e['Msg'] ?? ''),
34
- }));
35
- return {
36
- nroCTG: raw['nroCTG'],
37
- nroCartaPorte: raw['nroCartaPorte'],
38
- nroOrden: raw['nroOrden'],
39
- fechaEmision: raw['fechaEmision'],
40
- fechaVencimiento: raw['fechaVencimiento'],
41
- estado: raw['estado'],
42
- errores: errores.length > 0 ? errores : undefined,
43
- eventos: eventos.length > 0 ? eventos : undefined,
44
- raw,
45
- };
19
+ export class CpeClient extends SoapServiceClient {
20
+ #ctx;
21
+ /** @internal Se construye desde `ArcaAgro`. */
22
+ constructor(ctx) {
23
+ super({ endpoint: ctx.endpoint, namespace: CPE_NAMESPACE, transport: ctx.transport });
24
+ this.#ctx = ctx;
46
25
  }
47
26
  // ============================================================
48
- // Autorización
27
+ // Internos
49
28
  // ============================================================
50
- /**
51
- * Autoriza una Carta de Porte Electrónica para transporte automotor.
52
- */
53
- async autorizarCPEAutomotor(auth, cpe) {
54
- const { cuitTitularCartaPorte, sucursal, nroOrden, ...rest } = cpe;
55
- const result = await this.call('autorizarCPEAutomotor', {
56
- auth: {
57
- token: auth.Token,
58
- sign: auth.Sign,
59
- cuitRepresentada: auth.Cuit,
60
- },
61
- solicitud: {
62
- cuitTitularCartaPorte,
63
- sucursal,
64
- nroOrden,
65
- ...rest,
66
- },
67
- });
68
- return this.parseResult(result);
29
+ async #auth(opts) {
30
+ const ticket = await this.#ctx.getTicket(opts);
31
+ return { token: ticket.token, sign: ticket.sign, cuitRepresentada: this.#ctx.cuit };
69
32
  }
70
- // ============================================================
71
- // Confirmación de arribo
72
- // ============================================================
73
33
  /**
74
- * Confirma el arribo de una CPE en destino.
34
+ * Llama a una operación de WSCPE. Los elementos de request/response son
35
+ * `<Operacion>Req` / `<Operacion>Resp` y el SOAPAction es `namespace + operacion`.
36
+ * Devuelve el nodo `respuesta`, después de verificar `errores`.
75
37
  */
76
- async confirmadoArriboCPE(auth, params) {
77
- const result = await this.call('confirmadoArriboCPE', {
78
- auth: {
79
- token: auth.Token,
80
- sign: auth.Sign,
81
- cuitRepresentada: auth.Cuit,
82
- },
83
- solicitud: {
84
- nroCTG: params.nroCTG,
85
- nroCartaPorte: params.nroCartaPorte,
86
- cuitDestino: params.cuitDestino,
87
- pesoNeto: params.pesoNeto,
88
- fechaArribo: params.fechaArribo,
89
- },
38
+ async #call(method, body, kind, opts) {
39
+ const element = method.charAt(0).toUpperCase() + method.slice(1);
40
+ const params = body === null ? {} : { auth: await this.#auth(opts), ...body };
41
+ const result = await this.soapCall(method, params, {
42
+ kind,
43
+ signal: this.#ctx.callOptions(opts).signal,
44
+ requestElement: body === null ? null : `${element}Req`,
45
+ responseElement: `${element}Resp`,
46
+ soapActionFromMethod: true,
47
+ parseNumbers: false,
90
48
  });
91
- return this.parseResult(result);
49
+ // `<respuesta/>` vacía (ej: una lista sin resultados) se parsea como ''.
50
+ const respuesta = result['respuesta'] === '' ? {} : result['respuesta'];
51
+ if (respuesta === undefined || respuesta === null || typeof respuesta !== 'object' || Array.isArray(respuesta)) {
52
+ throw new ArcaAgroResponseError(`${SERVICE} ${method}: la respuesta no tiene <respuesta>`, kind === 'emision');
53
+ }
54
+ const node = respuesta;
55
+ throwOnServiceErrors(node, SERVICE, method);
56
+ return node;
92
57
  }
93
- // ============================================================
94
- // Rechazo
95
- // ============================================================
96
- /**
97
- * Rechaza una CPE.
98
- */
99
- async rechazoCPE(auth, params) {
100
- const result = await this.call('rechazoCPE', {
101
- auth: {
102
- token: auth.Token,
103
- sign: auth.Sign,
104
- cuitRepresentada: auth.Cuit,
105
- },
106
- solicitud: {
107
- nroCTG: params.nroCTG,
108
- nroCartaPorte: params.nroCartaPorte,
109
- codMotivo: params.codMotivo,
110
- ...(params.observaciones !== undefined && { observaciones: params.observaciones }),
111
- },
112
- });
113
- return this.parseResult(result);
58
+ #decode(node, schema, method, kind) {
59
+ try {
60
+ return decodeResponse(node, schema, `${method}.respuesta`);
61
+ }
62
+ catch (e) {
63
+ if (e instanceof ArcaAgroResponseError && kind === 'emision')
64
+ throw new ArcaAgroResponseError(e.message, true);
65
+ throw e;
66
+ }
114
67
  }
115
- // ============================================================
116
- // Anulación
117
- // ============================================================
118
- /**
119
- * Anula una CPE.
120
- */
121
- async anularCPE(auth, params) {
122
- const result = await this.call('anularCPE', {
123
- auth: {
124
- token: auth.Token,
125
- sign: auth.Sign,
126
- cuitRepresentada: auth.Cuit,
127
- },
128
- solicitud: {
129
- nroCTG: params.nroCTG,
130
- nroCartaPorte: params.nroCartaPorte,
131
- codMotivo: params.codMotivo,
132
- ...(params.observaciones !== undefined && { observaciones: params.observaciones }),
133
- },
134
- });
135
- return this.parseResult(result);
68
+ /** Operación sobre una CPE que responde `CartaPorteRespuesta`. */
69
+ async #operar(method, schema, params, opts) {
70
+ const solicitud = encodeRequest(params, schema, method);
71
+ const r = await this.#call(method, { solicitud }, 'emision', opts);
72
+ return this.#decode(r, S.R_CARTA_PORTE, method, 'emision');
73
+ }
74
+ /** Respuesta de detalle (autorizar/consultar): exige `cabecera.nroCTG`. */
75
+ #detalle(node, schema, method, kind) {
76
+ const detalle = this.#decode(node, schema, method, kind);
77
+ if (!detalle.cabecera?.nroCTG) {
78
+ throw new ArcaAgroResponseError(`${SERVICE} ${method}: la respuesta no tiene cabecera.nroCTG`, kind === 'emision');
79
+ }
80
+ return detalle;
81
+ }
82
+ async #lista(method, body, item, schema, opts) {
83
+ const r = await this.#call(method, body, 'consulta', opts);
84
+ return this.#decode(r, listOf(item, schema), method, 'consulta')[item];
136
85
  }
137
86
  // ============================================================
138
- // Edición
87
+ // Circuito automotor
139
88
  // ============================================================
140
89
  /**
141
- * Edita campos de una CPE previamente autorizada.
90
+ * Autoriza una CPE automotor (tipo 74) o automotor flete corto (274).
91
+ * Emisión: no se reintenta. Si falla con `uncertain`, consultá
92
+ * `consultarUltNroOrden` + `consultarCPEAutomotor` antes de reintentar.
142
93
  */
143
- async editarCPE(auth, params) {
144
- const { nroCTG, nroCartaPorte, ...campos } = params;
145
- const result = await this.call('editarCPE', {
146
- auth: {
147
- token: auth.Token,
148
- sign: auth.Sign,
149
- cuitRepresentada: auth.Cuit,
150
- },
151
- solicitud: {
152
- nroCTG,
153
- nroCartaPorte,
154
- ...campos,
155
- },
156
- });
157
- return this.parseResult(result);
94
+ async autorizarCPEAutomotor(params, opts) {
95
+ const solicitud = encodeRequest(params, S.AUTORIZAR_AUTOMOTOR, 'autorizarCPEAutomotor', requireOrigen);
96
+ const r = await this.#call('autorizarCPEAutomotor', { solicitud }, 'emision', opts);
97
+ return this.#detalle(r, S.R_DETALLE_AUTOMOTOR, 'autorizarCPEAutomotor', 'emision');
98
+ }
99
+ /** Consulta una CPE automotor por `cartaPorte` (tipo/sucursal/nroOrden) o por `nroCTG`. */
100
+ async consultarCPEAutomotor(params, opts) {
101
+ const solicitud = encodeRequest(params, S.CONSULTAR_CPE, 'consultarCPEAutomotor', requireCartaPorteOCtg);
102
+ const r = await this.#call('consultarCPEAutomotor', { solicitud }, 'consulta', opts);
103
+ return this.#detalle(r, S.R_DETALLE_AUTOMOTOR, 'consultarCPEAutomotor', 'consulta');
104
+ }
105
+ /** Edita una CPE automotor activa. Emisión. */
106
+ async editarCPEAutomotor(params, opts) {
107
+ return this.#operar('editarCPEAutomotor', S.EDITAR_AUTOMOTOR, params, opts);
108
+ }
109
+ /** Edita los intervinientes de una CPE automotor confirmada. Emisión. */
110
+ async editarCPEConfirmadaAutomotor(params, opts) {
111
+ return this.#operar('editarCPEConfirmadaAutomotor', S.EDITAR_CONFIRMADA, params, opts);
112
+ }
113
+ /** Informa el arribo de la CPE a destino (destino/destinatario). Emisión. */
114
+ async confirmarArriboCPE(params, opts) {
115
+ return this.#operar('confirmarArriboCPE', S.SOLICITANTE_CARTA_PORTE, params, opts);
116
+ }
117
+ /** Confirmación definitiva de una CPE automotor (pesos de descarga). Emisión. */
118
+ async confirmacionDefinitivaCPEAutomotor(params, opts) {
119
+ return this.#operar('confirmacionDefinitivaCPEAutomotor', S.CONFIRMACION_AUTOMOTOR, params, opts);
120
+ }
121
+ /** Informa la descarga en destino. Emisión. */
122
+ async descargadoDestinoCPE(params, opts) {
123
+ return this.#operar('descargadoDestinoCPE', S.SOLICITANTE_CARTA_PORTE, params, opts);
124
+ }
125
+ /** Rechaza una CPE en destino. Emisión. */
126
+ async rechazoCPE(params, opts) {
127
+ return this.#operar('rechazoCPE', S.RECHAZO, params, opts);
128
+ }
129
+ /** Anula una CPE. Emisión. */
130
+ async anularCPE(params, opts) {
131
+ return this.#operar('anularCPE', S.ANULAR, params, opts);
132
+ }
133
+ /** Cambia destino y/o destinatario de una CPE automotor. Emisión. */
134
+ async nuevoDestinoDestinatarioCPEAutomotor(params, opts) {
135
+ return this.#operar('nuevoDestinoDestinatarioCPEAutomotor', S.NUEVO_DESTINO_AUTOMOTOR, params, opts);
136
+ }
137
+ /** Regreso a origen de una CPE automotor. Emisión. */
138
+ async regresoOrigenCPEAutomotor(params, opts) {
139
+ return this.#operar('regresoOrigenCPEAutomotor', S.REGRESO_ORIGEN_AUTOMOTOR, params, opts);
140
+ }
141
+ /** Desvío de una CPE automotor a otra planta. Emisión. */
142
+ async desvioCPEAutomotor(params, opts) {
143
+ return this.#operar('desvioCPEAutomotor', S.DESVIO_AUTOMOTOR, params, opts);
144
+ }
145
+ /** Informa una contingencia sobre una CPE. Emisión. */
146
+ async informarContingencia(params, opts) {
147
+ return this.#operar('informarContingencia', S.INFORMAR_CONTINGENCIA, params, opts);
148
+ }
149
+ /** Cierra una contingencia (reactivar, extender o desactivar la CP). Emisión. */
150
+ async cerrarContingenciaCPE(params, opts) {
151
+ return this.#operar('cerrarContingenciaCPE', S.CERRAR_CONTINGENCIA, params, opts);
158
152
  }
159
153
  // ============================================================
160
- // Contingencia
154
+ // Circuito ferroviario
161
155
  // ============================================================
162
156
  /**
163
- * Informa una contingencia sobre una CPE.
157
+ * Autoriza una CPE ferroviaria (tipo 75). Emisión: si falla con `uncertain`,
158
+ * consultá `consultarUltNroOrden(sucursal, 75)` + `consultarCPEFerroviaria`.
164
159
  */
165
- async informarContingencia(auth, params) {
166
- const result = await this.call('informarContingencia', {
167
- auth: {
168
- token: auth.Token,
169
- sign: auth.Sign,
170
- cuitRepresentada: auth.Cuit,
171
- },
172
- solicitud: {
173
- nroCTG: params.nroCTG,
174
- nroCartaPorte: params.nroCartaPorte,
175
- tipoContingencia: params.tipoContingencia,
176
- ...(params.observaciones !== undefined && { observaciones: params.observaciones }),
177
- },
178
- });
179
- return this.parseResult(result);
160
+ async autorizarCPEFerroviaria(params, opts) {
161
+ const solicitud = encodeRequest(params, S.AUTORIZAR_FERROVIARIA, 'autorizarCPEFerroviaria');
162
+ const r = await this.#call('autorizarCPEFerroviaria', { solicitud }, 'emision', opts);
163
+ return this.#detalle(r, S.R_DETALLE_FERROVIARIA, 'autorizarCPEFerroviaria', 'emision');
164
+ }
165
+ /** Consulta una CPE ferroviaria por `cartaPorte` o `nroCTG`. */
166
+ async consultarCPEFerroviaria(params, opts) {
167
+ const solicitud = encodeRequest(params, S.CONSULTAR_CPE, 'consultarCPEFerroviaria', requireCartaPorteOCtg);
168
+ const r = await this.#call('consultarCPEFerroviaria', { solicitud }, 'consulta', opts);
169
+ return this.#detalle(r, S.R_DETALLE_FERROVIARIA, 'consultarCPEFerroviaria', 'consulta');
170
+ }
171
+ /** Edita una CPE ferroviaria activa. Emisión. */
172
+ async editarCPEFerroviaria(params, opts) {
173
+ return this.#operar('editarCPEFerroviaria', S.EDITAR_FERROVIARIA, params, opts);
174
+ }
175
+ /** Edita los intervinientes de una CPE ferroviaria confirmada. Emisión. */
176
+ async editarCPEConfirmadaFerroviaria(params, opts) {
177
+ return this.#operar('editarCPEConfirmadaFerroviaria', S.EDITAR_CONFIRMADA, params, opts);
178
+ }
179
+ /** Confirmación definitiva de una CPE ferroviaria. Emisión. */
180
+ async confirmacionDefinitivaCPEFerroviaria(params, opts) {
181
+ return this.#operar('confirmacionDefinitivaCPEFerroviaria', S.CONFIRMACION_FERROVIARIA, params, opts);
182
+ }
183
+ /** Cambia destino y/o destinatario de una CPE ferroviaria. Emisión. */
184
+ async nuevoDestinoDestinatarioCPEFerroviaria(params, opts) {
185
+ return this.#operar('nuevoDestinoDestinatarioCPEFerroviaria', S.NUEVO_DESTINO_FERROVIARIA, params, opts);
186
+ }
187
+ /** Regreso a origen de una CPE ferroviaria. Emisión. */
188
+ async regresoOrigenCPEFerroviaria(params, opts) {
189
+ return this.#operar('regresoOrigenCPEFerroviaria', S.REGRESO_ORIGEN_FERROVIARIA, params, opts);
190
+ }
191
+ /** Desvío de una CPE ferroviaria. Emisión. */
192
+ async desvioCPEFerroviaria(params, opts) {
193
+ return this.#operar('desvioCPEFerroviaria', S.DESVIO_FERROVIARIA, params, opts);
194
+ }
195
+ /** Consulta las CPE ferroviarias de un operativo. */
196
+ async consultaCPEFerroviariaPorNroOperativo(nroOperativo, opts) {
197
+ const method = 'consultaCPEFerroviariaPorNroOperativo';
198
+ const solicitud = encodeRequest({ nroOperativo }, S.CONSULTAR_POR_NRO_OPERATIVO, method);
199
+ const r = await this.#call(method, { solicitud }, 'consulta', opts);
200
+ return this.#decode(r, S.R_OPERATIVO_FERROVIARIO, method, 'consulta');
180
201
  }
181
202
  // ============================================================
182
203
  // Consultas
183
204
  // ============================================================
184
- /**
185
- * Consulta CPEs según criterios de búsqueda.
186
- */
187
- async consultarCPE(auth, params) {
188
- const result = await this.call('consultarCPE', {
189
- auth: {
190
- token: auth.Token,
191
- sign: auth.Sign,
192
- cuitRepresentada: auth.Cuit,
193
- },
194
- solicitud: params,
195
- });
196
- const items = ensureArray((result['cartaPorte'] ?? result['resultado'] ?? result));
197
- return items.map((item) => this.parseResult(item));
205
+ /** CPEs con destino en una planta, por rango de fecha de partida. Sin resultados → `[]`. */
206
+ async consultarCPEPorDestino(params, opts) {
207
+ const solicitud = encodeRequest(params, S.CONSULTAR_POR_DESTINO, 'consultarCPEPorDestino');
208
+ return this.#lista('consultarCPEPorDestino', { solicitud }, 'cartaPorte', S.R_CPE_RESUMEN, opts);
198
209
  }
199
- /**
200
- * Consulta CPEs por destino.
201
- */
202
- async consultarCPEPorDestino(auth, params) {
203
- const result = await this.call('consultarCPEPorDestino', {
204
- auth: {
205
- token: auth.Token,
206
- sign: auth.Sign,
207
- cuitRepresentada: auth.Cuit,
208
- },
209
- solicitud: {
210
- cuitDestino: params.cuitDestino,
211
- fechaDesde: params.fechaDesde,
212
- fechaHasta: params.fechaHasta,
213
- ...(params.codGrano !== undefined && { codGrano: params.codGrano }),
214
- ...(params.estado !== undefined && { estado: params.estado }),
215
- },
216
- });
217
- const items = ensureArray((result['cartaPorte'] ?? result['resultado'] ?? result));
218
- return items.map((item) => this.parseResult(item));
210
+ /** CPEs pendientes de resolución como solicitante (`S`) o destino (`D`). Sin resultados → `[]`. */
211
+ async consultarCPEPPendientesDeResolucion(params, opts) {
212
+ const solicitud = encodeRequest(params, S.CONSULTAR_PENDIENTES, 'consultarCPEPPendientesDeResolucion');
213
+ return this.#lista('consultarCPEPPendientesDeResolucion', { solicitud }, 'cartaPorte', S.R_CPE_RESUMEN, opts);
219
214
  }
220
215
  /**
221
- * Consulta el último número de orden utilizado.
216
+ * Último número de orden autorizado para una sucursal y tipo de CPE.
217
+ * @throws ArcaAgroResponseError si ARCA no devuelve `nroOrden`.
222
218
  */
223
- async consultarUltNroOrden(auth, sucursal) {
224
- const result = await this.call('consultarUltNroOrden', {
225
- auth: {
226
- token: auth.Token,
227
- sign: auth.Sign,
228
- cuitRepresentada: auth.Cuit,
229
- },
230
- solicitud: {
231
- sucursal,
232
- },
233
- });
234
- return Number(result['nroOrden'] ?? 0);
219
+ async consultarUltNroOrden(sucursal, tipoCPE, opts) {
220
+ const solicitud = encodeRequest({ sucursal, tipoCPE }, S.CONSULTAR_ULT_NRO_ORDEN, 'consultarUltNroOrden');
221
+ const r = await this.#call('consultarUltNroOrden', { solicitud }, 'consulta', opts);
222
+ return this.#decode(r, { nroOrden: must(int()) }, 'consultarUltNroOrden', 'consulta')
223
+ .nroOrden;
235
224
  }
236
225
  /**
237
- * Obtiene la constancia PDF de una CPE en base64.
226
+ * Número de orden siguiente al último autorizado (`consultarUltNroOrden + 1`).
227
+ *
228
+ * **No es atómico**: dos procesos que lo llamen a la vez obtienen el mismo
229
+ * número y uno de los dos `autorizar*` será rechazado. Si emitís en paralelo
230
+ * para la misma sucursal y tipo, serializá las emisiones o llevá tu propio
231
+ * contador.
238
232
  */
239
- async consultarConstanciaCPEPDF(auth, nroCTG) {
240
- const result = await this.call('consultarConstanciaCPEPDF', {
241
- auth: {
242
- token: auth.Token,
243
- sign: auth.Sign,
244
- cuitRepresentada: auth.Cuit,
245
- },
246
- solicitud: {
247
- nroCTG,
248
- },
249
- });
250
- return String(result['pdf'] ?? result['constancia'] ?? '');
233
+ async siguienteNroOrden(sucursal, tipoCPE, opts) {
234
+ return (await this.consultarUltNroOrden(sucursal, tipoCPE, opts)) + 1;
251
235
  }
252
236
  // ============================================================
253
- // Estado del servicio
237
+ // Paramétricas
254
238
  // ============================================================
255
- /**
256
- * Verifica el estado de los servidores del WSCPE.
257
- */
258
- async dummy() {
259
- const result = await afipSoapCall(this.endpoint, CPE_NAMESPACE, 'dummy', {}, this.soapOpts);
260
- return {
261
- appserver: String(result['appserver'] ?? result['AppServer'] ?? ''),
262
- dbserver: String(result['dbserver'] ?? result['DbServer'] ?? ''),
263
- authserver: String(result['authserver'] ?? result['AuthServer'] ?? ''),
264
- };
239
+ /** Provincias. */
240
+ async consultarProvincias(opts) {
241
+ return this.#lista('consultarProvincias', {}, 'provincia', S.R_CODIGO_DESCRIPCION, opts);
242
+ }
243
+ /** Localidades de una provincia. */
244
+ async consultarLocalidadesPorProvincia(codProvincia, opts) {
245
+ const solicitud = encodeRequest({ codProvincia }, S.CONSULTAR_LOCALIDADES, 'consultarLocalidadesPorProvincia');
246
+ return this.#lista('consultarLocalidadesPorProvincia', { solicitud }, 'localidad', S.R_CODIGO_DESCRIPCION, opts);
247
+ }
248
+ /** Tipos de grano. */
249
+ async consultarTiposGrano(opts) {
250
+ return this.#lista('consultarTiposGrano', {}, 'grano', S.R_CODIGO_DESCRIPCION, opts);
251
+ }
252
+ /** Plantas habilitadas de un CUIT. */
253
+ async consultarPlantas(cuit, opts) {
254
+ const solicitud = encodeRequest({ cuit }, S.SOLICITUD_CUIT, 'consultarPlantas');
255
+ return this.#lista('consultarPlantas', { solicitud }, 'planta', S.R_PLANTA, opts);
256
+ }
257
+ /** Localidades (campos) de un productor. */
258
+ async consultarLocalidadesProductor(cuit, opts) {
259
+ const solicitud = encodeRequest({ cuit }, S.SOLICITUD_CUIT, 'consultarLocalidadesProductor');
260
+ return this.#lista('consultarLocalidadesProductor', { solicitud }, 'localidad', S.R_LOCALIDAD_PRODUCTOR, opts);
261
+ }
262
+ /** Categorías de semillas. */
263
+ async consultarCategoriasSemillas(opts) {
264
+ return this.#lista('consultarCategoriasSemillas', {}, 'categoria', S.R_CODIGO_DESCRIPCION, opts);
265
+ }
266
+ /** Variedades de semillas, opcionalmente filtradas por grano. */
267
+ async consultarVariedadesSemillas(codGrano, opts) {
268
+ const body = encodeRequest({ codGrano }, S.CONSULTAR_VARIEDADES, 'consultarVariedadesSemillas');
269
+ return this.#lista('consultarVariedadesSemillas', body, 'variedad', S.R_VARIEDAD_SEMILLA, opts);
270
+ }
271
+ /** Estado de los servidores de WSCPE (no requiere autenticación). */
272
+ async dummy(opts) {
273
+ return parseServerStatus(await this.#call('dummy', null, 'consulta', opts));
265
274
  }
266
275
  }
267
276
  //# sourceMappingURL=cpe-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cpe-client.js","sourceRoot":"","sources":["../src/cpe-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cpe-client.js","sourceRoot":"","sources":["../src/cpe-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ import type { Schema } from './schema.js';
2
+ /** CartaPorte */
3
+ export declare const CARTA_PORTE: Schema;
4
+ /** AutorizarAutomotorSolicitud */
5
+ export declare const AUTORIZAR_AUTOMOTOR: Schema;
6
+ /** AutorizarFerroviariaSolicitud */
7
+ export declare const AUTORIZAR_FERROVIARIA: Schema;
8
+ /** ConsultarAutomotorSolicitud / ConsultarFerroviariaSolicitud */
9
+ export declare const CONSULTAR_CPE: Schema;
10
+ /** EditarActivaAutomotorSolicitud */
11
+ export declare const EDITAR_AUTOMOTOR: Schema;
12
+ /** EditarActivaFerroviariaSolicitud */
13
+ export declare const EDITAR_FERROVIARIA: Schema;
14
+ /** EditarCPEConfirmadaAutomotorSolicitud / EditarCPEConfirmadaFerroviariaSolicitud */
15
+ export declare const EDITAR_CONFIRMADA: Schema;
16
+ /** AnularCPESolicitud */
17
+ export declare const ANULAR: Schema;
18
+ /** RechazoCPESolicitud */
19
+ export declare const RECHAZO: Schema;
20
+ /** ConfirmarArriboSolicitud / DescargadoDestinoCPESolicitud */
21
+ export declare const SOLICITANTE_CARTA_PORTE: Schema;
22
+ /** ConfirmacionAutomotorSolicitud */
23
+ export declare const CONFIRMACION_AUTOMOTOR: Schema;
24
+ /** ConfirmacionFerroviariaSolicitud */
25
+ export declare const CONFIRMACION_FERROVIARIA: Schema;
26
+ /** NuevoDestinoDestinatarioAutomotorSolicitud */
27
+ export declare const NUEVO_DESTINO_AUTOMOTOR: Schema;
28
+ /** NuevoDestinoDestinatarioFerroviariaSolicitud */
29
+ export declare const NUEVO_DESTINO_FERROVIARIA: Schema;
30
+ /** RegresoOrigenAutomotorSolicitud */
31
+ export declare const REGRESO_ORIGEN_AUTOMOTOR: Schema;
32
+ /** RegresoOrigenFerroviariaSolicitud */
33
+ export declare const REGRESO_ORIGEN_FERROVIARIA: Schema;
34
+ /** DesvioAutomotorSolicitud */
35
+ export declare const DESVIO_AUTOMOTOR: Schema;
36
+ /** DesvioFerroviariaSolicitud */
37
+ export declare const DESVIO_FERROVIARIA: Schema;
38
+ /** InformarContingenciaSolicitud */
39
+ export declare const INFORMAR_CONTINGENCIA: Schema;
40
+ /** CerrarContingenciaFerroviariaSolicitud (tipo de `cerrarContingenciaCPE`) */
41
+ export declare const CERRAR_CONTINGENCIA: Schema;
42
+ /** ConsultarCPEPorDestinoSolicitud */
43
+ export declare const CONSULTAR_POR_DESTINO: Schema;
44
+ /** ConsultarCPEPPendientesDeResolucionSolicitud */
45
+ export declare const CONSULTAR_PENDIENTES: Schema;
46
+ /** ConsultarUltNroOrdenSolicitud */
47
+ export declare const CONSULTAR_ULT_NRO_ORDEN: Schema;
48
+ /** ConsultaCPEFerroviariaPorNroOperativoSolicitud */
49
+ export declare const CONSULTAR_POR_NRO_OPERATIVO: Schema;
50
+ /** ConsultarLocalidadesPorProvinciaSolicitud */
51
+ export declare const CONSULTAR_LOCALIDADES: Schema;
52
+ /** ConsultarPlantasSolicitud / ConsultarLocalidadesProductorSolicitud */
53
+ export declare const SOLICITUD_CUIT: Schema;
54
+ /** ConsultarVariedadesSemillasRequest (sin `solicitud`: `codGrano` va directo bajo el Req) */
55
+ export declare const CONSULTAR_VARIEDADES: Schema;
56
+ /** CodigoDescripcion */
57
+ export declare const R_CODIGO_DESCRIPCION: Schema;
58
+ /** CartaPorteRespuesta (sin `errores`, que se lanzan como error) */
59
+ export declare const R_CARTA_PORTE: Schema;
60
+ /** DetalleAutomotorRespuesta */
61
+ export declare const R_DETALLE_AUTOMOTOR: Schema;
62
+ /** DetalleFerroviariaRespuesta */
63
+ export declare const R_DETALLE_FERROVIARIA: Schema;
64
+ /** CPEResumenRespuesta */
65
+ export declare const R_CPE_RESUMEN: Schema;
66
+ /** CartaPorteFerroviariaResumenRespuesta */
67
+ export declare const R_OPERATIVO_FERROVIARIO: Schema;
68
+ /** PlantaResponse */
69
+ export declare const R_PLANTA: Schema;
70
+ /** LocalidadProductor */
71
+ export declare const R_LOCALIDAD_PRODUCTOR: Schema;
72
+ /** CodigoDescripcionGrano */
73
+ export declare const R_VARIEDAD_SEMILLA: Schema;
74
+ //# sourceMappingURL=cpe-schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpe-schemas.d.ts","sourceRoot":"","sources":["../src/cpe-schemas.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAoB1C,iBAAiB;AACjB,eAAO,MAAM,WAAW,EAAE,MAA2E,CAAC;AAqEtG,kCAAkC;AAClC,eAAO,MAAM,mBAAmB,EAAE,MA6BjC,CAAC;AAEF,oCAAoC;AACpC,eAAO,MAAM,qBAAqB,EAAE,MAqBnC,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,aAAa,EAAE,MAI3B,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,gBAAgB,EAAE,MAkB9B,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,kBAAkB,EAAE,MAahC,CAAC;AAUF,sFAAsF;AACtF,eAAO,MAAM,iBAAiB,EAAE,MAG/B,CAAC;AAEF,yBAAyB;AACzB,eAAO,MAAM,MAAM,EAAE,MAIpB,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,OAAO,EAAE,MAKrB,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,uBAAuB,EAAE,MAGrC,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,sBAAsB,EAAE,MAMpC,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,wBAAwB,EAAE,MAiBtC,CAAC;AAEF,iDAAiD;AACjD,eAAO,MAAM,uBAAuB,EAAE,MAKrC,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,yBAAyB,EAAE,MAKvC,CAAC;AAEF,sCAAsC;AACtC,eAAO,MAAM,wBAAwB,EAAE,MAGtC,CAAC;AAEF,wCAAwC;AACxC,eAAO,MAAM,0BAA0B,EAAE,MAGxC,CAAC;AAEF,+BAA+B;AAC/B,eAAO,MAAM,gBAAgB,EAAE,MAW9B,CAAC;AAEF,iCAAiC;AACjC,eAAO,MAAM,kBAAkB,EAAE,MAKhC,CAAC;AAEF,oCAAoC;AACpC,eAAO,MAAM,qBAAqB,EAAE,MAGnC,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,MAKjC,CAAC;AAEF,sCAAsC;AACtC,eAAO,MAAM,qBAAqB,EAAE,MAKnC,CAAC;AAEF,mDAAmD;AACnD,eAAO,MAAM,oBAAoB,EAAE,MAGlC,CAAC;AAEF,oCAAoC;AACpC,eAAO,MAAM,uBAAuB,EAAE,MAAqD,CAAC;AAE5F,qDAAqD;AACrD,eAAO,MAAM,2BAA2B,EAAE,MAA6C,CAAC;AAExF,gDAAgD;AAChD,eAAO,MAAM,qBAAqB,EAAE,MAAgC,CAAC;AAErE,yEAAyE;AACzE,eAAO,MAAM,cAAc,EAAE,MAAyB,CAAC;AAEvD,8FAA8F;AAC9F,eAAO,MAAM,oBAAoB,EAAE,MAAsC,CAAC;AAM1E,wBAAwB;AACxB,eAAO,MAAM,oBAAoB,EAAE,MAA0D,CAAC;AAoB9F,oEAAoE;AACpE,eAAO,MAAM,aAAa,EAAE,MAI3B,CAAC;AAaF,gCAAgC;AAChC,eAAO,MAAM,mBAAmB,EAAE,MAgEjC,CAAC;AAEF,kCAAkC;AAClC,eAAO,MAAM,qBAAqB,EAAE,MAsEnC,CAAC;AAEF,0BAA0B;AAC1B,eAAO,MAAM,aAAa,EAAE,MAM3B,CAAC;AAEF,4CAA4C;AAC5C,eAAO,MAAM,uBAAuB,EAAE,MAkBrC,CAAC;AAEF,qBAAqB;AACrB,eAAO,MAAM,QAAQ,EAAE,MAOtB,CAAC;AAIF,yBAAyB;AACzB,eAAO,MAAM,qBAAqB,EAAE,MAOnC,CAAC;AAEF,6BAA6B;AAC7B,eAAO,MAAM,kBAAkB,EAAE,MAA8E,CAAC"}