@veriko-mx/sdk 0.4.4 → 0.4.6
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 +16 -67
- package/README.md +20 -29
- package/dist/cjs/client.d.ts +1 -1
- package/dist/cjs/client.js +1 -1
- package/dist/cjs/generated/openapi.d.ts +76 -65
- package/dist/cjs/generated/openapi.d.ts.map +1 -1
- package/dist/cjs/resources.d.ts +2 -2
- package/dist/cjs/resources.js +2 -2
- package/dist/cjs/types.d.ts +3 -3
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +3 -3
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/webhooks.d.ts +2 -2
- package/dist/cjs/webhooks.d.ts.map +1 -1
- package/dist/cjs/webhooks.js +2 -2
- package/dist/cjs/webhooks.js.map +1 -1
- package/dist/esm/client.d.ts +1 -1
- package/dist/esm/client.js +1 -1
- package/dist/esm/generated/openapi.d.ts +76 -65
- package/dist/esm/generated/openapi.d.ts.map +1 -1
- package/dist/esm/resources.d.ts +2 -2
- package/dist/esm/resources.js +2 -2
- package/dist/esm/types.d.ts +3 -3
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +3 -3
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/webhooks.d.ts +2 -2
- package/dist/esm/webhooks.d.ts.map +1 -1
- package/dist/esm/webhooks.js +2 -2
- package/dist/esm/webhooks.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,45 +7,27 @@ versiones según [SemVer](https://semver.org/lang/es/).
|
|
|
7
7
|
|
|
8
8
|
Sin cambios todavía.
|
|
9
9
|
|
|
10
|
-
## [0.4.
|
|
11
|
-
|
|
12
|
-
Sin cambios de superficie. Primera versión publicada por el Trusted Publisher, y
|
|
13
|
-
por tanto la primera con sello de procedencia: la ficha de npm deja de atribuir la
|
|
14
|
-
publicación a una cuenta personal y pasa a atribuirla al repositorio.
|
|
10
|
+
## [0.4.6] — 2026-09-24
|
|
15
11
|
|
|
16
|
-
|
|
17
|
-
gana un candado que se pone en rojo si el secreto `NPM_TOKEN` sigue existiendo: un
|
|
18
|
-
token con escritura sobre el scope que ya nadie usa sólo puede filtrarse.
|
|
19
|
-
|
|
20
|
-
## [0.4.3] — 2026-09-20
|
|
12
|
+
### Cambiado
|
|
21
13
|
|
|
22
|
-
|
|
14
|
+
- Los tipos siguen la versión 1.60.0 del spec público. Las respuestas `429`
|
|
15
|
+
declaran `meta.retry_after`, con el mismo valor que la cabecera `Retry-After`.
|
|
16
|
+
- Las descripciones de los tipos documentan los códigos de error de validación y
|
|
17
|
+
de filtros: `invalid_bank_code`, `intra_bank_no_cep`, `invalid_field_type`,
|
|
18
|
+
`invalid_filter` y `webhook_description_too_long`.
|
|
23
19
|
|
|
24
|
-
|
|
25
|
-
paquete no existe porque `0.3.1` se retiró. El workflow gana un camino de
|
|
26
|
-
arranque: si está el secreto `NPM_TOKEN` publica con él; si no está, borra la
|
|
27
|
-
línea de credencial y publica por OIDC, que es la vía definitiva. Retirar el
|
|
28
|
-
secreto devuelve el workflow al OIDC sin tocar el archivo.
|
|
20
|
+
## [0.4.5] — 2026-09-22
|
|
29
21
|
|
|
30
|
-
|
|
31
|
-
que no hay nada que reutilizar—, pero sus tags ya apuntan a commits sin el camino
|
|
32
|
-
de arranque y no se mueven. La única versión quemada es `0.3.1`, que sí estuvo
|
|
33
|
-
viva y se retiró.
|
|
22
|
+
Sin cambios en la API. Actualiza documentación y metadatos.
|
|
34
23
|
|
|
35
|
-
## [0.4.
|
|
24
|
+
## [0.4.4] — 2026-09-20
|
|
36
25
|
|
|
37
|
-
|
|
38
|
-
`404` en el `PUT`, porque la identidad que publica no tenía escritura sobre el
|
|
39
|
-
scope. La entrada original decía que era «la primera versión disponible
|
|
40
|
-
públicamente en npm»; se corrigió el 2026-09-20, porque nunca lo fue.
|
|
26
|
+
Sin cambios de superficie.
|
|
41
27
|
|
|
42
|
-
## [0.4.
|
|
28
|
+
## [0.4.3] — 2026-09-20
|
|
43
29
|
|
|
44
|
-
|
|
45
|
-
ruta del tarball que impidió que aquel workflow alcanzara el registro. **Tampoco
|
|
46
|
-
llegó a npm**, por el mismo `404` que `0.4.2`; la entrada decía que se había
|
|
47
|
-
despublicado, y no fue así — corregido el 2026-09-20. La única versión que llegó
|
|
48
|
-
a estar viva fue `0.3.1`.
|
|
30
|
+
Sin cambios de superficie.
|
|
49
31
|
|
|
50
32
|
## [0.4.0] — 2026-09-19
|
|
51
33
|
|
|
@@ -54,9 +36,8 @@ a estar viva fue `0.3.1`.
|
|
|
54
36
|
- Las 18 operaciones M2M que faltaban: perfil y política de reintentos de cuenta,
|
|
55
37
|
resumen del panel, planes públicos, insights, finanzas y suscripción. Los planes
|
|
56
38
|
públicos se solicitan sin cabecera `Authorization`.
|
|
57
|
-
-
|
|
58
|
-
ejercita rutas contra grabaciones sanitizadas en un servidor HTTP local
|
|
59
|
-
mutaciones de alta, baja y `known_gaps`.
|
|
39
|
+
- La prueba de superficie compara las 66 operaciones completas del spec público y
|
|
40
|
+
ejercita rutas contra grabaciones sanitizadas en un servidor HTTP local.
|
|
60
41
|
|
|
61
42
|
### Cambiado
|
|
62
43
|
|
|
@@ -64,18 +45,6 @@ a estar viva fue `0.3.1`.
|
|
|
64
45
|
pública. En `0.x` esta retirada es incompatible.
|
|
65
46
|
- Los reportes mensuales, por contraparte, por banco y contables usan `csv` por
|
|
66
47
|
omisión, igual que el contrato público. `preview` se solicita explícitamente.
|
|
67
|
-
- La publicación no se considera exitosa hasta que npm devuelve la versión sin
|
|
68
|
-
credenciales. Esto evita repetir el falso positivo de `0.3.1`, que quedó con
|
|
69
|
-
acceso restringido aunque el workflow terminara en verde.
|
|
70
|
-
|
|
71
|
-
## [0.3.1] — 2026-09-19
|
|
72
|
-
|
|
73
|
-
Primer intento de publicación en npm como `@veriko-mx/sdk`. No cambia la
|
|
74
|
-
superficie del SDK respecto de `0.3.0`; el paquete quedó con acceso restringido
|
|
75
|
-
y no llegó a estar disponible públicamente.
|
|
76
|
-
|
|
77
|
-
Los cambios del producto se documentan en el
|
|
78
|
-
[changelog de la API](https://docs.veriko.mx/es/changelog).
|
|
79
48
|
|
|
80
49
|
## [0.3.0] — 2026-09-18
|
|
81
50
|
|
|
@@ -130,7 +99,7 @@ y `catalog`.
|
|
|
130
99
|
- Los tipos de las respuestas y de los argumentos de las tres familias, tomados
|
|
131
100
|
del spec, y `operations` reexportado junto a `components` y `paths`.
|
|
132
101
|
- `OcrValidationRequest`, escrito a mano por el mismo `anyOf` que afecta a
|
|
133
|
-
`ValidationRequest`, con su
|
|
102
|
+
`ValidationRequest`, con su prueba en `test/spec.test.ts`.
|
|
134
103
|
- `test/operations.test.ts`: contrasta cada operación con el spec (método, ruta,
|
|
135
104
|
parámetros, cabeceras y campos del cuerpo), exige que sea de máquina a máquina
|
|
136
105
|
(que acepte la clave de API o sea pública) y comprueba que las familias del
|
|
@@ -149,11 +118,6 @@ y `catalog`.
|
|
|
149
118
|
`ApiError`. Antes era un `SyntaxError` o un `ConfigurationError`.
|
|
150
119
|
- `VERSION` se compara con `package.json` en las pruebas.
|
|
151
120
|
|
|
152
|
-
### Pendiente para versiones siguientes
|
|
153
|
-
|
|
154
|
-
- Beneficiarios, con su importación masiva.
|
|
155
|
-
- Métricas de consumo.
|
|
156
|
-
|
|
157
121
|
## [0.1.0] — 2026-09-18
|
|
158
122
|
|
|
159
123
|
Primera versión del SDK oficial de JavaScript y TypeScript.
|
|
@@ -179,18 +143,3 @@ Primera versión del SDK oficial de JavaScript y TypeScript.
|
|
|
179
143
|
superior.
|
|
180
144
|
- Ejemplos para Node (`examples/validate.mjs`) y para un webhook en Express
|
|
181
145
|
(`examples/express-webhook.mjs`).
|
|
182
|
-
|
|
183
|
-
### Pendiente para versiones siguientes
|
|
184
|
-
|
|
185
|
-
- Modo asíncrono (`?async=1`) y sondeo con `ETag`.
|
|
186
|
-
- Validación por OCR de una imagen de comprobante.
|
|
187
|
-
- Beneficiarios, importación masiva y finanzas.
|
|
188
|
-
|
|
189
|
-
[No publicado]: https://github.com/veriko-mx-labs/veriko-js/compare/v0.4.2...HEAD
|
|
190
|
-
[0.4.2]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.4.2
|
|
191
|
-
[0.4.1]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.4.1
|
|
192
|
-
[0.4.0]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.4.0
|
|
193
|
-
[0.3.1]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.3.1
|
|
194
|
-
[0.3.0]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.3.0
|
|
195
|
-
[0.2.0]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.2.0
|
|
196
|
-
[0.1.0]: https://github.com/veriko-mx-labs/veriko-js/releases/tag/v0.1.0
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# @veriko-mx/sdk · SDK de JavaScript y TypeScript para la API
|
|
1
|
+
# @veriko-mx/sdk · SDK de JavaScript y TypeScript para la API de Veriko
|
|
2
2
|
|
|
3
|
-
Cliente oficial de [Veriko](https://veriko.mx) para Node.
|
|
4
|
-
contra el CEP de Banco de México, descarga el comprobante
|
|
5
|
-
webhooks.
|
|
3
|
+
Cliente oficial de [Veriko](https://veriko.mx) para Node.
|
|
4
|
+
Valida transferencias SPEI mexicanas contra el CEP de Banco de México, descarga el comprobante
|
|
5
|
+
oficial y verifica la firma de los webhooks.
|
|
6
6
|
|
|
7
7
|
Sin dependencias de runtime. Tipos generados del spec de OpenAPI. Node 18 o superior, en ESM y en
|
|
8
8
|
CommonJS.
|
|
@@ -46,9 +46,6 @@ La API consulta el CEP y devuelve un veredicto en el campo `status`:
|
|
|
46
46
|
| `invalid` | Los datos enviados no forman una consulta válida |
|
|
47
47
|
| `error` | Fallo durante el procesamiento; el motivo viaja en `error_code` |
|
|
48
48
|
|
|
49
|
-
La distinción entre `not_found` y `cep_unavailable` es la que importa al integrar: el primero es
|
|
50
|
-
una respuesta de Banxico sobre la transferencia, el segundo es la ausencia de respuesta.
|
|
51
|
-
|
|
52
49
|
Con veredicto `valid`, el comprobante queda disponible en XML y en PDF.
|
|
53
50
|
|
|
54
51
|
## Las familias de operaciones
|
|
@@ -226,7 +223,7 @@ const endpoint = await client.webhooks.create({
|
|
|
226
223
|
events: ['validation.completed'],
|
|
227
224
|
});
|
|
228
225
|
|
|
229
|
-
console.log(endpoint.attributes.secret); //
|
|
226
|
+
console.log(endpoint.attributes.secret); // 64 hex
|
|
230
227
|
```
|
|
231
228
|
|
|
232
229
|
El secreto de firma viaja **una sola vez**, en esta respuesta. Si se pierde,
|
|
@@ -271,7 +268,7 @@ console.log(found.attributes.bank_name);
|
|
|
271
268
|
```
|
|
272
269
|
|
|
273
270
|
La lista completa se recorre con `client.beneficiaries.list()`, que no pagina, y `delete()` archiva una cuenta sin
|
|
274
|
-
borrarla: `list({ withArchived: true })` devuelve sólo las archivadas. `export()` la
|
|
271
|
+
borrarla: `list({ withArchived: true })` devuelve sólo las archivadas. `export()` la descarga en CSV o en
|
|
275
272
|
XLSX.
|
|
276
273
|
|
|
277
274
|
### Importación masiva
|
|
@@ -311,7 +308,7 @@ const limits = await client.usage.limits();
|
|
|
311
308
|
|
|
312
309
|
`summary()` trae la cuota del plan en curso y `limits()` los límites de tasa, que son ajenos a esa
|
|
313
310
|
cuota. `breakdown()`, `heatmap()` y `apiUsage()` desglosan el consumo, y
|
|
314
|
-
`client.usage.export({ format: 'csv' })`
|
|
311
|
+
`client.usage.export({ format: 'csv' })` descarga el registro de actividad.
|
|
315
312
|
|
|
316
313
|
## Lecturas condicionales
|
|
317
314
|
|
|
@@ -493,12 +490,11 @@ npm run gen:types # openapi-typescript sobre spec/openapi.yaml
|
|
|
493
490
|
```
|
|
494
491
|
|
|
495
492
|
La copia de `spec/openapi.yaml` sale de
|
|
496
|
-
[docs.veriko.mx/openapi.yaml](https://docs.veriko.mx/openapi.yaml),
|
|
497
|
-
|
|
498
|
-
`npm run check:spec-public` lo comprueba en cada ejecución del CI.
|
|
493
|
+
[docs.veriko.mx/openapi.yaml](https://docs.veriko.mx/openapi.yaml), y `npm run check:spec-public`
|
|
494
|
+
comprueba en cada ejecución del CI que cumple el contrato de la API.
|
|
499
495
|
|
|
500
|
-
|
|
501
|
-
|
|
496
|
+
Los ejemplos de ese spec citan un host genérico. La raíz real de la API la fija el SDK en
|
|
497
|
+
`DEFAULT_BASE_URL`.
|
|
502
498
|
|
|
503
499
|
Cada método devuelve el recurso `data` de la respuesta, tipado por el spec: `validation.attributes`,
|
|
504
500
|
`endpoint.attributes.secret`, `bank.attributes.name`.
|
|
@@ -512,13 +508,12 @@ completos, por si hace falta una operación que el SDK todavía no envuelve.
|
|
|
512
508
|
|
|
513
509
|
## Superficie M2M
|
|
514
510
|
|
|
515
|
-
El SDK cubre exactamente las 66 operaciones
|
|
516
|
-
|
|
517
|
-
`x-auth`, etiquetas ni familias. Cualquier operación que sólo admita `CookieAuth` queda fuera.
|
|
511
|
+
El SDK cubre exactamente las 66 operaciones del spec público: `security: []` para las públicas y
|
|
512
|
+
`ApiKeyAuth` para las autenticadas.
|
|
518
513
|
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
514
|
+
Entre ellas están el perfil y su política de reintentos, el resumen del panel, los dos endpoints
|
|
515
|
+
públicos de planes, las cuatro vistas de insights, las siete operaciones financieras y la
|
|
516
|
+
suscripción. Por ejemplo:
|
|
522
517
|
|
|
523
518
|
```ts
|
|
524
519
|
const profile = await client.account.myProfile();
|
|
@@ -527,14 +522,10 @@ const statement = await client.finance.getStatement({ month: '2026-04', format:
|
|
|
527
522
|
await writeFile(statement.filename, statement.content);
|
|
528
523
|
```
|
|
529
524
|
|
|
530
|
-
Los reportes mensual, por contraparte, por banco y contable conservan el
|
|
525
|
+
Los reportes mensual, por contraparte, por banco y contable conservan el valor por omisión de la API:
|
|
531
526
|
`format: 'csv'`. Usa `format: 'preview'` explícitamente cuando necesites la respuesta JSON para
|
|
532
527
|
procesarla en memoria.
|
|
533
528
|
|
|
534
|
-
La importación masiva de validaciones, las sesiones de usuario y el playground siguen fuera: sólo
|
|
535
|
-
aceptan cookie de sesión. La corrección también retira el antiguo `validateAccount()`; ya no forma
|
|
536
|
-
parte del contrato M2M público.
|
|
537
|
-
|
|
538
529
|
## Desarrollo
|
|
539
530
|
|
|
540
531
|
```bash
|
|
@@ -545,9 +536,9 @@ npm run typecheck # tsc --noEmit
|
|
|
545
536
|
npm run build # dist/esm y dist/cjs
|
|
546
537
|
```
|
|
547
538
|
|
|
548
|
-
`test/operations.test.ts` compara el conjunto completo de métodos con el spec
|
|
549
|
-
ruta contra un servidor HTTP local y falla si aparece una operación M2M sin método
|
|
550
|
-
al contrato
|
|
539
|
+
`test/operations.test.ts` compara el conjunto completo de métodos con el spec, ejerce cada
|
|
540
|
+
ruta contra un servidor HTTP local y falla si aparece una operación M2M sin método o un método ajeno
|
|
541
|
+
al contrato.
|
|
551
542
|
|
|
552
543
|
Ninguna prueba llama a la API. El arnés levanta un servidor HTTP local que sirve las respuestas
|
|
553
544
|
guardadas en [`test/recordings/`](test/recordings), recortadas de los ejemplos del spec público.
|
package/dist/cjs/client.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export declare const DEFAULT_TIMEOUT_MS = 30000;
|
|
|
7
7
|
export declare const API_KEY_ENV_VAR = "VERIKO_API_KEY";
|
|
8
8
|
export declare const BASE_URL_ENV_VAR = "VERIKO_BASE_URL";
|
|
9
9
|
/** La versión que viaja en el `User-Agent`. `test/client.test.ts` la compara con `package.json`. */
|
|
10
|
-
export declare const VERSION = "0.4.
|
|
10
|
+
export declare const VERSION = "0.4.6";
|
|
11
11
|
export interface VerikoOptions {
|
|
12
12
|
/** La clave de API. Por omisión, `VERIKO_API_KEY`. */
|
|
13
13
|
apiKey?: string;
|
package/dist/cjs/client.js
CHANGED
|
@@ -9,7 +9,7 @@ exports.DEFAULT_TIMEOUT_MS = 30_000;
|
|
|
9
9
|
exports.API_KEY_ENV_VAR = 'VERIKO_API_KEY';
|
|
10
10
|
exports.BASE_URL_ENV_VAR = 'VERIKO_BASE_URL';
|
|
11
11
|
/** La versión que viaja en el `User-Agent`. `test/client.test.ts` la compara con `package.json`. */
|
|
12
|
-
exports.VERSION = '0.4.
|
|
12
|
+
exports.VERSION = '0.4.6';
|
|
13
13
|
/**
|
|
14
14
|
* Cliente de la API de Veriko.
|
|
15
15
|
*
|