@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.
- package/bin/identity/dtos/PeopleResponse.d.ts +14 -0
- package/bin/identity/dtos/PeopleUpdateRequest.d.ts +4 -0
- package/bin/identity/enums/CPStatusEnum.d.ts +37 -0
- package/bin/identity/enums/CPStatusEnum.js +37 -0
- package/bin/onboarding/enums/OnboardingAccountStatusEnum.d.ts +17 -0
- package/bin/onboarding/enums/OnboardingAccountStatusEnum.js +17 -0
- package/package.json +1 -1
- package/src/identity/dtos/PeopleResponse.ts +14 -0
- package/src/identity/dtos/PeopleUpdateRequest.ts +4 -0
- package/src/identity/enums/CPStatusEnum.ts +40 -0
- package/src/onboarding/enums/OnboardingAccountStatusEnum.ts +17 -0
|
@@ -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
|
@@ -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
|
}
|