@fiado/type-kit 3.644.0 → 3.646.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.
Files changed (94) hide show
  1. package/_test_/unit/collection/authorizeCollectionMovementRequest.test.ts +15 -0
  2. package/_test_/unit/collection/costCenter.test.ts +54 -0
  3. package/_test_/unit/collection/disburseRequest.test.ts +45 -0
  4. package/_test_/unit/collection/disbursementType.test.ts +7 -1
  5. package/_test_/unit/productCatalog/rewardTopupEnums.test.ts +16 -0
  6. package/_test_/unit/reconciliation/reconciliationRequests.test.ts +15 -0
  7. package/_test_/unit/rewards/mobileTopup.test.ts +78 -0
  8. package/_test_/unit/rewards/waitingLimit.test.ts +3 -3
  9. package/_test_/unit/transaction/transactionCreateRequestM8.test.ts +21 -6
  10. package/_test_/unit/transactionProcessor/authorizeRewardTopupRequest.test.ts +59 -0
  11. package/_test_/unit/transactionProcessor/rewardTopupCodes.test.ts +17 -0
  12. package/bin/collection/dtos/AuthorizeCollectionMovementRequest.d.ts +9 -0
  13. package/bin/collection/dtos/AuthorizeCollectionMovementRequest.js +6 -0
  14. package/bin/collection/dtos/CollectionProductConfigDto.d.ts +2 -0
  15. package/bin/collection/dtos/CollectionProductConfigDto.js +6 -0
  16. package/bin/collection/dtos/DisburseRequest.d.ts +8 -0
  17. package/bin/collection/dtos/DisburseRequest.js +15 -0
  18. package/bin/collection/dtos/DisburseTopupDetail.d.ts +9 -0
  19. package/bin/collection/dtos/DisburseTopupDetail.js +46 -0
  20. package/bin/collection/dtos/UpsertProductConfigRequest.d.ts +2 -0
  21. package/bin/collection/dtos/UpsertProductConfigRequest.js +6 -0
  22. package/bin/collection/enums/DisbursementType.d.ts +3 -1
  23. package/bin/collection/enums/DisbursementType.js +2 -0
  24. package/bin/collection/index.d.ts +1 -0
  25. package/bin/collection/index.js +1 -0
  26. package/bin/productCatalog/enums/ProductSubtypeEnum.d.ts +1 -0
  27. package/bin/productCatalog/enums/ProductSubtypeEnum.js +2 -0
  28. package/bin/reconciliation/dtos/ReconciliationDefinition.d.ts +2 -0
  29. package/bin/reconciliation/dtos/requests/ReconciliationFeedRequests.d.ts +5 -0
  30. package/bin/reconciliation/dtos/requests/ReconciliationFeedRequests.js +9 -0
  31. package/bin/rewards/dtos/backoffice/BackofficeGrantItemResponse.d.ts +2 -0
  32. package/bin/rewards/dtos/backoffice/MobileTopupConfigRequest.d.ts +10 -0
  33. package/bin/rewards/dtos/backoffice/MobileTopupConfigRequest.js +59 -0
  34. package/bin/rewards/dtos/backoffice/MobileTopupConfigResponse.d.ts +15 -0
  35. package/bin/rewards/dtos/backoffice/MobileTopupConfigResponse.js +2 -0
  36. package/bin/rewards/dtos/backoffice/MobileTopupContributionResponse.d.ts +9 -0
  37. package/bin/rewards/dtos/backoffice/MobileTopupContributionResponse.js +2 -0
  38. package/bin/rewards/dtos/backoffice/MobileTopupPlanListResponse.d.ts +5 -0
  39. package/bin/rewards/dtos/backoffice/MobileTopupPlanListResponse.js +2 -0
  40. package/bin/rewards/dtos/backoffice/MobileTopupPlanResponse.d.ts +22 -0
  41. package/bin/rewards/dtos/backoffice/MobileTopupPlanResponse.js +2 -0
  42. package/bin/rewards/dtos/backoffice/MobileTopupRechargeResponse.d.ts +8 -0
  43. package/bin/rewards/dtos/backoffice/MobileTopupRechargeResponse.js +2 -0
  44. package/bin/rewards/enums/MobileTopupPlanStatusEnum.d.ts +6 -0
  45. package/bin/rewards/enums/MobileTopupPlanStatusEnum.js +10 -0
  46. package/bin/rewards/enums/MobileTopupRechargeStatusEnum.d.ts +7 -0
  47. package/bin/rewards/enums/MobileTopupRechargeStatusEnum.js +11 -0
  48. package/bin/rewards/enums/RewardItemCodeEnum.d.ts +5 -1
  49. package/bin/rewards/enums/RewardItemCodeEnum.js +4 -0
  50. package/bin/rewards/index.d.ts +8 -0
  51. package/bin/rewards/index.js +8 -0
  52. package/bin/transaction/constants/costCenter.d.ts +5 -0
  53. package/bin/transaction/constants/costCenter.js +8 -0
  54. package/bin/transaction/dtos/TransactionCreateRequest.d.ts +5 -2
  55. package/bin/transaction/dtos/TransactionCreateRequest.js +1 -1
  56. package/bin/transaction/index.d.ts +1 -0
  57. package/bin/transaction/index.js +2 -0
  58. package/bin/transactionProcessor/dtos/AuthorizeBonusRequest.d.ts +2 -0
  59. package/bin/transactionProcessor/dtos/AuthorizeBonusRequest.js +6 -0
  60. package/bin/transactionProcessor/dtos/AuthorizeRewardTopupRequest.d.ts +21 -0
  61. package/bin/transactionProcessor/dtos/AuthorizeRewardTopupRequest.js +74 -0
  62. package/bin/transactionProcessor/enums/TransactionProcessorCodesEnum.d.ts +9 -1
  63. package/bin/transactionProcessor/enums/TransactionProcessorCodesEnum.js +8 -0
  64. package/bin/transactionProcessor/index.d.ts +1 -0
  65. package/bin/transactionProcessor/index.js +1 -0
  66. package/package.json +1 -1
  67. package/src/collection/dtos/AuthorizeCollectionMovementRequest.ts +10 -1
  68. package/src/collection/dtos/CollectionProductConfigDto.ts +3 -1
  69. package/src/collection/dtos/DisburseRequest.ts +16 -1
  70. package/src/collection/dtos/DisburseTopupDetail.ts +15 -0
  71. package/src/collection/dtos/UpsertProductConfigRequest.ts +3 -1
  72. package/src/collection/enums/DisbursementType.ts +2 -0
  73. package/src/collection/index.ts +1 -0
  74. package/src/productCatalog/enums/ProductSubtypeEnum.ts +2 -0
  75. package/src/reconciliation/dtos/ReconciliationDefinition.ts +2 -0
  76. package/src/reconciliation/dtos/requests/ReconciliationFeedRequests.ts +14 -2
  77. package/src/rewards/dtos/backoffice/BackofficeGrantItemResponse.ts +2 -0
  78. package/src/rewards/dtos/backoffice/MobileTopupConfigRequest.ts +41 -0
  79. package/src/rewards/dtos/backoffice/MobileTopupConfigResponse.ts +15 -0
  80. package/src/rewards/dtos/backoffice/MobileTopupContributionResponse.ts +9 -0
  81. package/src/rewards/dtos/backoffice/MobileTopupPlanListResponse.ts +6 -0
  82. package/src/rewards/dtos/backoffice/MobileTopupPlanResponse.ts +23 -0
  83. package/src/rewards/dtos/backoffice/MobileTopupRechargeResponse.ts +9 -0
  84. package/src/rewards/enums/MobileTopupPlanStatusEnum.ts +6 -0
  85. package/src/rewards/enums/MobileTopupRechargeStatusEnum.ts +7 -0
  86. package/src/rewards/enums/RewardItemCodeEnum.ts +4 -0
  87. package/src/rewards/index.ts +8 -0
  88. package/src/transaction/constants/costCenter.ts +5 -0
  89. package/src/transaction/dtos/TransactionCreateRequest.ts +5 -2
  90. package/src/transaction/index.ts +3 -0
  91. package/src/transactionProcessor/dtos/AuthorizeBonusRequest.ts +7 -1
  92. package/src/transactionProcessor/dtos/AuthorizeRewardTopupRequest.ts +44 -0
  93. package/src/transactionProcessor/enums/TransactionProcessorCodesEnum.ts +8 -0
  94. package/src/transactionProcessor/index.ts +1 -0
