@veriko-mx/sdk 0.4.5 → 0.4.7

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 CHANGED
@@ -7,6 +7,24 @@ versiones según [SemVer](https://semver.org/lang/es/).
7
7
 
8
8
  Sin cambios todavía.
9
9
 
10
+ ## [0.4.7] — 2026-09-26
11
+
12
+ ### Añadido
13
+
14
+ - El webhook de validación trae `data.attributes.banxico_confirmed` cuando
15
+ Banxico ya confirmó el pago: monto, fecha, clave de rastreo, ambos bancos y
16
+ la cuenta del beneficiario enmascarada.
17
+
18
+ ## [0.4.6] — 2026-09-24
19
+
20
+ ### Cambiado
21
+
22
+ - Los tipos siguen la versión 1.60.0 del spec público. Las respuestas `429`
23
+ declaran `meta.retry_after`, con el mismo valor que la cabecera `Retry-After`.
24
+ - Las descripciones de los tipos documentan los códigos de error de validación y
25
+ de filtros: `invalid_bank_code`, `intra_bank_no_cep`, `invalid_field_type`,
26
+ `invalid_filter` y `webhook_description_too_long`.
27
+
10
28
  ## [0.4.5] — 2026-09-22
11
29
 
12
30
  Sin cambios en la API. Actualiza documentación y metadatos.
package/README.md CHANGED
@@ -370,6 +370,14 @@ para decidir el código de respuesta aparte. La comparación es en tiempo consta
370
370
 
371
371
  El receptor completo está en [`examples/express-webhook.mjs`](examples/express-webhook.mjs).
372
372
 
373
+ ### Lo que Banxico confirmó
374
+
375
+ Cuando `banxico_status` es `valid`, o `returned` con CEP descargado, `evento.data.attributes`
376
+ trae además `banxico_confirmed`: el monto, la fecha, la clave de rastreo, ambos bancos y la cuenta
377
+ del beneficiario (enmascarada a los últimos 4 dígitos), tal como los confirmó Banxico. Compáralo
378
+ contra el pedido antes de liberar la mercancía: la imagen de un comprobante puede mostrar un monto
379
+ distinto al que Banxico confirmó.
380
+
373
381
  ### Las cuatro cabeceras de una entrega
374
382
 
375
383
  | cabecera | contenido |
@@ -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.5";
10
+ export declare const VERSION = "0.4.7";
11
11
  export interface VerikoOptions {
12
12
  /** La clave de API. Por omisión, `VERIKO_API_KEY`. */
13
13
  apiKey?: string;
@@ -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.5';
12
+ exports.VERSION = '0.4.7';
13
13
  /**
14
14
  * Cliente de la API de Veriko.
15
15
  *
@@ -642,6 +642,7 @@ export interface paths {
642
642
  /**
643
643
  * Iniciar importación masiva de beneficiarios
644
644
  * @description Sube un archivo (CSV, XLS, XLSX, TXT o PDF) de hasta 20 MB y abre con él un trabajo de importación.
645
+ * Las hojas XLSX/XLS admiten hasta 10 000 filas y 64 columnas. Las fórmulas XLSX se leen como texto, sin ejecutarlas. Los PDF admiten hasta 50 páginas y limitan a 8 MiB la descompresión de cada flujo.
645
646
  *
646
647
  * El modo de lectura decide cuánto trabajo hace el archivo y cuánto el servidor:
647
648
  *
@@ -1966,6 +1967,16 @@ export interface components {
1966
1967
  /** @description Identificador del recurso, único dentro de su `type`. Viaja siempre como cadena, incluso cuando su origen es una columna autonumérica. */
1967
1968
  id?: string;
1968
1969
  };
1970
+ /**
1971
+ * Format: date-time
1972
+ * @description Timestamp ISO 8601 en UTC con sufijo `Z` explícito; por ejemplo,
1973
+ * `"2026-05-01T05:14:38Z"`.
1974
+ *
1975
+ * Los campos `*_at`, `*_end`, `*_start` y `*_date` adoptan esta forma.
1976
+ * `meta.datetime` describe el mismo contrato en la respuesta.
1977
+ * @example 2026-05-01T05:14:38Z
1978
+ */
1979
+ TimestampUTC: string;
1969
1980
  /** @description Conjunto consolidado del usuario autenticado que devuelve `GET /v1/users/me`: perfil, metadatos de la clave de API, suscripción activa, estado de la autenticación de 2 factores (2FA), permisos del rol y resumen de notificaciones en una sola llamada. */
1970
1981
  UserMeBundle: {
1971
1982
  /**
@@ -2118,16 +2129,6 @@ export interface components {
2118
2129
  */
2119
2130
  _warnings?: ("subscription_unavailable" | "permissions_unavailable" | "notifications_unread_count_unavailable" | "notifications_push_unavailable" | "notifications_telegram_unavailable" | "legal_accepted_unavailable")[];
2120
2131
  };
2121
- /**
2122
- * Format: date-time
2123
- * @description Timestamp ISO 8601 en UTC con sufijo `Z` explícito; por ejemplo,
2124
- * `"2026-05-01T05:14:38Z"`.
2125
- *
2126
- * Los campos `*_at`, `*_end`, `*_start` y `*_date` adoptan esta forma.
2127
- * `meta.datetime` describe el mismo contrato en la respuesta.
2128
- * @example 2026-05-01T05:14:38Z
2129
- */
2130
- TimestampUTC: string;
2131
2132
  /** @description Política de reintentos de una validación: activación, límite, intervalo y resultados elegibles. */
2132
2133
  RetryPolicy: {
2133
2134
  /**
@@ -2165,12 +2166,12 @@ export interface components {
2165
2166
  fecha: string;
2166
2167
  /**
2167
2168
  * Format: double
2168
- * @description Importe de la transferencia (en pesos mexicanos — MXN), mayor que cero y con hasta dos decimales.
2169
+ * @description Importe de la transferencia (en pesos mexicanos — MXN), mayor que cero y con hasta dos decimales. No se acepta en notación científica (por ejemplo `1e-5`) cuando se envía como texto.
2169
2170
  * @example 15000.5
2170
2171
  */
2171
2172
  monto: number;
2172
2173
  /**
2173
- * @description Clave de rastreo de la transferencia (entre 1 a 30 caracteres). Acepta letras, números, guiones, diagonales y espacios. Requerida si `referencia_numerica` no es enviada; ambas pueden incluirse simultáneamente para mayor precisión de búsqueda.
2174
+ * @description Clave de rastreo de la transferencia (entre 1 a 30 caracteres). Acepta letras, números, guiones, diagonales y espacios. Se recorta y se le quitan caracteres invisibles de ancho cero antes de validarse, para que la misma clave copiada y pegada compare igual en toda la plataforma. Requerida si `referencia_numerica` no es enviada; ambas pueden incluirse simultáneamente para mayor precisión de búsqueda.
2174
2175
  * @example MXBA20250315001234
2175
2176
  */
2176
2177
  clave_rastreo?: string;
@@ -2190,7 +2191,7 @@ export interface components {
2190
2191
  */
2191
2192
  receptor?: string;
2192
2193
  /**
2193
- * @description Cuenta bancaria receptora de la transferencia. Puede ser CLABE (18 dígitos), tarjeta (16 dígitos) o celular DiMo (10 dígitos), y el tipo se identifica por la longitud. Para celular DiMo, si el banco receptor no puede resolverse por el campo `receptor`, por los beneficiarios registrados ni por el directorio de cuentas, la respuesta es un estado HTTP `422` (con `bank_code_unresolvable_for_phone` en el cuerpo).
2194
+ * @description Cuenta bancaria receptora de la transferencia. Puede ser CLABE (18 dígitos), tarjeta (16 dígitos) o celular DiMo (10 dígitos), y el tipo se identifica por la longitud de sus dígitos. Los espacios y guiones que separan grupos ("0121 8000 4412 345678") se ignoran automáticamente antes de contar la longitud. Para celular DiMo, si el banco receptor no puede resolverse por el campo `receptor`, por los beneficiarios registrados ni por el directorio de cuentas, la respuesta es un estado HTTP `422` (con `bank_code_unresolvable_for_phone` en el cuerpo).
2194
2195
  * @example 012180004412345678
2195
2196
  */
2196
2197
  cuenta_beneficiaria?: string;
@@ -2361,13 +2362,76 @@ export interface components {
2361
2362
  /** @description Indica si el número de tarjeta está enmascarado en el comprobante cargado (solo si `validation_type` es del tipo `ocr`). */
2362
2363
  is_masked?: boolean | null;
2363
2364
  /**
2364
- * @description Datos devueltos por Banxico.
2365
+ * @description Datos devueltos por Banxico. Las propiedades tipadas abajo son las 20 que declara el esquema oficial del complemento SPEI.
2365
2366
  *
2366
2367
  * `_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.
2367
2368
  */
2368
- banxico_result?: {
2369
+ banxico_result?: ({
2370
+ /**
2371
+ * @description Fecha de la operación tal como la reporta el CEP de Banxico (`DD-MM-AAAA`).
2372
+ * @example 15-03-2025
2373
+ */
2374
+ operationDate?: string;
2375
+ /**
2376
+ * @description Hora de la operación tal como la reporta el CEP de Banxico (`HH:MM:SS`).
2377
+ * @example 14:22:10
2378
+ */
2379
+ processingTime?: string;
2380
+ /** @description Clave de la operación dentro del sistema SPEI (`ClaveSPEI` del CEP). Distinta de la clave de rastreo. */
2381
+ speiKey?: string;
2382
+ /**
2383
+ * @description Clave de rastreo de la operación SPEI — la misma que se envía en la petición de validación.
2384
+ * @example MBAN01002503151422ABCDEF
2385
+ */
2386
+ trackingKey?: string;
2387
+ /** @description Sello digital del CEP (`sello`) — la firma que Banxico calcula sobre la operación. */
2388
+ digitalSignature?: string;
2389
+ /** @description Número del certificado digital que Banxico usó para sellar el CEP. */
2390
+ certificateNumber?: string;
2391
+ /** @description Cadena original de la operación (`cadenaCDA`): los 47 campos que la institución envió a Banxico, separados por `|`, incluidas ambas fechas (operación y captura) y el tipo de pago. Permite auditar el CEP sin volver a pedirlo. */
2392
+ cadenaCda?: string;
2393
+ /**
2394
+ * @description Banco emisor de la operación, tal como lo identifica el CEP.
2395
+ * @example BBVA
2396
+ */
2397
+ senderBank?: string;
2398
+ /** @description Nombre del ordenante de la operación, tal como lo reporta el CEP. */
2399
+ senderName?: string;
2400
+ /** @description Tipo de cuenta del ordenante (por ejemplo, CLABE o tarjeta), tal como lo reporta el CEP. */
2401
+ senderAccountType?: string;
2402
+ /** @description Cuenta del ordenante, tal como la reporta el CEP, sin enmascarar en este recurso (consulta privada, propia del dueño de la validación). */
2403
+ senderAccount?: string;
2404
+ /** @description RFC del ordenante, tal como lo reporta el CEP. */
2405
+ senderRfc?: string;
2406
+ /**
2407
+ * @description Banco receptor de la operación, tal como lo identifica el CEP.
2408
+ * @example STP
2409
+ */
2410
+ receiverBank?: string;
2411
+ /** @description Nombre del beneficiario de la operación, tal como lo reporta el CEP. */
2412
+ beneficiaryName?: string;
2413
+ /** @description Tipo de cuenta del beneficiario (por ejemplo, CLABE o tarjeta), tal como lo reporta el CEP. */
2414
+ beneficiaryAccountType?: string;
2415
+ /** @description Cuenta del beneficiario, tal como la reporta el CEP, sin enmascarar en este recurso (consulta privada, propia del dueño de la validación). Los webhooks salientes sí la enmascaran a los últimos 4 dígitos en `banxico_confirmed.beneficiaryAccount` (ver la guía de webhooks). */
2416
+ beneficiaryAccount?: string;
2417
+ /** @description RFC del beneficiario, tal como lo reporta el CEP. */
2418
+ beneficiaryRfc?: string;
2419
+ /**
2420
+ * Format: float
2421
+ * @description Monto de la operación que Banxico confirmó por el CEP, en pesos.
2422
+ * @example 1500
2423
+ */
2424
+ amount?: number;
2425
+ /**
2426
+ * Format: float
2427
+ * @description IVA de la operación reportado por el CEP, en pesos.
2428
+ */
2429
+ iva?: number;
2430
+ /** @description Concepto de pago de la operación, tal como lo reporta el CEP. */
2431
+ paymentConcept?: string;
2432
+ } & {
2369
2433
  [key: string]: unknown;
2370
- } | null;
2434
+ }) | null;
2371
2435
  /**
2372
2436
  * @description Mensaje legible del error terminal (si aplica).
2373
2437
  * @example Banxico no respondió tras tres intentos.
@@ -2540,6 +2604,8 @@ export interface components {
2540
2604
  attributes: {
2541
2605
  /** @description Nombre del banco de la contraparte. Prioriza `receptor_name` o `emisor_name` guardado; si falta, intenta resolver el código de receptor o emisor. Si tampoco puede resolverlo, devuelve ese código o `Banco no identificado`. */
2542
2606
  bank_name?: string;
2607
+ /** @description Clave Banxico canónica (3-5 dígitos) del banco de la contraparte, resuelta por la autoridad del dominio. `null` cuando el banco no pudo resolverse. Es aditiva respecto de `bank_name`: sirve para resolver recursos/avatares por clave, nunca por el nombre visible. */
2608
+ bank_code?: string | null;
2543
2609
  /** @description Etiqueta del beneficiario receptor registrado (si existe). */
2544
2610
  beneficiary_label?: string | null;
2545
2611
  /** @description Importe de la transferencia (en pesos mexicanos — MXN). */
@@ -3765,7 +3831,7 @@ export interface components {
3765
3831
  /** @description Eventos a los que se suscribe el endpoint webhook. Entre 1 y 10. */
3766
3832
  events: ("validation.completed" | "validation.failed" | "validation.error" | "validation.retry.scheduled" | "validation.retry.resolved" | "validation.retry.exhausted" | "billing.payment_succeeded" | "billing.payment_failed" | "billing.trial_will_end" | "billing.subscription_canceled" | "billing.invoice_upcoming")[];
3767
3833
  /**
3768
- * @description Etiqueta libre para distinguir el endpoint webhook de los demás. `null` la omite; el servicio recorta el texto a 255 caracteres.
3834
+ * @description Etiqueta libre para distinguir el endpoint webhook de los demás. `null` la omite; más de 255 caracteres responde `422 webhook_description_too_long`.
3769
3835
  * @example Alta de pagos en el ERP
3770
3836
  */
3771
3837
  description?: string | null;
@@ -3781,7 +3847,7 @@ export interface components {
3781
3847
  /** @description Nuevos eventos a los que se suscribe el endpoint webhook. Sustituyen a la lista anterior. Entre 1 y 10. */
3782
3848
  events?: ("validation.completed" | "validation.failed" | "validation.error" | "validation.retry.scheduled" | "validation.retry.resolved" | "validation.retry.exhausted" | "billing.payment_succeeded" | "billing.payment_failed" | "billing.trial_will_end" | "billing.subscription_canceled" | "billing.invoice_upcoming")[];
3783
3849
  /**
3784
- * @description Nueva etiqueta libre para distinguir el endpoint webhook de los demás. `null` la elimina; el servicio recorta el texto a 255 caracteres.
3850
+ * @description Nueva etiqueta libre para distinguir el endpoint webhook de los demás. `null` la elimina; más de 255 caracteres responde `422 webhook_description_too_long`.
3785
3851
  * @example Alta de pagos en el ERP
3786
3852
  */
3787
3853
  description?: string | null;
@@ -4992,11 +5058,20 @@ export interface components {
4992
5058
  * ],
4993
5059
  * "meta": {
4994
5060
  * "version": "1.51.0",
4995
- * "request_id": "f7a8b9c0d1e2"
5061
+ * "request_id": "f7a8b9c0d1e2",
5062
+ * "retry_after": 45
4996
5063
  * }
4997
5064
  * }
4998
5065
  */
4999
- "application/json": components["schemas"]["ErrorResponse"];
5066
+ "application/json": components["schemas"]["ErrorResponse"] & {
5067
+ meta?: {
5068
+ /**
5069
+ * @description Segundos a esperar antes de reintentar. Es el mismo valor que la cabecera `Retry-After`, para clientes que no leen cabeceras HTTP.
5070
+ * @example 45
5071
+ */
5072
+ retry_after?: number;
5073
+ };
5074
+ };
5000
5075
  };
5001
5076
  };
5002
5077
  /** @description Validación asíncrona aceptada. Se debe sondear `GET /v1/validations/{id}` hasta uno de los estados terminales (`valid`, `not_found`, `cep_unavailable`, `invalid`, `returned`, `failed`, `error`). `meta.next_poll_after_seconds` indica el intervalo recomendado para el primer sondeo. */
@@ -5238,7 +5313,7 @@ export interface operations {
5238
5313
  401: components["responses"]["Unauthorized"];
5239
5314
  409: components["responses"]["IdempotencyKeyInProgress"];
5240
5315
  413: components["responses"]["PayloadTooLarge"];
5241
- /** @description Falló la validación de la petición. Códigos típicos: `clave_or_ref_required`, `required` (fecha/monto), `invalid_date`, `invalid_amount`, `invalid_account_format`, `invalid_account_length`, `invalid_clabe_checksum`, `invalid_card_luhn`, `invalid_receptor_participante`, `retry_policy_invalid`, `retry_pending_cap_exceeded`. También se emite cuando se reutiliza `Idempotency-Key` con un cuerpo distinto (`idempotency_key_reused`). */
5316
+ /** @description Falló la validación de la petición. Códigos típicos: `clave_or_ref_required`, `required` (fecha/monto), `invalid_date`, `invalid_amount`, `invalid_account_format`, `invalid_account_length`, `invalid_clabe_checksum`, `invalid_card_luhn`, `invalid_bank_code` (`emisor`/`receptor` no reconocidos), `intra_bank_no_cep` (emisor y receptor son el mismo banco), `invalid_field_type` (un campo que debe ser texto llegó como arreglo u objeto — p. ej. `emisor`, `receptor` o `referencia_numerica`), `invalid_receptor_participante`, `retry_policy_invalid`, `retry_pending_cap_exceeded`. También se emite cuando se reutiliza `Idempotency-Key` con un cuerpo distinto (`idempotency_key_reused`). */
5242
5317
  422: {
5243
5318
  headers: {
5244
5319
  [name: string]: unknown;
@@ -5341,17 +5416,17 @@ export interface operations {
5341
5416
  */
5342
5417
  type?: "direct" | "ocr";
5343
5418
  /**
5344
- * @description Filtro — Fecha inicial inclusiva, aplicada sobre la creación de la validación.
5419
+ * @description Filtro — Fecha inicial inclusiva, aplicada sobre la creación de la validación. Enviarlo como lista (`from[]=`) devuelve un estado HTTP `422` con `invalid_filter`.
5345
5420
  * @example 2025-01-01
5346
5421
  */
5347
5422
  from?: string;
5348
5423
  /**
5349
- * @description Filtro — Fecha final inclusiva, aplicada sobre la creación de la validación.
5424
+ * @description Filtro — Fecha final inclusiva, aplicada sobre la creación de la validación. Enviarlo como lista (`to[]=`) devuelve un estado HTTP `422` con `invalid_filter`.
5350
5425
  * @example 2025-03-31
5351
5426
  */
5352
5427
  to?: string;
5353
5428
  /**
5354
- * @description Filtro — Texto buscado, sin distinguir mayúsculas y minúsculas, en los datos enviados, normalizados y devueltos por Banxico. `%` y `_` se tratan como caracteres literales.
5429
+ * @description Filtro — Texto buscado, sin distinguir mayúsculas y minúsculas, en los datos enviados, normalizados y devueltos por Banxico. `%` y `_` se tratan como caracteres literales, y los 100 caracteres se cuentan por carácter (no por byte), así que un acento no se parte a la mitad. Si el texto, sin espacios ni guiones, queda compuesto sólo por dígitos, también se busca esa forma sin separadores contra la cuenta beneficiaria.
5355
5430
  * @example scotiabank
5356
5431
  */
5357
5432
  search?: string;
@@ -5366,22 +5441,22 @@ export interface operations {
5366
5441
  */
5367
5442
  with_deleted?: "0" | "1";
5368
5443
  /**
5369
- * @description Filtro — Identificador del trabajo de importación que generó las validaciones.
5444
+ * @description Filtro — Identificador del trabajo de importación que generó las validaciones. Enviarlo como lista (`batch_id[]=`) devuelve un estado HTTP `422` con `invalid_filter` en vez de ignorarse.
5370
5445
  * @example 42
5371
5446
  */
5372
5447
  batch_id?: number;
5373
5448
  /**
5374
- * @description Filtro — Clave SPEI del banco emisor o receptor en la petición original. Los valores que no tengan de 1 a 5 dígitos se ignoran.
5449
+ * @description Filtro — Clave SPEI del banco emisor o receptor en la petición original. Los valores que no tengan de 1 a 5 dígitos se ignoran; enviarlo como lista (`bank[]=`) devuelve un estado HTTP `422` con `invalid_filter`.
5375
5450
  * @example 012
5376
5451
  */
5377
5452
  bank?: string;
5378
5453
  /**
5379
- * @description Filtro — Importe mínimo inclusivo. Se aplica de forma independiente de `amount_max`.
5454
+ * @description Filtro — Importe mínimo inclusivo, como número. El servidor también tolera enviarlo como texto con separador de miles o símbolo de moneda ("1,000.50", "$500") y lo normaliza con el mismo algoritmo que el resto de la plataforma, pero el contrato es un número: un cliente tipado debe mandarlo así. Un valor no vacío que no se reconozca como número devuelve un estado HTTP `422` con `invalid_filter`, en vez de ignorarse en silencio. Se aplica de forma independiente de `amount_max`.
5380
5455
  * @example 1000.5
5381
5456
  */
5382
5457
  amount_min?: number;
5383
5458
  /**
5384
- * @description Filtro — Importe máximo inclusivo. Se aplica de forma independiente de `amount_min`.
5459
+ * @description Filtro — Importe máximo inclusivo, como número. Mismas reglas de tolerancia de formato y de error que `amount_min`. Se aplica de forma independiente de `amount_min`.
5385
5460
  * @example 50000
5386
5461
  */
5387
5462
  amount_max?: number;
@@ -5421,7 +5496,7 @@ export interface operations {
5421
5496
  };
5422
5497
  };
5423
5498
  401: components["responses"]["Unauthorized"];
5424
- /** @description Valor inválido para `retry_state` (código `invalid_filter`). */
5499
+ /** @description Un filtro no se pudo aplicar (código `invalid_filter`): valor no admitido en `retry_state`, `playground` o `amount_min`/`amount_max` con formato irreconocible; o tipo incorrecto en `from`, `to`, `search`, `bank` o `batch_id` (por ejemplo, enviados como lista `from[]=`). */
5425
5500
  422: {
5426
5501
  headers: {
5427
5502
  [name: string]: unknown;
@@ -6291,7 +6366,7 @@ export interface operations {
6291
6366
  401: components["responses"]["Unauthorized"];
6292
6367
  403: components["responses"]["Forbidden"];
6293
6368
  413: components["responses"]["PayloadTooLarge"];
6294
- /** @description La cuenta no pasó la validación, o el alta chocó con un tope. Los códigos posibles son `account_number_required`, `invalid_account_length`, `clabe_prefix_not_recognized`, `bank_code_required_for_phone`, `beneficiary_already_registered` y `plan_cap_exceeded`. */
6369
+ /** @description La cuenta no pasó la validación, o el alta chocó con un tope. Los códigos posibles son `account_number_required`, `account_number_invalid_type`, `label_invalid_type`, `invalid_account_length`, `clabe_prefix_not_recognized`, `bank_code_required_for_phone`, `beneficiary_already_registered` y `plan_cap_exceeded`. `account_number_invalid_type` y `label_invalid_type` aparecen cuando el campo llega con un tipo distinto de cadena de texto. Todo error de campo trae `source.pointer`. */
6295
6370
  422: {
6296
6371
  headers: {
6297
6372
  [name: string]: unknown;
@@ -6366,7 +6441,7 @@ export interface operations {
6366
6441
  403: components["responses"]["Forbidden"];
6367
6442
  404: components["responses"]["NotFound"];
6368
6443
  413: components["responses"]["PayloadTooLarge"];
6369
- /** @description El cuerpo no pasó la validación. Los códigos posibles son `no_valid_fields`, `invalid_account_length`, `clabe_prefix_not_recognized` y `bank_code_required_for_phone`. */
6444
+ /** @description El cuerpo no pasó la validación. Los códigos posibles son `no_valid_fields`, `invalid_account_length`, `clabe_prefix_not_recognized`, `bank_code_required_for_phone`, `account_number_invalid_type` y `label_invalid_type`. Las dos últimas aparecen cuando `account_number` o `label` llegan con un tipo distinto de cadena de texto (por ejemplo, un número o un arreglo). Todo error de campo trae `source.pointer`. */
6370
6445
  422: {
6371
6446
  headers: {
6372
6447
  [name: string]: unknown;
@@ -7217,7 +7292,7 @@ export interface operations {
7217
7292
  401: components["responses"]["Unauthorized"];
7218
7293
  403: components["responses"]["Forbidden"];
7219
7294
  413: components["responses"]["PayloadTooLarge"];
7220
- /** @description La URL o la lista de eventos no superan la validación, o la cuenta de usuario alcanzó su tope de endpoints. */
7295
+ /** @description La URL, la lista de eventos o `description` no superan la validación, o la cuenta de usuario alcanzó su tope de endpoints. `webhook_url_invalid_type` y `webhook_description_invalid_type` aparecen cuando el campo llega con un tipo distinto de cadena de texto; `webhook_description_too_long` cuando `description` excede 255 caracteres. Todo error de campo trae `source.pointer`. */
7221
7296
  422: {
7222
7297
  headers: {
7223
7298
  [name: string]: unknown;
@@ -7289,7 +7364,7 @@ export interface operations {
7289
7364
  };
7290
7365
  };
7291
7366
  413: components["responses"]["PayloadTooLarge"];
7292
- /** @description Datos inválidos. Códigos posibles: `webhook_url_empty`, `webhook_url_too_long`, `webhook_url_invalid_format`, `webhook_url_not_https`, `webhook_events_required`, `webhook_events_too_many`, `webhook_event_invalid`, `webhook_status_invalid`, `no_valid_fields`. */
7367
+ /** @description Datos inválidos. Códigos posibles: `webhook_url_invalid_type`, `webhook_url_empty`, `webhook_url_too_long`, `webhook_url_invalid_format`, `webhook_url_not_https`, `webhook_events_required`, `webhook_events_too_many`, `webhook_event_invalid`, `webhook_description_invalid_type`, `webhook_description_too_long`, `webhook_status_invalid`, `no_valid_fields`. Una `description` de más de 255 caracteres responde `webhook_description_too_long`. Todo error de campo trae `source.pointer`. */
7293
7368
  422: {
7294
7369
  headers: {
7295
7370
  [name: string]: unknown;