@fiado/type-kit 3.345.0 → 3.347.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/onboarding/enums/OnboardingAccountStatusEnum.d.ts +13 -0
- package/bin/onboarding/enums/OnboardingAccountStatusEnum.js +13 -0
- package/bin/retailCustomer/dtos/RetailCustomer.d.ts +0 -1
- package/bin/retailCustomer/dtos/RetailCustomer.js +0 -6
- package/bin/retailCustomer/dtos/requests/AccountResultRequest.d.ts +3 -4
- package/bin/retailCustomer/dtos/requests/AccountResultRequest.js +3 -10
- package/bin/retailCustomer/dtos/requests/UpsertCustomerFromKycRequest.d.ts +0 -1
- package/bin/retailCustomer/dtos/requests/UpsertCustomerFromKycRequest.js +0 -6
- package/bin/retailCustomer/dtos/responses/CustomerResponse.d.ts +0 -1
- package/bin/retailWizard/dtos/responses/AccountStatusResponse.d.ts +0 -2
- package/package.json +1 -1
- package/src/onboarding/enums/OnboardingAccountStatusEnum.ts +13 -0
- package/src/retailCustomer/dtos/RetailCustomer.ts +0 -5
- package/src/retailCustomer/dtos/requests/AccountResultRequest.ts +4 -12
- package/src/retailCustomer/dtos/requests/UpsertCustomerFromKycRequest.ts +0 -5
- package/src/retailCustomer/dtos/responses/CustomerResponse.ts +0 -1
- package/src/retailWizard/dtos/responses/AccountStatusResponse.ts +0 -2
|
@@ -44,6 +44,19 @@ export declare enum OnboardingAccountStatusEnum {
|
|
|
44
44
|
DOC_TOO_SMALL_BARCODE_IMAGE_ERROR = "DOC_TOO_SMALL_BARCODE_IMAGE_ERROR",
|
|
45
45
|
/** Venció la ventana de 24 h: ya no puede reintentar. Uno solo para los cinco motivos. */
|
|
46
46
|
DOC_REJECTED_DENIED = "DOC_REJECTED_DENIED",
|
|
47
|
+
/**
|
|
48
|
+
* CP no pudo verificar la identidad con datos y PIDE un documento de respaldo
|
|
49
|
+
* (`CP_Status === UPLOAD_DOCUMENT`).
|
|
50
|
+
*
|
|
51
|
+
* Es distinto de los DOC_* de arriba: ahí la foto salió mal y hay que repetirla; acá IDology no
|
|
52
|
+
* encontró a la persona en sus bases ("ID Not Located", "SSN Not Found", "Thin File") y pide un
|
|
53
|
+
* documento como prueba. 2.267 eventos en producción, TODOS con `document_scan_url`.
|
|
54
|
+
*
|
|
55
|
+
* Estaba agrupado con UNDER_REVIEW, así que el usuario recibía KEEP_CALM —"estamos procesando,
|
|
56
|
+
* tené paciencia"— cuando la pelota estaba de SU lado y había un link esperándolo. Ahora viaja
|
|
57
|
+
* como estado propio con ese link en `reason`, igual que los DOC_*.
|
|
58
|
+
*/
|
|
59
|
+
PROVIDER_UPLOAD_DOCUMENT = "PROVIDER_UPLOAD_DOCUMENT",
|
|
47
60
|
REJECTED = "REJECTED",
|
|
48
61
|
OPEN = "OPEN"
|
|
49
62
|
}
|
|
@@ -48,6 +48,19 @@ var OnboardingAccountStatusEnum;
|
|
|
48
48
|
OnboardingAccountStatusEnum["DOC_TOO_SMALL_BARCODE_IMAGE_ERROR"] = "DOC_TOO_SMALL_BARCODE_IMAGE_ERROR";
|
|
49
49
|
/** Venció la ventana de 24 h: ya no puede reintentar. Uno solo para los cinco motivos. */
|
|
50
50
|
OnboardingAccountStatusEnum["DOC_REJECTED_DENIED"] = "DOC_REJECTED_DENIED";
|
|
51
|
+
/**
|
|
52
|
+
* CP no pudo verificar la identidad con datos y PIDE un documento de respaldo
|
|
53
|
+
* (`CP_Status === UPLOAD_DOCUMENT`).
|
|
54
|
+
*
|
|
55
|
+
* Es distinto de los DOC_* de arriba: ahí la foto salió mal y hay que repetirla; acá IDology no
|
|
56
|
+
* encontró a la persona en sus bases ("ID Not Located", "SSN Not Found", "Thin File") y pide un
|
|
57
|
+
* documento como prueba. 2.267 eventos en producción, TODOS con `document_scan_url`.
|
|
58
|
+
*
|
|
59
|
+
* Estaba agrupado con UNDER_REVIEW, así que el usuario recibía KEEP_CALM —"estamos procesando,
|
|
60
|
+
* tené paciencia"— cuando la pelota estaba de SU lado y había un link esperándolo. Ahora viaja
|
|
61
|
+
* como estado propio con ese link en `reason`, igual que los DOC_*.
|
|
62
|
+
*/
|
|
63
|
+
OnboardingAccountStatusEnum["PROVIDER_UPLOAD_DOCUMENT"] = "PROVIDER_UPLOAD_DOCUMENT";
|
|
51
64
|
OnboardingAccountStatusEnum["REJECTED"] = "REJECTED";
|
|
52
65
|
OnboardingAccountStatusEnum["OPEN"] = "OPEN";
|
|
53
66
|
})(OnboardingAccountStatusEnum || (exports.OnboardingAccountStatusEnum = OnboardingAccountStatusEnum = {}));
|
|
@@ -36,7 +36,6 @@ export declare class RetailCustomer {
|
|
|
36
36
|
fiadoDirectoryId: string | null;
|
|
37
37
|
fiadoPeopleId: string | null;
|
|
38
38
|
pcfAccountId: string | null;
|
|
39
|
-
pcfClabe: string | null;
|
|
40
39
|
pcfAccountLevel: 1 | 2 | null;
|
|
41
40
|
accountStatus: AccountStatusEnum | null;
|
|
42
41
|
failReason: string | null;
|
|
@@ -125,12 +125,6 @@ __decorate([
|
|
|
125
125
|
(0, class_validator_1.IsString)(),
|
|
126
126
|
__metadata("design:type", String)
|
|
127
127
|
], RetailCustomer.prototype, "pcfAccountId", void 0);
|
|
128
|
-
__decorate([
|
|
129
|
-
(0, class_transformer_1.Expose)(),
|
|
130
|
-
(0, class_validator_1.IsOptional)(),
|
|
131
|
-
(0, class_validator_1.IsString)(),
|
|
132
|
-
__metadata("design:type", String)
|
|
133
|
-
], RetailCustomer.prototype, "pcfClabe", void 0);
|
|
134
128
|
__decorate([
|
|
135
129
|
(0, class_transformer_1.Expose)(),
|
|
136
130
|
(0, class_validator_1.IsOptional)(),
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { AccountStatusEnum } from '../../enums/AccountStatusEnum';
|
|
2
2
|
/**
|
|
3
3
|
* Resultado de la apertura de cuenta async (D35) — lo escribe el consumer `account-inbound` al
|
|
4
|
-
* aterrizar el evento `AccountIssuanceCompleted`. OPEN llega con `
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* aterrizar el evento `AccountIssuanceCompleted`. OPEN llega con `pcfAccountLevel`; FAILED llega con
|
|
5
|
+
* `failReason`. El endpoint SOLO acepta el resultado terminal (OPEN/FAILED), nunca el estado
|
|
6
|
+
* intermedio OPENING (ese lo setea el server en el upsert). SureKeep Fase 2 — pista Retail.
|
|
7
7
|
*/
|
|
8
8
|
export declare class AccountResultRequest {
|
|
9
9
|
status: AccountStatusEnum;
|
|
10
|
-
pcfClabe?: string;
|
|
11
10
|
pcfAccountLevel?: 1 | 2;
|
|
12
11
|
failReason?: string;
|
|
13
12
|
}
|
|
@@ -15,9 +15,9 @@ const class_validator_1 = require("class-validator");
|
|
|
15
15
|
const AccountStatusEnum_1 = require("../../enums/AccountStatusEnum");
|
|
16
16
|
/**
|
|
17
17
|
* Resultado de la apertura de cuenta async (D35) — lo escribe el consumer `account-inbound` al
|
|
18
|
-
* aterrizar el evento `AccountIssuanceCompleted`. OPEN llega con `
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* aterrizar el evento `AccountIssuanceCompleted`. OPEN llega con `pcfAccountLevel`; FAILED llega con
|
|
19
|
+
* `failReason`. El endpoint SOLO acepta el resultado terminal (OPEN/FAILED), nunca el estado
|
|
20
|
+
* intermedio OPENING (ese lo setea el server en el upsert). SureKeep Fase 2 — pista Retail.
|
|
21
21
|
*/
|
|
22
22
|
class AccountResultRequest {
|
|
23
23
|
}
|
|
@@ -27,13 +27,6 @@ __decorate([
|
|
|
27
27
|
(0, class_validator_1.IsIn)([AccountStatusEnum_1.AccountStatusEnum.OPEN, AccountStatusEnum_1.AccountStatusEnum.FAILED]),
|
|
28
28
|
__metadata("design:type", String)
|
|
29
29
|
], AccountResultRequest.prototype, "status", void 0);
|
|
30
|
-
__decorate([
|
|
31
|
-
(0, class_transformer_1.Expose)(),
|
|
32
|
-
(0, class_validator_1.ValidateIf)((o) => o.status === AccountStatusEnum_1.AccountStatusEnum.OPEN),
|
|
33
|
-
(0, class_validator_1.IsString)(),
|
|
34
|
-
(0, class_validator_1.IsNotEmpty)({ message: 'pcfClabe es obligatorio cuando status es OPEN' }),
|
|
35
|
-
__metadata("design:type", String)
|
|
36
|
-
], AccountResultRequest.prototype, "pcfClabe", void 0);
|
|
37
30
|
__decorate([
|
|
38
31
|
(0, class_transformer_1.Expose)(),
|
|
39
32
|
(0, class_validator_1.IsOptional)(),
|
|
@@ -38,7 +38,6 @@ export declare class UpsertCustomerFromKycRequest {
|
|
|
38
38
|
fiadoDirectoryId: string;
|
|
39
39
|
fiadoPeopleId: string;
|
|
40
40
|
pcfAccountId?: string;
|
|
41
|
-
pcfClabe?: string;
|
|
42
41
|
pcfAccountLevel?: 1 | 2;
|
|
43
42
|
/**
|
|
44
43
|
* El cliente ya tenía una cuenta PCF ACTIVE en México (rama facematch). Si es `true`, el receptor
|
|
@@ -119,12 +119,6 @@ __decorate([
|
|
|
119
119
|
(0, class_validator_1.IsString)(),
|
|
120
120
|
__metadata("design:type", String)
|
|
121
121
|
], UpsertCustomerFromKycRequest.prototype, "pcfAccountId", void 0);
|
|
122
|
-
__decorate([
|
|
123
|
-
(0, class_transformer_1.Expose)(),
|
|
124
|
-
(0, class_validator_1.IsOptional)(),
|
|
125
|
-
(0, class_validator_1.IsString)(),
|
|
126
|
-
__metadata("design:type", String)
|
|
127
|
-
], UpsertCustomerFromKycRequest.prototype, "pcfClabe", void 0);
|
|
128
122
|
__decorate([
|
|
129
123
|
(0, class_transformer_1.Expose)(),
|
|
130
124
|
(0, class_validator_1.IsOptional)(),
|
|
@@ -35,7 +35,6 @@ export interface CustomerResponse {
|
|
|
35
35
|
fiadoDirectoryId: string | null;
|
|
36
36
|
fiadoPeopleId: string | null;
|
|
37
37
|
pcfAccountId: string | null;
|
|
38
|
-
pcfClabe: string | null;
|
|
39
38
|
pcfAccountLevel: 1 | 2 | null;
|
|
40
39
|
accountStatus: AccountStatusEnum | null;
|
|
41
40
|
failReason: string | null;
|
|
@@ -9,8 +9,6 @@ import { AccountStep } from '../AccountStep';
|
|
|
9
9
|
export interface AccountStatusResponse {
|
|
10
10
|
/** El comprador ya tiene cuenta PCF ACTIVE. Es el unico campo con el que el front destraba. */
|
|
11
11
|
accountReady: boolean;
|
|
12
|
-
/** CLABE de la cuenta. `null` mientras no haya cuenta. */
|
|
13
|
-
clabe: string | null;
|
|
14
12
|
/** Veredicto crudo del expediente, tal como lo publica el lambda de onboarding. */
|
|
15
13
|
verdict: AccountVerdictEnum;
|
|
16
14
|
/** Lectura accionable del veredicto: es lo que el front usa para decidir. */
|
package/package.json
CHANGED
|
@@ -44,6 +44,19 @@ export enum OnboardingAccountStatusEnum {
|
|
|
44
44
|
DOC_TOO_SMALL_BARCODE_IMAGE_ERROR = 'DOC_TOO_SMALL_BARCODE_IMAGE_ERROR',
|
|
45
45
|
/** Venció la ventana de 24 h: ya no puede reintentar. Uno solo para los cinco motivos. */
|
|
46
46
|
DOC_REJECTED_DENIED = 'DOC_REJECTED_DENIED',
|
|
47
|
+
/**
|
|
48
|
+
* CP no pudo verificar la identidad con datos y PIDE un documento de respaldo
|
|
49
|
+
* (`CP_Status === UPLOAD_DOCUMENT`).
|
|
50
|
+
*
|
|
51
|
+
* Es distinto de los DOC_* de arriba: ahí la foto salió mal y hay que repetirla; acá IDology no
|
|
52
|
+
* encontró a la persona en sus bases ("ID Not Located", "SSN Not Found", "Thin File") y pide un
|
|
53
|
+
* documento como prueba. 2.267 eventos en producción, TODOS con `document_scan_url`.
|
|
54
|
+
*
|
|
55
|
+
* Estaba agrupado con UNDER_REVIEW, así que el usuario recibía KEEP_CALM —"estamos procesando,
|
|
56
|
+
* tené paciencia"— cuando la pelota estaba de SU lado y había un link esperándolo. Ahora viaja
|
|
57
|
+
* como estado propio con ese link en `reason`, igual que los DOC_*.
|
|
58
|
+
*/
|
|
59
|
+
PROVIDER_UPLOAD_DOCUMENT = 'PROVIDER_UPLOAD_DOCUMENT',
|
|
47
60
|
REJECTED = 'REJECTED',
|
|
48
61
|
OPEN = 'OPEN',
|
|
49
62
|
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Expose } from 'class-transformer';
|
|
2
|
-
import { IsIn,
|
|
2
|
+
import { IsIn, IsOptional, IsString } from 'class-validator';
|
|
3
3
|
import { AccountStatusEnum } from '../../enums/AccountStatusEnum';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Resultado de la apertura de cuenta async (D35) — lo escribe el consumer `account-inbound` al
|
|
7
|
-
* aterrizar el evento `AccountIssuanceCompleted`. OPEN llega con `
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* aterrizar el evento `AccountIssuanceCompleted`. OPEN llega con `pcfAccountLevel`; FAILED llega con
|
|
8
|
+
* `failReason`. El endpoint SOLO acepta el resultado terminal (OPEN/FAILED), nunca el estado
|
|
9
|
+
* intermedio OPENING (ese lo setea el server en el upsert). SureKeep Fase 2 — pista Retail.
|
|
10
10
|
*/
|
|
11
11
|
export class AccountResultRequest {
|
|
12
12
|
// OPENING NO es un resultado válido del endpoint D35; solo el estado terminal OPEN/FAILED.
|
|
@@ -14,14 +14,6 @@ export class AccountResultRequest {
|
|
|
14
14
|
@IsIn([AccountStatusEnum.OPEN, AccountStatusEnum.FAILED])
|
|
15
15
|
status!: AccountStatusEnum;
|
|
16
16
|
|
|
17
|
-
// OPEN ⇒ pcfClabe obligatorio (la cuenta abierta sin CLABE es inconsistente). Para FAILED se omite
|
|
18
|
-
// (@ValidateIf desactiva los validators cuando status ≠ OPEN → queda opcional).
|
|
19
|
-
@Expose()
|
|
20
|
-
@ValidateIf((o: AccountResultRequest) => o.status === AccountStatusEnum.OPEN)
|
|
21
|
-
@IsString()
|
|
22
|
-
@IsNotEmpty({ message: 'pcfClabe es obligatorio cuando status es OPEN' })
|
|
23
|
-
pcfClabe?: string;
|
|
24
|
-
|
|
25
17
|
@Expose()
|
|
26
18
|
@IsOptional()
|
|
27
19
|
@IsIn([1, 2])
|
|
@@ -36,7 +36,6 @@ export interface CustomerResponse {
|
|
|
36
36
|
fiadoDirectoryId: string | null;
|
|
37
37
|
fiadoPeopleId: string | null;
|
|
38
38
|
pcfAccountId: string | null;
|
|
39
|
-
pcfClabe: string | null;
|
|
40
39
|
pcfAccountLevel: 1 | 2 | null;
|
|
41
40
|
accountStatus: AccountStatusEnum | null;
|
|
42
41
|
failReason: string | null;
|
|
@@ -10,8 +10,6 @@ import { AccountStep } from '../AccountStep';
|
|
|
10
10
|
export interface AccountStatusResponse {
|
|
11
11
|
/** El comprador ya tiene cuenta PCF ACTIVE. Es el unico campo con el que el front destraba. */
|
|
12
12
|
accountReady: boolean;
|
|
13
|
-
/** CLABE de la cuenta. `null` mientras no haya cuenta. */
|
|
14
|
-
clabe: string | null;
|
|
15
13
|
/** Veredicto crudo del expediente, tal como lo publica el lambda de onboarding. */
|
|
16
14
|
verdict: AccountVerdictEnum;
|
|
17
15
|
/** Lectura accionable del veredicto: es lo que el front usa para decidir. */
|