@fiado/type-kit 3.343.0 → 3.344.0

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.
@@ -114,6 +114,20 @@ export declare class PeopleResponse {
114
114
  createdAt: number;
115
115
  updatedAt: number;
116
116
  CP_Status: CPStatusEnum;
117
+ /**
118
+ * Cuándo llegó el ÚLTIMO rechazo de documento de CP (epoch ms). Es el reloj de la ventana
119
+ * de 24 h: pasada, el estado se cierra a `DOC_REJECTED_DENIED`.
120
+ *
121
+ * Se reescribe con cada rechazo nuevo — un reintento fallido reabre la ventana completa, no
122
+ * hereda el plazo del anterior.
123
+ */
124
+ docRejectedAt?: number | null;
125
+ /**
126
+ * Link de IDology para volver a escanear el documento, tal como llega en
127
+ * `payload.additional_data.document_scan_url`. Presente en el 100 % de los rechazos
128
+ * observados en producción (460 de 460).
129
+ */
130
+ docRejectedScanUrl?: string | null;
117
131
  status: AccountRequirementStatusEnum;
118
132
  observations: string;
119
133
  selfieResult: string | null;
@@ -105,6 +105,10 @@ export declare class PeopleUpdateRequest {
105
105
  documentNumber?: string;
106
106
  stateOfDocument?: string;
107
107
  CP_Status?: CPStatusEnum;
108
+ /** Epoch ms del último rechazo de documento de CP. Reloj de la ventana de 24 h. */
109
+ docRejectedAt?: number | null;
110
+ /** Link de IDology para volver a escanear el documento (`additional_data.document_scan_url`). */
111
+ docRejectedScanUrl?: string | null;
108
112
  status?: AccountRequirementStatusEnum;
109
113
  observations?: string;
110
114
  externalReferenceId?: string | null;
@@ -9,5 +9,42 @@ export declare enum CPStatusEnum {
9
9
  DOCUMENT_ERROR = "DOCUMENT_ERROR",
10
10
  INCOMPLETE_OOW_ANSWERS = "INCOMPLETE_OOW_ANSWERS",
11
11
  OOW_EXPIRED = "OOW_EXPIRED",
12
+ /**
13
+ * DOCUMENTO RECHAZADO POR CP — el usuario puede subirlo de nuevo (ventana de 24 h).
14
+ *
15
+ * CP manda un solo evento (`cardholder.kyc.document_rejected`) con `kyc_status:
16
+ * DOCUMENT_REJECTED` para todos los casos; el motivo real viaja como texto libre de IDology en
17
+ * `payload.kyc_reason_codes[0]`, con los motivos concatenados por "; ". Estos valores son ese
18
+ * texto mapeado, para que el frontend pueda dar un mensaje concreto en vez de "documento
19
+ * rechazado" a secas.
20
+ *
21
+ * Distribución en producción (460 eventos, 450 personas, ago–oct 2025):
22
+ * DOC_TOO_SMALL 220
23
+ * DOC_TOO_SMALL_IMAGE_ERROR 179
24
+ * DOC_BAD_RESOLUTION 30
25
+ * DOC_IMAGE_ERROR 2
26
+ * DOC_TOO_SMALL_BARCODE_IMAGE_ERROR 1
27
+ *
28
+ * `Invalid Transaction Request` (28 casos) queda FUERA a propósito: es un fallo de la petición
29
+ * a IDology, no del documento de la persona.
30
+ */
31
+ /** "Document Too Small" */
32
+ DOC_TOO_SMALL = "DOC_TOO_SMALL",
33
+ /** "Document Too Small; Image Error" */
34
+ DOC_TOO_SMALL_IMAGE_ERROR = "DOC_TOO_SMALL_IMAGE_ERROR",
35
+ /** "Image size is not within specified resolutions." */
36
+ DOC_BAD_RESOLUTION = "DOC_BAD_RESOLUTION",
37
+ /** "Image Error" */
38
+ DOC_IMAGE_ERROR = "DOC_IMAGE_ERROR",
39
+ /** "Document Too Small; Barcode Not Detected; Image Error" */
40
+ DOC_TOO_SMALL_BARCODE_IMAGE_ERROR = "DOC_TOO_SMALL_BARCODE_IMAGE_ERROR",
41
+ /**
42
+ * Venció la ventana de 24 h para volver a subir el documento.
43
+ *
44
+ * Es UNO solo para los cinco motivos de arriba: pasado el plazo el usuario ya no puede
45
+ * reintentar, así que cuál era el problema de la foto deja de importar — el mensaje es el mismo.
46
+ * Cinco variantes `_DENIED` serían cinco copys idénticos.
47
+ */
48
+ DOC_REJECTED_DENIED = "DOC_REJECTED_DENIED",
12
49
  NONE = "NONE"
13
50
  }
@@ -13,5 +13,42 @@ var CPStatusEnum;
13
13
  CPStatusEnum["DOCUMENT_ERROR"] = "DOCUMENT_ERROR";
14
14
  CPStatusEnum["INCOMPLETE_OOW_ANSWERS"] = "INCOMPLETE_OOW_ANSWERS";
15
15
  CPStatusEnum["OOW_EXPIRED"] = "OOW_EXPIRED";
16
+ /**
17
+ * DOCUMENTO RECHAZADO POR CP — el usuario puede subirlo de nuevo (ventana de 24 h).
18
+ *
19
+ * CP manda un solo evento (`cardholder.kyc.document_rejected`) con `kyc_status:
20
+ * DOCUMENT_REJECTED` para todos los casos; el motivo real viaja como texto libre de IDology en
21
+ * `payload.kyc_reason_codes[0]`, con los motivos concatenados por "; ". Estos valores son ese
22
+ * texto mapeado, para que el frontend pueda dar un mensaje concreto en vez de "documento
23
+ * rechazado" a secas.
24
+ *
25
+ * Distribución en producción (460 eventos, 450 personas, ago–oct 2025):
26
+ * DOC_TOO_SMALL 220
27
+ * DOC_TOO_SMALL_IMAGE_ERROR 179
28
+ * DOC_BAD_RESOLUTION 30
29
+ * DOC_IMAGE_ERROR 2
30
+ * DOC_TOO_SMALL_BARCODE_IMAGE_ERROR 1
31
+ *
32
+ * `Invalid Transaction Request` (28 casos) queda FUERA a propósito: es un fallo de la petición
33
+ * a IDology, no del documento de la persona.
34
+ */
35
+ /** "Document Too Small" */
36
+ CPStatusEnum["DOC_TOO_SMALL"] = "DOC_TOO_SMALL";
37
+ /** "Document Too Small; Image Error" */
38
+ CPStatusEnum["DOC_TOO_SMALL_IMAGE_ERROR"] = "DOC_TOO_SMALL_IMAGE_ERROR";
39
+ /** "Image size is not within specified resolutions." */
40
+ CPStatusEnum["DOC_BAD_RESOLUTION"] = "DOC_BAD_RESOLUTION";
41
+ /** "Image Error" */
42
+ CPStatusEnum["DOC_IMAGE_ERROR"] = "DOC_IMAGE_ERROR";
43
+ /** "Document Too Small; Barcode Not Detected; Image Error" */
44
+ CPStatusEnum["DOC_TOO_SMALL_BARCODE_IMAGE_ERROR"] = "DOC_TOO_SMALL_BARCODE_IMAGE_ERROR";
45
+ /**
46
+ * Venció la ventana de 24 h para volver a subir el documento.
47
+ *
48
+ * Es UNO solo para los cinco motivos de arriba: pasado el plazo el usuario ya no puede
49
+ * reintentar, así que cuál era el problema de la foto deja de importar — el mensaje es el mismo.
50
+ * Cinco variantes `_DENIED` serían cinco copys idénticos.
51
+ */
52
+ CPStatusEnum["DOC_REJECTED_DENIED"] = "DOC_REJECTED_DENIED";
16
53
  CPStatusEnum["NONE"] = "NONE";
17
54
  })(CPStatusEnum || (exports.CPStatusEnum = CPStatusEnum = {}));