@@ -80,6 +80,8 @@ var ProductSubtypeEnum;
80
80
  //REWARDS
81
81
  // Abono de recompensas de `rewards-business`.
82
82
  ProductSubtypeEnum["REWARD_MX"] = "REWARD_MX";
83
+ // Recarga Bait de recompensas de `rewards-business`.
84
+ ProductSubtypeEnum["REWARD_TOPUP_MX"] = "REWARD_TOPUP_MX";
83
85
  //STORE
84
86
  ProductSubtypeEnum["STORE_PHONE"] = "PHONE";
85
87
  // REFUND_PCF
@@ -11,6 +11,8 @@ export interface ReconciliationDefinitionSource {
11
11
  domain: ReconciliationFeedOwnerEnum;
12
12
  concept: ReconciliationFeedConceptEnum;
13
13
  partName?: string;
14
+ /** Centros de costo del ledger que pertenecen al tenant; el feed solo devuelve esos. */
15
+ costCenterIds?: string[];
14
16
  }
15
17
  /** Cuenta de FSA cuyo EdC lee una definición BANK_STATEMENT. */
16
18
  export interface ReconciliationDefinitionBankAccountView {
@@ -13,6 +13,11 @@ export declare class PrivateListReconciliationFeedQuery {
13
13
  from: string;
14
14
  to: string;
15
15
  cursor?: string;
16
+ /**
17
+ * Centros de costo del tenant, en csv (`a,b`). El dueño del feed filtra por ellos; sin la
18
+ * lista responde vacío, nunca el ledger completo.
19
+ */
20
+ costCenterIds?: string[];
16
21
  }
17
22
  /** Query de privateGetReconciliationFeedRecord; `author` y `actor` van al registro de acceso del dueño. */
18
23
  export declare class PrivateGetReconciliationFeedRecordQuery {
@@ -53,6 +53,15 @@ __decorate([
53
53
  (0, reconciliationRequestDecorators_1.PageToken)(),
54
54
  __metadata("design:type", String)
55
55
  ], PrivateListReconciliationFeedQuery.prototype, "cursor", void 0);
56
+ __decorate([
57
+ (0, class_transformer_1.Expose)(),
58
+ (0, class_validator_1.IsOptional)(),
59
+ (0, class_transformer_1.Transform)(({ value }) => (typeof value === 'string' ? value.split(',').map((id) => id.trim()) : value)),
60
+ (0, class_validator_1.IsArray)(),
61
+ (0, class_validator_1.IsString)({ each: true }),
62
+ (0, class_validator_1.IsNotEmpty)({ each: true }),
63
+ __metadata("design:type", Array)
64
+ ], PrivateListReconciliationFeedQuery.prototype, "costCenterIds", void 0);
56
65
  /** Query de privateGetReconciliationFeedRecord; `author` y `actor` van al registro de acceso del dueño. */
57
66
  class PrivateGetReconciliationFeedRecordQuery {
58
67
  }
@@ -4,6 +4,8 @@ import { BackofficeGrantAttemptResponse } from './BackofficeGrantAttemptResponse
4
4
  export declare class BackofficeGrantItemResponse extends GrantItemResponse {
5
5
  /** Nombre de la recompensa congelada en la entrega. */
6
6
  name: string;
7
+ /** Tipo de recompensa congelado en la entrega (ej. `'MOBILE_TOPUP'`). */
8
+ type?: string;
7
9
  attempts: BackofficeGrantAttemptResponse[];
8
10
  /** Motivo de la espera por tope; solo cuando el ítem está en `WAITING_LIMIT`. */
9
11
  waitReason?: LimitWaitReasonEnum;
@@ -0,0 +1,10 @@
1
+ /** Guarda la configuración de la recarga Bait (producto en Multicenter y precio mensual). */
2
+ export declare class MobileTopupConfigRequest {
3
+ moduleName: string;
4
+ benefitId: string;
5
+ leafId: string;
6
+ productId: string;
7
+ monthlyPrice: number;
8
+ /** Candado optimista: versión que el operador vio al editar. */
9
+ expectedVersion?: number;
10
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.MobileTopupConfigRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ /** Guarda la configuración de la recarga Bait (producto en Multicenter y precio mensual). */
16
+ class MobileTopupConfigRequest {
17
+ }
18
+ exports.MobileTopupConfigRequest = MobileTopupConfigRequest;
19
+ __decorate([
20
+ (0, class_transformer_1.Expose)(),
21
+ (0, class_validator_1.IsString)(),
22
+ (0, class_validator_1.IsNotEmpty)(),
23
+ (0, class_validator_1.MaxLength)(100),
24
+ __metadata("design:type", String)
25
+ ], MobileTopupConfigRequest.prototype, "moduleName", void 0);
26
+ __decorate([
27
+ (0, class_transformer_1.Expose)(),
28
+ (0, class_validator_1.IsString)(),
29
+ (0, class_validator_1.IsNotEmpty)(),
30
+ (0, class_validator_1.MaxLength)(100),
31
+ __metadata("design:type", String)
32
+ ], MobileTopupConfigRequest.prototype, "benefitId", void 0);
33
+ __decorate([
34
+ (0, class_transformer_1.Expose)(),
35
+ (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.IsNotEmpty)(),
37
+ (0, class_validator_1.MaxLength)(100),
38
+ __metadata("design:type", String)
39
+ ], MobileTopupConfigRequest.prototype, "leafId", void 0);
40
+ __decorate([
41
+ (0, class_transformer_1.Expose)(),
42
+ (0, class_validator_1.IsString)(),
43
+ (0, class_validator_1.IsNotEmpty)(),
44
+ (0, class_validator_1.MaxLength)(100),
45
+ __metadata("design:type", String)
46
+ ], MobileTopupConfigRequest.prototype, "productId", void 0);
47
+ __decorate([
48
+ (0, class_transformer_1.Expose)(),
49
+ (0, class_validator_1.IsNumber)({ maxDecimalPlaces: 2 }),
50
+ (0, class_validator_1.IsPositive)(),
51
+ __metadata("design:type", Number)
52
+ ], MobileTopupConfigRequest.prototype, "monthlyPrice", void 0);
53
+ __decorate([
54
+ (0, class_transformer_1.Expose)(),
55
+ (0, class_validator_1.IsOptional)(),
56
+ (0, class_validator_1.IsInt)(),
57
+ (0, class_validator_1.Min)(1),
58
+ __metadata("design:type", Number)
59
+ ], MobileTopupConfigRequest.prototype, "expectedVersion", void 0);
@@ -0,0 +1,15 @@
1
+ export interface MobileTopupConfigResponse {
2
+ moduleName: string;
3
+ benefitId: string;
4
+ leafId: string;
5
+ productId: string;
6
+ monthlyPrice: number;
7
+ currency: 'MXN';
8
+ version: number;
9
+ updatedBy: string;
10
+ updatedAt: number;
11
+ /** Ítems del catálogo `MOBILE_TOPUP` recalculados al guardar. */
12
+ repricedItems?: number;
13
+ /** Ítems omitidos por conflicto de versión. */
14
+ skippedItems?: number;
15
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,9 @@
1
+ export interface MobileTopupContributionResponse {
2
+ grantId: string;
3
+ itemKey: string;
4
+ months: number;
5
+ sourceService: string;
6
+ sourceReference: string;
7
+ campaignId?: string;
8
+ addedAt: number;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ import { MobileTopupPlanResponse } from './MobileTopupPlanResponse';
2
+ export interface MobileTopupPlanListResponse {
3
+ items: MobileTopupPlanResponse[];
4
+ truncated: boolean;
5
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,22 @@
1
+ import { MobileTopupPlanStatusEnum } from '../../enums/MobileTopupPlanStatusEnum';
2
+ import { MobileTopupContributionResponse } from './MobileTopupContributionResponse';
3
+ import { MobileTopupRechargeResponse } from './MobileTopupRechargeResponse';
4
+ /** Calendario de recargas Bait de un número. */
5
+ export interface MobileTopupPlanResponse {
6
+ phone: string;
7
+ status: MobileTopupPlanStatusEnum;
8
+ promised: number;
9
+ done: number;
10
+ pending: number;
11
+ nextDueAt?: number;
12
+ lastRechargeAt?: number;
13
+ lastFolio?: string;
14
+ failedAttempts: number;
15
+ lastError?: string;
16
+ closedUndelivered?: number;
17
+ closedBy?: string;
18
+ closedAt?: number;
19
+ contributions: MobileTopupContributionResponse[];
20
+ recharges?: MobileTopupRechargeResponse[];
21
+ updatedAt: number;
22
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { MobileTopupRechargeStatusEnum } from '../../enums/MobileTopupRechargeStatusEnum';
2
+ export interface MobileTopupRechargeResponse {
3
+ folio: string;
4
+ rechargeNumber: number;
5
+ status: MobileTopupRechargeStatusEnum;
6
+ at: number;
7
+ summary?: string;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ /** Estado del calendario de recargas Bait de un número. */
2
+ export declare enum MobileTopupPlanStatusEnum {
3
+ ACTIVE = "ACTIVE",
4
+ NEEDS_ATTENTION = "NEEDS_ATTENTION",
5
+ DONE = "DONE"
6
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MobileTopupPlanStatusEnum = void 0;
4
+ /** Estado del calendario de recargas Bait de un número. */
5
+ var MobileTopupPlanStatusEnum;
6
+ (function (MobileTopupPlanStatusEnum) {
7
+ MobileTopupPlanStatusEnum["ACTIVE"] = "ACTIVE";
8
+ MobileTopupPlanStatusEnum["NEEDS_ATTENTION"] = "NEEDS_ATTENTION";
9
+ MobileTopupPlanStatusEnum["DONE"] = "DONE";
10
+ })(MobileTopupPlanStatusEnum || (exports.MobileTopupPlanStatusEnum = MobileTopupPlanStatusEnum = {}));
@@ -0,0 +1,7 @@
1
+ /** Resultado de una recarga mensual del calendario. */
2
+ export declare enum MobileTopupRechargeStatusEnum {
3
+ PAID = "PAID",
4
+ REJECTED = "REJECTED",
5
+ UNCONFIRMED = "UNCONFIRMED",
6
+ NOT_DELIVERED = "NOT_DELIVERED"
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MobileTopupRechargeStatusEnum = void 0;
4
+ /** Resultado de una recarga mensual del calendario. */
5
+ var MobileTopupRechargeStatusEnum;
6
+ (function (MobileTopupRechargeStatusEnum) {
7
+ MobileTopupRechargeStatusEnum["PAID"] = "PAID";
8
+ MobileTopupRechargeStatusEnum["REJECTED"] = "REJECTED";
9
+ MobileTopupRechargeStatusEnum["UNCONFIRMED"] = "UNCONFIRMED";
10
+ MobileTopupRechargeStatusEnum["NOT_DELIVERED"] = "NOT_DELIVERED";
11
+ })(MobileTopupRechargeStatusEnum || (exports.MobileTopupRechargeStatusEnum = MobileTopupRechargeStatusEnum = {}));
@@ -5,5 +5,9 @@ export declare enum RewardItemCodeEnum {
5
5
  /** Venció la espera por tope (30 días desde `waitingSince`). */
6
6
  LIMIT_WAIT_EXPIRED = "LIMIT_WAIT_EXPIRED",
7
7
  /** Resultado desconocido agotado: no se puede asegurar si el abono ocurrió. */
8
- OUTCOME_UNKNOWN = "OUTCOME_UNKNOWN"
8
+ OUTCOME_UNKNOWN = "OUTCOME_UNKNOWN",
9
+ /** Bait rechazó la recarga de forma permanente: queda en atención del operador. */
10
+ TOPUP_REJECTED = "TOPUP_REJECTED",
11
+ /** Un operador dio el ítem por fallido. */
12
+ ITEM_DISMISSED = "ITEM_DISMISSED"
9
13
  }
@@ -10,4 +10,8 @@ var RewardItemCodeEnum;
10
10
  RewardItemCodeEnum["LIMIT_WAIT_EXPIRED"] = "LIMIT_WAIT_EXPIRED";
11
11
  /** Resultado desconocido agotado: no se puede asegurar si el abono ocurrió. */
12
12
  RewardItemCodeEnum["OUTCOME_UNKNOWN"] = "OUTCOME_UNKNOWN";
13
+ /** Bait rechazó la recarga de forma permanente: queda en atención del operador. */
14
+ RewardItemCodeEnum["TOPUP_REJECTED"] = "TOPUP_REJECTED";
15
+ /** Un operador dio el ítem por fallido. */
16
+ RewardItemCodeEnum["ITEM_DISMISSED"] = "ITEM_DISMISSED";
13
17
  })(RewardItemCodeEnum || (exports.RewardItemCodeEnum = RewardItemCodeEnum = {}));
@@ -12,6 +12,8 @@ export * from './enums/RewardsErrorCodeEnum';
12
12
  export * from './enums/DeliveryDimensionEnum';
13
13
  export * from './enums/DeliveryTopDimensionEnum';
14
14
  export * from './enums/DeliveryTopByEnum';
15
+ export * from './enums/MobileTopupPlanStatusEnum';
16
+ export * from './enums/MobileTopupRechargeStatusEnum';
15
17
  export * from './types/RewardInputs';
16
18
  export * from './dtos/RewardCost';
17
19
  export * from './dtos/RewardChargeTo';
@@ -56,3 +58,9 @@ export * from './dtos/backoffice/DeliveryMetricsQuery';
56
58
  export * from './dtos/backoffice/DeliveryTopQuery';
57
59
  export * from './dtos/backoffice/DeliveryMetricsPoint';
58
60
  export * from './dtos/backoffice/DeliveryTopEntry';
61
+ export * from './dtos/backoffice/MobileTopupConfigRequest';
62
+ export * from './dtos/backoffice/MobileTopupConfigResponse';
63
+ export * from './dtos/backoffice/MobileTopupContributionResponse';
64
+ export * from './dtos/backoffice/MobileTopupRechargeResponse';
65
+ export * from './dtos/backoffice/MobileTopupPlanResponse';
66
+ export * from './dtos/backoffice/MobileTopupPlanListResponse';
@@ -29,6 +29,8 @@ __exportStar(require("./enums/RewardsErrorCodeEnum"), exports);
29
29
  __exportStar(require("./enums/DeliveryDimensionEnum"), exports);
30
30
  __exportStar(require("./enums/DeliveryTopDimensionEnum"), exports);
31
31
  __exportStar(require("./enums/DeliveryTopByEnum"), exports);
32
+ __exportStar(require("./enums/MobileTopupPlanStatusEnum"), exports);
33
+ __exportStar(require("./enums/MobileTopupRechargeStatusEnum"), exports);
32
34
  //Types
33
35
  __exportStar(require("./types/RewardInputs"), exports);
34
36
  //DTOs
@@ -81,3 +83,9 @@ __exportStar(require("./dtos/backoffice/DeliveryMetricsQuery"), exports);
81
83
  __exportStar(require("./dtos/backoffice/DeliveryTopQuery"), exports);
82
84
  __exportStar(require("./dtos/backoffice/DeliveryMetricsPoint"), exports);
83
85
  __exportStar(require("./dtos/backoffice/DeliveryTopEntry"), exports);
86
+ __exportStar(require("./dtos/backoffice/MobileTopupConfigRequest"), exports);
87
+ __exportStar(require("./dtos/backoffice/MobileTopupConfigResponse"), exports);
88
+ __exportStar(require("./dtos/backoffice/MobileTopupContributionResponse"), exports);
89
+ __exportStar(require("./dtos/backoffice/MobileTopupRechargeResponse"), exports);
90
+ __exportStar(require("./dtos/backoffice/MobileTopupPlanResponse"), exports);
91
+ __exportStar(require("./dtos/backoffice/MobileTopupPlanListResponse"), exports);
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Centro de costo de una transacción que llegó sin uno. El ledger lo escribe siempre, así que las
3
+ * transacciones sin dueño contable quedan agrupadas aquí en lugar de perderse del índice.
4
+ */
5
+ export declare const UNASSIGNED_COST_CENTER_ID = "UNASSIGNED";
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UNASSIGNED_COST_CENTER_ID = void 0;
4
+ /**
5
+ * Centro de costo de una transacción que llegó sin uno. El ledger lo escribe siempre, así que las
6
+ * transacciones sin dueño contable quedan agrupadas aquí en lugar de perderse del índice.
7
+ */
8
+ exports.UNASSIGNED_COST_CENTER_ID = 'UNASSIGNED';
@@ -56,6 +56,9 @@ export declare class TransactionCreateRequest {
56
56
  domFolio?: string;
57
57
  /** Intento del motor de cobro que originó el cargo; en cobranza es igual al `attemptId`. */
58
58
  executionId?: string;
59
- /** Tenant SOFOM dueño del cobro; `tenantId` del ledger sigue siendo `FIADO`. */
60
- sofomTenantId?: string;
59
+ /**
60
+ * Centro de costo contable de la transacción; con él se reparte el ledger entre dueños y
61
+ * conciliaciones. Si no llega, el ledger escribe `UNASSIGNED_COST_CENTER_ID`.
62
+ */
63
+ costCenterId?: string;
61
64
  }
@@ -211,4 +211,4 @@ __decorate([
211
211
  (0, class_validator_1.IsNotEmpty)(),
212
212
  (0, class_validator_1.IsOptional)(),
213
213
  __metadata("design:type", String)
214
- ], TransactionCreateRequest.prototype, "sofomTenantId", void 0);
214
+ ], TransactionCreateRequest.prototype, "costCenterId", void 0);
@@ -36,6 +36,7 @@ export * from './dtos/internal/ProviderTransactionReversalRequest';
36
36
  export * from './dtos/internal/ProviderTransactionReversalResponse';
37
37
  export * from './dtos/internal/ProviderTransactionCompletionRequest';
38
38
  export * from './dtos/internal/ProviderTransactionCompletionResponse';
39
+ export * from './constants/costCenter';
39
40
  export * from './enums/OperationEnum';
40
41
  export * from './enums/TransactionSourceEnum';
41
42
  export * from './enums/TransactionStatusEnum';
@@ -53,6 +53,8 @@ __exportStar(require("./dtos/internal/ProviderTransactionReversalRequest"), expo
53
53
  __exportStar(require("./dtos/internal/ProviderTransactionReversalResponse"), exports);
54
54
  __exportStar(require("./dtos/internal/ProviderTransactionCompletionRequest"), exports);
55
55
  __exportStar(require("./dtos/internal/ProviderTransactionCompletionResponse"), exports);
56
+ //constants
57
+ __exportStar(require("./constants/costCenter"), exports);
56
58
  //enums
57
59
  __exportStar(require("./enums/OperationEnum"), exports);
58
60
  __exportStar(require("./enums/TransactionSourceEnum"), exports);
@@ -15,5 +15,7 @@ export declare class AuthorizeBonusRequest {
15
15
  directoryId: string;
16
16
  /** Lo que el cliente ve como descripción de su movimiento. */
17
17
  concept: string;
18
+ /** Centro de costo del bono en el ledger; ausente, el processor escribe `UNASSIGNED`. */
19
+ costCenterId?: string;
18
20
  }
19
21
  export default AuthorizeBonusRequest;
@@ -47,4 +47,10 @@ __decorate([
47
47
  (0, class_validator_1.MaxLength)(120),
48
48
  __metadata("design:type", String)
49
49
  ], AuthorizeBonusRequest.prototype, "concept", void 0);
50
+ __decorate([
51
+ (0, class_validator_1.IsOptional)(),
52
+ (0, class_validator_1.IsString)(),
53
+ (0, class_validator_1.IsNotEmpty)(),
54
+ __metadata("design:type", String)
55
+ ], AuthorizeBonusRequest.prototype, "costCenterId", void 0);
50
56
  exports.default = AuthorizeBonusRequest;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Pago de una recarga Bait de recompensa (`MEX_REWARD_TOPUP`). No toca ninguna wallet.
3
+ *
4
+ * `idempotencyKey` ≤ 60: el folio del proveedor admite 64 y se reservan 4 caracteres para el
5
+ * sufijo `-{k}` del folio por intento.
6
+ */
7
+ export declare class AuthorizeRewardTopupRequest {
8
+ idempotencyKey: string;
9
+ /** Titular beneficiario de la recompensa. */
10
+ directoryId: string;
11
+ /** Celular MX normalizado a 10 dígitos. */
12
+ phone: string;
13
+ moduleName: string;
14
+ benefitId: string;
15
+ leafId: string;
16
+ productId: string;
17
+ /** En PESOS, no centavos. */
18
+ amount: number;
19
+ concept: string;
20
+ }
21
+ export default AuthorizeRewardTopupRequest;
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.AuthorizeRewardTopupRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ /**
15
+ * Pago de una recarga Bait de recompensa (`MEX_REWARD_TOPUP`). No toca ninguna wallet.
16
+ *
17
+ * `idempotencyKey` ≤ 60: el folio del proveedor admite 64 y se reservan 4 caracteres para el
18
+ * sufijo `-{k}` del folio por intento.
19
+ */
20
+ class AuthorizeRewardTopupRequest {
21
+ }
22
+ exports.AuthorizeRewardTopupRequest = AuthorizeRewardTopupRequest;
23
+ __decorate([
24
+ (0, class_validator_1.IsString)(),
25
+ (0, class_validator_1.IsNotEmpty)(),
26
+ (0, class_validator_1.MaxLength)(60),
27
+ (0, class_validator_1.Matches)(/^[^#]+$/),
28
+ __metadata("design:type", String)
29
+ ], AuthorizeRewardTopupRequest.prototype, "idempotencyKey", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsString)(),
32
+ (0, class_validator_1.IsNotEmpty)(),
33
+ __metadata("design:type", String)
34
+ ], AuthorizeRewardTopupRequest.prototype, "directoryId", void 0);
35
+ __decorate([
36
+ (0, class_validator_1.IsString)(),
37
+ (0, class_validator_1.Matches)(/^[0-9]{10}$/),
38
+ __metadata("design:type", String)
39
+ ], AuthorizeRewardTopupRequest.prototype, "phone", void 0);
40
+ __decorate([
41
+ (0, class_validator_1.IsString)(),
42
+ (0, class_validator_1.IsNotEmpty)(),
43
+ (0, class_validator_1.MaxLength)(64),
44
+ __metadata("design:type", String)
45
+ ], AuthorizeRewardTopupRequest.prototype, "moduleName", void 0);
46
+ __decorate([
47
+ (0, class_validator_1.IsString)(),
48
+ (0, class_validator_1.IsNotEmpty)(),
49
+ (0, class_validator_1.MaxLength)(64),
50
+ __metadata("design:type", String)
51
+ ], AuthorizeRewardTopupRequest.prototype, "benefitId", void 0);
52
+ __decorate([
53
+ (0, class_validator_1.IsString)(),
54
+ (0, class_validator_1.IsNotEmpty)(),
55
+ (0, class_validator_1.MaxLength)(256),
56
+ __metadata("design:type", String)
57
+ ], AuthorizeRewardTopupRequest.prototype, "leafId", void 0);
58
+ __decorate([
59
+ (0, class_validator_1.IsString)(),
60
+ (0, class_validator_1.IsNotEmpty)(),
61
+ (0, class_validator_1.MaxLength)(64),
62
+ __metadata("design:type", String)
63
+ ], AuthorizeRewardTopupRequest.prototype, "productId", void 0);
64
+ __decorate([
65
+ (0, class_validator_1.IsNumber)({ maxDecimalPlaces: 2 }),
66
+ (0, class_validator_1.IsPositive)(),
67
+ __metadata("design:type", Number)
68
+ ], AuthorizeRewardTopupRequest.prototype, "amount", void 0);
69
+ __decorate([
70
+ (0, class_validator_1.IsString)(),
71
+ (0, class_validator_1.MaxLength)(120),
72
+ __metadata("design:type", String)
73
+ ], AuthorizeRewardTopupRequest.prototype, "concept", void 0);
74
+ exports.default = AuthorizeRewardTopupRequest;
@@ -19,5 +19,13 @@ export declare enum TransactionProcessorCodesEnum {
19
19
  BLOCKED_SECRET_NUMBER = "BLOCKED_SECRET_NUMBER",
20
20
  PROVIDER_NOT_FOUND = "PROVIDER_NOT_FOUND",
21
21
  /** El request no cumple el contrato del DTO. Nada tocó saldo. */
22
- INVALID_REQUEST = "INVALID_REQUEST"
22
+ INVALID_REQUEST = "INVALID_REQUEST",
23
+ /** Recarga de recompensa: el proveedor la rechazó de forma permanente (o se agotaron los intentos de folio). */
24
+ REWARD_TOPUP_PROVIDER_REJECTED = "REWARD_TOPUP_PROVIDER_REJECTED",
25
+ /** Recarga de recompensa: rechazo transitorio del proveedor; reintentable con la misma llave. */
26
+ REWARD_TOPUP_UNAVAILABLE = "REWARD_TOPUP_UNAVAILABLE",
27
+ /** Recarga de recompensa: resultado desconocido (timeout/PENDING); no se repaga. */
28
+ REWARD_TOPUP_OUTCOME_UNKNOWN = "REWARD_TOPUP_OUTCOME_UNKNOWN",
29
+ /** Recarga de recompensa: la llave de idempotencia sigue en vuelo. */
30
+ REWARD_TOPUP_IN_FLIGHT = "REWARD_TOPUP_IN_FLIGHT"
23
31
  }
@@ -24,4 +24,12 @@ var TransactionProcessorCodesEnum;
24
24
  TransactionProcessorCodesEnum["PROVIDER_NOT_FOUND"] = "PROVIDER_NOT_FOUND";
25
25
  /** El request no cumple el contrato del DTO. Nada tocó saldo. */
26
26
  TransactionProcessorCodesEnum["INVALID_REQUEST"] = "INVALID_REQUEST";
27
+ /** Recarga de recompensa: el proveedor la rechazó de forma permanente (o se agotaron los intentos de folio). */
28
+ TransactionProcessorCodesEnum["REWARD_TOPUP_PROVIDER_REJECTED"] = "REWARD_TOPUP_PROVIDER_REJECTED";
29
+ /** Recarga de recompensa: rechazo transitorio del proveedor; reintentable con la misma llave. */
30
+ TransactionProcessorCodesEnum["REWARD_TOPUP_UNAVAILABLE"] = "REWARD_TOPUP_UNAVAILABLE";
31
+ /** Recarga de recompensa: resultado desconocido (timeout/PENDING); no se repaga. */
32
+ TransactionProcessorCodesEnum["REWARD_TOPUP_OUTCOME_UNKNOWN"] = "REWARD_TOPUP_OUTCOME_UNKNOWN";
33
+ /** Recarga de recompensa: la llave de idempotencia sigue en vuelo. */
34
+ TransactionProcessorCodesEnum["REWARD_TOPUP_IN_FLIGHT"] = "REWARD_TOPUP_IN_FLIGHT";
27
35
  })(TransactionProcessorCodesEnum || (exports.TransactionProcessorCodesEnum = TransactionProcessorCodesEnum = {}));
@@ -11,6 +11,7 @@ export * from './dtos/AuthorizeSpeiBankTransferNcRequest';
11
11
  export * from './dtos/AuthorizeCollectorTransactionRequest';
12
12
  export * from './dtos/AuthorizeDisputeTransactionRequest';
13
13
  export * from './dtos/AuthorizeBonusRequest';
14
+ export * from './dtos/AuthorizeRewardTopupRequest';
14
15
  export * from './dtos/CardInfo';
15
16
  export * from './dtos/InstallmentsInfo';
16
17
  export * from './dtos/MerchantInfo';
@@ -27,6 +27,7 @@ __exportStar(require("./dtos/AuthorizeSpeiBankTransferNcRequest"), exports);
27
27
  __exportStar(require("./dtos/AuthorizeCollectorTransactionRequest"), exports);
28
28
  __exportStar(require("./dtos/AuthorizeDisputeTransactionRequest"), exports);
29
29
  __exportStar(require("./dtos/AuthorizeBonusRequest"), exports);
30
+ __exportStar(require("./dtos/AuthorizeRewardTopupRequest"), exports);
30
31
  __exportStar(require("./dtos/CardInfo"), exports);
31
32
  __exportStar(require("./dtos/InstallmentsInfo"), exports);
32
33
  __exportStar(require("./dtos/MerchantInfo"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.644.0",
3
+ "version": "3.646.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -14,9 +14,18 @@ export class AuthorizeCollectionMovementRequest {
14
14
  @IsOptional() @IsString() intentId?: string;
15
15
  @IsOptional() @IsString() chargeId?: string;
16
16
  @IsOptional() @IsString() holdTxId?: string;
17
- // Tenant SOFOM del intento de cobro; transaction-processor lo asienta como `sofomTenantId`.
17
+ /**
18
+ * Tenant SOFOM del intento de cobro. Se conserva por compatibilidad con transaction-processor; el
19
+ * ledger ya no lo usa: la pertenencia contable del movimiento viaja en `costCenterId`.
20
+ */
18
21
  @IsOptional() @IsString() @IsNotEmpty() tenantId?: string;
19
22
 
23
+ /**
24
+ * Centro de costo del producto cobrado, tomado de su configuración en el motor. El processor lo
25
+ * escribe en la transacción del ledger; ausente, queda como `UNASSIGNED`.
26
+ */
27
+ @IsOptional() @IsString() @IsNotEmpty() costCenterId?: string;
28
+
20
29
  /**
21
30
  * Tarifa con la que se registra el cobro. Presente, el movimiento deja además una transacción
22
31
  * Fiado: asiento contable, historial visible para el cliente y comisión declarada. Ausente, el
@@ -1,4 +1,4 @@
1
- import { IsString, IsInt, IsArray, IsBoolean, ValidateNested } from 'class-validator';
1
+ import { IsString, IsInt, IsArray, IsBoolean, IsNotEmpty, IsOptional, ValidateNested } from 'class-validator';
2
2
  import { Type } from 'class-transformer';
3
3
  import { CollectionSourceDto } from './CollectionSourceDto';
4
4
  import { RetryPolicyDto } from './RetryPolicyDto';
@@ -20,6 +20,8 @@ export class CollectionProductConfigDto {
20
20
  @IsBoolean() allowPartial!: boolean;
21
21
  @ValidateNested() @Type(() => RetryPolicyDto) retryPolicy!: RetryPolicyDto;
22
22
  @IsArray() @IsString({ each: true }) reportTargets!: string[];
23
+ /** Centro de costo con el que el ledger registra los cobros de este producto. */
24
+ @IsOptional() @IsString() @IsNotEmpty() costCenterId?: string;
23
25
  @IsString() createdBy!: string;
24
26
  @IsString() updatedBy!: string;
25
27
  }
@@ -1,6 +1,8 @@
1
- import { IsEnum, IsIn, IsNotEmpty, IsNumber, IsOptional, IsPositive, IsString, Matches, MaxLength } from 'class-validator';
1
+ import { Type } from 'class-transformer';
2
+ import { IsDefined, IsEnum, IsIn, IsNotEmpty, IsNumber, IsOptional, IsPositive, IsString, Matches, MaxLength, ValidateIf, ValidateNested } from 'class-validator';
2
3
  import { CurrencyId } from '../../currency/enums/CurrencyId';
3
4
  import { DisbursementType } from '../enums/DisbursementType';
5
+ import { DisburseTopupDetail } from './DisburseTopupDetail';
4
6
 
5
7
  /** Dispersión síncrona: el motor deposita `amount` pesos al titular por el riel de `disbursementType`. */
6
8
  export class DisburseRequest {
@@ -27,4 +29,17 @@ export class DisburseRequest {
27
29
 
28
30
  /** Id del llamador para rastreo: asiento, crédito. */
29
31
  @IsOptional() @IsString() reference?: string;
32
+
33
+ /**
34
+ * Centro de costo de la dispersión, tomado de la configuración de quien dispersa. El motor lo
35
+ * reenvía al processor en `AuthorizeBonusRequest.costCenterId`; ausente, el ledger escribe `UNASSIGNED`.
36
+ */
37
+ @IsOptional() @IsString() @IsNotEmpty() costCenterId?: string;
38
+
39
+ /** Datos de la recarga. Obligatorio si `disbursementType` es `MEX_REWARD_TOPUP`; en otros tipos se ignora. */
40
+ @ValidateIf((o: DisburseRequest) => o.disbursementType === DisbursementType.MEX_REWARD_TOPUP)
41
+ @IsDefined()
42
+ @ValidateNested()
43
+ @Type(() => DisburseTopupDetail)
44
+ topup?: DisburseTopupDetail;
30
45
  }