@fiado/type-kit 3.220.0 → 3.222.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/retailCustomer/dtos/requests/UpsertCustomerFromKycRequest.d.ts +6 -0
- package/bin/retailCustomer/dtos/requests/UpsertCustomerFromKycRequest.js +6 -0
- package/bin/retailCustomer/enums/AccountStatusEnum.d.ts +7 -1
- package/bin/retailCustomer/enums/AccountStatusEnum.js +6 -0
- package/bin/retailWizard/dtos/WizardSession.d.ts +1 -1
- package/bin/retailWizard/dtos/responses/KycPrepareResponse.d.ts +27 -0
- package/bin/retailWizard/dtos/responses/KycPrepareResponse.js +13 -0
- package/package.json +1 -1
- package/src/retailCustomer/dtos/requests/UpsertCustomerFromKycRequest.ts +11 -0
- package/src/retailCustomer/enums/AccountStatusEnum.ts +6 -0
- package/src/retailWizard/dtos/WizardSession.ts +1 -1
- package/src/retailWizard/dtos/responses/KycPrepareResponse.ts +28 -0
|
@@ -28,6 +28,12 @@ export declare class UpsertCustomerFromKycRequest {
|
|
|
28
28
|
pcfAccountId?: string;
|
|
29
29
|
pcfClabe?: string;
|
|
30
30
|
pcfAccountLevel?: 1 | 2;
|
|
31
|
+
/**
|
|
32
|
+
* El cliente ya tenía una cuenta PCF ACTIVE en México (rama facematch). Si es `true`, el receptor
|
|
33
|
+
* marca `accountStatus=LINKED` en vez de `OPENING` y NO dispara la apertura async (D35).
|
|
34
|
+
* Ausente/`false` = flujo normal (se abre cuenta). SureKeep Fase 2 — bifurcación KYC.
|
|
35
|
+
*/
|
|
36
|
+
hasActiveMxAccount?: boolean;
|
|
31
37
|
kycStatus: RetailKycStatusEnum;
|
|
32
38
|
kycModality: KycModalityEnum;
|
|
33
39
|
address?: AddressBase;
|
|
@@ -118,6 +118,12 @@ __decorate([
|
|
|
118
118
|
(0, class_validator_1.IsIn)([1, 2]),
|
|
119
119
|
__metadata("design:type", Number)
|
|
120
120
|
], UpsertCustomerFromKycRequest.prototype, "pcfAccountLevel", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
(0, class_transformer_1.Expose)(),
|
|
123
|
+
(0, class_validator_1.IsOptional)(),
|
|
124
|
+
(0, class_validator_1.IsBoolean)(),
|
|
125
|
+
__metadata("design:type", Boolean)
|
|
126
|
+
], UpsertCustomerFromKycRequest.prototype, "hasActiveMxAccount", void 0);
|
|
121
127
|
__decorate([
|
|
122
128
|
(0, class_transformer_1.Expose)(),
|
|
123
129
|
(0, class_validator_1.IsEnum)(RetailKycStatusEnum_1.RetailKycStatusEnum),
|
|
@@ -5,5 +5,11 @@
|
|
|
5
5
|
export declare enum AccountStatusEnum {
|
|
6
6
|
OPENING = "OPENING",
|
|
7
7
|
OPEN = "OPEN",
|
|
8
|
-
FAILED = "FAILED"
|
|
8
|
+
FAILED = "FAILED",
|
|
9
|
+
/**
|
|
10
|
+
* El cliente YA tenía una cuenta PCF ACTIVE en México al entrar por SureKeep (rama facematch):
|
|
11
|
+
* no se abre una nueva. No dispara la apertura async (D35) ni el welcome bonus (ese es incentivo
|
|
12
|
+
* para completar N2). SureKeep Fase 2 — bifurcación KYC.
|
|
13
|
+
*/
|
|
14
|
+
LINKED = "LINKED"
|
|
9
15
|
}
|
|
@@ -10,4 +10,10 @@ var AccountStatusEnum;
|
|
|
10
10
|
AccountStatusEnum["OPENING"] = "OPENING";
|
|
11
11
|
AccountStatusEnum["OPEN"] = "OPEN";
|
|
12
12
|
AccountStatusEnum["FAILED"] = "FAILED";
|
|
13
|
+
/**
|
|
14
|
+
* El cliente YA tenía una cuenta PCF ACTIVE en México al entrar por SureKeep (rama facematch):
|
|
15
|
+
* no se abre una nueva. No dispara la apertura async (D35) ni el welcome bonus (ese es incentivo
|
|
16
|
+
* para completar N2). SureKeep Fase 2 — bifurcación KYC.
|
|
17
|
+
*/
|
|
18
|
+
AccountStatusEnum["LINKED"] = "LINKED";
|
|
13
19
|
})(AccountStatusEnum || (exports.AccountStatusEnum = AccountStatusEnum = {}));
|
|
@@ -12,7 +12,7 @@ import type { WizardWelcome } from './WizardWelcome';
|
|
|
12
12
|
/** Modalidad de captura del KYC (M1 §213-329). */
|
|
13
13
|
export type KycModality = 'CUSTOMER_LINK' | 'STORE_DEVICE' | 'MANUAL';
|
|
14
14
|
/** Estado de la apertura de cuenta async (D35) — espejo de `RetailCustomer.accountStatus`. */
|
|
15
|
-
export type AccountStatus = 'OPENING' | 'OPEN' | 'FAILED';
|
|
15
|
+
export type AccountStatus = 'OPENING' | 'OPEN' | 'FAILED' | 'LINKED';
|
|
16
16
|
/**
|
|
17
17
|
* Estado de la SAGA del wizard (modelo-datos §1). ES la tabla de estado: cada paso persiste su
|
|
18
18
|
* avance; reanudable. pk `SESSION#<sessionId>` · sk `META` · GSIs `phone-state-index`,
|
|
@@ -31,6 +31,33 @@ export interface KycSdkMetadata {
|
|
|
31
31
|
customInput?: boolean;
|
|
32
32
|
userPhotoLink?: string;
|
|
33
33
|
userPhotoLinkHash?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Qué producto originó esta verificación. Metamap devuelve la metadata TAL CUAL en cada webhook,
|
|
36
|
+
* así que este campo es la única marca por la que `kyc-metamap-webhook` puede reconocer que un
|
|
37
|
+
* KYC salió del wizard de SureKeep.
|
|
38
|
+
*
|
|
39
|
+
* **Por qué no basta el `flowId`:** hoy el webhook discrimina comparando contra `SUREKEEP_FLOW_ID`,
|
|
40
|
+
* pero ese flow (`67b7700699b525001cabb350`, DEVELOPMENT_MEX_WORKFLOW) también lo usa
|
|
41
|
+
* `fiado-user-wallet-app` — no es exclusivo. Con un evento por verificación el ruido es tolerable
|
|
42
|
+
* (el consumidor lo descarta en su gate), pero el progreso estación por estación multiplica ese
|
|
43
|
+
* volumen por ~8 y cada mensaje ajeno cuesta lecturas de DDB en el consumidor.
|
|
44
|
+
*
|
|
45
|
+
* Opcional y aditivo: una verificación vieja sin `source` sigue resolviéndose por `flowId`.
|
|
46
|
+
* La solución de fondo es un flow propio de SureKeep en Metamap — configuración del proveedor,
|
|
47
|
+
* no código.
|
|
48
|
+
*/
|
|
49
|
+
source?: KycMetadataSourceEnum;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Producto que originó una verificación KYC, tal como viaja en `KycSdkMetadata.source`.
|
|
53
|
+
*
|
|
54
|
+
* Es un enum y no un string libre a propósito: el valor lo escribe un repo (`retail-wizard-business`)
|
|
55
|
+
* y lo compara otro (`kyc-metamap-webhook`). Un typo de un lado no rompería nada visible — el webhook
|
|
56
|
+
* simplemente dejaría de reconocer los KYC de SureKeep y el progreso nunca llegaría a la pantalla,
|
|
57
|
+
* sin un solo error en los logs.
|
|
58
|
+
*/
|
|
59
|
+
export declare enum KycMetadataSourceEnum {
|
|
60
|
+
SUREKEEP_WIZARD = "surekeepWizard"
|
|
34
61
|
}
|
|
35
62
|
/**
|
|
36
63
|
* POST /wizard/sessions/:id/kyc/prepare — respuesta.
|
|
@@ -1,2 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.KycMetadataSourceEnum = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Producto que originó una verificación KYC, tal como viaja en `KycSdkMetadata.source`.
|
|
6
|
+
*
|
|
7
|
+
* Es un enum y no un string libre a propósito: el valor lo escribe un repo (`retail-wizard-business`)
|
|
8
|
+
* y lo compara otro (`kyc-metamap-webhook`). Un typo de un lado no rompería nada visible — el webhook
|
|
9
|
+
* simplemente dejaría de reconocer los KYC de SureKeep y el progreso nunca llegaría a la pantalla,
|
|
10
|
+
* sin un solo error en los logs.
|
|
11
|
+
*/
|
|
12
|
+
var KycMetadataSourceEnum;
|
|
13
|
+
(function (KycMetadataSourceEnum) {
|
|
14
|
+
KycMetadataSourceEnum["SUREKEEP_WIZARD"] = "surekeepWizard";
|
|
15
|
+
})(KycMetadataSourceEnum || (exports.KycMetadataSourceEnum = KycMetadataSourceEnum = {}));
|
package/package.json
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Expose, Transform, Type } from 'class-transformer';
|
|
2
2
|
import {
|
|
3
|
+
IsBoolean,
|
|
3
4
|
IsEmail,
|
|
4
5
|
IsEnum,
|
|
5
6
|
IsIn,
|
|
@@ -107,6 +108,16 @@ export class UpsertCustomerFromKycRequest {
|
|
|
107
108
|
@IsIn([1, 2])
|
|
108
109
|
pcfAccountLevel?: 1 | 2;
|
|
109
110
|
|
|
111
|
+
/**
|
|
112
|
+
* El cliente ya tenía una cuenta PCF ACTIVE en México (rama facematch). Si es `true`, el receptor
|
|
113
|
+
* marca `accountStatus=LINKED` en vez de `OPENING` y NO dispara la apertura async (D35).
|
|
114
|
+
* Ausente/`false` = flujo normal (se abre cuenta). SureKeep Fase 2 — bifurcación KYC.
|
|
115
|
+
*/
|
|
116
|
+
@Expose()
|
|
117
|
+
@IsOptional()
|
|
118
|
+
@IsBoolean()
|
|
119
|
+
hasActiveMxAccount?: boolean;
|
|
120
|
+
|
|
110
121
|
@Expose()
|
|
111
122
|
@IsEnum(RetailKycStatusEnum)
|
|
112
123
|
kycStatus!: RetailKycStatusEnum;
|
|
@@ -6,4 +6,10 @@ export enum AccountStatusEnum {
|
|
|
6
6
|
OPENING = 'OPENING',
|
|
7
7
|
OPEN = 'OPEN',
|
|
8
8
|
FAILED = 'FAILED',
|
|
9
|
+
/**
|
|
10
|
+
* El cliente YA tenía una cuenta PCF ACTIVE en México al entrar por SureKeep (rama facematch):
|
|
11
|
+
* no se abre una nueva. No dispara la apertura async (D35) ni el welcome bonus (ese es incentivo
|
|
12
|
+
* para completar N2). SureKeep Fase 2 — bifurcación KYC.
|
|
13
|
+
*/
|
|
14
|
+
LINKED = 'LINKED',
|
|
9
15
|
}
|
|
@@ -14,7 +14,7 @@ import type { WizardWelcome } from './WizardWelcome';
|
|
|
14
14
|
export type KycModality = 'CUSTOMER_LINK' | 'STORE_DEVICE' | 'MANUAL';
|
|
15
15
|
|
|
16
16
|
/** Estado de la apertura de cuenta async (D35) — espejo de `RetailCustomer.accountStatus`. */
|
|
17
|
-
export type AccountStatus = 'OPENING' | 'OPEN' | 'FAILED';
|
|
17
|
+
export type AccountStatus = 'OPENING' | 'OPEN' | 'FAILED' | 'LINKED';
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Estado de la SAGA del wizard (modelo-datos §1). ES la tabla de estado: cada paso persiste su
|
|
@@ -32,6 +32,34 @@ export interface KycSdkMetadata {
|
|
|
32
32
|
customInput?: boolean;
|
|
33
33
|
userPhotoLink?: string;
|
|
34
34
|
userPhotoLinkHash?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Qué producto originó esta verificación. Metamap devuelve la metadata TAL CUAL en cada webhook,
|
|
37
|
+
* así que este campo es la única marca por la que `kyc-metamap-webhook` puede reconocer que un
|
|
38
|
+
* KYC salió del wizard de SureKeep.
|
|
39
|
+
*
|
|
40
|
+
* **Por qué no basta el `flowId`:** hoy el webhook discrimina comparando contra `SUREKEEP_FLOW_ID`,
|
|
41
|
+
* pero ese flow (`67b7700699b525001cabb350`, DEVELOPMENT_MEX_WORKFLOW) también lo usa
|
|
42
|
+
* `fiado-user-wallet-app` — no es exclusivo. Con un evento por verificación el ruido es tolerable
|
|
43
|
+
* (el consumidor lo descarta en su gate), pero el progreso estación por estación multiplica ese
|
|
44
|
+
* volumen por ~8 y cada mensaje ajeno cuesta lecturas de DDB en el consumidor.
|
|
45
|
+
*
|
|
46
|
+
* Opcional y aditivo: una verificación vieja sin `source` sigue resolviéndose por `flowId`.
|
|
47
|
+
* La solución de fondo es un flow propio de SureKeep en Metamap — configuración del proveedor,
|
|
48
|
+
* no código.
|
|
49
|
+
*/
|
|
50
|
+
source?: KycMetadataSourceEnum;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* Producto que originó una verificación KYC, tal como viaja en `KycSdkMetadata.source`.
|
|
55
|
+
*
|
|
56
|
+
* Es un enum y no un string libre a propósito: el valor lo escribe un repo (`retail-wizard-business`)
|
|
57
|
+
* y lo compara otro (`kyc-metamap-webhook`). Un typo de un lado no rompería nada visible — el webhook
|
|
58
|
+
* simplemente dejaría de reconocer los KYC de SureKeep y el progreso nunca llegaría a la pantalla,
|
|
59
|
+
* sin un solo error en los logs.
|
|
60
|
+
*/
|
|
61
|
+
export enum KycMetadataSourceEnum {
|
|
62
|
+
SUREKEEP_WIZARD = 'surekeepWizard',
|
|
35
63
|
}
|
|
36
64
|
|
|
37
65
|
/**
|