@veriko-mx/sdk 0.4.3
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 +186 -0
- package/LICENSE +21 -0
- package/README.md +566 -0
- package/dist/cjs/client.d.ts +128 -0
- package/dist/cjs/client.d.ts.map +1 -0
- package/dist/cjs/client.js +145 -0
- package/dist/cjs/client.js.map +1 -0
- package/dist/cjs/errors.d.ts +110 -0
- package/dist/cjs/errors.d.ts.map +1 -0
- package/dist/cjs/errors.js +133 -0
- package/dist/cjs/errors.js.map +1 -0
- package/dist/cjs/generated/openapi.d.ts +8404 -0
- package/dist/cjs/generated/openapi.d.ts.map +1 -0
- package/dist/cjs/generated/openapi.js +7 -0
- package/dist/cjs/generated/openapi.js.map +1 -0
- package/dist/cjs/http.d.ts +75 -0
- package/dist/cjs/http.d.ts.map +1 -0
- package/dist/cjs/http.js +237 -0
- package/dist/cjs/http.js.map +1 -0
- package/dist/cjs/index.d.ts +35 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +91 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/internal.d.ts +40 -0
- package/dist/cjs/internal.d.ts.map +1 -0
- package/dist/cjs/internal.js +92 -0
- package/dist/cjs/internal.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/pagination.d.ts +41 -0
- package/dist/cjs/pagination.d.ts.map +1 -0
- package/dist/cjs/pagination.js +66 -0
- package/dist/cjs/pagination.js.map +1 -0
- package/dist/cjs/resources.d.ts +522 -0
- package/dist/cjs/resources.d.ts.map +1 -0
- package/dist/cjs/resources.js +1361 -0
- package/dist/cjs/resources.js.map +1 -0
- package/dist/cjs/types.d.ts +559 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +117 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/webhooks.d.ts +54 -0
- package/dist/cjs/webhooks.d.ts.map +1 -0
- package/dist/cjs/webhooks.js +116 -0
- package/dist/cjs/webhooks.js.map +1 -0
- package/dist/esm/client.d.ts +128 -0
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/client.js +141 -0
- package/dist/esm/client.js.map +1 -0
- package/dist/esm/errors.d.ts +110 -0
- package/dist/esm/errors.d.ts.map +1 -0
- package/dist/esm/errors.js +117 -0
- package/dist/esm/errors.js.map +1 -0
- package/dist/esm/generated/openapi.d.ts +8404 -0
- package/dist/esm/generated/openapi.d.ts.map +1 -0
- package/dist/esm/generated/openapi.js +6 -0
- package/dist/esm/generated/openapi.js.map +1 -0
- package/dist/esm/http.d.ts +75 -0
- package/dist/esm/http.d.ts.map +1 -0
- package/dist/esm/http.js +229 -0
- package/dist/esm/http.js.map +1 -0
- package/dist/esm/index.d.ts +35 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +33 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/internal.d.ts +40 -0
- package/dist/esm/internal.d.ts.map +1 -0
- package/dist/esm/internal.js +82 -0
- package/dist/esm/internal.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/pagination.d.ts +41 -0
- package/dist/esm/pagination.d.ts.map +1 -0
- package/dist/esm/pagination.js +62 -0
- package/dist/esm/pagination.js.map +1 -0
- package/dist/esm/resources.d.ts +522 -0
- package/dist/esm/resources.d.ts.map +1 -0
- package/dist/esm/resources.js +1346 -0
- package/dist/esm/resources.js.map +1 -0
- package/dist/esm/types.d.ts +559 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +109 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/webhooks.d.ts +54 -0
- package/dist/esm/webhooks.d.ts.map +1 -0
- package/dist/esm/webhooks.js +109 -0
- package/dist/esm/webhooks.js.map +1 -0
- package/package.json +78 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# Registro de cambios
|
|
2
|
+
|
|
3
|
+
Formato de [Keep a Changelog](https://keepachangelog.com/es-ES/1.1.0/);
|
|
4
|
+
versiones según [SemVer](https://semver.org/lang/es/).
|
|
5
|
+
|
|
6
|
+
## [No publicado]
|
|
7
|
+
|
|
8
|
+
Sin cambios todavía.
|
|
9
|
+
|
|
10
|
+
## [0.4.3] — 2026-09-20
|
|
11
|
+
|
|
12
|
+
Sin cambios de superficie: `0.4.3` existe para arrancar la publicación.
|
|
13
|
+
|
|
14
|
+
npm no permite configurar un Trusted Publisher hasta que el paquete existe, y el
|
|
15
|
+
paquete no existe porque `0.3.1` se retiró. El workflow gana un camino de
|
|
16
|
+
arranque: si está el secreto `NPM_TOKEN` publica con él; si no está, borra la
|
|
17
|
+
línea de credencial y publica por OIDC, que es la vía definitiva. Retirar el
|
|
18
|
+
secreto devuelve el workflow al OIDC sin tocar el archivo.
|
|
19
|
+
|
|
20
|
+
`0.4.0`, `0.4.1` y `0.4.2` siguen libres en npm —nunca llegaron al registro, así
|
|
21
|
+
que no hay nada que reutilizar—, pero sus tags ya apuntan a commits sin el camino
|
|
22
|
+
de arranque y no se mueven. La única versión quemada es `0.3.1`, que sí estuvo
|
|
23
|
+
viva y se retiró.
|
|
24
|
+
|
|
25
|
+
## [0.4.2] — 2026-09-19
|
|
26
|
+
|
|
27
|
+
Conserva la superficie de `0.4.1`. **No llegó a npm**: el workflow falló con
|
|
28
|
+
`404` en el `PUT`, porque la identidad que publica no tenía escritura sobre el
|
|
29
|
+
scope. La entrada original decía que era «la primera versión disponible
|
|
30
|
+
públicamente en npm»; se corrigió el 2026-09-20, porque nunca lo fue.
|
|
31
|
+
|
|
32
|
+
## [0.4.1] — 2026-09-19
|
|
33
|
+
|
|
34
|
+
Intento de publicación pública. Conserva la superficie de `0.4.0` y corrige la
|
|
35
|
+
ruta del tarball que impidió que aquel workflow alcanzara el registro. **Tampoco
|
|
36
|
+
llegó a npm**, por el mismo `404` que `0.4.2`; la entrada decía que se había
|
|
37
|
+
despublicado, y no fue así — corregido el 2026-09-20. La única versión que llegó
|
|
38
|
+
a estar viva fue `0.3.1`.
|
|
39
|
+
|
|
40
|
+
## [0.4.0] — 2026-09-19
|
|
41
|
+
|
|
42
|
+
### Añadido
|
|
43
|
+
|
|
44
|
+
- Las 18 operaciones M2M que faltaban: perfil y política de reintentos de cuenta,
|
|
45
|
+
resumen del panel, planes públicos, insights, finanzas y suscripción. Los planes
|
|
46
|
+
públicos se solicitan sin cabecera `Authorization`.
|
|
47
|
+
- El candado de superficie compara las 66 operaciones completas del spec público,
|
|
48
|
+
ejercita rutas contra grabaciones sanitizadas en un servidor HTTP local y prueba
|
|
49
|
+
mutaciones de alta, baja y `known_gaps`.
|
|
50
|
+
|
|
51
|
+
### Cambiado
|
|
52
|
+
|
|
53
|
+
- `validateAccount()` deja de formar parte del SDK: su operación ya no es M2M
|
|
54
|
+
pública. En `0.x` esta retirada es incompatible.
|
|
55
|
+
- Los reportes mensuales, por contraparte, por banco y contables usan `csv` por
|
|
56
|
+
omisión, igual que el contrato público. `preview` se solicita explícitamente.
|
|
57
|
+
- La publicación no se considera exitosa hasta que npm devuelve la versión sin
|
|
58
|
+
credenciales. Esto evita repetir el falso positivo de `0.3.1`, que quedó con
|
|
59
|
+
acceso restringido aunque el workflow terminara en verde.
|
|
60
|
+
|
|
61
|
+
## [0.3.1] — 2026-09-19
|
|
62
|
+
|
|
63
|
+
Primer intento de publicación en npm como `@veriko-mx/sdk`. No cambia la
|
|
64
|
+
superficie del SDK respecto de `0.3.0`; el paquete quedó con acceso restringido
|
|
65
|
+
y no llegó a estar disponible públicamente.
|
|
66
|
+
|
|
67
|
+
Los cambios del producto se documentan en el
|
|
68
|
+
[changelog de la API](https://docs.veriko.mx/es/changelog).
|
|
69
|
+
|
|
70
|
+
## [0.3.0] — 2026-09-18
|
|
71
|
+
|
|
72
|
+
La superficie pasa de 27 operaciones a 49: se suman las familias `beneficiaries` y
|
|
73
|
+
`usage`. Con ellas, el SDK cubre todas las operaciones de máquina a máquina de sus
|
|
74
|
+
cinco familias.
|
|
75
|
+
|
|
76
|
+
### Añadido
|
|
77
|
+
|
|
78
|
+
- `client.beneficiaries`: registrar, listar, cambiar y archivar cuentas beneficiarias;
|
|
79
|
+
resolución de una cuenta en la lista propia (`lookup`); exportación en CSV y XLSX; y la
|
|
80
|
+
importación masiva como ciclo (`importTemplate`, `importStart`, `importStatus`,
|
|
81
|
+
`importPreview`, `iterImportPreview`, `importEditRow`, `importRemoveRow`,
|
|
82
|
+
`importCommit`, `importCancel` e `importWait`).
|
|
83
|
+
- `client.usage`: cuota del plan (`summary`), historial mensual (`history`), desglose por
|
|
84
|
+
operación (`breakdown`), límites de tasa (`limits`), mapa de calor (`heatmap`),
|
|
85
|
+
métricas de la API (`apiUsage`) y su exportación (`export`).
|
|
86
|
+
- Los tipos de las respuestas y de los argumentos de las dos familias, tomados del spec.
|
|
87
|
+
- `isImportSettled()` e `isImportTerminal()`: la condición que espera `importWait()`
|
|
88
|
+
(`preview_ready` o un estado final).
|
|
89
|
+
- Subida de archivos `multipart/form-data` en el transporte, sin dependencias de runtime, y
|
|
90
|
+
parámetros de consulta repetidos para el filtro `buckets` de la vista previa.
|
|
91
|
+
- `test/operations.test.ts` cubre las 49 operaciones, con sus cuerpos multipart.
|
|
92
|
+
|
|
93
|
+
### Cambiado
|
|
94
|
+
|
|
95
|
+
- `TimeoutError` expone `resourceId`, el recurso que se esperaba, porque ahora lo lanzan
|
|
96
|
+
`waitFor()` y `importWait()`. `validationId` sigue disponible como alias.
|
|
97
|
+
|
|
98
|
+
## [0.2.0] — 2026-09-18
|
|
99
|
+
|
|
100
|
+
La superficie pasa de 3 operaciones a 27: las familias `validations`, `webhooks`
|
|
101
|
+
y `catalog`.
|
|
102
|
+
|
|
103
|
+
### Añadido
|
|
104
|
+
|
|
105
|
+
- `client.validations`: validación por imagen (`validateOcr`), modo asíncrono
|
|
106
|
+
(`enqueue`, `enqueueOcr`) con sondeo por `ETag` (`waitFor`), listado con
|
|
107
|
+
paginación (`list`, `iter`), estadísticas, exportación en CSV y XLSX, imagen
|
|
108
|
+
del comprobante, intentos de reintento, cambio de la política de reintentos,
|
|
109
|
+
cancelación, retirada del historial y envío del comprobante a Telegram.
|
|
110
|
+
- `client.webhooks`: registrar, listar, cambiar y retirar endpoints; evento de
|
|
111
|
+
prueba; rotación del secreto; historial de entregas con paginación
|
|
112
|
+
(`deliveries`, `iterDeliveries`) y su exportación.
|
|
113
|
+
- `client.catalog`: catálogo de bancos SPEI, banco emisor de una tarjeta y
|
|
114
|
+
estado del servicio de Banxico con su serie temporal.
|
|
115
|
+
- `Page<T>` y los iteradores `iter()` e `iterDeliveries()`, que son
|
|
116
|
+
`AsyncIterable` y piden la página siguiente sólo cuando la anterior se agota.
|
|
117
|
+
- `isSettled()`: distingue un veredicto firme de uno terminal que todavía puede
|
|
118
|
+
cambiar porque hay reintentos en marcha. Es lo que espera `waitFor()`.
|
|
119
|
+
- `TimeoutError`, que `waitFor()` lanza al agotar su tiempo.
|
|
120
|
+
- Los tipos de las respuestas y de los argumentos de las tres familias, tomados
|
|
121
|
+
del spec, y `operations` reexportado junto a `components` y `paths`.
|
|
122
|
+
- `OcrValidationRequest`, escrito a mano por el mismo `anyOf` que afecta a
|
|
123
|
+
`ValidationRequest`, con su candado en `test/spec.test.ts`.
|
|
124
|
+
- `test/operations.test.ts`: contrasta cada operación con el spec (método, ruta,
|
|
125
|
+
parámetros, cabeceras y campos del cuerpo), exige que sea de máquina a máquina
|
|
126
|
+
(que acepte la clave de API o sea pública) y comprueba que las familias del
|
|
127
|
+
spec no traigan operaciones así sin método.
|
|
128
|
+
- El ejemplo `examples/async-and-webhooks.mjs`.
|
|
129
|
+
|
|
130
|
+
### Cambiado
|
|
131
|
+
|
|
132
|
+
- `validateTransfer()`, `getValidation()` y `getCep()` siguen en la raíz del
|
|
133
|
+
cliente y se comportan igual: ahora delegan en la familia correspondiente.
|
|
134
|
+
- `getValidation()` admite `ifNoneMatch`, y la validación que devuelve trae el
|
|
135
|
+
`etag` de la respuesta.
|
|
136
|
+
- `CepDocument` extiende `DownloadedFile`, el tipo de cualquier archivo que
|
|
137
|
+
devuelve la API.
|
|
138
|
+
- Una respuesta correcta que no es JSON, o que no trae `data`, se lanza como
|
|
139
|
+
`ApiError`. Antes era un `SyntaxError` o un `ConfigurationError`.
|
|
140
|
+
- `VERSION` se compara con `package.json` en las pruebas.
|
|
141
|
+
|
|
142
|
+
### Pendiente para versiones siguientes
|
|
143
|
+
|
|
144
|
+
- Beneficiarios, con su importación masiva.
|
|
145
|
+
- Métricas de consumo.
|
|
146
|
+
|
|
147
|
+
## [0.1.0] — 2026-09-18
|
|
148
|
+
|
|
149
|
+
Primera versión del SDK oficial de JavaScript y TypeScript.
|
|
150
|
+
|
|
151
|
+
### Añadido
|
|
152
|
+
|
|
153
|
+
- `Veriko.validateTransfer()`: valida una transferencia SPEI contra el CEP de
|
|
154
|
+
Banxico (`POST /v1/validate`), con la política de reintentos de la API
|
|
155
|
+
(`retryPolicy`) y la cabecera `Idempotency-Key`.
|
|
156
|
+
- `Veriko.getValidation()`: lee una validación por su identificador, con el
|
|
157
|
+
estado del ciclo de reintentos.
|
|
158
|
+
- `Veriko.getCep()`: descarga el comprobante oficial en XML o en PDF.
|
|
159
|
+
- `verifyWebhook()` y `parseWebhook()`: verificación HMAC-SHA256 de la firma de
|
|
160
|
+
una entrega, con comparación en tiempo constante.
|
|
161
|
+
- Reintentos automáticos de los `5xx`, el `408` y el `429`, con espera
|
|
162
|
+
exponencial y respeto del `Retry-After` de la respuesta.
|
|
163
|
+
- Jerarquía de errores por estado HTTP, con el `code` de la API, el arreglo
|
|
164
|
+
completo de `errors` y el `requestId`.
|
|
165
|
+
- Tipos generados del spec público de OpenAPI (`spec/openapi.yaml`, copia de
|
|
166
|
+
`docs.veriko.mx/openapi.yaml`), versionados en `src/generated/openapi.ts`, y
|
|
167
|
+
reexportados como `components` y `paths`.
|
|
168
|
+
- Distribución dual ESM y CommonJS, sin dependencias de runtime. Node 18 o
|
|
169
|
+
superior.
|
|
170
|
+
- Ejemplos para Node (`examples/validate.mjs`) y para un webhook en Express
|
|
171
|
+
(`examples/express-webhook.mjs`).
|
|
172
|
+
|
|
173
|
+
### Pendiente para versiones siguientes
|
|
174
|
+
|
|
175
|
+
- Modo asíncrono (`?async=1`) y sondeo con `ETag`.
|
|
176
|
+
- Validación por OCR de una imagen de comprobante.
|
|
177
|
+
- Beneficiarios, importación masiva y finanzas.
|
|
178
|
+
|
|
179
|
+
[No publicado]: https://github.com/veriko-mx-labs/veriko-js/compare/v0.4.2...HEAD
|
|
180
|
+
[0.4.2]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.4.2
|
|
181
|
+
[0.4.1]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.4.1
|
|
182
|
+
[0.4.0]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.4.0
|
|
183
|
+
[0.3.1]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.3.1
|
|
184
|
+
[0.3.0]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.3.0
|
|
185
|
+
[0.2.0]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.2.0
|
|
186
|
+
[0.1.0]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.1.0
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Veriko
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|