@@ -27,6 +27,23 @@ export declare enum OnboardingAccountStatusEnum {
27
27
  * Se deriva de `CP_Status === PENDING_OOW_QUESTIONS`.
28
28
  */
29
29
  PENDING_OOW_QUESTIONS = "PENDING_OOW_QUESTIONS",
30
+ /**
31
+ * CP rechazó el documento y el usuario puede subir otra foto (ventana de 24 h).
32
+ *
33
+ * Son cinco estados y no uno porque el motivo cambia el mensaje: "salió muy chica" no es lo
34
+ * mismo que "no se pudo leer". El texto original de IDology se mapea en
35
+ * `documentRejection.ts` (onboarding-business).
36
+ *
37
+ * Cuando llega alguno de estos, `reason` trae el LINK de IDology para reescanear el documento
38
+ * (`document_scan_url`), no un motivo del catálogo.
39
+ */
40
+ DOC_TOO_SMALL = "DOC_TOO_SMALL",
41
+ DOC_TOO_SMALL_IMAGE_ERROR = "DOC_TOO_SMALL_IMAGE_ERROR",
42
+ DOC_BAD_RESOLUTION = "DOC_BAD_RESOLUTION",
43
+ DOC_IMAGE_ERROR = "DOC_IMAGE_ERROR",
44
+ DOC_TOO_SMALL_BARCODE_IMAGE_ERROR = "DOC_TOO_SMALL_BARCODE_IMAGE_ERROR",
45
+ /** Venció la ventana de 24 h: ya no puede reintentar. Uno solo para los cinco motivos. */
46
+ DOC_REJECTED_DENIED = "DOC_REJECTED_DENIED",
30
47
  REJECTED = "REJECTED",
31
48
  OPEN = "OPEN"
32
49
  }
