@ramiidv/arca-mtxca 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +129 -0
- package/README.md +74 -70
- package/dist/arca-mtxca.d.ts +3 -8
- package/dist/arca-mtxca.d.ts.map +1 -1
- package/dist/arca-mtxca.js +38 -73
- package/dist/arca-mtxca.js.map +1 -1
- package/dist/format.d.ts +0 -8
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +0 -43
- package/dist/format.js.map +1 -1
- package/dist/mtxca-client.d.ts +9 -6
- package/dist/mtxca-client.d.ts.map +1 -1
- package/dist/mtxca-client.js +164 -281
- package/dist/mtxca-client.js.map +1 -1
- package/dist/schemas.d.ts +104 -0
- package/dist/schemas.d.ts.map +1 -0
- package/dist/schemas.js +285 -0
- package/dist/schemas.js.map +1 -0
- package/dist/serialize.d.ts +12 -29
- package/dist/serialize.d.ts.map +1 -1
- package/dist/serialize.js +93 -300
- package/dist/serialize.js.map +1 -1
- package/dist/types.d.ts +18 -4
- package/dist/types.d.ts.map +1 -1
- package/dist/validation.d.ts +5 -0
- package/dist/validation.d.ts.map +1 -1
- package/dist/validation.js +32 -14
- package/dist/validation.js.map +1 -1
- package/llms.txt +3 -2
- package/package.json +19 -21
- package/dist/parse.d.ts +0 -31
- package/dist/parse.d.ts.map +0 -1
- package/dist/parse.js +0 -82
- package/dist/parse.js.map +0 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.4.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- bed68e8: Paquetes solo ESM y Node >= 20.19. `arca-common`, `arca-facturacion` y
|
|
8
|
+
`arca-padron` dejan de publicar un build CommonJS: desde CommonJS se cargan con
|
|
9
|
+
`require()` (require(esm), Node >= 20.19 / 22.12). Todos los paquetes pasan a
|
|
10
|
+
requerir Node >= 20.19.0 (Node 18 y 20 sin soporte). El código vive ahora en el
|
|
11
|
+
monorepo `arca-sdks`.
|
|
12
|
+
- f8bd053: Las clases principales extienden `ArcaSdkBase` de arca-common, así que todos
|
|
13
|
+
los SDKs tienen la misma base: `wsaa`, `cuit`, `production`, `on()`/`off()`,
|
|
14
|
+
`clearAuthCache()`, `config.wsaa` (WsaaClient compartido) y `config.signal`
|
|
15
|
+
(signal global). arca-mtxca acepta `endpoints: { mtxca, wsaa }` (`endpoint` y
|
|
16
|
+
`wsaaEndpoint` quedan deprecados). Los `dummy`/`status` validan la respuesta con
|
|
17
|
+
`parseServerStatus`: si falta un campo lanzan `ArcaSoapError`.
|
|
18
|
+
- c9f1444: Requests y respuestas se validan, serializan y decodifican con el DSL de
|
|
19
|
+
`@ramiidv/arca-common/schema`, transcripto del XSD oficial de cada servicio.
|
|
20
|
+
|
|
21
|
+
- Corrección: las respuestas se parsean sin conversión numérica, así que los
|
|
22
|
+
`xs:string` con contenido numérico ya no pierden ceros a la izquierda ni
|
|
23
|
+
decimales (ej: `"0012"`, `"1.50"`, `DocNro`, `codigoSeguridad`).
|
|
24
|
+
- Los campos desconocidos en el input se rechazan con `ArcaValidationError`
|
|
25
|
+
(antes se ignoraban).
|
|
26
|
+
- Todos los errores de validación se informan juntos (`details`), con mensajes
|
|
27
|
+
del tipo `campo: motivo`. Cambió el texto de los mensajes.
|
|
28
|
+
- arca-fecred deja de recortar espacios de los textos y envía `codCtaCte` tal
|
|
29
|
+
cual; porcentaje y cotización se envían con decimales fijos.
|
|
30
|
+
|
|
31
|
+
### Patch Changes
|
|
32
|
+
|
|
33
|
+
- fd438bc: `@ramiidv/arca-common/testing` exporta `loadXsdTypes` y `checkSchemaAgainstXsd`
|
|
34
|
+
para comparar los schemas del DSL con el XSD de un WSDL oficial. Todos los
|
|
35
|
+
schemas de agro, cdc, fecred, mtxca, padron y sire se verifican contra los WSDL
|
|
36
|
+
de producción. arca-mtxca: los renombres API ↔ XML usan `xml()` del DSL y un
|
|
37
|
+
error en `actividades` se reporta en `actividades[i].codigo`.
|
|
38
|
+
- 20ecf7d: DSL de schemas, segunda versión:
|
|
39
|
+
|
|
40
|
+
- Corrección: `dec()` redondea sobre el valor decimal escrito (`8.575` →
|
|
41
|
+
`8.58`; antes daba `8.57` por la representación binaria). Afecta los importes
|
|
42
|
+
que los SDKs envían redondeados.
|
|
43
|
+
- `must()` rechaza también el valor vacío; los elementos `xsi:nil` cuentan
|
|
44
|
+
como ausentes (en una lista, como lista vacía); `must()` en listas exige el
|
|
45
|
+
elemento; un objeto opcional vacío se omite y uno obligatorio valida sus hijos.
|
|
46
|
+
- Al decodificar se validan enteros (`int()`) y valores permitidos
|
|
47
|
+
(`str({ values })`).
|
|
48
|
+
- Nuevos: `siNo()` (S/N ↔ boolean), `double()`, `xml(nombre, campo)` (nombre
|
|
49
|
+
distinto en el XML), `custom(encode, decode)`, `roundHalfUp()` y
|
|
50
|
+
`decodeResponse(..., { emptyLists: 'omit' })`.
|
|
51
|
+
- Updated dependencies [8c02c30]
|
|
52
|
+
- Updated dependencies [f8bd053]
|
|
53
|
+
- Updated dependencies [242fb5f]
|
|
54
|
+
- Updated dependencies [fd438bc]
|
|
55
|
+
- Updated dependencies [bed68e8]
|
|
56
|
+
- Updated dependencies [20ecf7d]
|
|
57
|
+
- Updated dependencies [b86db00]
|
|
58
|
+
- @ramiidv/arca-common@0.5.0
|
|
59
|
+
|
|
60
|
+
## 0.3.0 (2026-11-01)
|
|
61
|
+
|
|
62
|
+
Revisión completa contra el WSDL de WSMTXCA y el manual del desarrollador (v0.25.8). Las versiones anteriores no podían autorizar comprobantes: el request no cumplía el XSD.
|
|
63
|
+
|
|
64
|
+
### Breaking
|
|
65
|
+
|
|
66
|
+
- Requiere `@ramiidv/arca-common` ^0.4.0.
|
|
67
|
+
- `autorizar()` recibe el `ComprobanteType` con los nombres del XSD (`codigoTipoComprobante`, `numeroPuntoVenta`, `codigoConcepto`, `codigoTipoDocumento`, `numeroDocumento`, `fechaEmision`, `importeSubtotal`, `codigoMoneda`, `fechaServicioDesde/Hasta`, `fechaVencimientoPago`, `comprobantesAsociados`, ...) en lugar de `{ ptoVta, cbteTipo, invoice }`. `importeSubtotal` y `codigoMoneda` son obligatorios.
|
|
68
|
+
- Ítems: `unidadMedida` → `codigoUnidadMedida`; `cantidad`, `precioUnitario` e `importeIVA` pasan a ser opcionales según las reglas del manual; se agregan `unidadesMtx` y `codigoMtx`.
|
|
69
|
+
- `SubtotalIVA` ya no tiene `baseImponible`; `MtxcaTributo` → `MtxcaOtroTributo` (`codigo`, sin `alicuota`).
|
|
70
|
+
- `autorizar()` devuelve `MtxcaAutorizarResult`: `resultado` `'A' | 'O' | 'R'` y, si no es `R`, `comprobante` con `cae` y `fechaVencimientoCAE`.
|
|
71
|
+
- `consultarComprobante()` devuelve `{ comprobante, observaciones, evento }` con el `ComprobanteType` completo, y lanza `ArcaServiceError` si el comprobante no existe.
|
|
72
|
+
- Las consultas lanzan `ArcaServiceError` ante `arrayErrores` (antes devolvían 0, objetos de ceros o listas vacías).
|
|
73
|
+
- Parámetros: devuelven `{ codigo, descripcion }` (antes `{ Id, Desc, FchDesde, FchHasta }`, campos que no existen en WSMTXCA). Puntos de venta: `{ numeroPuntoVenta, bloqueado, fechaBaja? }`.
|
|
74
|
+
- `getCotizacionMoneda(codigo, fecha?)` devuelve `{ codigoMoneda, fechaCotizacion, cotizacion: number | null }`.
|
|
75
|
+
- `MtxcaClient` recibe `endpoint` (en lugar de `production`) y `MtxcaAuth` es `{ token, sign, cuitRepresentada }`.
|
|
76
|
+
- `ArcaMtxcaConfig` extiende `ArcaBaseConfig`; `cuit` acepta string y se valida el dígito verificador.
|
|
77
|
+
- `clearAuthCache()` es async.
|
|
78
|
+
- `CbteTipo`: 51–53 se renombran a `*_A_SUJETA_RETENCION` (no son clase M). `CodigoCondicionIVA`: se quitan 7, 8 y 9 (no figuran en el manual de WSMTXCA). `Moneda`: solo `PES`, `DOL` y `060`; el resto, con `getMonedas()`.
|
|
79
|
+
- `validateAutorizarRequest`/`validateMtxcaItem` → `validateComprobanteCAE`/`validateComprobanteCAEA`.
|
|
80
|
+
|
|
81
|
+
### Features
|
|
82
|
+
|
|
83
|
+
- Numeración automática real en `autorizar()` (último autorizado + 1; el error 1502 "sin comprobantes" cuenta como 0) y número explícito opcional.
|
|
84
|
+
- `condicionIVAReceptor` (RG 5616) y `getCondicionesIVAReceptor()`.
|
|
85
|
+
- CAEA: `solicitarCAEA`, `consultarCAEA`, `consultarCAEAEntreFechas`, `informarComprobanteCAEA`, `informarAjusteIVACAEA`, `informarCAEANoUtilizado`, `informarCAEANoUtilizadoPtoVta`, `consultarPtosVtaCAEANoInformados`.
|
|
86
|
+
- `autorizarAjusteIVA`, `getTiposTributo`, `getTiposDatosAdicionales`, `getActividadesVigentes`.
|
|
87
|
+
- Campos del XSD que faltaban: `cancelaEnMismaMonedaExtranjera`, `periodoComprobantesAsociados`, `datosAdicionales`, `compradores`, `actividades`.
|
|
88
|
+
- Validación local de las reglas excluyentes del manual (presencia por unidad de medida 97/99, fórmulas de ítem, subtotales de IVA por alícuota, gravado/no gravado/exento/subtotal/total con el margen de error del manual), desactivable con `{ validarImportes: false }`.
|
|
89
|
+
- Redondeo según el XSD (2 decimales en importes, 6 en cantidad/precio/bonificación/cotización); `roundImporte` y `roundDecimal` exportados.
|
|
90
|
+
- Opciones de `ArcaBaseConfig`: `ticketStorage`, `clockOffsetMs`, `autoClockSkew`, `loginErrorCooldownMs`, `fetch`, `legacyTls`, `tokenTTLMinutes`; overrides `endpoint` y `wsaaEndpoint`.
|
|
91
|
+
- Todos los métodos aceptan `opts?: CallOptions` (`signal`).
|
|
92
|
+
- Se exportan `ArcaValidationError`, `ArcaTicketVigenteError`, `MemoryTicketStorage` y `FileTicketStorage`.
|
|
93
|
+
|
|
94
|
+
### Fixes
|
|
95
|
+
|
|
96
|
+
- Namespace `http://impl.service.wsmtxca.afip.gov.ar/service/`, SOAPAction del WSDL y elementos `{operacion}Request` / `{operacion}Response` (verificado con `dummy` en homologación).
|
|
97
|
+
- `ComprobanteType` con los elementos en el orden de la secuencia del XSD y `numeroComprobante` incluido.
|
|
98
|
+
- Las emisiones (`autorizar*`, `informar*`, `solicitarCAEA`) usan `kind: 'emision'`: no se reintentan y los errores con resultado desconocido tienen `uncertain: true`.
|
|
99
|
+
- `consultarCotizacionMoneda` envía `fechaCotizacion` (obligatorio) y lee solo `cotizacionMoneda`.
|
|
100
|
+
- Puntos de venta: se elimina `EmisionTipo` (no existe en la respuesta).
|
|
101
|
+
- Ítems de bonificación/seña (unidad 99/97) se envían sin cantidad ni precio.
|
|
102
|
+
- La validación ya no traga errores que no son de validación.
|
|
103
|
+
|
|
104
|
+
## 0.2.0 (2026-06-03)
|
|
105
|
+
|
|
106
|
+
### Fixes
|
|
107
|
+
|
|
108
|
+
- Build standalone en CI: el lockfile resolvía `@ramiidv/arca-common` como ruta local; se regeneró para resolverlo desde npm.
|
|
109
|
+
|
|
110
|
+
### Chore
|
|
111
|
+
|
|
112
|
+
- Workflow de release (publicación por tag) y workflow de CI para Node 18/20/22.
|
|
113
|
+
- Homepage: <https://arca-sdk.dev/mtxca>.
|
|
114
|
+
|
|
115
|
+
## 0.1.0 (2026-03-31)
|
|
116
|
+
|
|
117
|
+
### Features
|
|
118
|
+
|
|
119
|
+
- Initial release
|
|
120
|
+
- Authorize invoices with item-level detail (barcodes, quantities, unit prices) via `autorizar()`
|
|
121
|
+
- Query last authorized comprobante number via `ultimoComprobante()`
|
|
122
|
+
- Compute next comprobante number via `siguienteComprobante()`
|
|
123
|
+
- Retrieve previously authorized comprobantes via `consultarComprobante()`
|
|
124
|
+
- Query parameter tables: tipos comprobante, tipos documento, alicuotas IVA, condiciones IVA, monedas, unidades de medida, puntos de venta, cotizacion de monedas
|
|
125
|
+
- Input validation for `autorizar()` request and item-level fields
|
|
126
|
+
- Enum helpers for CbteTipo, Concepto, CodigoCondicionIVA, and Moneda
|
|
127
|
+
- Service health check via `status()`
|
|
128
|
+
- Automatic WSAA authentication with ticket caching
|
|
129
|
+
- Full TypeScript support with strict types
|
package/README.md
CHANGED
|
@@ -46,18 +46,20 @@ const res = await mtxca.autorizar({
|
|
|
46
46
|
codigoMoneda: Moneda.PESOS,
|
|
47
47
|
cotizacionMoneda: 1,
|
|
48
48
|
codigoConcepto: Concepto.PRODUCTOS,
|
|
49
|
-
items: [
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
49
|
+
items: [
|
|
50
|
+
{
|
|
51
|
+
unidadesMtx: 1,
|
|
52
|
+
codigoMtx: '7790001000012',
|
|
53
|
+
codigo: 'P0001',
|
|
54
|
+
descripcion: 'Producto de ejemplo',
|
|
55
|
+
cantidad: 1,
|
|
56
|
+
codigoUnidadMedida: 7,
|
|
57
|
+
precioUnitario: 100, // clase A: sin IVA
|
|
58
|
+
codigoCondicionIVA: CodigoCondicionIVA.IVA_21,
|
|
59
|
+
importeIVA: 21,
|
|
60
|
+
importeItem: 121, // con IVA incluido
|
|
61
|
+
},
|
|
62
|
+
],
|
|
61
63
|
subtotalesIVA: [{ codigo: CodigoCondicionIVA.IVA_21, importe: 21 }],
|
|
62
64
|
});
|
|
63
65
|
|
|
@@ -72,27 +74,29 @@ if (res.resultado === 'R') {
|
|
|
72
74
|
|
|
73
75
|
## Configuración
|
|
74
76
|
|
|
75
|
-
`ArcaMtxcaConfig` extiende `
|
|
76
|
-
|
|
77
|
-
| Opción
|
|
78
|
-
|
|
|
79
|
-
| `cert`, `key`
|
|
80
|
-
| `cuit`
|
|
81
|
-
| `production`
|
|
82
|
-
| `
|
|
83
|
-
| `wsaaEndpoint`
|
|
84
|
-
| `
|
|
85
|
-
| `
|
|
86
|
-
| `
|
|
87
|
-
| `
|
|
88
|
-
| `
|
|
77
|
+
`ArcaMtxcaConfig` extiende `ArcaSdkConfig` de `@ramiidv/arca-common`:
|
|
78
|
+
|
|
79
|
+
| Opción | Descripción |
|
|
80
|
+
| --------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
|
|
81
|
+
| `cert`, `key` | Certificado y clave privada PEM. |
|
|
82
|
+
| `cuit` | CUIT representada (número o string, con o sin guiones). Se valida el dígito verificador. |
|
|
83
|
+
| `production` | `false` (default) = homologación. |
|
|
84
|
+
| `endpoints` | `{ mtxca?, wsaa? }`: URLs propias (proxy, mock). Ignoran `production`. |
|
|
85
|
+
| `endpoint`, `wsaaEndpoint` | Deprecated: usar `endpoints.mtxca` / `endpoints.wsaa`. |
|
|
86
|
+
| `wsaa` | `WsaaClient` compartido con otros SDKs del mismo certificado. |
|
|
87
|
+
| `signal` | `AbortSignal` global: cancela todas las llamadas de la instancia. |
|
|
88
|
+
| `timeout`, `retries`, `retryDelayMs` | Transporte. `retries` solo aplica a consultas. |
|
|
89
|
+
| `ticketStorage` | Storage persistente de tickets WSAA (recomendado en producción). |
|
|
90
|
+
| `tokenTTLMinutes`, `clockOffsetMs`, `autoClockSkew`, `loginErrorCooldownMs` | Opciones de WSAA. |
|
|
91
|
+
| `fetch`, `legacyTls` | `fetch` propio (proxy, tests) y transporte TLS legacy. |
|
|
92
|
+
| `onEvent` | Callback de eventos (`auth:*`, `request:*`). |
|
|
89
93
|
|
|
90
94
|
Endpoints (manual WSMTXCA):
|
|
91
95
|
|
|
92
|
-
| Entorno
|
|
93
|
-
|
|
|
94
|
-
| Homologación | `https://fwshomo.afip.gov.ar/wsmtxca/services/MTXCAService`
|
|
95
|
-
| Producción
|
|
96
|
+
| Entorno | URL |
|
|
97
|
+
| ------------ | ----------------------------------------------------------------- |
|
|
98
|
+
| Homologación | `https://fwshomo.afip.gov.ar/wsmtxca/services/MTXCAService` |
|
|
99
|
+
| Producción | `https://serviciosjava.afip.gob.ar/wsmtxca/services/MTXCAService` |
|
|
96
100
|
|
|
97
101
|
Todos los métodos aceptan un último parámetro `opts?: CallOptions` con `signal` para cancelar.
|
|
98
102
|
|
|
@@ -125,15 +129,15 @@ subtotalesIVA: [{ codigo: 5, importe: 18.9 }],
|
|
|
125
129
|
|
|
126
130
|
## Resultado de una autorización y manejo de errores
|
|
127
131
|
|
|
128
|
-
| Situación
|
|
129
|
-
|
|
|
130
|
-
| Datos inválidos localmente
|
|
131
|
-
| ARCA aprueba
|
|
132
|
-
| ARCA aprueba con observaciones | `{ resultado: 'O', comprobante, observaciones }`
|
|
133
|
-
| ARCA rechaza
|
|
134
|
-
| Consulta con `arrayErrores`
|
|
135
|
-
| Fault SOAP, HTTP, red, timeout | `ArcaSoapError` (`uncertain`, `faultString`, `statusCode`).
|
|
136
|
-
| Login WSAA
|
|
132
|
+
| Situación | Qué pasa |
|
|
133
|
+
| ------------------------------ | -------------------------------------------------------------------- |
|
|
134
|
+
| Datos inválidos localmente | `ArcaValidationError` (no se hace ningún request). |
|
|
135
|
+
| ARCA aprueba | `{ resultado: 'A', comprobante: { cae, fechaVencimientoCAE, ... } }` |
|
|
136
|
+
| ARCA aprueba con observaciones | `{ resultado: 'O', comprobante, observaciones }` |
|
|
137
|
+
| ARCA rechaza | `{ resultado: 'R', errores }` — **no lanza**; revisá `resultado`. |
|
|
138
|
+
| Consulta con `arrayErrores` | `ArcaServiceError` con `errors[]` (`code`, `msg`). |
|
|
139
|
+
| Fault SOAP, HTTP, red, timeout | `ArcaSoapError` (`uncertain`, `faultString`, `statusCode`). |
|
|
140
|
+
| Login WSAA | `ArcaAuthError` / `ArcaTicketVigenteError`. |
|
|
137
141
|
|
|
138
142
|
`ultimoComprobante()` devuelve 0 solo ante el error 1502 de ARCA ("no hay comprobantes para ese punto de venta y tipo"); cualquier otro error lanza.
|
|
139
143
|
|
|
@@ -169,44 +173,44 @@ Las solicitudes de un mismo punto de venta y tipo deben ser secuenciales (ARCA r
|
|
|
169
173
|
|
|
170
174
|
### Comprobantes con CAE
|
|
171
175
|
|
|
172
|
-
| Método
|
|
173
|
-
|
|
|
174
|
-
| `autorizar(req, opts?)`
|
|
175
|
-
| `autorizarAjusteIVA(req, opts?)`
|
|
176
|
-
| `ultimoComprobante(ptoVta, cbteTipo, opts?)`
|
|
177
|
-
| `siguienteComprobante(ptoVta, cbteTipo, opts?)`
|
|
176
|
+
| Método | Operación WSMTXCA |
|
|
177
|
+
| -------------------------------------------------------- | ------------------------------------------------------------------ |
|
|
178
|
+
| `autorizar(req, opts?)` | `autorizarComprobante` (número automático si se omite) |
|
|
179
|
+
| `autorizarAjusteIVA(req, opts?)` | `autorizarAjusteIVA` (solo valida el XSD: tiene reglas propias) |
|
|
180
|
+
| `ultimoComprobante(ptoVta, cbteTipo, opts?)` | `consultarUltimoComprobanteAutorizado` |
|
|
181
|
+
| `siguienteComprobante(ptoVta, cbteTipo, opts?)` | último + 1 |
|
|
178
182
|
| `consultarComprobante(cbteTipo, ptoVta, cbteNro, opts?)` | `consultarComprobante` → `{ comprobante, observaciones, evento? }` |
|
|
179
183
|
|
|
180
184
|
### CAEA
|
|
181
185
|
|
|
182
|
-
| Método
|
|
183
|
-
|
|
|
184
|
-
| `solicitarCAEA(periodo, orden, opts?)`
|
|
185
|
-
| `consultarCAEA(caea, opts?)`
|
|
186
|
-
| `consultarCAEAEntreFechas(desde, hasta, opts?)`
|
|
187
|
-
| `informarComprobanteCAEA(comp, opts?)`
|
|
188
|
-
| `informarAjusteIVACAEA(comp, opts?)`
|
|
189
|
-
| `informarCAEANoUtilizado(caea, opts?)`
|
|
190
|
-
| `informarCAEANoUtilizadoPtoVta(caea, ptoVta, opts?)` | `informarCAEANoUtilizadoPtoVta`
|
|
191
|
-
| `consultarPtosVtaCAEANoInformados(caea, opts?)`
|
|
186
|
+
| Método | Operación WSMTXCA |
|
|
187
|
+
| ---------------------------------------------------- | ---------------------------------------------------- |
|
|
188
|
+
| `solicitarCAEA(periodo, orden, opts?)` | `solicitarCAEA` (`periodo` AAAAMM, `orden` 1 o 2) |
|
|
189
|
+
| `consultarCAEA(caea, opts?)` | `consultarCAEA` |
|
|
190
|
+
| `consultarCAEAEntreFechas(desde, hasta, opts?)` | `consultarCAEAEntreFechas` |
|
|
191
|
+
| `informarComprobanteCAEA(comp, opts?)` | `informarComprobanteCAEA` (`comp.caea` = CAEA usado) |
|
|
192
|
+
| `informarAjusteIVACAEA(comp, opts?)` | `informarAjusteIVACAEA` |
|
|
193
|
+
| `informarCAEANoUtilizado(caea, opts?)` | `informarCAEANoUtilizado` |
|
|
194
|
+
| `informarCAEANoUtilizadoPtoVta(caea, ptoVta, opts?)` | `informarCAEANoUtilizadoPtoVta` |
|
|
195
|
+
| `consultarPtosVtaCAEANoInformados(caea, opts?)` | `consultarPtosVtaCAEANoInformados` |
|
|
192
196
|
|
|
193
197
|
### Parámetros y estado
|
|
194
198
|
|
|
195
|
-
| Método
|
|
196
|
-
|
|
|
197
|
-
| `status()`
|
|
198
|
-
| `getTiposComprobante()`
|
|
199
|
-
| `getTiposDocumento()`
|
|
200
|
-
| `getAlicuotasIVA()`
|
|
201
|
-
| `getCondicionesIVA()`
|
|
202
|
-
| `getCondicionesIVAReceptor(cbteTipo)`
|
|
203
|
-
| `getMonedas()`
|
|
204
|
-
| `getCotizacionMoneda(codigo, fecha?)`
|
|
205
|
-
| `getUnidadesMedida()`
|
|
206
|
-
| `getTiposTributo()`
|
|
207
|
-
| `getTiposDatosAdicionales()`
|
|
208
|
-
| `getActividadesVigentes()`
|
|
209
|
-
| `getPuntosVenta()` / `getPuntosVentaCAE()` / `getPuntosVentaCAEA()` | `consultarPuntosVenta*`
|
|
199
|
+
| Método | Operación | Devuelve |
|
|
200
|
+
| ------------------------------------------------------------------- | --------------------------------- | --------------------------------------------------------------- |
|
|
201
|
+
| `status()` | `dummy` (sin auth) | `{ appserver, dbserver, authserver }` |
|
|
202
|
+
| `getTiposComprobante()` | `consultarTiposComprobante` | `CodigoDescripcion[]` |
|
|
203
|
+
| `getTiposDocumento()` | `consultarTiposDocumento` | `CodigoDescripcion[]` |
|
|
204
|
+
| `getAlicuotasIVA()` | `consultarAlicuotasIVA` | `CodigoDescripcion[]` |
|
|
205
|
+
| `getCondicionesIVA()` | `consultarCondicionesIVA` | `CodigoDescripcion[]` |
|
|
206
|
+
| `getCondicionesIVAReceptor(cbteTipo)` | `consultarCondicionesIVAReceptor` | `CodigoDescripcion[]` |
|
|
207
|
+
| `getMonedas()` | `consultarMonedas` | `{ codigo: string, descripcion }[]` |
|
|
208
|
+
| `getCotizacionMoneda(codigo, fecha?)` | `consultarCotizacionMoneda` | `{ codigoMoneda, fechaCotizacion, cotizacion: number \| null }` |
|
|
209
|
+
| `getUnidadesMedida()` | `consultarUnidadesMedida` | `CodigoDescripcion[]` |
|
|
210
|
+
| `getTiposTributo()` | `consultarTiposTributo` | `CodigoDescripcion[]` |
|
|
211
|
+
| `getTiposDatosAdicionales()` | `consultarTiposDatosAdicionales` | `CodigoDescripcion[]` |
|
|
212
|
+
| `getActividadesVigentes()` | `consultarActividadesVigentes` | `{ codigo, orden, descripcion }[]` |
|
|
213
|
+
| `getPuntosVenta()` / `getPuntosVentaCAE()` / `getPuntosVentaCAEA()` | `consultarPuntosVenta*` | `{ numeroPuntoVenta, bloqueado, fechaBaja? }[]` |
|
|
210
214
|
|
|
211
215
|
`getCotizacionMoneda` usa la fecha de hoy si no se indica; `cotizacion` es `null` cuando ARCA no tiene cotización (responde sin valor y sin error).
|
|
212
216
|
|
package/dist/arca-mtxca.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ArcaSdkBase } from '@ramiidv/arca-common';
|
|
2
2
|
import type { CallOptions, ServerStatus } from '@ramiidv/arca-common';
|
|
3
3
|
import { MtxcaClient } from './mtxca-client.js';
|
|
4
4
|
import type { ActividadVigente, ArcaMtxcaConfig, AutorizarOptions, AutorizarRequest, CodigoDescripcion, CodigoDescripcionString, CotizacionResult, FechaInput, MtxcaAutorizarResult, MtxcaCAEA, MtxcaCAEANoUtilizadoResult, MtxcaComprobanteCAEA, MtxcaConsultaComprobanteResult, MtxcaInformarCAEAResult, PuntoVenta } from './types.js';
|
|
@@ -14,13 +14,10 @@ import type { ActividadVigente, ArcaMtxcaConfig, AutorizarOptions, AutorizarRequ
|
|
|
14
14
|
* else console.log(res.comprobante.cae);
|
|
15
15
|
* ```
|
|
16
16
|
*/
|
|
17
|
-
export declare class ArcaMtxca {
|
|
18
|
-
/** Cliente WSAA (acceso directo). */
|
|
19
|
-
readonly wsaa: WsaaClient;
|
|
17
|
+
export declare class ArcaMtxca extends ArcaSdkBase<'mtxca'> {
|
|
20
18
|
/** Cliente SOAP de bajo nivel (acceso directo). */
|
|
21
19
|
readonly client: MtxcaClient;
|
|
22
|
-
/**
|
|
23
|
-
readonly cuit: string;
|
|
20
|
+
/** @throws ArcaValidationError si la CUIT es inválida. */
|
|
24
21
|
constructor(config: ArcaMtxcaConfig);
|
|
25
22
|
private auth;
|
|
26
23
|
/**
|
|
@@ -101,7 +98,5 @@ export declare class ArcaMtxca {
|
|
|
101
98
|
getPuntosVenta(opts?: CallOptions): Promise<PuntoVenta[]>;
|
|
102
99
|
getPuntosVentaCAE(opts?: CallOptions): Promise<PuntoVenta[]>;
|
|
103
100
|
getPuntosVentaCAEA(opts?: CallOptions): Promise<PuntoVenta[]>;
|
|
104
|
-
/** Descarta el ticket de acceso de WSMTXCA (memoria y `ticketStorage`). */
|
|
105
|
-
clearAuthCache(): Promise<void>;
|
|
106
101
|
}
|
|
107
102
|
//# sourceMappingURL=arca-mtxca.d.ts.map
|
package/dist/arca-mtxca.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"arca-mtxca.d.ts","sourceRoot":"","sources":["../src/arca-mtxca.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"arca-mtxca.d.ts","sourceRoot":"","sources":["../src/arca-mtxca.ts"],"names":[],"mappings":"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"}
|
package/dist/arca-mtxca.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ArcaServiceError, formatDate
|
|
1
|
+
import { ArcaSdkBase, ArcaServiceError, formatDate } from '@ramiidv/arca-common';
|
|
2
2
|
import { MTXCA_ENDPOINTS, MTXCA_SERVICE_ID } from './constants.js';
|
|
3
3
|
import { MtxcaClient } from './mtxca-client.js';
|
|
4
4
|
import { buildComprobante } from './serialize.js';
|
|
5
|
-
import {
|
|
5
|
+
import { reglasComprobanteCAE, reglasComprobanteCAEA } from './validation.js';
|
|
6
6
|
/** Error 1502 de consultarUltimoComprobanteAutorizado: no hay comprobantes para ese punto de venta y tipo. */
|
|
7
7
|
const SIN_COMPROBANTES = 1502;
|
|
8
8
|
/**
|
|
@@ -17,45 +17,20 @@ const SIN_COMPROBANTES = 1502;
|
|
|
17
17
|
* else console.log(res.comprobante.cae);
|
|
18
18
|
* ```
|
|
19
19
|
*/
|
|
20
|
-
export class ArcaMtxca {
|
|
21
|
-
/** Cliente WSAA (acceso directo). */
|
|
22
|
-
wsaa;
|
|
20
|
+
export class ArcaMtxca extends ArcaSdkBase {
|
|
23
21
|
/** Cliente SOAP de bajo nivel (acceso directo). */
|
|
24
22
|
client;
|
|
25
|
-
/**
|
|
26
|
-
cuit;
|
|
23
|
+
/** @throws ArcaValidationError si la CUIT es inválida. */
|
|
27
24
|
constructor(config) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
this.wsaa = new WsaaClient({
|
|
31
|
-
cert: config.cert,
|
|
32
|
-
key: config.key,
|
|
33
|
-
production,
|
|
34
|
-
endpoint: config.wsaaEndpoint,
|
|
35
|
-
tokenTTLMinutes: config.tokenTTLMinutes,
|
|
36
|
-
timeout: config.timeout,
|
|
37
|
-
retries: config.retries,
|
|
38
|
-
retryDelayMs: config.retryDelayMs,
|
|
39
|
-
onEvent: config.onEvent,
|
|
40
|
-
ticketStorage: config.ticketStorage,
|
|
41
|
-
clockOffsetMs: config.clockOffsetMs,
|
|
42
|
-
autoClockSkew: config.autoClockSkew,
|
|
43
|
-
loginErrorCooldownMs: config.loginErrorCooldownMs,
|
|
44
|
-
fetch: config.fetch,
|
|
45
|
-
legacyTls: config.legacyTls,
|
|
46
|
-
});
|
|
25
|
+
const wsaa = config.endpoints?.wsaa ?? config.wsaaEndpoint;
|
|
26
|
+
super({ ...config, endpoints: { ...config.endpoints, wsaa } }, { mtxca: MTXCA_SERVICE_ID });
|
|
47
27
|
this.client = new MtxcaClient({
|
|
48
|
-
endpoint:
|
|
49
|
-
|
|
50
|
-
retries: config.retries,
|
|
51
|
-
retryDelayMs: config.retryDelayMs,
|
|
52
|
-
onEvent: config.onEvent,
|
|
53
|
-
fetch: config.fetch,
|
|
54
|
-
legacyTls: config.legacyTls,
|
|
28
|
+
endpoint: this.endpoint(MTXCA_ENDPOINTS, config.endpoints?.mtxca ?? config.endpoint),
|
|
29
|
+
...this.transport,
|
|
55
30
|
});
|
|
56
31
|
}
|
|
57
32
|
async auth(opts) {
|
|
58
|
-
const ticket = await this.
|
|
33
|
+
const ticket = await this.ticket('mtxca', opts);
|
|
59
34
|
return { token: ticket.token, sign: ticket.sign, cuitRepresentada: this.cuit };
|
|
60
35
|
}
|
|
61
36
|
// =========================================================================
|
|
@@ -88,16 +63,14 @@ export class ArcaMtxca {
|
|
|
88
63
|
}
|
|
89
64
|
async autorizarCAE(method, request, opts) {
|
|
90
65
|
// Valida antes de pedir el número: un error local no debe costar requests.
|
|
91
|
-
buildComprobante({ ...request, numeroComprobante: request?.numeroComprobante ?? 1 }, 'cae');
|
|
92
|
-
if (opts?.validarImportes !== false)
|
|
93
|
-
validateComprobanteCAE(request);
|
|
66
|
+
buildComprobante({ ...request, numeroComprobante: request?.numeroComprobante ?? 1 }, 'cae', opts?.validarImportes !== false ? reglasComprobanteCAE : undefined);
|
|
94
67
|
const numeroComprobante = request.numeroComprobante ??
|
|
95
68
|
(await this.siguienteComprobante(request.numeroPuntoVenta, request.codigoTipoComprobante, opts));
|
|
96
69
|
const auth = await this.auth(opts);
|
|
97
70
|
const comprobante = { ...request, numeroComprobante };
|
|
98
71
|
return method === 'autorizarComprobante'
|
|
99
|
-
? this.client.autorizarComprobante(auth, comprobante, opts)
|
|
100
|
-
: this.client.autorizarAjusteIVA(auth, comprobante, opts);
|
|
72
|
+
? this.client.autorizarComprobante(auth, comprobante, this.callOptions(opts))
|
|
73
|
+
: this.client.autorizarAjusteIVA(auth, comprobante, this.callOptions(opts));
|
|
101
74
|
}
|
|
102
75
|
/**
|
|
103
76
|
* Último número autorizado o informado para un punto de venta y tipo. Si no
|
|
@@ -107,7 +80,7 @@ export class ArcaMtxca {
|
|
|
107
80
|
async ultimoComprobante(ptoVta, cbteTipo, opts) {
|
|
108
81
|
const auth = await this.auth(opts);
|
|
109
82
|
try {
|
|
110
|
-
return await this.client.consultarUltimoComprobanteAutorizado(auth, ptoVta, cbteTipo, opts);
|
|
83
|
+
return await this.client.consultarUltimoComprobanteAutorizado(auth, ptoVta, cbteTipo, this.callOptions(opts));
|
|
111
84
|
}
|
|
112
85
|
catch (e) {
|
|
113
86
|
if (e instanceof ArcaServiceError && e.errors.length > 0 && e.errors.every((x) => x.code === SIN_COMPROBANTES)) {
|
|
@@ -123,7 +96,7 @@ export class ArcaMtxca {
|
|
|
123
96
|
/** Consulta un comprobante autorizado (CAE) o informado (CAEA). Lanza `ArcaServiceError` si no existe. */
|
|
124
97
|
async consultarComprobante(cbteTipo, ptoVta, cbteNro, opts) {
|
|
125
98
|
const auth = await this.auth(opts);
|
|
126
|
-
return this.client.consultarComprobante(auth, cbteTipo, ptoVta, cbteNro, opts);
|
|
99
|
+
return this.client.consultarComprobante(auth, cbteTipo, ptoVta, cbteNro, this.callOptions(opts));
|
|
127
100
|
}
|
|
128
101
|
// =========================================================================
|
|
129
102
|
// CAEA
|
|
@@ -135,17 +108,17 @@ export class ArcaMtxca {
|
|
|
135
108
|
*/
|
|
136
109
|
async solicitarCAEA(periodo, orden, opts) {
|
|
137
110
|
const auth = await this.auth(opts);
|
|
138
|
-
return this.client.solicitarCAEA(auth, periodo, orden, opts);
|
|
111
|
+
return this.client.solicitarCAEA(auth, periodo, orden, this.callOptions(opts));
|
|
139
112
|
}
|
|
140
113
|
/** Consulta un CAEA otorgado. */
|
|
141
114
|
async consultarCAEA(caea, opts) {
|
|
142
115
|
const auth = await this.auth(opts);
|
|
143
|
-
return this.client.consultarCAEA(auth, caea, opts);
|
|
116
|
+
return this.client.consultarCAEA(auth, caea, this.callOptions(opts));
|
|
144
117
|
}
|
|
145
118
|
/** CAEAs otorgados entre dos fechas. */
|
|
146
119
|
async consultarCAEAEntreFechas(fechaDesde, fechaHasta, opts) {
|
|
147
120
|
const auth = await this.auth(opts);
|
|
148
|
-
return this.client.consultarCAEAEntreFechas(auth, fechaDesde, fechaHasta, opts);
|
|
121
|
+
return this.client.consultarCAEAEntreFechas(auth, fechaDesde, fechaHasta, this.callOptions(opts));
|
|
149
122
|
}
|
|
150
123
|
/**
|
|
151
124
|
* Informa un comprobante emitido con CAEA (`informarComprobanteCAEA`). Valida
|
|
@@ -153,95 +126,87 @@ export class ArcaMtxca {
|
|
|
153
126
|
* `resultado: 'R'`. Ante `uncertain`, verificá con `consultarComprobante()`.
|
|
154
127
|
*/
|
|
155
128
|
async informarComprobanteCAEA(comprobante, opts) {
|
|
156
|
-
buildComprobante(comprobante, 'caea');
|
|
157
|
-
validateComprobanteCAEA(comprobante);
|
|
129
|
+
buildComprobante(comprobante, 'caea', reglasComprobanteCAEA);
|
|
158
130
|
const auth = await this.auth(opts);
|
|
159
|
-
return this.client.informarComprobanteCAEA(auth, comprobante, opts);
|
|
131
|
+
return this.client.informarComprobanteCAEA(auth, comprobante, this.callOptions(opts));
|
|
160
132
|
}
|
|
161
133
|
/** Informa un ajuste de IVA emitido con CAEA (`informarAjusteIVACAEA`). Solo valida el XSD. */
|
|
162
134
|
async informarAjusteIVACAEA(comprobante, opts) {
|
|
163
135
|
const auth = await this.auth(opts);
|
|
164
|
-
return this.client.informarAjusteIVACAEA(auth, comprobante, opts);
|
|
136
|
+
return this.client.informarAjusteIVACAEA(auth, comprobante, this.callOptions(opts));
|
|
165
137
|
}
|
|
166
138
|
/** Informa que un CAEA no se utilizó. Un rechazo devuelve `resultado: 'R'`. */
|
|
167
139
|
async informarCAEANoUtilizado(caea, opts) {
|
|
168
140
|
const auth = await this.auth(opts);
|
|
169
|
-
return this.client.informarCAEANoUtilizado(auth, caea, opts);
|
|
141
|
+
return this.client.informarCAEANoUtilizado(auth, caea, this.callOptions(opts));
|
|
170
142
|
}
|
|
171
143
|
/** Informa que un CAEA no se utilizó en un punto de venta. Un rechazo devuelve `resultado: 'R'`. */
|
|
172
144
|
async informarCAEANoUtilizadoPtoVta(caea, ptoVta, opts) {
|
|
173
145
|
const auth = await this.auth(opts);
|
|
174
|
-
return this.client.informarCAEANoUtilizadoPtoVta(auth, caea, ptoVta, opts);
|
|
146
|
+
return this.client.informarCAEANoUtilizadoPtoVta(auth, caea, ptoVta, this.callOptions(opts));
|
|
175
147
|
}
|
|
176
148
|
/** Puntos de venta que todavía no informaron movimientos para un CAEA. */
|
|
177
149
|
async consultarPtosVtaCAEANoInformados(caea, opts) {
|
|
178
150
|
const auth = await this.auth(opts);
|
|
179
|
-
return this.client.consultarPtosVtaCAEANoInformados(auth, caea, opts);
|
|
151
|
+
return this.client.consultarPtosVtaCAEANoInformados(auth, caea, this.callOptions(opts));
|
|
180
152
|
}
|
|
181
153
|
// =========================================================================
|
|
182
154
|
// Estado
|
|
183
155
|
// =========================================================================
|
|
184
156
|
/** Estado del servicio (`dummy`). No requiere autenticación. */
|
|
185
157
|
async status(opts) {
|
|
186
|
-
return this.client.dummy(opts);
|
|
158
|
+
return this.client.dummy(this.callOptions(opts));
|
|
187
159
|
}
|
|
188
160
|
// =========================================================================
|
|
189
161
|
// Parámetros
|
|
190
162
|
// =========================================================================
|
|
191
163
|
async getTiposComprobante(opts) {
|
|
192
|
-
return this.client.consultarTiposComprobante(await this.auth(opts), opts);
|
|
164
|
+
return this.client.consultarTiposComprobante(await this.auth(opts), this.callOptions(opts));
|
|
193
165
|
}
|
|
194
166
|
async getTiposDocumento(opts) {
|
|
195
|
-
return this.client.consultarTiposDocumento(await this.auth(opts), opts);
|
|
167
|
+
return this.client.consultarTiposDocumento(await this.auth(opts), this.callOptions(opts));
|
|
196
168
|
}
|
|
197
169
|
async getAlicuotasIVA(opts) {
|
|
198
|
-
return this.client.consultarAlicuotasIVA(await this.auth(opts), opts);
|
|
170
|
+
return this.client.consultarAlicuotasIVA(await this.auth(opts), this.callOptions(opts));
|
|
199
171
|
}
|
|
200
172
|
/** Condiciones de IVA de los ítems. */
|
|
201
173
|
async getCondicionesIVA(opts) {
|
|
202
|
-
return this.client.consultarCondicionesIVA(await this.auth(opts), opts);
|
|
174
|
+
return this.client.consultarCondicionesIVA(await this.auth(opts), this.callOptions(opts));
|
|
203
175
|
}
|
|
204
176
|
/** Condiciones de IVA del receptor admitidas para un tipo de comprobante (RG 5616). */
|
|
205
177
|
async getCondicionesIVAReceptor(cbteTipo, opts) {
|
|
206
|
-
return this.client.consultarCondicionesIVAReceptor(await this.auth(opts), cbteTipo, opts);
|
|
178
|
+
return this.client.consultarCondicionesIVAReceptor(await this.auth(opts), cbteTipo, this.callOptions(opts));
|
|
207
179
|
}
|
|
208
180
|
async getMonedas(opts) {
|
|
209
|
-
return this.client.consultarMonedas(await this.auth(opts), opts);
|
|
181
|
+
return this.client.consultarMonedas(await this.auth(opts), this.callOptions(opts));
|
|
210
182
|
}
|
|
211
183
|
/**
|
|
212
184
|
* Cotización de una moneda para una fecha (default: hoy en Argentina).
|
|
213
185
|
* `cotizacion` es `null` si ARCA no tiene cotización.
|
|
214
186
|
*/
|
|
215
187
|
async getCotizacionMoneda(codigoMoneda, fecha = formatDate(new Date()), opts) {
|
|
216
|
-
return this.client.consultarCotizacionMoneda(await this.auth(opts), codigoMoneda, fecha, opts);
|
|
188
|
+
return this.client.consultarCotizacionMoneda(await this.auth(opts), codigoMoneda, fecha, this.callOptions(opts));
|
|
217
189
|
}
|
|
218
190
|
async getUnidadesMedida(opts) {
|
|
219
|
-
return this.client.consultarUnidadesMedida(await this.auth(opts), opts);
|
|
191
|
+
return this.client.consultarUnidadesMedida(await this.auth(opts), this.callOptions(opts));
|
|
220
192
|
}
|
|
221
193
|
async getTiposTributo(opts) {
|
|
222
|
-
return this.client.consultarTiposTributo(await this.auth(opts), opts);
|
|
194
|
+
return this.client.consultarTiposTributo(await this.auth(opts), this.callOptions(opts));
|
|
223
195
|
}
|
|
224
196
|
async getTiposDatosAdicionales(opts) {
|
|
225
|
-
return this.client.consultarTiposDatosAdicionales(await this.auth(opts), opts);
|
|
197
|
+
return this.client.consultarTiposDatosAdicionales(await this.auth(opts), this.callOptions(opts));
|
|
226
198
|
}
|
|
227
199
|
async getActividadesVigentes(opts) {
|
|
228
|
-
return this.client.consultarActividadesVigentes(await this.auth(opts), opts);
|
|
200
|
+
return this.client.consultarActividadesVigentes(await this.auth(opts), this.callOptions(opts));
|
|
229
201
|
}
|
|
230
202
|
async getPuntosVenta(opts) {
|
|
231
|
-
return this.client.consultarPuntosVenta(await this.auth(opts), opts);
|
|
203
|
+
return this.client.consultarPuntosVenta(await this.auth(opts), this.callOptions(opts));
|
|
232
204
|
}
|
|
233
205
|
async getPuntosVentaCAE(opts) {
|
|
234
|
-
return this.client.consultarPuntosVentaCAE(await this.auth(opts), opts);
|
|
206
|
+
return this.client.consultarPuntosVentaCAE(await this.auth(opts), this.callOptions(opts));
|
|
235
207
|
}
|
|
236
208
|
async getPuntosVentaCAEA(opts) {
|
|
237
|
-
return this.client.consultarPuntosVentaCAEA(await this.auth(opts), opts);
|
|
238
|
-
}
|
|
239
|
-
// =========================================================================
|
|
240
|
-
// Cache
|
|
241
|
-
// =========================================================================
|
|
242
|
-
/** Descarta el ticket de acceso de WSMTXCA (memoria y `ticketStorage`). */
|
|
243
|
-
async clearAuthCache() {
|
|
244
|
-
await this.wsaa.clearTicket(MTXCA_SERVICE_ID);
|
|
209
|
+
return this.client.consultarPuntosVentaCAEA(await this.auth(opts), this.callOptions(opts));
|
|
245
210
|
}
|
|
246
211
|
}
|
|
247
212
|
//# sourceMappingURL=arca-mtxca.js.map
|