@veriko-mx/sdk 0.4.12 → 0.4.14
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 +27 -0
- package/README.md +41 -10
- package/dist/cjs/client.d.ts +1 -1
- package/dist/cjs/client.js +1 -1
- package/dist/cjs/generated/openapi.d.ts +599 -156
- package/dist/cjs/generated/openapi.d.ts.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/resources.d.ts +28 -12
- package/dist/cjs/resources.d.ts.map +1 -1
- package/dist/cjs/resources.js +86 -25
- package/dist/cjs/resources.js.map +1 -1
- package/dist/cjs/types.d.ts +71 -9
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/cjs/types.js +2 -0
- 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 +599 -156
- package/dist/esm/generated/openapi.d.ts.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/resources.d.ts +28 -12
- package/dist/esm/resources.d.ts.map +1 -1
- package/dist/esm/resources.js +85 -25
- package/dist/esm/resources.js.map +1 -1
- package/dist/esm/types.d.ts +71 -9
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -1
- package/package.json +1 -1
|
@@ -69,7 +69,7 @@ export interface paths {
|
|
|
69
69
|
*
|
|
70
70
|
* La cuenta beneficiaria (`cuenta_beneficiaria`) es obligatoria en esta operación, salvo que se envíe `cuentas_candidatas`. Si faltan las dos, la petición se rechaza con `422 preflight_failed` y el error de campo `cuenta_required`: el servicio no la busca entre los beneficiarios guardados.
|
|
71
71
|
*
|
|
72
|
-
* Cuando no se sabe a cuál de varias cuentas se hizo el pago, `cuentas_candidatas` sustituye a `cuenta_beneficiaria`: de 2
|
|
72
|
+
* Cuando no se sabe a cuál de varias cuentas se hizo el pago, `cuentas_candidatas` sustituye a `cuenta_beneficiaria`: de 2 cuentas al máximo que admite el servicio (3 de forma predeterminada) en una sola validación y con una sola unidad de cuota. La consulta recorre las candidatas en el orden enviado y adopta la primera que coincide con la transferencia; esa cuenta vuelve completa en `normalized_data.cuenta_beneficiaria` y su posición en `candidate_match`. Si ninguna coincide, la respuesta es un estado HTTP `422` con el motivo en `code`. Las dos formas no pueden enviarse juntas (`422 cuenta_y_candidatas_excluyentes`) y una lista que no cumple se rechaza con `422 cuentas_candidatas_invalidas`, las dos antes de consumir cuota.
|
|
73
73
|
*
|
|
74
74
|
* El veredicto final (estado terminal) de una validación puede ser alguno de estos:
|
|
75
75
|
*
|
|
@@ -139,7 +139,7 @@ export interface paths {
|
|
|
139
139
|
* 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.\
|
|
140
140
|
* Un beneficiario guardado (con `POST /v1/beneficiaries`) no sustituye a este campo: solo sirve para completar los dígitos de la cuenta que la imagen sí muestra. Si la imagen no trae dígitos suficientes, la validación se rechaza con `cuenta_unresolvable`, porque las cuentas guardadas no se prueban una por una.\
|
|
141
141
|
* \
|
|
142
|
-
* Cuando no se sabe cuál de varias cuentas recibió el pago, `cuentas_candidatas` las prueba en una sola validación (de 2
|
|
142
|
+
* Cuando no se sabe cuál de varias cuentas recibió el pago, `cuentas_candidatas` las prueba en una sola validación (de 2 cuentas al máximo que admite el servicio, 3 de forma predeterminada; una sola unidad de cuota, también con `?async=1`) y sustituye a `cuenta_beneficiaria`: enviar las dos se rechaza con `422 cuenta_y_candidatas_excluyentes`, y una lista que no cumple, con `422 cuentas_candidatas_invalidas`, las dos antes de consumir cuota. La lista tiene prioridad sobre la cuenta que se lea en la imagen; la ganadora vuelve completa en `normalized_data.cuenta_beneficiaria` y su posición en `candidate_match`. Si ninguna coincide, la respuesta es un estado HTTP `422` con el motivo en `code`.
|
|
143
143
|
*
|
|
144
144
|
* {% /callout %}
|
|
145
145
|
*
|
|
@@ -326,7 +326,7 @@ export interface paths {
|
|
|
326
326
|
};
|
|
327
327
|
/**
|
|
328
328
|
* Descargar el CEP oficial
|
|
329
|
-
* @description Descarga el {% concept slug="cep-concept" %}Comprobante Electrónico de Pago (CEP){% /concept %} emitido por Banxico de una validación con veredicto `valid
|
|
329
|
+
* @description Descarga el {% concept slug="cep-concept" %}Comprobante Electrónico de Pago (CEP){% /concept %} emitido por Banxico de una validación con veredicto `valid`, o `returned` cuando el CEP se descargó antes de conocerse la devolución.
|
|
330
330
|
*
|
|
331
331
|
* El formato predeterminado es `xml`; con `format=pdf` se solicita el documento en PDF.
|
|
332
332
|
*
|
|
@@ -438,13 +438,13 @@ export interface paths {
|
|
|
438
438
|
* **No se admite en tres casos:**\
|
|
439
439
|
* — Validaciones que llegaron por importación masiva.\
|
|
440
440
|
* — Validaciones ya resueltas.\
|
|
441
|
-
* — Validaciones
|
|
441
|
+
* — Validaciones con más de siete días de antigüedad.
|
|
442
442
|
*
|
|
443
443
|
* {% /callout %}
|
|
444
444
|
*
|
|
445
445
|
* Un ciclo de reintentos puede devolver `terminal_state="exhausted"` cuando se alcanzan el máximo de reintentos configurado. También puede devolver `terminal_state="cancelled"` cuando el usuario cancela manualmente los reintentos de la validación.
|
|
446
446
|
*
|
|
447
|
-
* En ambos casos, el ciclo puede reactivarse
|
|
447
|
+
* En ambos casos, el ciclo puede reactivarse hasta tres veces; pasado ese tope, la petición se rechaza con `422 reactivation_cap_exceeded`.
|
|
448
448
|
*
|
|
449
449
|
* El estado completo de una validación se obtiene con `GET /v1/validations/{id}`, y los límites están descritos en {% concept slug="retry-policy" %}la política de reintentos{% /concept %}.
|
|
450
450
|
*/
|
|
@@ -668,6 +668,41 @@ export interface paths {
|
|
|
668
668
|
patch?: never;
|
|
669
669
|
trace?: never;
|
|
670
670
|
};
|
|
671
|
+
"/public/spei-calendar/{year}": {
|
|
672
|
+
parameters: {
|
|
673
|
+
query?: never;
|
|
674
|
+
header?: never;
|
|
675
|
+
path?: never;
|
|
676
|
+
cookie?: never;
|
|
677
|
+
};
|
|
678
|
+
/**
|
|
679
|
+
* Obtener el calendario de días inhábiles SPEI de un año
|
|
680
|
+
* @description Devuelve el calendario de días inhábiles SPEI de un año, con la disposición oficial de la que sale.
|
|
681
|
+
*
|
|
682
|
+
* La respuesta incluye:
|
|
683
|
+
*
|
|
684
|
+
* - `non_business_days`: Los días inhábiles que caen de lunes a viernes, en orden y con formato `YYYY-MM-DD`.
|
|
685
|
+
* - `source`: La disposición de la **Comisión Nacional Bancaria y de Valores (CNBV)** publicada en el **Diario Oficial de la Federación (DOF)**, con su título y su fecha de publicación.
|
|
686
|
+
*
|
|
687
|
+
* Los sábados y los domingos también son inhábiles, siempre, y no se repiten en `non_business_days`.
|
|
688
|
+
*
|
|
689
|
+
* El calendario determina el día de operación de una transferencia. El SPEI opera todos los días, pero el día hábil cambia a las 18:00 (hora del centro de México): lo enviado a partir de esa hora, en sábado, en domingo o en un día inhábil opera el siguiente día hábil. Ese día es el `operationDate` de `banxico_result`, y puede diferir de la fecha de envío.
|
|
690
|
+
*
|
|
691
|
+
* La consulta no consume cuota de validaciones. Un año sin calendario responde un estado HTTP `404` (con `spei_calendar_year_not_covered` en el cuerpo), y `meta.covered_years` lista los años disponibles. El calendario de cada año se añade cuando la CNBV publica su disposición, normalmente en diciembre del año anterior.
|
|
692
|
+
*
|
|
693
|
+
* La respuesta es cacheable: incluye la cabecera `ETag`, que puede enviarse en otra petición como `If-None-Match`; si el calendario no ha cambiado, responde con un estado HTTP `304` (sin cuerpo).
|
|
694
|
+
*
|
|
695
|
+
* La diferencia entre la fecha de envío y la de operación está en {% concept slug="timezone-handling" %}fechas y zona horaria{% /concept %}.
|
|
696
|
+
*/
|
|
697
|
+
get: operations["getSpeiCalendar"];
|
|
698
|
+
put?: never;
|
|
699
|
+
post?: never;
|
|
700
|
+
delete?: never;
|
|
701
|
+
options?: never;
|
|
702
|
+
head?: never;
|
|
703
|
+
patch?: never;
|
|
704
|
+
trace?: never;
|
|
705
|
+
};
|
|
671
706
|
"/beneficiaries/export": {
|
|
672
707
|
parameters: {
|
|
673
708
|
query?: never;
|
|
@@ -677,7 +712,7 @@ export interface paths {
|
|
|
677
712
|
};
|
|
678
713
|
/**
|
|
679
714
|
* Exportar los beneficiarios de la cuenta de usuario
|
|
680
|
-
* @description Descarga las cuentas beneficiarias del usuario autenticado como archivo, usa el mismo filtro `with_archived` que `GET /v1/beneficiaries
|
|
715
|
+
* @description Descarga las cuentas beneficiarias del usuario autenticado como archivo, usa el mismo filtro `with_archived` que `GET /v1/beneficiaries`.
|
|
681
716
|
*
|
|
682
717
|
* El formato de descarga se elige con `?format` (`csv` por defecto, `xlsx` como alternativa). El tope de filas es de 100 000, y `?limit` sirve para pedir menos, nunca más.
|
|
683
718
|
*
|
|
@@ -719,11 +754,11 @@ export interface paths {
|
|
|
719
754
|
* - Tarjeta (16 dígitos): `bank_code` es opcional, se deriva del BIN.
|
|
720
755
|
* - Celular/DiMo (10 dígitos): `bank_code` es **obligatorio** en el cuerpo, ya que el número por sí solo no identifica a la institución bancaria.
|
|
721
756
|
*
|
|
722
|
-
* Si la cuenta a registrar no existe previamente, se registra y responde con un estado HTTP `
|
|
757
|
+
* Si la cuenta a registrar no existe previamente, se registra y responde con un estado HTTP `201`.
|
|
723
758
|
*
|
|
724
759
|
* Si se intenta registrar una cuenta activa, responde con un estado HTTP `422` (con `beneficiary_already_registered` en el cuerpo).
|
|
725
760
|
*
|
|
726
|
-
* Si existe pero está archivada, el alta la **reactiva** y responde con un estado HTTP `200` (con `meta.reactivated=true` en el cuerpo).
|
|
761
|
+
* Si existe pero está archivada, el alta la **reactiva** y responde con un estado HTTP `200` (con `meta.reactivated=true` en el cuerpo). Si la petición no trae `label`, la reactivación conserva el alias que la cuenta ya tenía; si lo trae, lo reemplaza.
|
|
727
762
|
*/
|
|
728
763
|
post: operations["createBeneficiary"];
|
|
729
764
|
delete?: never;
|
|
@@ -745,10 +780,12 @@ export interface paths {
|
|
|
745
780
|
* @description Actualiza un beneficiario ya registrado. El cuerpo admite la envoltura JSON:API o un objeto plano, y lo que se envíe determina el alcance del cambio:
|
|
746
781
|
*
|
|
747
782
|
* - Solo `label`: Se guarda, sin tocar la cuenta.
|
|
748
|
-
* - Un `account_number` nuevo
|
|
749
|
-
* - Solo `bank_code`: se aplica únicamente sobre un beneficiario de tipo celular. En una CLABE o una tarjeta el banco se deriva del número, así que el valor enviado se descarta sin error
|
|
783
|
+
* - Un `account_number` nuevo: vuelven a derivarse `account_type`, `bank_code` y `bank_name`. Si el nuevo número es un celular (phone), el cuerpo debe llevar `bank_code`.
|
|
784
|
+
* - Solo `bank_code`: se aplica únicamente sobre un beneficiario de tipo celular. En una CLABE o una tarjeta el banco se deriva del número, así que el valor enviado se descarta sin error; si era el único campo, responde con `no_valid_fields`.
|
|
750
785
|
*
|
|
751
786
|
* Un cuerpo sin ningún campo editable responde con un estado HTTP `422` (con `no_valid_fields` en el cuerpo).
|
|
787
|
+
*
|
|
788
|
+
* Si el `account_number` nuevo ya está registrado para la misma cuenta de usuario, activo o archivado, responde con un estado HTTP `422` (con `beneficiary_already_registered` en el cuerpo) y el beneficiario no cambia.
|
|
752
789
|
*/
|
|
753
790
|
put: operations["updateBeneficiary"];
|
|
754
791
|
post?: never;
|
|
@@ -797,9 +834,9 @@ export interface paths {
|
|
|
797
834
|
};
|
|
798
835
|
/**
|
|
799
836
|
* Descargar la plantilla de importación de beneficiarios
|
|
800
|
-
* @description Devuelve un **archivo plantilla para la importación de beneficiarios** en el formato solicitado, con encabezados
|
|
837
|
+
* @description Devuelve un **archivo plantilla para la importación de beneficiarios** en el formato solicitado, con los encabezados fijos `alias`, `cuenta` y `banco` y filas de ejemplo para CLABE, tarjeta y celular/DiMo. Sirve de punto de partida para {% concept slug="bulk-imports" %}la importación masiva{% /concept %}.
|
|
801
838
|
*
|
|
802
|
-
*
|
|
839
|
+
* Los encabezados no cambian con el idioma: la cabecera `Accept-Language` sólo elige el idioma de las filas de ejemplo y del nombre de la hoja; de forma predeterminada se entregan en español. La importación acepta después encabezados en ambos idiomas de forma insensible a acentos.
|
|
803
840
|
*/
|
|
804
841
|
get: operations["downloadBeneficiaryImportTemplate"];
|
|
805
842
|
put?: never;
|
|
@@ -821,7 +858,7 @@ export interface paths {
|
|
|
821
858
|
put?: never;
|
|
822
859
|
/**
|
|
823
860
|
* Iniciar importación masiva de beneficiarios
|
|
824
|
-
* @description Sube un archivo (CSV, XLS, XLSX, TXT o PDF) de hasta 20 MB y abre con él un trabajo de importación.
|
|
861
|
+
* @description Sube un archivo (CSV, XLS, XLSX, TXT, JSON o PDF) de hasta 20 MB y abre con él un trabajo de importación.
|
|
825
862
|
* 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.
|
|
826
863
|
*
|
|
827
864
|
* El modo de lectura decide cuánto trabajo hace el archivo y cuánto el servidor:
|
|
@@ -891,7 +928,7 @@ export interface paths {
|
|
|
891
928
|
* Previsualizar las filas extraídas de la importación
|
|
892
929
|
* @description Devuelve las filas extraídas del archivo en un trabajo de importación (paginadas y filtrables por grupo).
|
|
893
930
|
*
|
|
894
|
-
*
|
|
931
|
+
* Responde en cualquier estado del trabajo; antes de `preview_ready` la lista sale vacía.
|
|
895
932
|
*
|
|
896
933
|
* {% callout type="warning" %}
|
|
897
934
|
* En este endpoint los datos de CLABEs, tarjetas o celulares NO son enmascarados. Se presume que el usuario solicitante de la importación ya tiene en su poder dichos datos, por lo que no hay motivos para tratarlos bajo nuestra política de {% concept slug="pii-masking" %}enmascarado de datos{% /concept %}
|
|
@@ -972,8 +1009,8 @@ export interface paths {
|
|
|
972
1009
|
*
|
|
973
1010
|
* Reglas de la confirmación:
|
|
974
1011
|
*
|
|
975
|
-
* - Filas `valid` y `correctable`: Se persisten (con sufijo de alias si hubo colisión de alias).
|
|
976
|
-
* - Filas `fatal` y `duplicate_account`: Se omiten.
|
|
1012
|
+
* - Filas `valid` y `correctable`: Se persisten (con sufijo de alias si hubo colisión de alias). La excepción es un celular sin banco válido (`bank_code_required_for_phone` o `invalid_bank_code`): se corrige eligiendo el banco en la vista previa, y si al confirmar sigue sin banco no se guarda, queda como `fatal` con ese mismo código y cuenta en `skipped_count`.
|
|
1013
|
+
* - Filas `fatal` y `duplicate_account`: Se omiten, salvo una `duplicate_account` cuya cuenta está archivada, que se reactiva.
|
|
977
1014
|
* - Cuentas previamente archivadas con el mismo número: Se reactivan en lugar de duplicarse.
|
|
978
1015
|
*/
|
|
979
1016
|
post: operations["commitBeneficiaryImport"];
|
|
@@ -1022,9 +1059,9 @@ export interface paths {
|
|
|
1022
1059
|
* Obtener métricas de uso de la API
|
|
1023
1060
|
* @description Devuelve las métricas de uso de la API del usuario autenticado:
|
|
1024
1061
|
*
|
|
1025
|
-
* - Peticiones
|
|
1062
|
+
* - Peticiones con clave de API hoy y en el mes.
|
|
1026
1063
|
* - Cuota del plan vigente.
|
|
1027
|
-
* - Últimas peticiones
|
|
1064
|
+
* - Últimas 15 peticiones con clave de API.
|
|
1028
1065
|
* - Validaciones consumidas por mes.
|
|
1029
1066
|
* - Estado actual del servicio Banxico CEP.
|
|
1030
1067
|
*/
|
|
@@ -1048,7 +1085,7 @@ export interface paths {
|
|
|
1048
1085
|
* Obtener el resumen del panel
|
|
1049
1086
|
* @description Devuelve los contadores agregados del usuario: el total histórico, el total
|
|
1050
1087
|
* del mes UTC en curso, las validaciones con veredicto `valid`, el contador
|
|
1051
|
-
* mensual de los estados `
|
|
1088
|
+
* mensual de los estados `queued` y `processing`, el monto promedio y la
|
|
1052
1089
|
* tasa de éxito. Incluye también la cantidad de beneficiarios activos.
|
|
1053
1090
|
*
|
|
1054
1091
|
* `relationships.recent_validations` contiene las validaciones no retiradas
|
|
@@ -1136,7 +1173,10 @@ export interface paths {
|
|
|
1136
1173
|
* - `degraded`: Problemas parciales — latencia elevada o errores
|
|
1137
1174
|
* intermitentes.
|
|
1138
1175
|
* - `down`: El servicio es por el momento inaccesible.
|
|
1139
|
-
* - `unknown`:
|
|
1176
|
+
* - `unknown`: No hay datos de salud vigentes: aún no se ha ejecutado ningún
|
|
1177
|
+
* chequeo, o el último es más viejo que tres veces `check_interval_seconds`
|
|
1178
|
+
* porque el chequeo automático dejó de correr. En ese caso `last_verified_at`
|
|
1179
|
+
* conserva la fecha de ese último chequeo.
|
|
1140
1180
|
*
|
|
1141
1181
|
* La respuesta se cachea 60 segundos en el cliente con `Cache-Control`, y ese
|
|
1142
1182
|
* plazo se configura en el despliegue. Cualquier usuario autenticado puede
|
|
@@ -1229,7 +1269,7 @@ export interface paths {
|
|
|
1229
1269
|
*
|
|
1230
1270
|
* Cada endpoint puede suscribirse a diferentes eventos, entre ellos:
|
|
1231
1271
|
*
|
|
1232
|
-
* - Eventos `validation.*`:
|
|
1272
|
+
* - Eventos `validation.*`: Avisan de cada veredicto de una validación y de cada paso de sus reintentos automáticos (p. ej: `validation.completed`, `validation.error`, etc).
|
|
1233
1273
|
* - Evento `validation.returned`: avisa cuando una validación que ya había salido `valid` pasa después a `returned` porque Banxico reportó la devolución; no se emite al crear la validación, donde el evento es `validation.completed`. Para recibirlo hay que suscribirse a él además de a `validation.completed`.
|
|
1234
1274
|
* - Eventos `billing.*`: No producen entregas hasta que haya algún movimiento en la suscripción del usuario (p. ej: `billing.subscription_canceled`, `billing.payment_succeeded`, cuotas de uso, etc).
|
|
1235
1275
|
*
|
|
@@ -1403,7 +1443,7 @@ export interface paths {
|
|
|
1403
1443
|
* Listar entregas de todos los endpoints webhook
|
|
1404
1444
|
* @description Devuelve una vista consolidada de las entregas hechas a los endpoints webhook del usuario autenticado.
|
|
1405
1445
|
*
|
|
1406
|
-
* Se puede filtrar por endpoint, estado y
|
|
1446
|
+
* Se puede buscar por texto con `q` y filtrar por endpoint, estado, tipo de evento, validación, código HTTP, rango de fechas, número de intento y tiempo de respuesta.
|
|
1407
1447
|
*/
|
|
1408
1448
|
get: operations["listAllDeliveries"];
|
|
1409
1449
|
put?: never;
|
|
@@ -1424,8 +1464,7 @@ export interface paths {
|
|
|
1424
1464
|
/**
|
|
1425
1465
|
* Exportar todas las entregas webhook como CSV o XLSX
|
|
1426
1466
|
* @description Descarga el historial de entregas de **todos** los endpoints de la cuenta de usuario en
|
|
1427
|
-
* un archivo, con los mismos filtros
|
|
1428
|
-
* evento.
|
|
1467
|
+
* un archivo, con los mismos filtros y la misma búsqueda (`q`) que el listado.
|
|
1429
1468
|
*
|
|
1430
1469
|
* {% concept slug="exports-and-formats" %}El formato se elige{% /concept %} con `?format` —`csv` por defecto, `xlsx` como
|
|
1431
1470
|
* alternativa— y el tope es de 100 000 filas, que `?limit` puede bajar.
|
|
@@ -1556,8 +1595,9 @@ export interface paths {
|
|
|
1556
1595
|
};
|
|
1557
1596
|
/**
|
|
1558
1597
|
* Consultar índices de consumo mes a mes
|
|
1559
|
-
* @description Devuelve el consumo mensual de validaciones del usuario autenticado en
|
|
1560
|
-
*
|
|
1598
|
+
* @description Devuelve el consumo mensual de validaciones del usuario autenticado en hasta
|
|
1599
|
+
* `months` meses con consumo, de más reciente a más antiguo. Los meses sin
|
|
1600
|
+
* consumo no aparecen.
|
|
1561
1601
|
*
|
|
1562
1602
|
* {% callout type="warning" %}
|
|
1563
1603
|
* El límite que acompaña a cada fila es el de hoy, no el que regía aquel mes:
|
|
@@ -1582,7 +1622,7 @@ export interface paths {
|
|
|
1582
1622
|
};
|
|
1583
1623
|
/**
|
|
1584
1624
|
* Desglosar consumo por operación
|
|
1585
|
-
* @description Desglosa el consumo del periodo indicado por tipo de operación contabilizada (`validation
|
|
1625
|
+
* @description Desglosa el consumo del periodo indicado por tipo de operación contabilizada (`validation` y `sms_2fa`).
|
|
1586
1626
|
*
|
|
1587
1627
|
* El parámetro `period` acepta `current` para el mes en curso o una cadena `YYYY-MM` para un mes específico.
|
|
1588
1628
|
*/
|
|
@@ -2090,7 +2130,7 @@ export interface components {
|
|
|
2090
2130
|
api_version?: string;
|
|
2091
2131
|
/**
|
|
2092
2132
|
* @description Identificador único de la petición (hex).
|
|
2093
|
-
* @example
|
|
2133
|
+
* @example a1b2c3d4e5f66f5e4d3c2b1a
|
|
2094
2134
|
*/
|
|
2095
2135
|
request_id?: string;
|
|
2096
2136
|
datetime?: components["schemas"]["DatetimeMeta"];
|
|
@@ -2114,8 +2154,8 @@ export interface components {
|
|
|
2114
2154
|
*/
|
|
2115
2155
|
version?: string;
|
|
2116
2156
|
/**
|
|
2117
|
-
* @description Identificador único de la petición (
|
|
2118
|
-
* @example
|
|
2157
|
+
* @description Identificador único de la petición (24 caracteres hex).
|
|
2158
|
+
* @example a1b2c3d4e5f66f5e4d3c2b1a
|
|
2119
2159
|
*/
|
|
2120
2160
|
request_id?: string;
|
|
2121
2161
|
};
|
|
@@ -2138,7 +2178,7 @@ export interface components {
|
|
|
2138
2178
|
api_version?: string;
|
|
2139
2179
|
/**
|
|
2140
2180
|
* @description Identificador único de la petición (hex).
|
|
2141
|
-
* @example
|
|
2181
|
+
* @example a1b2c3d4e5f66f5e4d3c2b1a
|
|
2142
2182
|
*/
|
|
2143
2183
|
request_id?: string;
|
|
2144
2184
|
datetime?: components["schemas"]["DatetimeMeta"];
|
|
@@ -2186,17 +2226,17 @@ export interface components {
|
|
|
2186
2226
|
*/
|
|
2187
2227
|
name?: string;
|
|
2188
2228
|
/**
|
|
2189
|
-
* @description Rol de la cuenta de usuario en la organización. Decide qué permisos tienen sus sesiones — `owner`: Es la titular; `admin`: La administra; `user`: La usa
|
|
2229
|
+
* @description Rol de la cuenta de usuario en la organización. Decide qué permisos tienen sus sesiones — `owner`: Es la titular; `admin`: La administra; `user`: La usa.
|
|
2190
2230
|
* @example user
|
|
2191
2231
|
* @enum {string}
|
|
2192
2232
|
*/
|
|
2193
|
-
role?: "owner" | "admin" | "user"
|
|
2233
|
+
role?: "owner" | "admin" | "user";
|
|
2194
2234
|
/**
|
|
2195
|
-
* @description Estado de la cuenta de usuario — `active`: Permite operar con normalidad; `suspended`: Cuenta suspendida; `
|
|
2235
|
+
* @description Estado de la cuenta de usuario — `active`: Permite operar con normalidad; `suspended`: Cuenta suspendida; `revoked`: Eliminada por el usuario.
|
|
2196
2236
|
* @example active
|
|
2197
2237
|
* @enum {string}
|
|
2198
2238
|
*/
|
|
2199
|
-
status?: "active" | "suspended" | "
|
|
2239
|
+
status?: "active" | "suspended" | "revoked";
|
|
2200
2240
|
/**
|
|
2201
2241
|
* @description Zona horaria IANA con la que se presentan las fechas al usuario.
|
|
2202
2242
|
* @example America/Mexico_City
|
|
@@ -2224,7 +2264,7 @@ export interface components {
|
|
|
2224
2264
|
api_key?: {
|
|
2225
2265
|
/**
|
|
2226
2266
|
* @description Primeros 8 caracteres de la clave de API.
|
|
2227
|
-
* @example
|
|
2267
|
+
* @example veriko_
|
|
2228
2268
|
*/
|
|
2229
2269
|
prefix?: string;
|
|
2230
2270
|
/**
|
|
@@ -2278,7 +2318,7 @@ export interface components {
|
|
|
2278
2318
|
*/
|
|
2279
2319
|
enabled?: boolean;
|
|
2280
2320
|
/**
|
|
2281
|
-
* @description Canal por el que se entrega el código de autenticación (OTP) — `sms`: Por mensaje de texto; `email`: Por correo electrónico; `null`: La
|
|
2321
|
+
* @description Canal por el que se entrega el código de autenticación (OTP) — `sms`: Por mensaje de texto; `email`: Por correo electrónico; `null`: La cuenta de usuario nunca lo ha configurado. Al desactivar la 2FA se conserva el último canal usado.
|
|
2282
2322
|
* @example sms
|
|
2283
2323
|
* @enum {string|null}
|
|
2284
2324
|
*/
|
|
@@ -2311,7 +2351,7 @@ export interface components {
|
|
|
2311
2351
|
telegram_linked?: boolean;
|
|
2312
2352
|
};
|
|
2313
2353
|
/**
|
|
2314
|
-
* @description `true` cuando
|
|
2354
|
+
* @description `true` cuando no queda pendiente la aceptación de ningún documento: ni los Términos de Servicio ni el Aviso de Privacidad. `false` cuando falta la aceptación de cualquiera de los dos, o cuando el equipo exigió aceptar una versión que la cuenta todavía no ha aceptado. Gatea el modal de consentimiento post-login, que lista lo pendiente en `GET /users/me/legal/pending`.
|
|
2315
2355
|
* @example true
|
|
2316
2356
|
*/
|
|
2317
2357
|
legal_accepted?: boolean;
|
|
@@ -2354,7 +2394,7 @@ export interface components {
|
|
|
2354
2394
|
ValidationRequest: ({
|
|
2355
2395
|
/**
|
|
2356
2396
|
* Format: date
|
|
2357
|
-
* @description Fecha de la transferencia en formato ISO 8601 (YYYY-MM-DD).
|
|
2397
|
+
* @description Fecha de envío de la transferencia en formato ISO 8601 (YYYY-MM-DD). Con ella Banxico localiza el CEP, y puede diferir del día de operación que el CEP imprime (`banxico_result.operationDate`).
|
|
2358
2398
|
* @example 2025-03-15
|
|
2359
2399
|
*/
|
|
2360
2400
|
fecha: string;
|
|
@@ -2365,12 +2405,12 @@ export interface components {
|
|
|
2365
2405
|
*/
|
|
2366
2406
|
monto: number;
|
|
2367
2407
|
/**
|
|
2368
|
-
* @description Clave de rastreo de la transferencia (entre 1 a 30 caracteres). Acepta letras, números, guiones, diagonales
|
|
2408
|
+
* @description Clave de rastreo de la transferencia (entre 1 a 30 caracteres). Acepta letras, números, espacios y los signos de puntuación que admite Banxico (como guiones, diagonales, puntos, comas, `#`, `@` o `_`), pero no `<`, `>` ni la barra invertida. 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. Si vienen las dos, la consulta a Banxico se hace sólo por la clave.
|
|
2369
2409
|
* @example MXBA20250315001234
|
|
2370
2410
|
*/
|
|
2371
2411
|
clave_rastreo?: string;
|
|
2372
2412
|
/**
|
|
2373
|
-
* @description Referencia numérica de la transferencia (entre 1 y 7 dígitos). Acepta solo números y espacios. Requerida si `clave_rastreo` no es enviada
|
|
2413
|
+
* @description Referencia numérica de la transferencia (entre 1 y 7 dígitos). Acepta solo números y espacios. Requerida si `clave_rastreo` no es enviada. Si viene `clave_rastreo`, la consulta se hace sólo por la clave, y una referencia mal formada no se rechaza: se ignora y se deja un aviso.
|
|
2374
2414
|
* @example 1234567
|
|
2375
2415
|
*/
|
|
2376
2416
|
referencia_numerica?: string;
|
|
@@ -2416,15 +2456,12 @@ export interface components {
|
|
|
2416
2456
|
*/
|
|
2417
2457
|
client_ref?: string;
|
|
2418
2458
|
} & (unknown | unknown)) | unknown | unknown;
|
|
2419
|
-
/**
|
|
2420
|
-
|
|
2421
|
-
* @enum {string}
|
|
2422
|
-
*/
|
|
2423
|
-
ValidationErrorCode: "network" | "captcha" | "max_retries_exceeded" | "ttl_expired" | "preflight_failed" | "rate_limit_exhausted" | "dispatch_failed" | "bank_code_unresolvable_for_phone" | "intra_bank_no_cep" | "not_found_identity" | "not_found_account" | "not_found_amount" | "not_found_account_and_amount" | "not_found_account_or_amount";
|
|
2459
|
+
/** @description Código estable del fallo de una validación. La lista no es cerrada: un fallo inesperado trae `internal_error` y otros fallos pueden traer el código de su causa, así que trata un valor desconocido como un fallo genérico. */
|
|
2460
|
+
ValidationErrorCode: string | ("network" | "captcha" | "max_retries_exceeded" | "ttl_expired" | "preflight_failed" | "rate_limit_exhausted" | "dispatch_failed" | "bank_code_unresolvable_for_phone" | "intra_bank_no_cep" | "not_found_identity" | "not_found_account" | "not_found_amount" | "not_found_account_and_amount" | "not_found_account_or_amount" | "internal_error");
|
|
2424
2461
|
/** @description Estado completo del ciclo de reintentos, con configuración, avance y situación actual. */
|
|
2425
2462
|
RetryStateFull: {
|
|
2426
2463
|
/**
|
|
2427
|
-
* @description `true` cuando
|
|
2464
|
+
* @description `true` cuando la validación tiene reintentos configurados, aunque su ciclo ya haya terminado (`terminal_state`).
|
|
2428
2465
|
* @example true
|
|
2429
2466
|
*/
|
|
2430
2467
|
enabled?: boolean;
|
|
@@ -2510,7 +2547,7 @@ export interface components {
|
|
|
2510
2547
|
* @example 1320
|
|
2511
2548
|
*/
|
|
2512
2549
|
processing_time_ms?: number | null;
|
|
2513
|
-
/** @description Copia de los campos de la petición original. */
|
|
2550
|
+
/** @description Copia de los campos de la petición original. `fecha` conserva la fecha de envío tal como se envió, aunque Banxico haya encontrado el pago con otra (`banxico_result._fecha`). */
|
|
2514
2551
|
request_data?: {
|
|
2515
2552
|
[key: string]: unknown;
|
|
2516
2553
|
};
|
|
@@ -2545,7 +2582,7 @@ export interface components {
|
|
|
2545
2582
|
processing_started_at?: string | null;
|
|
2546
2583
|
/**
|
|
2547
2584
|
* Format: date-time
|
|
2548
|
-
* @description Fecha y hora, en ISO 8601 UTC, de expiración para validaciones en cola. Tras esta marca, la validación pasa a `
|
|
2585
|
+
* @description Fecha y hora, en ISO 8601 UTC, de expiración para validaciones en cola. Tras esta marca, la validación pasa a `error` con `error_code` `ttl_expired`.
|
|
2549
2586
|
* @example 2026-04-30T10:15:00Z
|
|
2550
2587
|
*/
|
|
2551
2588
|
expires_at?: string | null;
|
|
@@ -2556,7 +2593,7 @@ export interface components {
|
|
|
2556
2593
|
etag_version?: number | null;
|
|
2557
2594
|
/**
|
|
2558
2595
|
* @description Referencia relativa del comprobante, imagen o PDF (solo si `validation_type` es del tipo `ocr`). No se publica cuando el archivo no se conserva: ver `image_retained`.
|
|
2559
|
-
* @example
|
|
2596
|
+
* @example comprobantes/3fa85f64-5717-4562-b3fc-2c963f66afa6.jpg
|
|
2560
2597
|
*/
|
|
2561
2598
|
image_path?: string | null;
|
|
2562
2599
|
/**
|
|
@@ -2589,7 +2626,7 @@ export interface components {
|
|
|
2589
2626
|
* @example 0.94
|
|
2590
2627
|
*/
|
|
2591
2628
|
ocr_confidence?: number | null;
|
|
2592
|
-
/** @description Campos normalizados después de la extracción OCR (
|
|
2629
|
+
/** @description Campos normalizados después de la extracción OCR (si `validation_type` es del tipo `ocr`), o la cuenta ganadora en `cuenta_beneficiaria` cuando una validación directa envió `cuentas_candidatas`. Una lápida conserva aquí solo el monto. */
|
|
2593
2630
|
normalized_data?: {
|
|
2594
2631
|
[key: string]: unknown;
|
|
2595
2632
|
} | null;
|
|
@@ -2615,9 +2652,9 @@ export interface components {
|
|
|
2615
2652
|
created_at: string;
|
|
2616
2653
|
};
|
|
2617
2654
|
/**
|
|
2618
|
-
* @description Conflicto entre la cuenta enviada y la que muestra la imagen. Solo aparece en validaciones de tipo `ocr`, cuando se envió `cuenta_beneficiaria` y la imagen muestra otra cuenta completa de la misma longitud, válida y con confianza suficiente.
|
|
2655
|
+
* @description Conflicto entre la cuenta enviada y la que muestra la imagen. Solo aparece en validaciones de tipo `ocr`, cuando se envió `cuenta_beneficiaria` y la imagen muestra otra cuenta completa de la misma longitud, válida y con confianza suficiente, o una cuenta enmascarada cuyos dígitos finales visibles (3 o más) no son el final de la cuenta enviada.
|
|
2619
2656
|
*
|
|
2620
|
-
* Prevalece la cuenta enviada, que es la que se consulta en Banxico: el campo no cambia el veredicto. Si el pago fue a la cuenta de la imagen, lo esperable es un `not_found`. Solo trae los últimos 4 dígitos de cada cuenta, y el conflicto también se añade a `normalization_warnings`.
|
|
2657
|
+
* Prevalece la cuenta enviada, que es la que se consulta en Banxico: el campo no cambia el veredicto. Si el pago fue a la cuenta de la imagen, lo esperable es un `not_found`. Solo trae los últimos 4 dígitos de cada cuenta, y el conflicto también se añade a `normalization_warnings`. Con una cuenta enmascarada, `read_last4` trae los dígitos finales que el propio comprobante muestra (3 o 4), nunca más.
|
|
2621
2658
|
*/
|
|
2622
2659
|
account_conflict?: {
|
|
2623
2660
|
/**
|
|
@@ -2626,7 +2663,7 @@ export interface components {
|
|
|
2626
2663
|
*/
|
|
2627
2664
|
sent_last4: string;
|
|
2628
2665
|
/**
|
|
2629
|
-
* @description Últimos 4 dígitos de la cuenta
|
|
2666
|
+
* @description Últimos 4 dígitos de la cuenta que muestra la imagen (los visibles, 3 o 4, si está enmascarada).
|
|
2630
2667
|
* @example 9012
|
|
2631
2668
|
*/
|
|
2632
2669
|
read_last4: string;
|
|
@@ -2665,15 +2702,26 @@ export interface components {
|
|
|
2665
2702
|
* `label`, `settled`, `reversed` y `checked_at` (ISO 8601 UTC).
|
|
2666
2703
|
* Su ausencia significa que no se pudo saber, nunca que el pago esté liquidado.
|
|
2667
2704
|
* Se actualiza en cada revisión posterior, y con `devuelto` o `en_proceso_devolucion` la validación pasa a `returned`.
|
|
2705
|
+
*
|
|
2706
|
+
* `_fecha` aparece cuando Banxico no encontró el pago con la fecha enviada y sí con otra.
|
|
2707
|
+
* `used` es la fecha con la que se encontró, `requested` es la fecha con la que se consultó primero
|
|
2708
|
+
* y `reason` es el motivo por el que se probó `used`.
|
|
2709
|
+
* Valores de `reason`:
|
|
2710
|
+
* `clave_embedded_date`: La clave de rastreo incrusta otra fecha, a un día hábil SPEI o menos de la enviada;
|
|
2711
|
+
* `cutoff_18h`: La clave no incrusta fecha y el comprobante indica una hora cercana al corte de las 18:00,
|
|
2712
|
+
* así que se probó el día siguiente;
|
|
2713
|
+
* `dia_operacion`: La clave incrusta la fecha enviada, porque el comprobante trae la de operación,
|
|
2714
|
+
* y se probó un día anterior hasta el día hábil previo.
|
|
2715
|
+
* El veredicto sigue siendo el de Banxico, y `request_data.fecha` conserva la fecha enviada.
|
|
2668
2716
|
*/
|
|
2669
2717
|
banxico_result?: ({
|
|
2670
2718
|
/**
|
|
2671
|
-
* @description
|
|
2719
|
+
* @description Día hábil SPEI que Banxico asignó a la operación, tal como lo reporta el CEP (`YYYY-MM-DD`), en hora del centro de México. Puede diferir de la fecha de envío: lo enviado a partir de las 18:00, en sábado, en domingo o en un día inhábil opera el siguiente día hábil.
|
|
2672
2720
|
* @example 2025-03-15
|
|
2673
2721
|
*/
|
|
2674
2722
|
operationDate?: string;
|
|
2675
2723
|
/**
|
|
2676
|
-
* @description Hora de la operación tal como la reporta el CEP
|
|
2724
|
+
* @description Hora de la operación tal como la reporta el CEP (`HH:MM:SS`), en hora del centro de México y no en UTC.
|
|
2677
2725
|
* @example 14:22:10
|
|
2678
2726
|
*/
|
|
2679
2727
|
processingTime?: string;
|
|
@@ -2764,13 +2812,13 @@ export interface components {
|
|
|
2764
2812
|
*/
|
|
2765
2813
|
self?: string;
|
|
2766
2814
|
/**
|
|
2767
|
-
* @description URL del CEP en formato XML.
|
|
2768
|
-
* @example /v1/validations/a1b2c3d4-e5f6-
|
|
2815
|
+
* @description URL del CEP en formato XML. Solo aparece cuando `banxico_status` es `valid`, o es `returned` con comprobante, y la validación no se purgó; si no, se omite el objeto `links`.
|
|
2816
|
+
* @example /v1/validations/a1b2c3d4-e5f6-4890-abcd-ef0123456789/cep?format=xml
|
|
2769
2817
|
*/
|
|
2770
2818
|
cep_xml?: string | null;
|
|
2771
2819
|
/**
|
|
2772
|
-
* @description URL del CEP en formato PDF.
|
|
2773
|
-
* @example /v1/validations/a1b2c3d4-e5f6-
|
|
2820
|
+
* @description URL del CEP en formato PDF. Solo aparece cuando `banxico_status` es `valid`, o es `returned` con comprobante, y la validación no se purgó; si no, se omite el objeto `links`.
|
|
2821
|
+
* @example /v1/validations/a1b2c3d4-e5f6-4890-abcd-ef0123456789/cep?format=pdf
|
|
2774
2822
|
*/
|
|
2775
2823
|
cep_pdf?: string | null;
|
|
2776
2824
|
};
|
|
@@ -2839,13 +2887,13 @@ export interface components {
|
|
|
2839
2887
|
OcrValidationRequest: {
|
|
2840
2888
|
/**
|
|
2841
2889
|
* Format: byte
|
|
2842
|
-
* @description Comprobante codificado en base64, en imagen o en PDF. Si también se proporciona `image_url`, solo se considera `
|
|
2890
|
+
* @description Comprobante codificado en base64, en imagen o en PDF. Si también se proporciona `image_url`, solo se considera `image_url`. 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,`.
|
|
2843
2891
|
* @example iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mP8z8BQDwAEhQGAhKmMIQAAAABJRU5ErkJggg==
|
|
2844
2892
|
*/
|
|
2845
2893
|
image?: string;
|
|
2846
2894
|
/**
|
|
2847
2895
|
* Format: uri
|
|
2848
|
-
* @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`.
|
|
2896
|
+
* @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`. Una URL `http` responde un estado HTTP `422` (con `invalid_url_scheme` en el cuerpo), y una redirección hacia `http` no se sigue.
|
|
2849
2897
|
* @example https://storage.example.com/receipts/comprobante-2025-03.jpg
|
|
2850
2898
|
*/
|
|
2851
2899
|
image_url?: string;
|
|
@@ -2866,6 +2914,16 @@ export interface components {
|
|
|
2866
2914
|
* ]
|
|
2867
2915
|
*/
|
|
2868
2916
|
cuentas_candidatas?: string[];
|
|
2917
|
+
/**
|
|
2918
|
+
* @description **Código SPEI** del banco emisor (4 o 5 dígitos, p. ej. `40012`), para corregir el que se leyó del comprobante. Sustituye al leído antes de consultar Banxico. Un valor que no son 4 o 5 dígitos (un nombre, por ejemplo) se ignora y se conserva el leído.
|
|
2919
|
+
* @example 40012
|
|
2920
|
+
*/
|
|
2921
|
+
banco_emisor?: string;
|
|
2922
|
+
/**
|
|
2923
|
+
* @description **Código SPEI** del banco receptor (4 o 5 dígitos, p. ej. `40002`), para corregir el que se leyó del comprobante. Sustituye al leído antes de consultar Banxico. Un valor que no son 4 o 5 dígitos (un nombre, por ejemplo) se ignora y se conserva el leído.
|
|
2924
|
+
* @example 40002
|
|
2925
|
+
*/
|
|
2926
|
+
banco_receptor?: string;
|
|
2869
2927
|
/** @description Política de reintentos automáticos para esta validación. Si se omite, se aplica la política general del usuario, configurada en `PUT /v1/users/me/retry-policy`. **Los reintentos no consumen cuota de validaciones**. */
|
|
2870
2928
|
retry_policy?: components["schemas"]["RetryPolicy"];
|
|
2871
2929
|
/**
|
|
@@ -2887,7 +2945,7 @@ export interface components {
|
|
|
2887
2945
|
/** @description Estado resumido del ciclo de reintentos, con la configuración representada como `null`. */
|
|
2888
2946
|
RetryStateCompact: {
|
|
2889
2947
|
/**
|
|
2890
|
-
* @description `true` cuando
|
|
2948
|
+
* @description `true` cuando la validación tiene reintentos configurados, aunque su ciclo ya haya terminado (`terminal_state`).
|
|
2891
2949
|
* @example true
|
|
2892
2950
|
*/
|
|
2893
2951
|
enabled?: boolean;
|
|
@@ -2934,7 +2992,7 @@ export interface components {
|
|
|
2934
2992
|
id: string;
|
|
2935
2993
|
/** @description Datos mostrados en el historial de validaciones. */
|
|
2936
2994
|
attributes: {
|
|
2937
|
-
/** @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
|
|
2995
|
+
/** @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 el valor guardado cuando no es una clave numérica, o `Banco no identificado` (en inglés, `Unidentified bank`). */
|
|
2938
2996
|
bank_name?: string;
|
|
2939
2997
|
/** @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. */
|
|
2940
2998
|
bank_code?: string | null;
|
|
@@ -3425,7 +3483,7 @@ export interface components {
|
|
|
3425
3483
|
*/
|
|
3426
3484
|
bin: string;
|
|
3427
3485
|
/**
|
|
3428
|
-
* @description Nombre
|
|
3486
|
+
* @description Nombre del banco registrado para ese BIN.
|
|
3429
3487
|
* @example BBVA MEXICO
|
|
3430
3488
|
*/
|
|
3431
3489
|
bank_name: string;
|
|
@@ -3460,6 +3518,84 @@ export interface components {
|
|
|
3460
3518
|
BinLookupResponse: components["schemas"]["SuccessEnvelope"] & {
|
|
3461
3519
|
data: components["schemas"]["BinResource"];
|
|
3462
3520
|
};
|
|
3521
|
+
/** @description Calendario de días inhábiles SPEI de un año, en formato JSON:API. `id` y `attributes.year` son siempre iguales: el año del calendario. */
|
|
3522
|
+
SpeiCalendarResource: components["schemas"]["JsonApiResourceBase"] & {
|
|
3523
|
+
/**
|
|
3524
|
+
* @description Tipo de recurso JSON:API. Siempre `spei_calendar`.
|
|
3525
|
+
* @example spei_calendar
|
|
3526
|
+
* @enum {string}
|
|
3527
|
+
*/
|
|
3528
|
+
type: "spei_calendar";
|
|
3529
|
+
/**
|
|
3530
|
+
* @description Año del calendario (cuatro dígitos).
|
|
3531
|
+
* @example 2026
|
|
3532
|
+
*/
|
|
3533
|
+
id: string;
|
|
3534
|
+
/** @description Datos del calendario del año. */
|
|
3535
|
+
attributes: {
|
|
3536
|
+
/**
|
|
3537
|
+
* @description Año del calendario (cuatro dígitos). Mismo valor que `id`.
|
|
3538
|
+
* @example 2026
|
|
3539
|
+
*/
|
|
3540
|
+
year: number;
|
|
3541
|
+
/**
|
|
3542
|
+
* @description Días inhábiles que caen de lunes a viernes (`YYYY-MM-DD`), de menor a mayor. Los sábados y los domingos también son inhábiles y no se repiten aquí.
|
|
3543
|
+
* @example [
|
|
3544
|
+
* "2026-01-01",
|
|
3545
|
+
* "2026-02-02",
|
|
3546
|
+
* "2026-03-16",
|
|
3547
|
+
* "2026-04-02",
|
|
3548
|
+
* "2026-04-03",
|
|
3549
|
+
* "2026-05-01",
|
|
3550
|
+
* "2026-09-16",
|
|
3551
|
+
* "2026-11-02",
|
|
3552
|
+
* "2026-11-16",
|
|
3553
|
+
* "2026-12-25"
|
|
3554
|
+
* ]
|
|
3555
|
+
*/
|
|
3556
|
+
non_business_days: string[];
|
|
3557
|
+
/** @description Disposición oficial de la que sale el calendario. */
|
|
3558
|
+
source: {
|
|
3559
|
+
/**
|
|
3560
|
+
* @description Siglas de la autoridad que emite la disposición, por ejemplo `CNBV`.
|
|
3561
|
+
* @example CNBV
|
|
3562
|
+
*/
|
|
3563
|
+
issuer: string;
|
|
3564
|
+
/**
|
|
3565
|
+
* @description Siglas del medio oficial en el que se publicó la disposición, por ejemplo `DOF`.
|
|
3566
|
+
* @example DOF
|
|
3567
|
+
*/
|
|
3568
|
+
published_in: string;
|
|
3569
|
+
/**
|
|
3570
|
+
* Format: date
|
|
3571
|
+
* @description Fecha de publicación de la disposición (`YYYY-MM-DD`).
|
|
3572
|
+
* @example 2025-12-10
|
|
3573
|
+
*/
|
|
3574
|
+
published_on: string;
|
|
3575
|
+
/**
|
|
3576
|
+
* @description Título oficial de la disposición, en español.
|
|
3577
|
+
* @example Disposiciones de carácter general que señalan los días del año 2026 en que las entidades financieras sujetas a la supervisión de la Comisión Nacional Bancaria y de Valores deberán cerrar sus puertas y suspender operaciones
|
|
3578
|
+
*/
|
|
3579
|
+
title: string;
|
|
3580
|
+
};
|
|
3581
|
+
};
|
|
3582
|
+
};
|
|
3583
|
+
/** @description Respuesta de `GET /v1/public/spei-calendar/{year}`. Un único recurso con los días inhábiles SPEI del año y su fuente, y en `meta.covered_years` los años que tienen calendario. Un año sin calendario responde `404`, no este cuerpo. */
|
|
3584
|
+
SpeiCalendarResponse: components["schemas"]["SuccessEnvelope"] & {
|
|
3585
|
+
data: components["schemas"]["SpeiCalendarResource"];
|
|
3586
|
+
/** @description Metadatos de la respuesta. */
|
|
3587
|
+
meta?: {
|
|
3588
|
+
/**
|
|
3589
|
+
* @description Años con calendario publicado, de menor a mayor.
|
|
3590
|
+
* @example [
|
|
3591
|
+
* 2024,
|
|
3592
|
+
* 2025,
|
|
3593
|
+
* 2026
|
|
3594
|
+
* ]
|
|
3595
|
+
*/
|
|
3596
|
+
covered_years?: number[];
|
|
3597
|
+
};
|
|
3598
|
+
};
|
|
3463
3599
|
/** @description Cupo de beneficiarios activos del plan y ocupación actual de la cuenta autenticada. */
|
|
3464
3600
|
BeneficiaryCapacity: {
|
|
3465
3601
|
/** @description Tope de beneficiarios activos. `-1` significa sin tope. */
|
|
@@ -3498,12 +3634,12 @@ export interface components {
|
|
|
3498
3634
|
*/
|
|
3499
3635
|
account_type: "clabe" | "card" | "phone";
|
|
3500
3636
|
/**
|
|
3501
|
-
* @description Código SPEI (5 dígitos) del banco resuelto.
|
|
3637
|
+
* @description Código SPEI (5 dígitos) del banco resuelto. Es la cadena vacía (`""`) cuando la cuenta no tiene un banco conocido: una tarjeta cuyo BIN no está en el directorio. En ese caso `bank_name` trae un texto de relleno en el idioma de la petición.
|
|
3502
3638
|
* @example 40012
|
|
3503
3639
|
*/
|
|
3504
3640
|
bank_code: string;
|
|
3505
3641
|
/**
|
|
3506
|
-
* @description Nombre oficial del banco, resuelto a partir de su `bank_code`.
|
|
3642
|
+
* @description Nombre oficial del banco, resuelto a partir de su `bank_code`. Con un `bank_code` vacío es un texto de relleno («BIN no reconocido (411111)»), que se traduce al idioma de la petición.
|
|
3507
3643
|
* @example BBVA MEXICO
|
|
3508
3644
|
*/
|
|
3509
3645
|
bank_name: string;
|
|
@@ -3556,6 +3692,14 @@ export interface components {
|
|
|
3556
3692
|
/** @description Respuesta de `POST /v1/beneficiaries` con el beneficiario en `data`. Devuelve `201` al crear un registro nuevo, y `200` cuando reactiva una cuenta archivada con el mismo `account_number`: Ahí `meta.reactivated` viene en `true`. */
|
|
3557
3693
|
CreateBeneficiaryResponse: components["schemas"]["SuccessEnvelope"] & {
|
|
3558
3694
|
data: components["schemas"]["Beneficiary"];
|
|
3695
|
+
/** @description Metadatos del alta. */
|
|
3696
|
+
meta?: {
|
|
3697
|
+
/**
|
|
3698
|
+
* @description `true` cuando el alta reactivó una cuenta archivada con el mismo `account_number` y la respuesta es `200`. Un alta nueva (`201`) no lo incluye.
|
|
3699
|
+
* @example true
|
|
3700
|
+
*/
|
|
3701
|
+
reactivated?: boolean;
|
|
3702
|
+
};
|
|
3559
3703
|
};
|
|
3560
3704
|
/** @description Cuerpo de `PUT /v1/beneficiaries/{id}`. Acepta envoltorio JSON:API `{ data: { attributes: {...} } }` o un objeto plano. Todos los campos son opcionales — solo se actualizan los presentes. Si el cuerpo no contiene ningún campo editable, el servidor responde `422 no_valid_fields`. Hay tres rutas de actualización. Con solo `label`, se sanea y se guarda. Con un `account_number` nuevo, se vuelven a derivar `account_type`, `bank_code` y `bank_name` con las mismas reglas que `POST /v1/beneficiaries`. Con solo `bank_code`, el cambio vale únicamente si el beneficiario es de tipo `phone`: En CLABE y tarjeta se ignora sin avisar—, y deja el evento de auditoría `beneficiary.phone_bank_updated` cuando el código cambia. */
|
|
3561
3705
|
UpdateBeneficiaryRequest: {
|
|
@@ -3601,7 +3745,7 @@ export interface components {
|
|
|
3601
3745
|
*/
|
|
3602
3746
|
account_type: "clabe" | "card" | "phone";
|
|
3603
3747
|
/**
|
|
3604
|
-
* @description Código SPEI (5 dígitos) del banco resuelto.
|
|
3748
|
+
* @description Código SPEI (5 dígitos) del banco resuelto. Es la cadena vacía (`""`) para una tarjeta cuyo BIN no está en el directorio.
|
|
3605
3749
|
* @example 40012
|
|
3606
3750
|
*/
|
|
3607
3751
|
bank_code: string;
|
|
@@ -3625,12 +3769,13 @@ export interface components {
|
|
|
3625
3769
|
CreateBeneficiaryImportRequest: {
|
|
3626
3770
|
/**
|
|
3627
3771
|
* Format: binary
|
|
3628
|
-
* @description Archivo a importar. Formatos aceptados: CSV, XLS, XLSX, TXT o PDF. Tamaño máximo: 20 MB.
|
|
3772
|
+
* @description Archivo a importar. Formatos aceptados: CSV, XLS, XLSX, TXT, JSON o PDF. Tamaño máximo: 20 MB.
|
|
3629
3773
|
* @example beneficiarios-marzo.csv
|
|
3630
3774
|
*/
|
|
3631
3775
|
file: string;
|
|
3632
3776
|
/**
|
|
3633
3777
|
* @description Modo de lectura del archivo — `template`: Respeta los encabezados canónicos; `free`: Formato libre, el sistema deduce la estructura.
|
|
3778
|
+
* @default template
|
|
3634
3779
|
* @example template
|
|
3635
3780
|
* @enum {string}
|
|
3636
3781
|
*/
|
|
@@ -3686,11 +3831,11 @@ export interface components {
|
|
|
3686
3831
|
*/
|
|
3687
3832
|
status?: "pending" | "parsing" | "preview_ready" | "committing" | "completed" | "failed" | "cancelled";
|
|
3688
3833
|
/**
|
|
3689
|
-
* @description Formato del archivo subido. Aceptados: `csv`, `xls`, `xlsx`, `txt` o `pdf`.
|
|
3834
|
+
* @description Formato del archivo subido. Aceptados: `csv`, `xls`, `xlsx`, `txt`, `json` o `pdf`.
|
|
3690
3835
|
* @example csv
|
|
3691
3836
|
* @enum {string}
|
|
3692
3837
|
*/
|
|
3693
|
-
file_format?: "csv" | "xls" | "xlsx" | "txt" | "pdf";
|
|
3838
|
+
file_format?: "csv" | "xls" | "xlsx" | "txt" | "json" | "pdf";
|
|
3694
3839
|
/**
|
|
3695
3840
|
* @description Modo de lectura del archivo — `template`: Respeta los encabezados canónicos; `free`: Formato libre, el sistema deduce la estructura.
|
|
3696
3841
|
* @example template
|
|
@@ -3738,7 +3883,7 @@ export interface components {
|
|
|
3738
3883
|
*/
|
|
3739
3884
|
llm_invoked?: boolean;
|
|
3740
3885
|
/**
|
|
3741
|
-
* @description Código estable del fallo del trabajo. `null` cuando no terminó en `failed`. Por ejemplo, `file_corrupt` o `
|
|
3886
|
+
* @description Código estable del fallo del trabajo. `null` cuando no terminó en `failed`. Por ejemplo, `file_corrupt` o `empty_file`.
|
|
3742
3887
|
* @example null
|
|
3743
3888
|
*/
|
|
3744
3889
|
error_code?: string | null;
|
|
@@ -3844,7 +3989,7 @@ export interface components {
|
|
|
3844
3989
|
[key: string]: unknown;
|
|
3845
3990
|
};
|
|
3846
3991
|
/**
|
|
3847
|
-
* @description Fragmento del archivo original para diagnóstico.
|
|
3992
|
+
* @description Fragmento del archivo original para diagnóstico. Las series de 13 a 19 dígitos que no son una CLABE (18 dígitos) aparecen enmascaradas (`••••` y los últimos cuatro), igual que un número de celular de 10 dígitos cuando lo precede una etiqueta como «cuenta» o «celular», para evitar exposición de números de tarjeta en los cuerpos de depuración.
|
|
3848
3993
|
* @example {}
|
|
3849
3994
|
*/
|
|
3850
3995
|
raw_preview?: {
|
|
@@ -3981,17 +4126,17 @@ export interface components {
|
|
|
3981
4126
|
/** @description Estadísticas de uso de la API, cuota de validaciones y estado de Banxico para la cuenta. */
|
|
3982
4127
|
ApiUsage: {
|
|
3983
4128
|
/**
|
|
3984
|
-
* @description Cantidad de peticiones
|
|
4129
|
+
* @description Cantidad de peticiones del usuario con clave de API en el día calendario actual (UTC).
|
|
3985
4130
|
* @example 42
|
|
3986
4131
|
*/
|
|
3987
4132
|
requests_today?: number;
|
|
3988
4133
|
/**
|
|
3989
|
-
* @description Cantidad de peticiones
|
|
4134
|
+
* @description Cantidad de peticiones del usuario con clave de API en el mes calendario actual (UTC).
|
|
3990
4135
|
* @example 580
|
|
3991
4136
|
*/
|
|
3992
4137
|
requests_month?: number;
|
|
3993
4138
|
quota?: components["schemas"]["PlanQuotaState"];
|
|
3994
|
-
/** @description Últimas peticiones
|
|
4139
|
+
/** @description Últimas 15 peticiones del usuario con clave de API, de la más reciente a la más antigua. */
|
|
3995
4140
|
recent_requests?: {
|
|
3996
4141
|
/**
|
|
3997
4142
|
* @description Verbo HTTP de la petición. Uno de `GET`, `POST`, `PUT`, `PATCH` o `DELETE`.
|
|
@@ -4062,7 +4207,7 @@ export interface components {
|
|
|
4062
4207
|
*/
|
|
4063
4208
|
monthly_validations?: number;
|
|
4064
4209
|
/**
|
|
4065
|
-
* @description Cantidad de validaciones no retiradas del mes UTC en curso cuyo estado almacenado es `
|
|
4210
|
+
* @description Cantidad de validaciones no retiradas del mes UTC en curso cuyo estado almacenado es `queued` o `processing`.
|
|
4066
4211
|
* @example 3
|
|
4067
4212
|
*/
|
|
4068
4213
|
pending_month?: number;
|
|
@@ -4078,7 +4223,7 @@ export interface components {
|
|
|
4078
4223
|
avg_ticket?: number;
|
|
4079
4224
|
/**
|
|
4080
4225
|
* @description Tasa de éxito, expresada de `0` a `100`: `valid_validations` entre `total_validations`, redondeada a un decimal. La población histórica es la misma e incluye las validaciones retiradas y las del banco de pruebas (Playground); devuelve `0` cuando el total es `0`.
|
|
4081
|
-
* @example
|
|
4226
|
+
* @example 90.3
|
|
4082
4227
|
*/
|
|
4083
4228
|
success_rate_percent?: number;
|
|
4084
4229
|
/**
|
|
@@ -4107,11 +4252,16 @@ export interface components {
|
|
|
4107
4252
|
/**
|
|
4108
4253
|
* Format: uuid
|
|
4109
4254
|
* @description Identificador único de la validación (UUID v4).
|
|
4110
|
-
* @example a1b2c3d4-e5f6-
|
|
4255
|
+
* @example a1b2c3d4-e5f6-4890-abcd-ef0123456789
|
|
4111
4256
|
*/
|
|
4112
4257
|
id?: string;
|
|
4113
4258
|
/** @description Datos resumidos de la validación reciente mostrados en el panel. */
|
|
4114
4259
|
attributes?: {
|
|
4260
|
+
/**
|
|
4261
|
+
* @description Clave Banxico canónica del banco, si se puede resolver.
|
|
4262
|
+
* @example 40012
|
|
4263
|
+
*/
|
|
4264
|
+
bank_code?: string | null;
|
|
4115
4265
|
/**
|
|
4116
4266
|
* @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`.
|
|
4117
4267
|
* @example BBVA MEXICO
|
|
@@ -4185,6 +4335,33 @@ export interface components {
|
|
|
4185
4335
|
/** @description Veredictos que admiten reintentos automáticos. */
|
|
4186
4336
|
eligible_outcomes?: string[];
|
|
4187
4337
|
};
|
|
4338
|
+
/** @description Política de reintentos guardada de la cuenta: activación, límite, intervalo y resultados elegibles. Desactivada o sin configurar, trae `enabled=false`, `max_retries=0`, `interval_seconds=0` y `outcomes` vacío. */
|
|
4339
|
+
SavedRetryPolicy: {
|
|
4340
|
+
/**
|
|
4341
|
+
* @description `true` cuando el ciclo de reintentos está activo. Si es `false`, los demás campos pueden ser ignorados.
|
|
4342
|
+
* @example true
|
|
4343
|
+
*/
|
|
4344
|
+
enabled?: boolean;
|
|
4345
|
+
/**
|
|
4346
|
+
* @description Número máximo de reintentos automáticos. Una vez alcanzado, el ciclo pasa al estado terminal `exhausted`.
|
|
4347
|
+
* @example 3
|
|
4348
|
+
*/
|
|
4349
|
+
max_retries?: number;
|
|
4350
|
+
/**
|
|
4351
|
+
* @description Segundos de espera entre cada reintento. Valores válidos: 300–86400 (5 min a 24h).
|
|
4352
|
+
* @example 600
|
|
4353
|
+
*/
|
|
4354
|
+
interval_seconds?: number;
|
|
4355
|
+
/**
|
|
4356
|
+
* @description Resultados que originan un reintento. De forma predeterminada son `not_found`, `cep_unavailable` y `error`; la combinación `["not_found", "cep_unavailable"]` excluye `error`.
|
|
4357
|
+
* @example [
|
|
4358
|
+
* "not_found",
|
|
4359
|
+
* "cep_unavailable",
|
|
4360
|
+
* "error"
|
|
4361
|
+
* ]
|
|
4362
|
+
*/
|
|
4363
|
+
outcomes?: ("not_found" | "cep_unavailable" | "error")[];
|
|
4364
|
+
};
|
|
4188
4365
|
UserRetryPolicyResponse: components["schemas"]["SuccessEnvelope"] & {
|
|
4189
4366
|
/** @description Metadatos de la respuesta y límites efectivos de reintentos. */
|
|
4190
4367
|
meta?: {
|
|
@@ -4194,7 +4371,7 @@ export interface components {
|
|
|
4194
4371
|
data?: {
|
|
4195
4372
|
/** @enum {string} */
|
|
4196
4373
|
type?: "retry_policy";
|
|
4197
|
-
attributes?: components["schemas"]["
|
|
4374
|
+
attributes?: components["schemas"]["SavedRetryPolicy"];
|
|
4198
4375
|
};
|
|
4199
4376
|
};
|
|
4200
4377
|
/** @description Cuerpo de la petición para actualizar la política de reintentos por defecto del usuario (aplica a futuras validaciones). */
|
|
@@ -4204,7 +4381,7 @@ export interface components {
|
|
|
4204
4381
|
/** @description Estado público del servicio de verificación de Banxico, tal como lo devuelve `GET /v1/status/banxico`. Muestra el estado operativo actual y una explicación legible. */
|
|
4205
4382
|
BanxicoPublicStatus: {
|
|
4206
4383
|
/**
|
|
4207
|
-
* @description Estado agregado del servicio de verificación de Banxico — `operational`: Todas las pruebas pasan y la latencia es normal; `degraded`: Problemas parciales (latencia elevada o errores intermitentes); `down`: Servicio inaccesible; `unknown`:
|
|
4384
|
+
* @description Estado agregado del servicio de verificación de Banxico — `operational`: Todas las pruebas pasan y la latencia es normal; `degraded`: Problemas parciales (latencia elevada o errores intermitentes); `down`: Servicio inaccesible; `unknown`: no hay datos de salud vigentes, porque aún no se ha ejecutado ningún chequeo o porque el último tiene más de tres veces `check_interval_seconds` de antigüedad (el chequeo automático dejó de correr).
|
|
4208
4385
|
* @example operational
|
|
4209
4386
|
* @enum {string}
|
|
4210
4387
|
*/
|
|
@@ -4220,7 +4397,7 @@ export interface components {
|
|
|
4220
4397
|
*/
|
|
4221
4398
|
message: string;
|
|
4222
4399
|
/**
|
|
4223
|
-
* @description Timestamp del último chequeo de salud ejecutado. `null` cuando aún no se ha ejecutado ningún chequeo.
|
|
4400
|
+
* @description Timestamp del último chequeo de salud ejecutado. `null` cuando aún no se ha ejecutado ningún chequeo. Cuando `status` es `unknown` por un chequeo demasiado viejo, conserva la fecha de ese chequeo: dice desde cuándo no hay dato.
|
|
4224
4401
|
* @example 2026-04-11T15:30:00Z
|
|
4225
4402
|
*/
|
|
4226
4403
|
last_verified_at: components["schemas"]["TimestampUTC"] | null;
|
|
@@ -4368,7 +4545,7 @@ export interface components {
|
|
|
4368
4545
|
CreateWebhookRequest: {
|
|
4369
4546
|
/**
|
|
4370
4547
|
* Format: uri
|
|
4371
|
-
* @description URL receptora del webhook.
|
|
4548
|
+
* @description URL receptora del webhook. Se rechaza si resuelve a una dirección privada o si pasa de 2048 caracteres y, en producción, también si no usa HTTPS.
|
|
4372
4549
|
* @example https://example.com/webhooks/entregas
|
|
4373
4550
|
*/
|
|
4374
4551
|
url: string;
|
|
@@ -4384,7 +4561,7 @@ export interface components {
|
|
|
4384
4561
|
UpdateWebhookRequest: {
|
|
4385
4562
|
/**
|
|
4386
4563
|
* Format: uri
|
|
4387
|
-
* @description Nueva URL receptora del webhook.
|
|
4564
|
+
* @description Nueva URL receptora del webhook. Se rechaza si no resuelve a una dirección pública o si supera 2048 caracteres y, en producción, también si no usa HTTPS.
|
|
4388
4565
|
* @example https://example.com/webhooks/entregas
|
|
4389
4566
|
*/
|
|
4390
4567
|
url?: string;
|
|
@@ -4721,13 +4898,13 @@ export interface components {
|
|
|
4721
4898
|
*/
|
|
4722
4899
|
remaining: number;
|
|
4723
4900
|
/**
|
|
4724
|
-
* @description Porcentaje del límite consumido en el ciclo actual, redondeado a 2 decimales.
|
|
4901
|
+
* @description Porcentaje del límite consumido en el ciclo actual, redondeado a 2 decimales. Puede pasar de 100 si hay excedente.
|
|
4725
4902
|
* @example 70.5
|
|
4726
4903
|
*/
|
|
4727
4904
|
used_percent: number;
|
|
4728
4905
|
/**
|
|
4729
4906
|
* @description Nivel de alerta según el consumo: `ok` (<70 %), `warn` (70–89 %), `danger` (≥90 % o cuota agotada).
|
|
4730
|
-
* @example
|
|
4907
|
+
* @example warn
|
|
4731
4908
|
* @enum {string}
|
|
4732
4909
|
*/
|
|
4733
4910
|
tone: "ok" | "warn" | "danger";
|
|
@@ -4901,12 +5078,12 @@ export interface components {
|
|
|
4901
5078
|
/** @description Lista de celdas del mapa; cada entrada es una combinación de `day_of_week` y `hour_of_day` con su conteo. */
|
|
4902
5079
|
buckets?: {
|
|
4903
5080
|
/**
|
|
4904
|
-
* @description Día de la semana (0 = domingo … 6 = sábado).
|
|
5081
|
+
* @description Día de la semana en UTC (0 = domingo … 6 = sábado).
|
|
4905
5082
|
* @example 0
|
|
4906
5083
|
*/
|
|
4907
5084
|
day_of_week?: number;
|
|
4908
5085
|
/**
|
|
4909
|
-
* @description Hora del día (0–23),
|
|
5086
|
+
* @description Hora del día (0–23), en UTC.
|
|
4910
5087
|
* @example 0
|
|
4911
5088
|
*/
|
|
4912
5089
|
hour_of_day?: number;
|
|
@@ -5101,22 +5278,20 @@ export interface components {
|
|
|
5101
5278
|
*/
|
|
5102
5279
|
month?: string;
|
|
5103
5280
|
/**
|
|
5104
|
-
*
|
|
5105
|
-
* @
|
|
5106
|
-
* @example 2026-04-01T06:00:00Z
|
|
5281
|
+
* @description Inicio del mes en UTC, con formato `YYYY-MM-DD HH:MM:SS`.
|
|
5282
|
+
* @example 2026-04-01 06:00:00
|
|
5107
5283
|
*/
|
|
5108
5284
|
from_utc?: string;
|
|
5109
5285
|
/**
|
|
5110
|
-
*
|
|
5111
|
-
* @
|
|
5112
|
-
* @example 2026-05-01T06:00:00Z
|
|
5286
|
+
* @description Fin del mes en UTC (exclusivo), con formato `YYYY-MM-DD HH:MM:SS`.
|
|
5287
|
+
* @example 2026-05-01 06:00:00
|
|
5113
5288
|
*/
|
|
5114
5289
|
to_utc?: string;
|
|
5115
5290
|
};
|
|
5116
5291
|
/** @description Conteos de validaciones por veredicto, más retiros mediante borrado lógico del periodo (informativo). */
|
|
5117
5292
|
counts?: {
|
|
5118
5293
|
/**
|
|
5119
|
-
* @description Cantidad de validaciones
|
|
5294
|
+
* @description Cantidad de validaciones del periodo, incluidas las que tienen estado `pending`.
|
|
5120
5295
|
* @example 287
|
|
5121
5296
|
*/
|
|
5122
5297
|
total?: number;
|
|
@@ -5205,7 +5380,7 @@ export interface components {
|
|
|
5205
5380
|
verified_share_pct?: number;
|
|
5206
5381
|
};
|
|
5207
5382
|
/**
|
|
5208
|
-
* @description Tasa de éxito: porcentaje de validaciones con resultado `valid` sobre
|
|
5383
|
+
* @description Tasa de éxito: porcentaje de validaciones con resultado `valid` sobre `counts.total`, expresado de 0 a 100.
|
|
5209
5384
|
* @example 79.4
|
|
5210
5385
|
*/
|
|
5211
5386
|
success_rate?: number;
|
|
@@ -5360,9 +5535,20 @@ export interface components {
|
|
|
5360
5535
|
* @description Nombres de las columnas para formato CSV (en el mismo orden que las filas en `rows`).
|
|
5361
5536
|
* @example [
|
|
5362
5537
|
* "Fecha",
|
|
5363
|
-
* "
|
|
5538
|
+
* "Folio plataforma",
|
|
5539
|
+
* "Tipo",
|
|
5364
5540
|
* "Clave de rastreo",
|
|
5365
|
-
* "
|
|
5541
|
+
* "Fecha operación",
|
|
5542
|
+
* "Monto",
|
|
5543
|
+
* "Banco emisor",
|
|
5544
|
+
* "CLABE emisora",
|
|
5545
|
+
* "Banco receptor",
|
|
5546
|
+
* "CLABE receptora",
|
|
5547
|
+
* "Beneficiario",
|
|
5548
|
+
* "Veredicto Banxico",
|
|
5549
|
+
* "CEP disponible",
|
|
5550
|
+
* "Folio CEP",
|
|
5551
|
+
* "Tiempo (ms)"
|
|
5366
5552
|
* ]
|
|
5367
5553
|
*/
|
|
5368
5554
|
headers?: string[];
|
|
@@ -5370,10 +5556,21 @@ export interface components {
|
|
|
5370
5556
|
* @description Primeras 20 filas (máximo) de datos del reporte.
|
|
5371
5557
|
* @example [
|
|
5372
5558
|
* [
|
|
5559
|
+
* "2026-04-15 10:32:00",
|
|
5560
|
+
* "c3d4e5f6-a7b8-9012-cdef-123456789012",
|
|
5561
|
+
* "direct",
|
|
5562
|
+
* "MXBA20260415001234",
|
|
5373
5563
|
* "2026-04-15",
|
|
5374
5564
|
* "15000.50",
|
|
5375
|
-
* "
|
|
5376
|
-
* "
|
|
5565
|
+
* "BBVA MEXICO",
|
|
5566
|
+
* "012180001234567891",
|
|
5567
|
+
* "BANORTE",
|
|
5568
|
+
* "072180009876543210",
|
|
5569
|
+
* "Comercializadora Ejemplo SA de CV",
|
|
5570
|
+
* "valid",
|
|
5571
|
+
* "Sí",
|
|
5572
|
+
* "",
|
|
5573
|
+
* "412"
|
|
5377
5574
|
* ]
|
|
5378
5575
|
* ]
|
|
5379
5576
|
*/
|
|
@@ -5393,7 +5590,7 @@ export interface components {
|
|
|
5393
5590
|
plan_slug?: string;
|
|
5394
5591
|
/**
|
|
5395
5592
|
* @description Nombre del plan que muestran las interfaces.
|
|
5396
|
-
* @example
|
|
5593
|
+
* @example Personal
|
|
5397
5594
|
*/
|
|
5398
5595
|
plan_name?: string;
|
|
5399
5596
|
/**
|
|
@@ -5520,17 +5717,59 @@ export interface components {
|
|
|
5520
5717
|
BillingSubscriptionQuotaMeta: {
|
|
5521
5718
|
/**
|
|
5522
5719
|
* @description Identificador único y legible del plan. Coincide con `data.attributes.plan_slug`.
|
|
5523
|
-
* @example
|
|
5720
|
+
* @example personal
|
|
5721
|
+
*/
|
|
5722
|
+
plan_slug?: string;
|
|
5723
|
+
/**
|
|
5724
|
+
* @description Nombre del plan que muestran las interfaces.
|
|
5725
|
+
* @example Personal
|
|
5726
|
+
*/
|
|
5727
|
+
plan_name?: string;
|
|
5728
|
+
/**
|
|
5729
|
+
* @description Modelo de facturación del plan — `free`: Sin cobro; `tiered`: Cuota fija; `metered`: Cobro por consumo; `hybrid`: Cuota fija más consumo.
|
|
5730
|
+
* @example hybrid
|
|
5731
|
+
* @enum {string}
|
|
5732
|
+
*/
|
|
5733
|
+
billing_model?: "free" | "tiered" | "metered" | "hybrid";
|
|
5734
|
+
/**
|
|
5735
|
+
* @description Origen de la suscripción — `stripe`: Pago mediante Stripe; `admin_granted`: Concesión administrativa; `system_default`: Plan asignado por el sistema.
|
|
5736
|
+
* @example stripe
|
|
5737
|
+
* @enum {string}
|
|
5738
|
+
*/
|
|
5739
|
+
source?: "stripe" | "admin_granted" | "system_default";
|
|
5740
|
+
/**
|
|
5741
|
+
* @description `true` cuando el usuario aceptó cobro por excedente en un plan `hybrid`. En ese caso, `effective_limit` salta de `included_validations` a `monthly_validation_limit`.
|
|
5742
|
+
* @example false
|
|
5743
|
+
*/
|
|
5744
|
+
overage_enabled?: boolean;
|
|
5745
|
+
/**
|
|
5746
|
+
* @description `true` cuando el plan es `hybrid` y el cobro por excedente todavía no está activo: el usuario puede activarlo.
|
|
5747
|
+
* @example false
|
|
5748
|
+
*/
|
|
5749
|
+
overage_available?: boolean;
|
|
5750
|
+
/**
|
|
5751
|
+
* @description Límite del ciclo fijado por un administrador para esta suscripción. Cuando existe, manda sobre el del plan. `null` sin ajuste.
|
|
5752
|
+
* @example null
|
|
5753
|
+
*/
|
|
5754
|
+
monthly_limit_override?: number | null;
|
|
5755
|
+
/**
|
|
5756
|
+
* @description Validaciones incluidas en la cuota base antes del cobro por excedentes. `null` cuando el plan no tiene cuota base.
|
|
5757
|
+
* @example 500
|
|
5758
|
+
*/
|
|
5759
|
+
included_validations?: number | null;
|
|
5760
|
+
/**
|
|
5761
|
+
* @description Tope de validaciones por ciclo de la suscripción. `0` no permite validaciones. En planes `hybrid`, es el tope duro cuando `overage_enabled` es `true`; cuando es `false`, `effective_limit` usa `included_validations`. En los demás modelos, es el límite efectivo salvo que exista un ajuste administrativo.
|
|
5762
|
+
* @example 10000
|
|
5524
5763
|
*/
|
|
5525
|
-
|
|
5764
|
+
monthly_validation_limit?: number;
|
|
5526
5765
|
/**
|
|
5527
5766
|
* @description Validaciones consumidas en el ciclo actual.
|
|
5528
|
-
* @example
|
|
5767
|
+
* @example 220
|
|
5529
5768
|
*/
|
|
5530
5769
|
used?: number;
|
|
5531
5770
|
/**
|
|
5532
|
-
* @description Límite efectivo de validaciones para el ciclo actual. Tiene el mismo valor que `data.attributes.effective_limit
|
|
5533
|
-
* @example
|
|
5771
|
+
* @description Límite efectivo de validaciones para el ciclo actual. Tiene el mismo valor que `data.attributes.effective_limit`, salvo con `quota_kind=trial`: entonces es la asignación de prueba.
|
|
5772
|
+
* @example 300
|
|
5534
5773
|
*/
|
|
5535
5774
|
limit?: number;
|
|
5536
5775
|
/**
|
|
@@ -5588,7 +5827,7 @@ export interface components {
|
|
|
5588
5827
|
* ],
|
|
5589
5828
|
* "meta": {
|
|
5590
5829
|
* "version": "1.51.0",
|
|
5591
|
-
* "request_id": "
|
|
5830
|
+
* "request_id": "1a2b3c4d5e6ff6e5d4c3b2a1"
|
|
5592
5831
|
* }
|
|
5593
5832
|
* }
|
|
5594
5833
|
*/
|
|
@@ -5612,7 +5851,7 @@ export interface components {
|
|
|
5612
5851
|
* ],
|
|
5613
5852
|
* "meta": {
|
|
5614
5853
|
* "version": "1.51.0",
|
|
5615
|
-
* "request_id": "
|
|
5854
|
+
* "request_id": "2b3c4d5e6f7aa7f6e5d4c3b2"
|
|
5616
5855
|
* }
|
|
5617
5856
|
* }
|
|
5618
5857
|
*/
|
|
@@ -5636,7 +5875,7 @@ export interface components {
|
|
|
5636
5875
|
* ],
|
|
5637
5876
|
* "meta": {
|
|
5638
5877
|
* "version": "1.51.0",
|
|
5639
|
-
* "request_id": "
|
|
5878
|
+
* "request_id": "c4d5e6f7a8b99b8a7f6e5d4c"
|
|
5640
5879
|
* }
|
|
5641
5880
|
* }
|
|
5642
5881
|
*/
|
|
@@ -5668,7 +5907,7 @@ export interface components {
|
|
|
5668
5907
|
* ],
|
|
5669
5908
|
* "meta": {
|
|
5670
5909
|
* "version": "1.51.0",
|
|
5671
|
-
* "request_id": "
|
|
5910
|
+
* "request_id": "f7a8b9c0d1e22e1d0c9b8a7f",
|
|
5672
5911
|
* "retry_after": 45
|
|
5673
5912
|
* }
|
|
5674
5913
|
* }
|
|
@@ -5714,7 +5953,7 @@ export interface components {
|
|
|
5714
5953
|
* ],
|
|
5715
5954
|
* "meta": {
|
|
5716
5955
|
* "version": "1.51.0",
|
|
5717
|
-
* "request_id": "
|
|
5956
|
+
* "request_id": "3c4d5e6f7a8bb8a7f6e5d4c3"
|
|
5718
5957
|
* }
|
|
5719
5958
|
* }
|
|
5720
5959
|
*/
|
|
@@ -5740,7 +5979,7 @@ export interface components {
|
|
|
5740
5979
|
* ],
|
|
5741
5980
|
* "meta": {
|
|
5742
5981
|
* "version": "1.51.0",
|
|
5743
|
-
* "request_id": "
|
|
5982
|
+
* "request_id": "2b3c4d5e6f7aa7f6e5d4c3b2"
|
|
5744
5983
|
* }
|
|
5745
5984
|
* }
|
|
5746
5985
|
*/
|
|
@@ -5767,13 +6006,13 @@ export interface components {
|
|
|
5767
6006
|
* "errors": [
|
|
5768
6007
|
* {
|
|
5769
6008
|
* "status": "403",
|
|
5770
|
-
* "code": "
|
|
6009
|
+
* "code": "permission_denied",
|
|
5771
6010
|
* "detail": "No tienes permiso para acceder a este recurso."
|
|
5772
6011
|
* }
|
|
5773
6012
|
* ],
|
|
5774
6013
|
* "meta": {
|
|
5775
6014
|
* "version": "1.51.0",
|
|
5776
|
-
* "request_id": "
|
|
6015
|
+
* "request_id": "d5e6f7a8b9c00c9b8a7f6e5d"
|
|
5777
6016
|
* }
|
|
5778
6017
|
* }
|
|
5779
6018
|
*/
|
|
@@ -5797,7 +6036,7 @@ export interface components {
|
|
|
5797
6036
|
* ],
|
|
5798
6037
|
* "meta": {
|
|
5799
6038
|
* "version": "1.61.0",
|
|
5800
|
-
* "request_id": "
|
|
6039
|
+
* "request_id": "1a2b3c4d5e6ff6e5d4c3b2a1"
|
|
5801
6040
|
* }
|
|
5802
6041
|
* }
|
|
5803
6042
|
*/
|
|
@@ -5833,7 +6072,7 @@ export interface components {
|
|
|
5833
6072
|
* ],
|
|
5834
6073
|
* "meta": {
|
|
5835
6074
|
* "version": "1.51.0",
|
|
5836
|
-
* "request_id": "
|
|
6075
|
+
* "request_id": "e6f7a8b9c0d11d0c9b8a7f6e"
|
|
5837
6076
|
* }
|
|
5838
6077
|
* }
|
|
5839
6078
|
*/
|
|
@@ -5857,7 +6096,7 @@ export interface components {
|
|
|
5857
6096
|
* ],
|
|
5858
6097
|
* "meta": {
|
|
5859
6098
|
* "version": "1.51.0",
|
|
5860
|
-
* "request_id": "
|
|
6099
|
+
* "request_id": "d5e6f7a8b9c11c9b8a7f6e5d"
|
|
5861
6100
|
* }
|
|
5862
6101
|
* }
|
|
5863
6102
|
*/
|
|
@@ -5872,7 +6111,7 @@ export interface components {
|
|
|
5872
6111
|
AsyncQueryParam: "0" | "1" | "true" | "false" | "yes";
|
|
5873
6112
|
/** @description Identificador (UUID) de la validación */
|
|
5874
6113
|
ValidationId: string;
|
|
5875
|
-
/** @description **ETag** recibido en
|
|
6114
|
+
/** @description **ETag** recibido en una respuesta anterior, tal cual (débil `W/"…"` en una validación, fuerte en los catálogos públicos). Si el recurso no ha cambiado, el server responde `304 Not Modified` (sin cuerpo) y evita mandar los datos de nuevo. */
|
|
5876
6115
|
IfNoneMatchHeader: string;
|
|
5877
6116
|
};
|
|
5878
6117
|
requestBodies: never;
|
|
@@ -6089,6 +6328,11 @@ export interface operations {
|
|
|
6089
6328
|
* @example 012
|
|
6090
6329
|
*/
|
|
6091
6330
|
bank?: string;
|
|
6331
|
+
/**
|
|
6332
|
+
* @description Filtro — Varias claves SPEI separadas por coma (hasta 50); devuelve las validaciones cuyo banco emisor o receptor sea cualquiera de ellas. Si un elemento no tiene de 1 a 5 dígitos, responde con estado HTTP `422` e `invalid_filter`. Se combina con `bank`: si mandas los dos, se cumplen ambos.
|
|
6333
|
+
* @example 40012,40014,40072
|
|
6334
|
+
*/
|
|
6335
|
+
banks?: string;
|
|
6092
6336
|
/**
|
|
6093
6337
|
* @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`.
|
|
6094
6338
|
* @example 1000.5
|
|
@@ -6194,6 +6438,11 @@ export interface operations {
|
|
|
6194
6438
|
* @example 012
|
|
6195
6439
|
*/
|
|
6196
6440
|
bank?: string;
|
|
6441
|
+
/**
|
|
6442
|
+
* @description Filtro — Varias claves SPEI separadas por coma (hasta 50); devuelve las validaciones cuyo banco emisor o receptor sea cualquiera de ellas. Si un elemento no tiene de 1 a 5 dígitos, responde con estado HTTP `422` e `invalid_filter`. Se combina con `bank`: si mandas los dos, se cumplen ambos.
|
|
6443
|
+
* @example 40012,40014,40072
|
|
6444
|
+
*/
|
|
6445
|
+
banks?: string;
|
|
6197
6446
|
/**
|
|
6198
6447
|
* @description Filtro — Importe mínimo inclusivo de las validaciones contadas.
|
|
6199
6448
|
* @example 1000.5
|
|
@@ -6307,6 +6556,11 @@ export interface operations {
|
|
|
6307
6556
|
* @example 012
|
|
6308
6557
|
*/
|
|
6309
6558
|
bank?: string;
|
|
6559
|
+
/**
|
|
6560
|
+
* @description Filtro — Varias claves SPEI separadas por coma (hasta 50); devuelve las validaciones cuyo banco emisor o receptor sea cualquiera de ellas. Si un elemento no tiene de 1 a 5 dígitos, responde con estado HTTP `422` e `invalid_filter`. Se combina con `bank`: si mandas los dos, se cumplen ambos.
|
|
6561
|
+
* @example 40012,40014,40072
|
|
6562
|
+
*/
|
|
6563
|
+
banks?: string;
|
|
6310
6564
|
/**
|
|
6311
6565
|
* @description Filtro — Importe mínimo inclusivo. Se aplica de forma independiente de `amount_max`.
|
|
6312
6566
|
* @example 1000.5
|
|
@@ -6357,7 +6611,7 @@ export interface operations {
|
|
|
6357
6611
|
parameters: {
|
|
6358
6612
|
query?: never;
|
|
6359
6613
|
header?: {
|
|
6360
|
-
/** @description **ETag** recibido en
|
|
6614
|
+
/** @description **ETag** recibido en una respuesta anterior, tal cual (débil `W/"…"` en una validación, fuerte en los catálogos públicos). Si el recurso no ha cambiado, el server responde `304 Not Modified` (sin cuerpo) y evita mandar los datos de nuevo. */
|
|
6361
6615
|
"If-None-Match"?: components["parameters"]["IfNoneMatchHeader"];
|
|
6362
6616
|
};
|
|
6363
6617
|
path: {
|
|
@@ -6488,7 +6742,7 @@ export interface operations {
|
|
|
6488
6742
|
};
|
|
6489
6743
|
401: components["responses"]["Unauthorized"];
|
|
6490
6744
|
403: components["responses"]["Forbidden"];
|
|
6491
|
-
/** @description Validación no encontrada (`not_found`) o el CEP no está disponible para esta validación (`cep_not_available`). Este último código se devuelve cuando `banxico_status` no es `valid` o falta el archivo solicitado. */
|
|
6745
|
+
/** @description Validación no encontrada (`not_found`) o el CEP no está disponible para esta validación (`cep_not_available`). Este último código se devuelve cuando `banxico_status` no es `valid` ni `returned` o falta el archivo solicitado. */
|
|
6492
6746
|
404: {
|
|
6493
6747
|
headers: {
|
|
6494
6748
|
[name: string]: unknown;
|
|
@@ -7023,7 +7277,7 @@ export interface operations {
|
|
|
7023
7277
|
parameters: {
|
|
7024
7278
|
query?: never;
|
|
7025
7279
|
header?: {
|
|
7026
|
-
/** @description **ETag** recibido en
|
|
7280
|
+
/** @description **ETag** recibido en una respuesta anterior, tal cual (débil `W/"…"` en una validación, fuerte en los catálogos públicos). Si el recurso no ha cambiado, el server responde `304 Not Modified` (sin cuerpo) y evita mandar los datos de nuevo. */
|
|
7027
7281
|
"If-None-Match"?: components["parameters"]["IfNoneMatchHeader"];
|
|
7028
7282
|
};
|
|
7029
7283
|
path?: never;
|
|
@@ -7086,6 +7340,109 @@ export interface operations {
|
|
|
7086
7340
|
429: components["responses"]["RateLimited"];
|
|
7087
7341
|
};
|
|
7088
7342
|
};
|
|
7343
|
+
getSpeiCalendar: {
|
|
7344
|
+
parameters: {
|
|
7345
|
+
query?: never;
|
|
7346
|
+
header?: {
|
|
7347
|
+
/** @description **ETag** recibido en una respuesta anterior, tal cual (débil `W/"…"` en una validación, fuerte en los catálogos públicos). Si el recurso no ha cambiado, el server responde `304 Not Modified` (sin cuerpo) y evita mandar los datos de nuevo. */
|
|
7348
|
+
"If-None-Match"?: components["parameters"]["IfNoneMatchHeader"];
|
|
7349
|
+
};
|
|
7350
|
+
path: {
|
|
7351
|
+
/**
|
|
7352
|
+
* @description Año del calendario, de cuatro dígitos.
|
|
7353
|
+
* @example 2026
|
|
7354
|
+
*/
|
|
7355
|
+
year: number;
|
|
7356
|
+
};
|
|
7357
|
+
cookie?: never;
|
|
7358
|
+
};
|
|
7359
|
+
requestBody?: never;
|
|
7360
|
+
responses: {
|
|
7361
|
+
/** @description Calendario de días inhábiles SPEI del año, con su fuente. */
|
|
7362
|
+
200: {
|
|
7363
|
+
headers: {
|
|
7364
|
+
/** @description Firma del calendario actual. Pasar como `If-None-Match` en peticiones posteriores. */
|
|
7365
|
+
ETag?: string;
|
|
7366
|
+
/** @description TTL de caché en el cliente (1 h). */
|
|
7367
|
+
"Cache-Control"?: string;
|
|
7368
|
+
[name: string]: unknown;
|
|
7369
|
+
};
|
|
7370
|
+
content: {
|
|
7371
|
+
"application/json": components["schemas"]["SpeiCalendarResponse"];
|
|
7372
|
+
};
|
|
7373
|
+
};
|
|
7374
|
+
/** @description No modificado: el calendario no ha cambiado según el ETag enviado. */
|
|
7375
|
+
304: {
|
|
7376
|
+
headers: {
|
|
7377
|
+
/** @description ETag actual del calendario. */
|
|
7378
|
+
ETag?: string;
|
|
7379
|
+
/** @description TTL de caché en el cliente (1 h). */
|
|
7380
|
+
"Cache-Control"?: string;
|
|
7381
|
+
[name: string]: unknown;
|
|
7382
|
+
};
|
|
7383
|
+
content?: never;
|
|
7384
|
+
};
|
|
7385
|
+
/** @description El año no tiene calendario (código `spei_calendar_year_not_covered`). `meta.covered_years` lista los años disponibles. */
|
|
7386
|
+
404: {
|
|
7387
|
+
headers: {
|
|
7388
|
+
[name: string]: unknown;
|
|
7389
|
+
};
|
|
7390
|
+
content: {
|
|
7391
|
+
/**
|
|
7392
|
+
* @example {
|
|
7393
|
+
* "errors": [
|
|
7394
|
+
* {
|
|
7395
|
+
* "status": "404",
|
|
7396
|
+
* "code": "spei_calendar_year_not_covered",
|
|
7397
|
+
* "detail": "No tenemos el calendario de 2030. Los años disponibles van de 2024 a 2026."
|
|
7398
|
+
* }
|
|
7399
|
+
* ],
|
|
7400
|
+
* "meta": {
|
|
7401
|
+
* "version": "1.63.0",
|
|
7402
|
+
* "request_id": "c1d2e3f4a5b66b5a4f3e2d1c",
|
|
7403
|
+
* "covered_years": [
|
|
7404
|
+
* 2024,
|
|
7405
|
+
* 2025,
|
|
7406
|
+
* 2026
|
|
7407
|
+
* ]
|
|
7408
|
+
* }
|
|
7409
|
+
* }
|
|
7410
|
+
*/
|
|
7411
|
+
"application/json": components["schemas"]["ErrorResponse"] & {
|
|
7412
|
+
meta?: {
|
|
7413
|
+
/** @description Años con calendario publicado, de menor a mayor. */
|
|
7414
|
+
covered_years?: number[];
|
|
7415
|
+
};
|
|
7416
|
+
};
|
|
7417
|
+
};
|
|
7418
|
+
};
|
|
7419
|
+
/** @description El año no tiene cuatro dígitos (código `spei_calendar_year_invalid`). */
|
|
7420
|
+
422: {
|
|
7421
|
+
headers: {
|
|
7422
|
+
[name: string]: unknown;
|
|
7423
|
+
};
|
|
7424
|
+
content: {
|
|
7425
|
+
/**
|
|
7426
|
+
* @example {
|
|
7427
|
+
* "errors": [
|
|
7428
|
+
* {
|
|
7429
|
+
* "status": "422",
|
|
7430
|
+
* "code": "spei_calendar_year_invalid",
|
|
7431
|
+
* "detail": "El año debe tener cuatro dígitos, por ejemplo 2026."
|
|
7432
|
+
* }
|
|
7433
|
+
* ],
|
|
7434
|
+
* "meta": {
|
|
7435
|
+
* "version": "1.63.0",
|
|
7436
|
+
* "request_id": "d2e3f4a5b6c77c6b5a4f3e2d"
|
|
7437
|
+
* }
|
|
7438
|
+
* }
|
|
7439
|
+
*/
|
|
7440
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
7441
|
+
};
|
|
7442
|
+
};
|
|
7443
|
+
429: components["responses"]["RateLimited"];
|
|
7444
|
+
};
|
|
7445
|
+
};
|
|
7089
7446
|
exportBeneficiaries: {
|
|
7090
7447
|
parameters: {
|
|
7091
7448
|
query?: {
|
|
@@ -7184,7 +7541,6 @@ export interface operations {
|
|
|
7184
7541
|
* "attributes": {
|
|
7185
7542
|
* "account_number": "012180004412345678",
|
|
7186
7543
|
* "account_type": "clabe",
|
|
7187
|
-
* "clabe": "012180004412345678",
|
|
7188
7544
|
* "bank_code": "40012",
|
|
7189
7545
|
* "bank_name": "BBVA MEXICO",
|
|
7190
7546
|
* "label": "Proveedor ABC",
|
|
@@ -7224,7 +7580,7 @@ export interface operations {
|
|
|
7224
7580
|
401: components["responses"]["Unauthorized"];
|
|
7225
7581
|
403: components["responses"]["Forbidden"];
|
|
7226
7582
|
413: components["responses"]["PayloadTooLarge"];
|
|
7227
|
-
/** @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`. */
|
|
7583
|
+
/** @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_format`, `invalid_account_length`, `invalid_clabe_checksum`, `invalid_card_luhn`, `clabe_prefix_not_recognized`, `bank_code_required_for_phone`, `invalid_bank_code`, `max_length_exceeded`, `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`. */
|
|
7228
7584
|
422: {
|
|
7229
7585
|
headers: {
|
|
7230
7586
|
[name: string]: unknown;
|
|
@@ -7268,7 +7624,6 @@ export interface operations {
|
|
|
7268
7624
|
* "attributes": {
|
|
7269
7625
|
* "account_number": "5512345678",
|
|
7270
7626
|
* "account_type": "phone",
|
|
7271
|
-
* "clabe": "5512345678",
|
|
7272
7627
|
* "bank_code": "40021",
|
|
7273
7628
|
* "bank_name": "HSBC",
|
|
7274
7629
|
* "label": "Cuenta DiMo HSBC",
|
|
@@ -7299,7 +7654,7 @@ export interface operations {
|
|
|
7299
7654
|
403: components["responses"]["Forbidden"];
|
|
7300
7655
|
404: components["responses"]["NotFound"];
|
|
7301
7656
|
413: components["responses"]["PayloadTooLarge"];
|
|
7302
|
-
/** @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`. */
|
|
7657
|
+
/** @description El cuerpo no pasó la validación. Los códigos posibles son `no_valid_fields`, `invalid_account_format`, `invalid_account_length`, `invalid_clabe_checksum`, `invalid_card_luhn`, `clabe_prefix_not_recognized`, `bank_code_required_for_phone`, `invalid_bank_code`, `max_length_exceeded`, `beneficiary_already_registered`, `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`. */
|
|
7303
7658
|
422: {
|
|
7304
7659
|
headers: {
|
|
7305
7660
|
[name: string]: unknown;
|
|
@@ -7390,7 +7745,7 @@ export interface operations {
|
|
|
7390
7745
|
* "meta": {
|
|
7391
7746
|
* "version": "1.47.0",
|
|
7392
7747
|
* "api_version": "v1",
|
|
7393
|
-
* "request_id": "
|
|
7748
|
+
* "request_id": "b2c3d4e5f6a77a6f5e4d3c2b"
|
|
7394
7749
|
* }
|
|
7395
7750
|
* }
|
|
7396
7751
|
*/
|
|
@@ -7447,7 +7802,7 @@ export interface operations {
|
|
|
7447
7802
|
* "meta": {
|
|
7448
7803
|
* "version": "1.47.0",
|
|
7449
7804
|
* "api_version": "v1",
|
|
7450
|
-
* "request_id": "
|
|
7805
|
+
* "request_id": "c5d6e7f8a9b00b9a8f7e6d5c"
|
|
7451
7806
|
* }
|
|
7452
7807
|
* }
|
|
7453
7808
|
*/
|
|
@@ -7487,7 +7842,7 @@ export interface operations {
|
|
|
7487
7842
|
* "meta": {
|
|
7488
7843
|
* "version": "1.47.0",
|
|
7489
7844
|
* "api_version": "v1",
|
|
7490
|
-
* "request_id": "
|
|
7845
|
+
* "request_id": "e1f2a3b4c5d66d5c4b3a2f1e"
|
|
7491
7846
|
* }
|
|
7492
7847
|
* }
|
|
7493
7848
|
*/
|
|
@@ -7496,7 +7851,7 @@ export interface operations {
|
|
|
7496
7851
|
};
|
|
7497
7852
|
401: components["responses"]["Unauthorized"];
|
|
7498
7853
|
403: components["responses"]["Forbidden"];
|
|
7499
|
-
/** @description Falló la validación o la pre-condición. Códigos posibles: `file_required`, `file_too_large`, `unsupported_format`
|
|
7854
|
+
/** @description Falló la validación o la pre-condición. Códigos posibles: `file_required`, `upload_error`, `file_too_large`, `invalid_parse_mode`, `unsupported_format`, `import_already_in_flight` y `persist_failed`. */
|
|
7500
7855
|
422: {
|
|
7501
7856
|
headers: {
|
|
7502
7857
|
[name: string]: unknown;
|
|
@@ -7514,7 +7869,7 @@ export interface operations {
|
|
|
7514
7869
|
* "meta": {
|
|
7515
7870
|
* "version": "1.47.0",
|
|
7516
7871
|
* "api_version": "v1",
|
|
7517
|
-
* "request_id": "
|
|
7872
|
+
* "request_id": "f2a3b4c5d6e77e6d5c4b3a2f"
|
|
7518
7873
|
* }
|
|
7519
7874
|
* }
|
|
7520
7875
|
*/
|
|
@@ -7594,7 +7949,7 @@ export interface operations {
|
|
|
7594
7949
|
* "meta": {
|
|
7595
7950
|
* "version": "1.47.0",
|
|
7596
7951
|
* "api_version": "v1",
|
|
7597
|
-
* "request_id": "
|
|
7952
|
+
* "request_id": "f8a9b0c1d2e33e2d1c0b9a8f"
|
|
7598
7953
|
* }
|
|
7599
7954
|
* }
|
|
7600
7955
|
*/
|
|
@@ -7734,10 +8089,10 @@ export interface operations {
|
|
|
7734
8089
|
* "parsed_account_type": "phone",
|
|
7735
8090
|
* "parsed_bank_code": "40012",
|
|
7736
8091
|
* "parsed_bank_name": "BBVA MEXICO",
|
|
7737
|
-
* "parsed_label":
|
|
8092
|
+
* "parsed_label": "Cuenta",
|
|
7738
8093
|
* "error_codes": [],
|
|
7739
8094
|
* "corrections_applied": {
|
|
7740
|
-
* "alias_auto_assigned": "
|
|
8095
|
+
* "alias_auto_assigned": "Cuenta"
|
|
7741
8096
|
* },
|
|
7742
8097
|
* "user_overrides": {
|
|
7743
8098
|
* "parsed_account_type": "phone",
|
|
@@ -7754,7 +8109,7 @@ export interface operations {
|
|
|
7754
8109
|
* "meta": {
|
|
7755
8110
|
* "version": "1.47.0",
|
|
7756
8111
|
* "api_version": "v1",
|
|
7757
|
-
* "request_id": "
|
|
8112
|
+
* "request_id": "c1d2e3f4a5b66b5a4f3e2d1c"
|
|
7758
8113
|
* }
|
|
7759
8114
|
* }
|
|
7760
8115
|
*/
|
|
@@ -7818,7 +8173,7 @@ export interface operations {
|
|
|
7818
8173
|
* "meta": {
|
|
7819
8174
|
* "version": "1.47.0",
|
|
7820
8175
|
* "api_version": "v1",
|
|
7821
|
-
* "request_id": "
|
|
8176
|
+
* "request_id": "f4a5b6c7d8e99e8d7c6b5a4f"
|
|
7822
8177
|
* }
|
|
7823
8178
|
* }
|
|
7824
8179
|
*/
|
|
@@ -7846,7 +8201,7 @@ export interface operations {
|
|
|
7846
8201
|
* "meta": {
|
|
7847
8202
|
* "version": "1.47.0",
|
|
7848
8203
|
* "api_version": "v1",
|
|
7849
|
-
* "request_id": "
|
|
8204
|
+
* "request_id": "a5b6c7d8e9f00f9e8d7c6b5a"
|
|
7850
8205
|
* }
|
|
7851
8206
|
* }
|
|
7852
8207
|
*/
|
|
@@ -8473,21 +8828,65 @@ export interface operations {
|
|
|
8473
8828
|
*/
|
|
8474
8829
|
per_page?: number;
|
|
8475
8830
|
/**
|
|
8476
|
-
* @description Filtro — Identificador único del endpoint webhook (UUID v4).
|
|
8477
|
-
* @example
|
|
8831
|
+
* @description Filtro — Identificador único del endpoint webhook (UUID v4). Hasta 20, separados por comas.
|
|
8832
|
+
* @example [
|
|
8833
|
+
* "7c9e6679-7425-40de-944b-e07fc1f90ae7"
|
|
8834
|
+
* ]
|
|
8835
|
+
*/
|
|
8836
|
+
endpoint_id?: string[];
|
|
8837
|
+
/**
|
|
8838
|
+
* @description Filtro — Estado de la entrega. `success` llegó. `failed` es el resultado del último intento; Messenger puede programar otro si el fallo es recuperable. `retrying` se pospuso por el límite de salida y Messenger la reintentará. `pending` todavía no se ha intentado. Varios estados, separados por comas.
|
|
8839
|
+
* @example [
|
|
8840
|
+
* "failed"
|
|
8841
|
+
* ]
|
|
8478
8842
|
*/
|
|
8479
|
-
|
|
8843
|
+
status?: ("success" | "failed" | "retrying" | "pending")[];
|
|
8480
8844
|
/**
|
|
8481
|
-
* @description Filtro —
|
|
8482
|
-
*
|
|
8845
|
+
* @description Filtro — Tipo de evento que originó la entrega. **De validaciones**: `validation.completed` cuando hay veredicto de Banxico, sea cual sea (también inválida o no encontrada, y aunque se abran reintentos), `validation.failed` cuando la entrada se rechaza y `validation.error` ante cualquier otro fallo. **De los reintentos automáticos:** `validation.retry.scheduled` al programar un reintento automático, `validation.retry.resolved` cuando un reintento automático encuentra el CEP, y `validation.retry.exhausted` cuando los reintentos se agotan sin encontrar el CEP. **De la revisión posterior de un `valid`:** `validation.returned` cuando una validación que había salido `valid` pasa a `returned` porque Banxico reportó la devolución.\
|
|
8846
|
+
* **De la suscripción:** `billing.payment_succeeded` y `billing.payment_failed` por cada cobro, `billing.invoice_upcoming` antes de la siguiente factura, `billing.trial_will_end` antes de que acabe la prueba gratuita, y `billing.subscription_canceled` al cancelar la suscripción. Las entregas sintéticas (envío de prueba) se marcan como `test`. Varios tipos, separados por comas.
|
|
8847
|
+
* @example [
|
|
8848
|
+
* "validation.completed"
|
|
8849
|
+
* ]
|
|
8483
8850
|
*/
|
|
8484
|
-
|
|
8851
|
+
event_type?: ("validation.completed" | "validation.failed" | "validation.error" | "validation.retry.scheduled" | "validation.retry.resolved" | "validation.retry.exhausted" | "validation.returned" | "billing.payment_succeeded" | "billing.payment_failed" | "billing.trial_will_end" | "billing.subscription_canceled" | "billing.invoice_upcoming" | "test")[];
|
|
8485
8852
|
/**
|
|
8486
|
-
* @description Filtro —
|
|
8487
|
-
*
|
|
8488
|
-
|
|
8853
|
+
* @description Filtro — Busca en el identificador de la entrega, el identificador, la URL y la descripción del endpoint, el tipo de evento, el identificador de la validación y el código HTTP de la respuesta. No distingue mayúsculas; `%` y `_` se buscan tal cual. Más de 100 caracteres se recortan.
|
|
8854
|
+
* @example webhook.example.com
|
|
8855
|
+
*/
|
|
8856
|
+
q?: string;
|
|
8857
|
+
/**
|
|
8858
|
+
* @description Filtro — Sólo las entregas de esta validación (UUID v4).
|
|
8859
|
+
* @example 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
|
8489
8860
|
*/
|
|
8490
|
-
|
|
8861
|
+
validation_id?: string;
|
|
8862
|
+
/**
|
|
8863
|
+
* @description Filtro — Código HTTP con que respondió el receptor, separados por comas. Vale un código exacto (`404`), una familia (`2xx`, `4xx`, `5xx`) o `none` para las que no tuvieron respuesta (tiempo agotado, conexión rechazada o todavía sin intentar). Varios valores suman resultados.
|
|
8864
|
+
* @example [
|
|
8865
|
+
* "5xx",
|
|
8866
|
+
* "none"
|
|
8867
|
+
* ]
|
|
8868
|
+
*/
|
|
8869
|
+
response_status?: string[];
|
|
8870
|
+
/**
|
|
8871
|
+
* @description Filtro — Entregas creadas desde este momento, incluido. Acepta fecha (`2026-10-01`, medianoche UTC) o fecha y hora ISO 8601 con zona.
|
|
8872
|
+
* @example 2026-10-01T00:00:00Z
|
|
8873
|
+
*/
|
|
8874
|
+
from?: string;
|
|
8875
|
+
/**
|
|
8876
|
+
* @description Filtro — Entregas creadas hasta este momento, incluido. Una fecha sola llega al final de ese día en UTC.
|
|
8877
|
+
* @example 2026-10-15T23:59:59Z
|
|
8878
|
+
*/
|
|
8879
|
+
to?: string;
|
|
8880
|
+
/**
|
|
8881
|
+
* @description Filtro — Sólo las entregas cuyo número de intento es al menos este. Con `2` quedan las que se reintentaron.
|
|
8882
|
+
* @example 2
|
|
8883
|
+
*/
|
|
8884
|
+
min_attempt?: number;
|
|
8885
|
+
/**
|
|
8886
|
+
* @description Filtro — Sólo las entregas cuyo receptor tardó al menos estos milisegundos en responder.
|
|
8887
|
+
* @example 3000
|
|
8888
|
+
*/
|
|
8889
|
+
min_response_time_ms?: number;
|
|
8491
8890
|
};
|
|
8492
8891
|
header?: never;
|
|
8493
8892
|
path?: never;
|
|
@@ -8527,22 +8926,66 @@ export interface operations {
|
|
|
8527
8926
|
parameters: {
|
|
8528
8927
|
query?: {
|
|
8529
8928
|
/**
|
|
8530
|
-
* @description Filtro — Identificador único del endpoint webhook (UUID v4).
|
|
8531
|
-
* @example
|
|
8929
|
+
* @description Filtro — Identificador único del endpoint webhook (UUID v4). Hasta 20, separados por comas.
|
|
8930
|
+
* @example [
|
|
8931
|
+
* "7c9e6679-7425-40de-944b-e07fc1f90ae7"
|
|
8932
|
+
* ]
|
|
8532
8933
|
*/
|
|
8533
|
-
endpoint_id?: string;
|
|
8934
|
+
endpoint_id?: string[];
|
|
8534
8935
|
/**
|
|
8535
8936
|
* @description \
|
|
8536
|
-
* Filtro — Estado de la entrega. `success` llegó. `failed` es el resultado del último intento; Messenger puede programar otro si el fallo es recuperable. `retrying` se pospuso por el límite de salida y Messenger la reintentará. `pending` todavía no se ha intentado.
|
|
8537
|
-
* @example
|
|
8937
|
+
* Filtro — Estado de la entrega. `success` llegó. `failed` es el resultado del último intento; Messenger puede programar otro si el fallo es recuperable. `retrying` se pospuso por el límite de salida y Messenger la reintentará. `pending` todavía no se ha intentado. Varios estados, separados por comas.
|
|
8938
|
+
* @example [
|
|
8939
|
+
* "failed"
|
|
8940
|
+
* ]
|
|
8538
8941
|
*/
|
|
8539
|
-
status?: "success" | "failed" | "retrying" | "pending";
|
|
8942
|
+
status?: ("success" | "failed" | "retrying" | "pending")[];
|
|
8540
8943
|
/**
|
|
8541
|
-
* @description Filtro — Tipo de evento que originó la entrega. **De validaciones**: `validation.completed` cuando
|
|
8542
|
-
* **De la suscripción:** `billing.payment_succeeded` y `billing.payment_failed` por cada cobro, `billing.invoice_upcoming` antes de la siguiente factura, `billing.trial_will_end` antes de que acabe la prueba gratuita, y `billing.subscription_canceled` al cancelar la suscripción. Las entregas sintéticas (envío de prueba) se marcan como `test`.
|
|
8543
|
-
* @example
|
|
8944
|
+
* @description Filtro — Tipo de evento que originó la entrega. **De validaciones**: `validation.completed` cuando hay veredicto de Banxico, sea cual sea (también inválida o no encontrada, y aunque se abran reintentos), `validation.failed` cuando la entrada se rechaza y `validation.error` ante cualquier otro fallo. **De los reintentos automáticos:** `validation.retry.scheduled` al programar un reintento automático, `validation.retry.resolved` cuando un reintento automático encuentra el CEP, y `validation.retry.exhausted` cuando los reintentos se agotan sin encontrar el CEP. **De la revisión posterior de un `valid`:** `validation.returned` cuando una validación que había salido `valid` pasa a `returned` porque Banxico reportó la devolución.\
|
|
8945
|
+
* **De la suscripción:** `billing.payment_succeeded` y `billing.payment_failed` por cada cobro, `billing.invoice_upcoming` antes de la siguiente factura, `billing.trial_will_end` antes de que acabe la prueba gratuita, y `billing.subscription_canceled` al cancelar la suscripción. Las entregas sintéticas (envío de prueba) se marcan como `test`. Varios tipos, separados por comas.
|
|
8946
|
+
* @example [
|
|
8947
|
+
* "validation.completed"
|
|
8948
|
+
* ]
|
|
8949
|
+
*/
|
|
8950
|
+
event_type?: ("validation.completed" | "validation.failed" | "validation.error" | "validation.retry.scheduled" | "validation.retry.resolved" | "validation.retry.exhausted" | "validation.returned" | "billing.payment_succeeded" | "billing.payment_failed" | "billing.trial_will_end" | "billing.subscription_canceled" | "billing.invoice_upcoming" | "test")[];
|
|
8951
|
+
/**
|
|
8952
|
+
* @description Filtro — Busca en el identificador de la entrega, el identificador, la URL y la descripción del endpoint, el tipo de evento, el identificador de la validación y el código HTTP de la respuesta. No distingue mayúsculas; `%` y `_` se buscan tal cual. Más de 100 caracteres se recortan.
|
|
8953
|
+
* @example webhook.example.com
|
|
8954
|
+
*/
|
|
8955
|
+
q?: string;
|
|
8956
|
+
/**
|
|
8957
|
+
* @description Filtro — Sólo las entregas de esta validación (UUID v4).
|
|
8958
|
+
* @example 3fa85f64-5717-4562-b3fc-2c963f66afa6
|
|
8959
|
+
*/
|
|
8960
|
+
validation_id?: string;
|
|
8961
|
+
/**
|
|
8962
|
+
* @description Filtro — Código HTTP con que respondió el receptor, separados por comas. Vale un código exacto (`404`), una familia (`2xx`, `4xx`, `5xx`) o `none` para las que no tuvieron respuesta (tiempo agotado, conexión rechazada o todavía sin intentar). Varios valores suman resultados.
|
|
8963
|
+
* @example [
|
|
8964
|
+
* "5xx",
|
|
8965
|
+
* "none"
|
|
8966
|
+
* ]
|
|
8967
|
+
*/
|
|
8968
|
+
response_status?: string[];
|
|
8969
|
+
/**
|
|
8970
|
+
* @description Filtro — Entregas creadas desde este momento, incluido. Acepta fecha (`2026-10-01`, medianoche UTC) o fecha y hora ISO 8601 con zona.
|
|
8971
|
+
* @example 2026-10-01T00:00:00Z
|
|
8972
|
+
*/
|
|
8973
|
+
from?: string;
|
|
8974
|
+
/**
|
|
8975
|
+
* @description Filtro — Entregas creadas hasta este momento, incluido. Una fecha sola llega al final de ese día en UTC.
|
|
8976
|
+
* @example 2026-10-15T23:59:59Z
|
|
8977
|
+
*/
|
|
8978
|
+
to?: string;
|
|
8979
|
+
/**
|
|
8980
|
+
* @description Filtro — Sólo las entregas cuyo número de intento es al menos este. Con `2` quedan las que se reintentaron.
|
|
8981
|
+
* @example 2
|
|
8982
|
+
*/
|
|
8983
|
+
min_attempt?: number;
|
|
8984
|
+
/**
|
|
8985
|
+
* @description Filtro — Sólo las entregas cuyo receptor tardó al menos estos milisegundos en responder.
|
|
8986
|
+
* @example 3000
|
|
8544
8987
|
*/
|
|
8545
|
-
|
|
8988
|
+
min_response_time_ms?: number;
|
|
8546
8989
|
/**
|
|
8547
8990
|
* @description Formato del archivo a descargar. Valores aceptados: `csv` y `xlsx`. Cualquier otro valor se sirve como `csv`.
|
|
8548
8991
|
* @example csv
|