@@ -31,6 +31,23 @@ var OnboardingAccountStatusEnum;
31
31
  * Se deriva de `CP_Status === PENDING_OOW_QUESTIONS`.
32
32
  */
33
33
  OnboardingAccountStatusEnum["PENDING_OOW_QUESTIONS"] = "PENDING_OOW_QUESTIONS";
34
+ /**
35
+ * CP rechazó el documento y el usuario puede subir otra foto (ventana de 24 h).
36
+ *
37
+ * Son cinco estados y no uno porque el motivo cambia el mensaje: "salió muy chica" no es lo
38
+ * mismo que "no se pudo leer". El texto original de IDology se mapea en
39
+ * `documentRejection.ts` (onboarding-business).
40
+ *
41
+ * Cuando llega alguno de estos, `reason` trae el LINK de IDology para reescanear el documento
42
+ * (`document_scan_url`), no un motivo del catálogo.
43
+ */
44
+ OnboardingAccountStatusEnum["DOC_TOO_SMALL"] = "DOC_TOO_SMALL";
45
+ OnboardingAccountStatusEnum["DOC_TOO_SMALL_IMAGE_ERROR"] = "DOC_TOO_SMALL_IMAGE_ERROR";
46
+ OnboardingAccountStatusEnum["DOC_BAD_RESOLUTION"] = "DOC_BAD_RESOLUTION";
47
+ OnboardingAccountStatusEnum["DOC_IMAGE_ERROR"] = "DOC_IMAGE_ERROR";
48
+ OnboardingAccountStatusEnum["DOC_TOO_SMALL_BARCODE_IMAGE_ERROR"] = "DOC_TOO_SMALL_BARCODE_IMAGE_ERROR";
49
+ /** Venció la ventana de 24 h: ya no puede reintentar. Uno solo para los cinco motivos. */
50
+ OnboardingAccountStatusEnum["DOC_REJECTED_DENIED"] = "DOC_REJECTED_DENIED";
34
51
  OnboardingAccountStatusEnum["REJECTED"] = "REJECTED";
35
52
  OnboardingAccountStatusEnum["OPEN"] = "OPEN";
