@fiado/type-kit 3.391.0 → 3.393.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/loanOfferings/dtos/responses/ScopeWidePromotionsResponse.d.ts +28 -0
- package/bin/loanOfferings/dtos/responses/ScopeWidePromotionsResponse.js +2 -0
- package/bin/loanOfferings/index.d.ts +1 -0
- package/bin/loanOfferings/index.js +1 -0
- package/bin/remittance/dtos/RemittanceAddBeneficiaryRequest.d.ts +4 -3
- package/bin/remittance/dtos/RemittancePayerAdditionalFieldDto.d.ts +7 -2
- package/bin/remittance/dtos/RemittancePayerDto.d.ts +18 -0
- package/bin/remittance/enums/RemittanceFieldBelongsTo.d.ts +8 -0
- package/bin/remittance/enums/RemittanceFieldBelongsTo.js +12 -0
- package/bin/remittance/enums/index.d.ts +1 -0
- package/bin/remittance/enums/index.js +1 -0
- package/package.json +1 -1
- package/src/loanOfferings/dtos/responses/ScopeWidePromotionsResponse.ts +30 -0
- package/src/loanOfferings/index.ts +1 -0
- package/src/remittance/dtos/RemittanceAddBeneficiaryRequest.ts +4 -3
- package/src/remittance/dtos/RemittancePayerAdditionalFieldDto.ts +8 -2
- package/src/remittance/dtos/RemittancePayerDto.ts +19 -0
- package/src/remittance/enums/RemittanceFieldBelongsTo.ts +8 -0
- package/src/remittance/enums/index.ts +1 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { CreditPlanLevelEnum } from '../../enums/CreditPlanLevelEnum';
|
|
2
|
+
import { PromotionEffect } from '../PromotionEffect';
|
|
3
|
+
/**
|
|
4
|
+
* Una promoción de alcance amplio (NO acota por SKU) vigente para el banner de pantalla completa
|
|
5
|
+
* del wizard — a diferencia de `SkuPromotion`, no cuelga de un producto puntual.
|
|
6
|
+
*/
|
|
7
|
+
export interface ScopeWidePromotion {
|
|
8
|
+
promotionId: string;
|
|
9
|
+
name: string;
|
|
10
|
+
description: string;
|
|
11
|
+
/** Qué mueve: enganche, tasa, bono a la tarjeta o techo de monto. */
|
|
12
|
+
effect: PromotionEffect;
|
|
13
|
+
/** Segmento al que apunta. El segmento por omisión alcanza a cualquier cliente. */
|
|
14
|
+
segmentId: string;
|
|
15
|
+
/** Niveles que alcanza. Vacío = cualquiera. */
|
|
16
|
+
targetLevels: CreditPlanLevelEnum[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Promociones de alcance amplio vigentes para una tienda, para el banner del wizard.
|
|
20
|
+
*
|
|
21
|
+
* Solo entran las promociones con `productSkus` NULO — «todos los productos», sea porque acotan
|
|
22
|
+
* por tienda, por nivel/segmento del cliente, o son universales. Las que acotan por SKU siguen
|
|
23
|
+
* viajando por `SkuPromotionsResponse` / `PromotedSkusResponse`, no por acá.
|
|
24
|
+
*/
|
|
25
|
+
export interface ScopeWidePromotionsResponse {
|
|
26
|
+
/** Un renglón por promoción vigente que alcanza al contexto. */
|
|
27
|
+
items: ScopeWidePromotion[];
|
|
28
|
+
}
|
|
@@ -51,6 +51,7 @@ export * from './dtos/responses/PromotionBonusResponse';
|
|
|
51
51
|
export * from './dtos/responses/ReservePromotionBonusResponse';
|
|
52
52
|
export * from './dtos/responses/PromotedSkusResponse';
|
|
53
53
|
export * from './dtos/responses/SkuPromotionsResponse';
|
|
54
|
+
export * from './dtos/responses/ScopeWidePromotionsResponse';
|
|
54
55
|
export * from './dtos/responses/StorePolicyResponse';
|
|
55
56
|
export * from './dtos/responses/SegmentResponse';
|
|
56
57
|
export * from './dtos/responses/SegmentFilterResponse';
|
|
@@ -71,6 +71,7 @@ __exportStar(require("./dtos/responses/PromotionBonusResponse"), exports);
|
|
|
71
71
|
__exportStar(require("./dtos/responses/ReservePromotionBonusResponse"), exports);
|
|
72
72
|
__exportStar(require("./dtos/responses/PromotedSkusResponse"), exports);
|
|
73
73
|
__exportStar(require("./dtos/responses/SkuPromotionsResponse"), exports);
|
|
74
|
+
__exportStar(require("./dtos/responses/ScopeWidePromotionsResponse"), exports);
|
|
74
75
|
__exportStar(require("./dtos/responses/StorePolicyResponse"), exports);
|
|
75
76
|
__exportStar(require("./dtos/responses/SegmentResponse"), exports);
|
|
76
77
|
__exportStar(require("./dtos/responses/SegmentFilterResponse"), exports);
|
|
@@ -31,9 +31,10 @@ export declare class RemittanceAddBeneficiaryRequest {
|
|
|
31
31
|
payerBranchCode?: string;
|
|
32
32
|
address: RemittanceBeneficiaryAddressDTO;
|
|
33
33
|
/**
|
|
34
|
-
* Additional fields requeridos por algunos payers (ej. `accountType`
|
|
35
|
-
*
|
|
36
|
-
*
|
|
34
|
+
* Additional fields de beneficiario requeridos por algunos payers (ej. `accountType` en
|
|
35
|
+
* Account Credit, identificación del remitente en algunos Cash Pickup). Se pasan tal cual
|
|
36
|
+
* a UNIR como `additionalFieldInfo`. Los nombres/valores válidos vienen de
|
|
37
|
+
* GET /payers/{code}/fields (fieldName + fieldOptions; para dropdowns se envía el `key`).
|
|
37
38
|
*/
|
|
38
39
|
additionalFields?: RemittanceBeneficiaryAdditionalFieldDTO[];
|
|
39
40
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import { RemittanceFieldBelongsTo } from "../enums/RemittanceFieldBelongsTo";
|
|
1
2
|
/**
|
|
2
3
|
* Campo adicional requerido por un payer/receptionMethod, devuelto por el
|
|
3
4
|
* endpoint público `GET /remittance/payers/{code}/fields?...`.
|
|
4
5
|
*
|
|
5
6
|
* El frontend renderiza un control según `fieldType` y valida con `regex` /
|
|
6
7
|
* `minLen`/`maxLen` antes de submit. El valor capturado se envía al backend
|
|
7
|
-
* como `
|
|
8
|
-
*
|
|
8
|
+
* como `additionalFields: [{ name, value }, ...]` — en AddBeneficiary si
|
|
9
|
+
* `belongsTo` es BENEFICIARY, en SendPreview si es TRANSACTION. Para dropdowns
|
|
10
|
+
* el `value` enviado es el `key` de la opción, nunca el label.
|
|
9
11
|
*
|
|
10
12
|
* Ejemplo real (Banco Industrial GTQ Account Credit): 1 field `accountType`
|
|
11
13
|
* dropdown con opciones { key:"01", value:"Checking" }, { key:"02", value:"Savings" }.
|
|
@@ -15,7 +17,10 @@ export interface RemittancePayerAdditionalFieldDto {
|
|
|
15
17
|
fieldLabel: string;
|
|
16
18
|
/** "dropdown" | "text" | "number" | etc. — UI elige control según este valor. */
|
|
17
19
|
fieldType: string;
|
|
20
|
+
/** UNIR no manda flag: un campo presente en el catálogo del payer es requerido. */
|
|
18
21
|
required: boolean;
|
|
22
|
+
/** Entidad a la que pertenece el campo. Ausente = BENEFICIARY (compat). */
|
|
23
|
+
belongsTo?: RemittanceFieldBelongsTo;
|
|
19
24
|
/** Solo si `fieldType === "dropdown"`. */
|
|
20
25
|
fieldOptions?: Array<{
|
|
21
26
|
key: string;
|
|
@@ -12,6 +12,22 @@ import { ReceptionMethod } from "../enums/ReceptionMethod";
|
|
|
12
12
|
* 3. Valide el `accNumber` del lado del cliente con `accNumberRegex` antes
|
|
13
13
|
* de hacer submit (mejor UX que esperar 400 del backend).
|
|
14
14
|
*/
|
|
15
|
+
/**
|
|
16
|
+
* Detalle por reception method de un payer. UNIR reporta los flags, el regex de
|
|
17
|
+
* cuenta y el límite POR MÉTODO; los campos planos de `RemittancePayerDto` son
|
|
18
|
+
* un agregado payer-level que puede sobre-reportar (ej. `requiresAdditionalFields`
|
|
19
|
+
* es el OR entre métodos). La UI debe preferir este detalle cuando esté presente.
|
|
20
|
+
*/
|
|
21
|
+
export interface RemittancePayerReceptionMethodDetailDto {
|
|
22
|
+
method: ReceptionMethod;
|
|
23
|
+
requiresAdditionalFields: boolean;
|
|
24
|
+
requiresBranch: boolean;
|
|
25
|
+
/** Regex de validación del `accNumber` para este método (UNIR solo lo define en ACCOUNT_CREDIT). */
|
|
26
|
+
accNumberRegex?: string;
|
|
27
|
+
accNumberHelperText?: string;
|
|
28
|
+
/** Límite USD por transacción reportado por UNIR para este payer+método. */
|
|
29
|
+
txnLimit?: number;
|
|
30
|
+
}
|
|
15
31
|
export interface RemittancePayerDto {
|
|
16
32
|
/** Código UNIR del payer (ej. "GCA10" Banrural). Usado como `payerCode` en AddBeneficiary. */
|
|
17
33
|
payerCode: string;
|
|
@@ -31,4 +47,6 @@ export interface RemittancePayerDto {
|
|
|
31
47
|
logoUrl?: string;
|
|
32
48
|
/** Orden de aparición sugerido por UNIR (asc). */
|
|
33
49
|
sortOrder?: number;
|
|
50
|
+
/** Detalle por método (flags/regex/límite reales de UNIR). Preferir sobre los campos planos. */
|
|
51
|
+
receptionMethodDetails?: RemittancePayerReceptionMethodDetailDto[];
|
|
34
52
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A qué entidad pertenece un additional field del payer (UNIR `fieldBelongsTo`).
|
|
3
|
+
* BENEFICIARY viaja en AddBeneficiary; TRANSACTION viaja en el SendPreview de la transacción.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum RemittanceFieldBelongsTo {
|
|
6
|
+
BENEFICIARY = "BENEFICIARY",
|
|
7
|
+
TRANSACTION = "TRANSACTION"
|
|
8
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RemittanceFieldBelongsTo = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* A qué entidad pertenece un additional field del payer (UNIR `fieldBelongsTo`).
|
|
6
|
+
* BENEFICIARY viaja en AddBeneficiary; TRANSACTION viaja en el SendPreview de la transacción.
|
|
7
|
+
*/
|
|
8
|
+
var RemittanceFieldBelongsTo;
|
|
9
|
+
(function (RemittanceFieldBelongsTo) {
|
|
10
|
+
RemittanceFieldBelongsTo["BENEFICIARY"] = "BENEFICIARY";
|
|
11
|
+
RemittanceFieldBelongsTo["TRANSACTION"] = "TRANSACTION";
|
|
12
|
+
})(RemittanceFieldBelongsTo || (exports.RemittanceFieldBelongsTo = RemittanceFieldBelongsTo = {}));
|
|
@@ -39,3 +39,4 @@ __exportStar(require("./RuleOperator"), exports);
|
|
|
39
39
|
__exportStar(require("./RuleActionType"), exports);
|
|
40
40
|
__exportStar(require("./AuditResult"), exports);
|
|
41
41
|
__exportStar(require("./RemittanceExceptionCode"), exports);
|
|
42
|
+
__exportStar(require("./RemittanceFieldBelongsTo"), exports);
|
package/package.json
CHANGED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { CreditPlanLevelEnum } from '../../enums/CreditPlanLevelEnum';
|
|
2
|
+
import { PromotionEffect } from '../PromotionEffect';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Una promoción de alcance amplio (NO acota por SKU) vigente para el banner de pantalla completa
|
|
6
|
+
* del wizard — a diferencia de `SkuPromotion`, no cuelga de un producto puntual.
|
|
7
|
+
*/
|
|
8
|
+
export interface ScopeWidePromotion {
|
|
9
|
+
promotionId: string;
|
|
10
|
+
name: string;
|
|
11
|
+
description: string;
|
|
12
|
+
/** Qué mueve: enganche, tasa, bono a la tarjeta o techo de monto. */
|
|
13
|
+
effect: PromotionEffect;
|
|
14
|
+
/** Segmento al que apunta. El segmento por omisión alcanza a cualquier cliente. */
|
|
15
|
+
segmentId: string;
|
|
16
|
+
/** Niveles que alcanza. Vacío = cualquiera. */
|
|
17
|
+
targetLevels: CreditPlanLevelEnum[];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Promociones de alcance amplio vigentes para una tienda, para el banner del wizard.
|
|
22
|
+
*
|
|
23
|
+
* Solo entran las promociones con `productSkus` NULO — «todos los productos», sea porque acotan
|
|
24
|
+
* por tienda, por nivel/segmento del cliente, o son universales. Las que acotan por SKU siguen
|
|
25
|
+
* viajando por `SkuPromotionsResponse` / `PromotedSkusResponse`, no por acá.
|
|
26
|
+
*/
|
|
27
|
+
export interface ScopeWidePromotionsResponse {
|
|
28
|
+
/** Un renglón por promoción vigente que alcanza al contexto. */
|
|
29
|
+
items: ScopeWidePromotion[];
|
|
30
|
+
}
|
|
@@ -58,6 +58,7 @@ export * from './dtos/responses/PromotionBonusResponse';
|
|
|
58
58
|
export * from './dtos/responses/ReservePromotionBonusResponse';
|
|
59
59
|
export * from './dtos/responses/PromotedSkusResponse';
|
|
60
60
|
export * from './dtos/responses/SkuPromotionsResponse';
|
|
61
|
+
export * from './dtos/responses/ScopeWidePromotionsResponse';
|
|
61
62
|
export * from './dtos/responses/StorePolicyResponse';
|
|
62
63
|
export * from './dtos/responses/SegmentResponse';
|
|
63
64
|
export * from './dtos/responses/SegmentFilterResponse';
|
|
@@ -92,9 +92,10 @@ export class RemittanceAddBeneficiaryRequest {
|
|
|
92
92
|
address!: RemittanceBeneficiaryAddressDTO;
|
|
93
93
|
|
|
94
94
|
/**
|
|
95
|
-
* Additional fields requeridos por algunos payers (ej. `accountType`
|
|
96
|
-
*
|
|
97
|
-
*
|
|
95
|
+
* Additional fields de beneficiario requeridos por algunos payers (ej. `accountType` en
|
|
96
|
+
* Account Credit, identificación del remitente en algunos Cash Pickup). Se pasan tal cual
|
|
97
|
+
* a UNIR como `additionalFieldInfo`. Los nombres/valores válidos vienen de
|
|
98
|
+
* GET /payers/{code}/fields (fieldName + fieldOptions; para dropdowns se envía el `key`).
|
|
98
99
|
*/
|
|
99
100
|
@IsOptional()
|
|
100
101
|
@ValidateNested({ each: true })
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
import { RemittanceFieldBelongsTo } from "../enums/RemittanceFieldBelongsTo";
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* Campo adicional requerido por un payer/receptionMethod, devuelto por el
|
|
3
5
|
* endpoint público `GET /remittance/payers/{code}/fields?...`.
|
|
4
6
|
*
|
|
5
7
|
* El frontend renderiza un control según `fieldType` y valida con `regex` /
|
|
6
8
|
* `minLen`/`maxLen` antes de submit. El valor capturado se envía al backend
|
|
7
|
-
* como `
|
|
8
|
-
*
|
|
9
|
+
* como `additionalFields: [{ name, value }, ...]` — en AddBeneficiary si
|
|
10
|
+
* `belongsTo` es BENEFICIARY, en SendPreview si es TRANSACTION. Para dropdowns
|
|
11
|
+
* el `value` enviado es el `key` de la opción, nunca el label.
|
|
9
12
|
*
|
|
10
13
|
* Ejemplo real (Banco Industrial GTQ Account Credit): 1 field `accountType`
|
|
11
14
|
* dropdown con opciones { key:"01", value:"Checking" }, { key:"02", value:"Savings" }.
|
|
@@ -15,7 +18,10 @@ export interface RemittancePayerAdditionalFieldDto {
|
|
|
15
18
|
fieldLabel: string;
|
|
16
19
|
/** "dropdown" | "text" | "number" | etc. — UI elige control según este valor. */
|
|
17
20
|
fieldType: string;
|
|
21
|
+
/** UNIR no manda flag: un campo presente en el catálogo del payer es requerido. */
|
|
18
22
|
required: boolean;
|
|
23
|
+
/** Entidad a la que pertenece el campo. Ausente = BENEFICIARY (compat). */
|
|
24
|
+
belongsTo?: RemittanceFieldBelongsTo;
|
|
19
25
|
/** Solo si `fieldType === "dropdown"`. */
|
|
20
26
|
fieldOptions?: Array<{ key: string; value: string }>;
|
|
21
27
|
regex?: string;
|
|
@@ -13,6 +13,23 @@ import { ReceptionMethod } from "../enums/ReceptionMethod";
|
|
|
13
13
|
* 3. Valide el `accNumber` del lado del cliente con `accNumberRegex` antes
|
|
14
14
|
* de hacer submit (mejor UX que esperar 400 del backend).
|
|
15
15
|
*/
|
|
16
|
+
/**
|
|
17
|
+
* Detalle por reception method de un payer. UNIR reporta los flags, el regex de
|
|
18
|
+
* cuenta y el límite POR MÉTODO; los campos planos de `RemittancePayerDto` son
|
|
19
|
+
* un agregado payer-level que puede sobre-reportar (ej. `requiresAdditionalFields`
|
|
20
|
+
* es el OR entre métodos). La UI debe preferir este detalle cuando esté presente.
|
|
21
|
+
*/
|
|
22
|
+
export interface RemittancePayerReceptionMethodDetailDto {
|
|
23
|
+
method: ReceptionMethod;
|
|
24
|
+
requiresAdditionalFields: boolean;
|
|
25
|
+
requiresBranch: boolean;
|
|
26
|
+
/** Regex de validación del `accNumber` para este método (UNIR solo lo define en ACCOUNT_CREDIT). */
|
|
27
|
+
accNumberRegex?: string;
|
|
28
|
+
accNumberHelperText?: string;
|
|
29
|
+
/** Límite USD por transacción reportado por UNIR para este payer+método. */
|
|
30
|
+
txnLimit?: number;
|
|
31
|
+
}
|
|
32
|
+
|
|
16
33
|
export interface RemittancePayerDto {
|
|
17
34
|
/** Código UNIR del payer (ej. "GCA10" Banrural). Usado como `payerCode` en AddBeneficiary. */
|
|
18
35
|
payerCode: string;
|
|
@@ -32,4 +49,6 @@ export interface RemittancePayerDto {
|
|
|
32
49
|
logoUrl?: string;
|
|
33
50
|
/** Orden de aparición sugerido por UNIR (asc). */
|
|
34
51
|
sortOrder?: number;
|
|
52
|
+
/** Detalle por método (flags/regex/límite reales de UNIR). Preferir sobre los campos planos. */
|
|
53
|
+
receptionMethodDetails?: RemittancePayerReceptionMethodDetailDto[];
|
|
35
54
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A qué entidad pertenece un additional field del payer (UNIR `fieldBelongsTo`).
|
|
3
|
+
* BENEFICIARY viaja en AddBeneficiary; TRANSACTION viaja en el SendPreview de la transacción.
|
|
4
|
+
*/
|
|
5
|
+
export enum RemittanceFieldBelongsTo {
|
|
6
|
+
BENEFICIARY = "BENEFICIARY",
|
|
7
|
+
TRANSACTION = "TRANSACTION",
|
|
8
|
+
}
|