@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.
@@ -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 `pcfClabe`/`pcfAccountLevel`;
5
- * FAILED llega con `failReason`. El endpoint SOLO acepta el resultado terminal (OPEN/FAILED), nunca
6
- * el estado intermedio OPENING (ese lo setea el server en el upsert). SureKeep Fase 2 — pista Retail.
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 `pcfClabe`/`pcfAccountLevel`;
19
- * FAILED llega con `failReason`. El endpoint SOLO acepta el resultado terminal (OPEN/FAILED), nunca
20
- * el estado intermedio OPENING (ese lo setea el server en el upsert). SureKeep Fase 2 — pista Retail.
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.345.0",
3
+ "version": "3.347.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -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
  }
@@ -111,11 +111,6 @@ export class RetailCustomer {
111
111
  @IsString()
112
112
  pcfAccountId!: string | null;
113
113
 
114
- @Expose()
115
- @IsOptional()
116
- @IsString()
117
- pcfClabe!: string | null;
118
-
119
114
  @Expose()
120
115
  @IsOptional()
121
116
  @IsIn([1, 2])
@@ -1,12 +1,12 @@
1
1
  import { Expose } from 'class-transformer';
2
- import { IsIn, IsNotEmpty, IsOptional, IsString, ValidateIf } from 'class-validator';
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 `pcfClabe`/`pcfAccountLevel`;
8
- * FAILED llega con `failReason`. El endpoint SOLO acepta el resultado terminal (OPEN/FAILED), nunca
9
- * el estado intermedio OPENING (ese lo setea el server en el upsert). SureKeep Fase 2 — pista Retail.
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])
@@ -117,11 +117,6 @@ export class UpsertCustomerFromKycRequest {
117
117
  @IsString()
118
118
  pcfAccountId?: string;
119
119
 
120
- @Expose()
121
- @IsOptional()
122
- @IsString()
123
- pcfClabe?: string;
124
-
125
120
  @Expose()
126
121
  @IsOptional()
127
122
  @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. */