36
53
  })(OnboardingAccountStatusEnum || (exports.OnboardingAccountStatusEnum = OnboardingAccountStatusEnum = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.343.0",
3
+ "version": "3.344.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -120,6 +120,20 @@ export class PeopleResponse {
120
120
  createdAt:number,
121
121
  updatedAt:number,
122
122
  CP_Status:CPStatusEnum,
123
+ /**
124
+ * Cuándo llegó el ÚLTIMO rechazo de documento de CP (epoch ms). Es el reloj de la ventana
125
+ * de 24 h: pasada, el estado se cierra a `DOC_REJECTED_DENIED`.
126
+ *
127
+ * Se reescribe con cada rechazo nuevo — un reintento fallido reabre la ventana completa, no
128
+ * hereda el plazo del anterior.
129
+ */
130
+ docRejectedAt?:number | null,
131
+ /**
132
+ * Link de IDology para volver a escanear el documento, tal como llega en
133
+ * `payload.additional_data.document_scan_url`. Presente en el 100 % de los rechazos
134
+ * observados en producción (460 de 460).
135
+ */
136
+ docRejectedScanUrl?:string | null,
123
137
  status:AccountRequirementStatusEnum,
124
138
  observations:string,
125
139
  selfieResult:string | null;
@@ -112,6 +112,10 @@ export class PeopleUpdateRequest {
112
112
  documentNumber?: string;
113
113
  stateOfDocument?: string;
114
114
  CP_Status?: CPStatusEnum;
115
+ /** Epoch ms del último rechazo de documento de CP. Reloj de la ventana de 24 h. */
116
+ docRejectedAt?: number | null;
117
+ /** Link de IDology para volver a escanear el documento (`additional_data.document_scan_url`). */
118
+ docRejectedScanUrl?: string | null;
115
119
  status?: AccountRequirementStatusEnum;
116
120
  observations?: string
117
121
  externalReferenceId?: string | null;
@@ -9,5 +9,45 @@ export enum CPStatusEnum {
9
9
  DOCUMENT_ERROR = "DOCUMENT_ERROR",
10
10
  INCOMPLETE_OOW_ANSWERS = "INCOMPLETE_OOW_ANSWERS",
11
11
  OOW_EXPIRED = "OOW_EXPIRED",
12
+
13
+ /**
14
+ * DOCUMENTO RECHAZADO POR CP — el usuario puede subirlo de nuevo (ventana de 24 h).
15
+ *
16
+ * CP manda un solo evento (`cardholder.kyc.document_rejected`) con `kyc_status:
17
+ * DOCUMENT_REJECTED` para todos los casos; el motivo real viaja como texto libre de IDology en
18
+ * `payload.kyc_reason_codes[0]`, con los motivos concatenados por "; ". Estos valores son ese
19
+ * texto mapeado, para que el frontend pueda dar un mensaje concreto en vez de "documento
20
+ * rechazado" a secas.
21
+ *
22
+ * Distribución en producción (460 eventos, 450 personas, ago–oct 2025):
23
+ * DOC_TOO_SMALL 220
24
+ * DOC_TOO_SMALL_IMAGE_ERROR 179
25
+ * DOC_BAD_RESOLUTION 30
26
+ * DOC_IMAGE_ERROR 2
27
+ * DOC_TOO_SMALL_BARCODE_IMAGE_ERROR 1
28
+ *
29
+ * `Invalid Transaction Request` (28 casos) queda FUERA a propósito: es un fallo de la petición
30
+ * a IDology, no del documento de la persona.
31
+ */
32
+ /** "Document Too Small" */
33
+ DOC_TOO_SMALL = "DOC_TOO_SMALL",
34
+ /** "Document Too Small; Image Error" */
35
+ DOC_TOO_SMALL_IMAGE_ERROR = "DOC_TOO_SMALL_IMAGE_ERROR",
36
+ /** "Image size is not within specified resolutions." */
37
+ DOC_BAD_RESOLUTION = "DOC_BAD_RESOLUTION",
38
+ /** "Image Error" */
39
+ DOC_IMAGE_ERROR = "DOC_IMAGE_ERROR",
40
+ /** "Document Too Small; Barcode Not Detected; Image Error" */
41
+ DOC_TOO_SMALL_BARCODE_IMAGE_ERROR = "DOC_TOO_SMALL_BARCODE_IMAGE_ERROR",
42
+
43
+ /**
44
+ * Venció la ventana de 24 h para volver a subir el documento.
45
+ *
46
+ * Es UNO solo para los cinco motivos de arriba: pasado el plazo el usuario ya no puede
47
+ * reintentar, así que cuál era el problema de la foto deja de importar — el mensaje es el mismo.
48
+ * Cinco variantes `_DENIED` serían cinco copys idénticos.
49
+ */
50
+ DOC_REJECTED_DENIED = "DOC_REJECTED_DENIED",
51
+
12
52
  NONE = "NONE"
13
53
  }
@@ -27,6 +27,23 @@ export enum OnboardingAccountStatusEnum {
27
27
  * Se deriva de `CP_Status === PENDING_OOW_QUESTIONS`.
28
28
  */
29
29
  PENDING_OOW_QUESTIONS = 'PENDING_OOW_QUESTIONS',
30
+ /**
31
+ * CP rechazó el documento y el usuario puede subir otra foto (ventana de 24 h).
32
+ *
33
+ * Son cinco estados y no uno porque el motivo cambia el mensaje: "salió muy chica" no es lo
34
+ * mismo que "no se pudo leer". El texto original de IDology se mapea en
35
+ * `documentRejection.ts` (onboarding-business).
36
+ *
37
+ * Cuando llega alguno de estos, `reason` trae el LINK de IDology para reescanear el documento
38
+ * (`document_scan_url`), no un motivo del catálogo.
39
+ */
40
+ DOC_TOO_SMALL = 'DOC_TOO_SMALL',
41
+ DOC_TOO_SMALL_IMAGE_ERROR = 'DOC_TOO_SMALL_IMAGE_ERROR',
42
+ DOC_BAD_RESOLUTION = 'DOC_BAD_RESOLUTION',
43
+ DOC_IMAGE_ERROR = 'DOC_IMAGE_ERROR',
44
+ DOC_TOO_SMALL_BARCODE_IMAGE_ERROR = 'DOC_TOO_SMALL_BARCODE_IMAGE_ERROR',
45
+ /** Venció la ventana de 24 h: ya no puede reintentar. Uno solo para los cinco motivos. */
46
+ DOC_REJECTED_DENIED = 'DOC_REJECTED_DENIED',
30
47
  REJECTED = 'REJECTED',
31
48
  OPEN = 'OPEN',
32
49
  }