@veriko-mx/sdk 0.4.7 → 0.4.9
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 -0
- package/README.md +5 -5
- package/dist/cjs/client.d.ts +1 -1
- package/dist/cjs/client.js +1 -1
- package/dist/cjs/generated/openapi.d.ts +73 -17
- package/dist/cjs/generated/openapi.d.ts.map +1 -1
- package/dist/cjs/resources.d.ts +7 -6
- package/dist/cjs/resources.d.ts.map +1 -1
- package/dist/cjs/resources.js +11 -9
- package/dist/cjs/resources.js.map +1 -1
- package/dist/cjs/types.d.ts +6 -5
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.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 +73 -17
- package/dist/esm/generated/openapi.d.ts.map +1 -1
- package/dist/esm/resources.d.ts +7 -6
- package/dist/esm/resources.d.ts.map +1 -1
- package/dist/esm/resources.js +11 -9
- package/dist/esm/resources.js.map +1 -1
- package/dist/esm/types.d.ts +6 -5
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -117,9 +117,19 @@ export interface paths {
|
|
|
117
117
|
put?: never;
|
|
118
118
|
/**
|
|
119
119
|
* Validar una transferencia SPEI (OCR)
|
|
120
|
-
* @description Valida una transferencia SPEI a partir de
|
|
120
|
+
* @description Valida una transferencia SPEI a partir de su comprobante, en imagen o en PDF. Extrae mediante reconocimiento óptico (OCR) los datos del comprobante y los valida en **Banxico** para obtener el CEP de la transacción.
|
|
121
121
|
*
|
|
122
|
-
*
|
|
122
|
+
* El comprobante se envía como `image` o `image_url`. Si es enviado mediante una URL, el host destino deberá contar con protocolo seguro (SSL/HTTPS).
|
|
123
|
+
*
|
|
124
|
+
* {% callout type="info" %}
|
|
125
|
+
* **Comprobante en PDF:**\
|
|
126
|
+
* Se acepta un PDF de 1 a 3 páginas, con el mismo máximo de `12 MB` que una imagen.
|
|
127
|
+
* Se rechaza si está cifrado, si se modificó después de emitirse o si trae contenido activo u oculto.\
|
|
128
|
+
* Si el PDF es el CEP de Banxico, sus datos se leen de su texto sin OCR y `banxico_result._cep_upload` indica
|
|
129
|
+
* si su sello y su cadena original coinciden con los del CEP oficial. El veredicto no cambia por esa comparación.\
|
|
130
|
+
* Un PDF con más de un comprobante se rechaza con `pdf_multiple_receipts`.
|
|
131
|
+
*
|
|
132
|
+
* {% /callout %}
|
|
123
133
|
*
|
|
124
134
|
* {% callout type="info" %}
|
|
125
135
|
* El campo `cuenta_beneficiaria` permite enviar explícitamente la cuenta receptora de la transferencia, enviarlo es especialmente útil cuando la imagen no lleva este dato o lo lleva incompleto.\
|
|
@@ -137,7 +147,7 @@ export interface paths {
|
|
|
137
147
|
*
|
|
138
148
|
* {% callout type="info" %}
|
|
139
149
|
* **Modo asíncrono:**\
|
|
140
|
-
* Enviando `?async=1` en la URL,
|
|
150
|
+
* Enviando `?async=1` en la URL, el comprobante se comprueba antes de aceptar el trabajo y la respuesta es un estado HTTP `202` inmediato con el ID de la validación en el cuerpo.\
|
|
141
151
|
* \
|
|
142
152
|
* El veredicto se recoge sondeando `GET /v1/validations/{id}` hasta un estado terminal, como describe {% concept slug="async-validations" %}las operaciones asíncronas{% /concept %}.
|
|
143
153
|
*
|
|
@@ -153,10 +163,12 @@ export interface paths {
|
|
|
153
163
|
*
|
|
154
164
|
* {% callout type="warning" %}
|
|
155
165
|
* **Políticas de cobro (cuota):**\
|
|
156
|
-
* — Modo síncrono: Se descuenta la validación de la cuota al aceptar la petición, antes de comprobar
|
|
157
|
-
* — Modo asíncrono:
|
|
166
|
+
* — Modo síncrono: Se descuenta la validación de la cuota al aceptar la petición, antes de comprobar el archivo. Es decir, un archivo inválido consume una validación.\
|
|
167
|
+
* — Modo asíncrono: El archivo se comprueba primero, así que un archivo inválido no consume nada.\
|
|
158
168
|
* \
|
|
159
|
-
*
|
|
169
|
+
* Un CEP en PDF que se lee sin OCR cuenta como una validación, igual que uno leído por OCR.\
|
|
170
|
+
* \
|
|
171
|
+
* La cuota sólo se devuelve cuando la validación termina en `error` por un fallo de la plataforma. Los reintentos automáticos posteriores no consumen una validación adicional, y el cómputo está en {% concept slug="quotas-and-plans" %}cuotas y planes{% /concept %}.
|
|
160
172
|
*
|
|
161
173
|
* {% /callout %}
|
|
162
174
|
*/
|
|
@@ -343,7 +355,11 @@ export interface paths {
|
|
|
343
355
|
};
|
|
344
356
|
/**
|
|
345
357
|
* Obtener la imagen del comprobante
|
|
346
|
-
* @description Devuelve
|
|
358
|
+
* @description Devuelve el comprobante conservado de una validación por OCR, con caché privada:
|
|
359
|
+
*
|
|
360
|
+
* - Imagen: se entrega con disposición `inline`.
|
|
361
|
+
* - PDF: se entrega siempre como adjunto (`attachment`) y con `Content-Security-Policy: sandbox`,
|
|
362
|
+
* para que un navegador no lo abra dentro del propio origen.
|
|
347
363
|
*
|
|
348
364
|
* Si la validación no tiene imagen disponible, responde con un estado HTTP `404` (con `image_not_available` en el cuerpo).
|
|
349
365
|
*/
|
|
@@ -2051,6 +2067,11 @@ export interface components {
|
|
|
2051
2067
|
* @example pro
|
|
2052
2068
|
*/
|
|
2053
2069
|
plan_slug?: string;
|
|
2070
|
+
/**
|
|
2071
|
+
* @description Nombre visible del plan activo, tal como lo muestra el catálogo de planes. Es `null` cuando no se pudo leer el catálogo.
|
|
2072
|
+
* @example Pro
|
|
2073
|
+
*/
|
|
2074
|
+
plan_name?: string | null;
|
|
2054
2075
|
/**
|
|
2055
2076
|
* @description Estado actual de la suscripción según el ciclo de facturación. `active`: Al corriente; `trialing`: En periodo de prueba; `past_due`: Con cobros pendientes; `canceled`: Cancelada; `paused`: En pausa.
|
|
2056
2077
|
* @example active
|
|
@@ -2339,11 +2360,16 @@ export interface components {
|
|
|
2339
2360
|
*/
|
|
2340
2361
|
etag_version?: number | null;
|
|
2341
2362
|
/**
|
|
2342
|
-
* @description Referencia relativa
|
|
2363
|
+
* @description Referencia relativa del comprobante, imagen o PDF (solo si `validation_type` es del tipo `ocr`).
|
|
2343
2364
|
* @example ocr/2026/04/a1b2c3d4.jpg
|
|
2344
2365
|
*/
|
|
2345
2366
|
image_path?: string | null;
|
|
2346
|
-
/**
|
|
2367
|
+
/**
|
|
2368
|
+
* @description Campos extraídos del comprobante (solo si `validation_type` es del tipo `ocr`).
|
|
2369
|
+
*
|
|
2370
|
+
* `extraction_source` vale `cep_pdf` cuando el comprobante era el CEP de Banxico en PDF y sus datos se leyeron
|
|
2371
|
+
* de su texto, sin OCR. `comprobantes_detectados` es el número de comprobantes que se encontraron en un PDF.
|
|
2372
|
+
*/
|
|
2347
2373
|
ocr_result?: {
|
|
2348
2374
|
[key: string]: unknown;
|
|
2349
2375
|
} | null;
|
|
@@ -2365,11 +2391,16 @@ export interface components {
|
|
|
2365
2391
|
* @description Datos devueltos por Banxico. Las propiedades tipadas abajo son las 20 que declara el esquema oficial del complemento SPEI.
|
|
2366
2392
|
*
|
|
2367
2393
|
* `_ocr_correction` conserva los campos corregidos, su lectura original (`requested`), el valor consultado (`used`) y la confirmación (`confirmed_by`). `status_query` indica una hipótesis confirmada por la consulta de estado; `cep` indica que también se obtuvo el comprobante. La consulta de estado por sí sola no verifica una transferencia.
|
|
2394
|
+
*
|
|
2395
|
+
* `_cep_upload` aparece cuando el comprobante subido era el CEP en PDF y Banxico confirmó el pago.
|
|
2396
|
+
* `authenticated` es `true` cuando su sello y su cadena original coinciden con los del CEP oficial;
|
|
2397
|
+
* con `false`, `differing_fields` lista los campos que difieren y `normalization_warnings` lo avisa.
|
|
2398
|
+
* El veredicto sigue siendo el de Banxico.
|
|
2368
2399
|
*/
|
|
2369
2400
|
banxico_result?: ({
|
|
2370
2401
|
/**
|
|
2371
|
-
* @description Fecha de la operación tal como la reporta el CEP de Banxico (`
|
|
2372
|
-
* @example
|
|
2402
|
+
* @description Fecha de la operación tal como la reporta el CEP de Banxico (`AAAA-MM-DD`).
|
|
2403
|
+
* @example 2025-03-15
|
|
2373
2404
|
*/
|
|
2374
2405
|
operationDate?: string;
|
|
2375
2406
|
/**
|
|
@@ -2530,17 +2561,17 @@ export interface components {
|
|
|
2530
2561
|
playground?: boolean;
|
|
2531
2562
|
};
|
|
2532
2563
|
};
|
|
2533
|
-
/** @description Cuerpo de `POST /v1/validate-ocr` con
|
|
2564
|
+
/** @description Cuerpo de `POST /v1/validate-ocr` con el comprobante en `image` o `image_url`; exige al menos uno de ambos campos. */
|
|
2534
2565
|
OcrValidationRequest: {
|
|
2535
2566
|
/**
|
|
2536
2567
|
* Format: byte
|
|
2537
|
-
* @description
|
|
2568
|
+
* @description Comprobante codificado en base64, en imagen o en PDF. Si también se proporciona `image_url`, solo se considera `image`. Formatos aceptados: JPEG, PNG, WebP o PDF de 1 a 3 páginas. Tamaño máximo: `12 MB`. Dimensiones máximas de una imagen: `12000px` por lado. Admite el prefijo `data:image/...;base64,` o `data:application/pdf;base64,`.
|
|
2538
2569
|
* @example iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==
|
|
2539
2570
|
*/
|
|
2540
2571
|
image?: string;
|
|
2541
2572
|
/**
|
|
2542
2573
|
* Format: uri
|
|
2543
|
-
* @description URL pública (HTTPS)
|
|
2574
|
+
* @description URL pública (HTTPS) del comprobante. Sigue los mismos límites de formato y tamaño que `image`: JPEG, PNG, WebP o PDF de 1 a 3 páginas, con un máximo de `12 MB`.
|
|
2544
2575
|
* @example https://storage.example.com/receipts/comprobante-2025-03.jpg
|
|
2545
2576
|
*/
|
|
2546
2577
|
image_url?: string;
|
|
@@ -4189,6 +4220,17 @@ export interface components {
|
|
|
4189
4220
|
tone: "ok" | "warn" | "danger";
|
|
4190
4221
|
resets_at: components["schemas"]["TimestampUTC"];
|
|
4191
4222
|
next_reset_at: components["schemas"]["TimestampUTC"];
|
|
4223
|
+
/**
|
|
4224
|
+
* @description Origen de esta cuota: `cycle` (ciclo de suscripción de siempre) o `trial` (asignación de prueba inicial de una cuenta sin reclamar el plan). Aditivo.
|
|
4225
|
+
* @example cycle
|
|
4226
|
+
* @enum {string}
|
|
4227
|
+
*/
|
|
4228
|
+
quota_kind?: "cycle" | "trial";
|
|
4229
|
+
/**
|
|
4230
|
+
* @description `true` cuando esta cuota se repone al iniciar el siguiente ciclo. `false` para `quota_kind=trial`.
|
|
4231
|
+
* @example true
|
|
4232
|
+
*/
|
|
4233
|
+
renews?: boolean;
|
|
4192
4234
|
};
|
|
4193
4235
|
/** @description Historial mensual de consumo para el número de meses solicitado. */
|
|
4194
4236
|
GetUsageHistoryAttributes: {
|
|
@@ -4964,6 +5006,17 @@ export interface components {
|
|
|
4964
5006
|
*/
|
|
4965
5007
|
remaining?: number;
|
|
4966
5008
|
resets_at?: components["schemas"]["TimestampUTC"];
|
|
5009
|
+
/**
|
|
5010
|
+
* @description Origen de esta cuota: `cycle` (ciclo de suscripción de siempre) o `trial` (asignación de prueba inicial de una cuenta sin reclamar el plan). Aditivo — un cliente que no lo lea sigue funcionando igual.
|
|
5011
|
+
* @example cycle
|
|
5012
|
+
* @enum {string}
|
|
5013
|
+
*/
|
|
5014
|
+
quota_kind?: "cycle" | "trial";
|
|
5015
|
+
/**
|
|
5016
|
+
* @description `true` cuando esta cuota se repone al iniciar el siguiente ciclo. `false` para `quota_kind=trial`: `resets_at` es el fin del periodo técnico, no una promesa de más unidades.
|
|
5017
|
+
* @example true
|
|
5018
|
+
*/
|
|
5019
|
+
renews?: boolean;
|
|
4967
5020
|
};
|
|
4968
5021
|
/** @description Suscripción activa y resumen de cuota devueltos por `GET /v1/billing/subscription`. */
|
|
4969
5022
|
BillingSubscriptionResponse: components["schemas"]["SuccessEnvelope"] & {
|
|
@@ -5371,7 +5424,7 @@ export interface operations {
|
|
|
5371
5424
|
401: components["responses"]["Unauthorized"];
|
|
5372
5425
|
409: components["responses"]["IdempotencyKeyInProgress"];
|
|
5373
5426
|
413: components["responses"]["PayloadTooLarge"];
|
|
5374
|
-
/** @description La imagen o los datos de la petición no son válidos. Códigos posibles: `image_or_image_url_required`, `invalid_image`, `invalid_image_format`, `image_too_large`, `invalid_url`, `invalid_url_scheme`, `url_ssrf_blocked`, `invalid_clabe_checksum`. También puede devolver: `image_too_small`, `image_mime_mismatch`, `image_dimensions_too_large`, `image_decompression_bomb`, `image_polyglot_detected`, `image_url_unreachable`, `image_url_too_large`, `image_url_too_many_redirects`. En modo asíncrono, un fallo genérico de la imagen se reporta como `image_invalid`. Reutilizar `Idempotency-Key` con un cuerpo distinto produce `idempotency_key_reused`. */
|
|
5427
|
+
/** @description La imagen o los datos de la petición no son válidos. Códigos posibles: `image_or_image_url_required`, `invalid_image`, `invalid_image_format`, `image_too_large`, `invalid_url`, `invalid_url_scheme`, `url_ssrf_blocked`, `invalid_clabe_checksum`. También puede devolver: `image_too_small`, `image_mime_mismatch`, `image_dimensions_too_large`, `image_decompression_bomb`, `image_polyglot_detected`, `image_url_unreachable`, `image_url_too_large`, `image_url_too_many_redirects`. Con un PDF: `pdf_invalid_structure`, `pdf_encrypted`, `pdf_active_content`, `pdf_hidden_content`, `pdf_modified_after_issue`, `pdf_too_many_pages`, `pdf_unsupported_image`, `pdf_text_layer_too_large` y `pdf_multiple_receipts`. En modo asíncrono, un fallo genérico de la imagen se reporta como `image_invalid`. Reutilizar `Idempotency-Key` con un cuerpo distinto produce `idempotency_key_reused`. */
|
|
5375
5428
|
422: {
|
|
5376
5429
|
headers: {
|
|
5377
5430
|
[name: string]: unknown;
|
|
@@ -5946,15 +5999,17 @@ export interface operations {
|
|
|
5946
5999
|
};
|
|
5947
6000
|
requestBody?: never;
|
|
5948
6001
|
responses: {
|
|
5949
|
-
/** @description
|
|
6002
|
+
/** @description Comprobante. `Content-Type` indica `image/png`, `image/jpeg`, `image/webp` o `application/pdf` según el formato; cualquier otro contenido se entrega como `application/octet-stream`. */
|
|
5950
6003
|
200: {
|
|
5951
6004
|
headers: {
|
|
5952
|
-
/** @description
|
|
6005
|
+
/** @description `inline` para una imagen y `attachment` para un PDF, con un nombre derivado del identificador de la validación y la extensión del formato. */
|
|
5953
6006
|
"Content-Disposition"?: string;
|
|
5954
6007
|
/** @description Permite un caché privado durante 1 hora. */
|
|
5955
6008
|
"Cache-Control"?: string;
|
|
5956
6009
|
/** @description Restringe el uso del recurso al mismo origen. */
|
|
5957
6010
|
"Cross-Origin-Resource-Policy"?: string;
|
|
6011
|
+
/** @description Sólo con un PDF. `sandbox` impide ejecutar scripts y trata el documento como de otro origen si un visor lo abre. */
|
|
6012
|
+
"Content-Security-Policy"?: string;
|
|
5958
6013
|
/** @description Impide que el navegador deduzca un tipo de contenido distinto. */
|
|
5959
6014
|
"X-Content-Type-Options"?: string;
|
|
5960
6015
|
[name: string]: unknown;
|
|
@@ -5963,6 +6018,7 @@ export interface operations {
|
|
|
5963
6018
|
"image/png": string;
|
|
5964
6019
|
"image/jpeg": string;
|
|
5965
6020
|
"image/webp": string;
|
|
6021
|
+
"application/pdf": string;
|
|
5966
6022
|
"application/octet-stream": string;
|
|
5967
6023
|
};
|
|
5968
6024
|
};
|