@fiado/type-kit 3.613.0 → 3.615.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 (153) hide show
  1. package/_test_/unit/loanCredit/dtos/originateLoanCreditRequest.test.ts +9 -0
  2. package/_test_/unit/loanCredit/segmentFactsDtos.test.ts +80 -0
  3. package/_test_/unit/loanOfferings/promotionRetailerScope.test.ts +79 -0
  4. package/_test_/unit/loanOfferings/segmentCatalog.test.ts +4 -2
  5. package/_test_/unit/loanOfferings/segmentCohorts.test.ts +333 -0
  6. package/bin/loanCredit/dtos/requests/OriginateLoanCreditRequest.d.ts +2 -0
  7. package/bin/loanCredit/dtos/requests/OriginateLoanCreditRequest.js +7 -0
  8. package/bin/loanCredit/dtos/requests/SegmentFactsBatchRequest.d.ts +4 -0
  9. package/bin/loanCredit/dtos/requests/SegmentFactsBatchRequest.js +27 -0
  10. package/bin/loanCredit/dtos/requests/SegmentFactsPageRequest.d.ts +7 -0
  11. package/bin/loanCredit/dtos/requests/SegmentFactsPageRequest.js +32 -0
  12. package/bin/loanCredit/dtos/responses/BorrowerSegmentFacts.d.ts +22 -0
  13. package/bin/loanCredit/dtos/responses/BorrowerSegmentFacts.js +2 -0
  14. package/bin/loanCredit/dtos/responses/SegmentFactsBatchResponse.d.ts +5 -0
  15. package/bin/loanCredit/dtos/responses/SegmentFactsBatchResponse.js +2 -0
  16. package/bin/loanCredit/dtos/responses/SegmentFactsPageResponse.d.ts +7 -0
  17. package/bin/loanCredit/dtos/responses/SegmentFactsPageResponse.js +2 -0
  18. package/bin/loanCredit/index.d.ts +5 -0
  19. package/bin/loanCredit/index.js +6 -0
  20. package/bin/loanOfferings/constants/promotionRetailerScope.d.ts +2 -0
  21. package/bin/loanOfferings/constants/promotionRetailerScope.js +5 -0
  22. package/bin/loanOfferings/dtos/requests/ChangeCohortStatusRequest.d.ts +9 -0
  23. package/bin/loanOfferings/dtos/requests/ChangeCohortStatusRequest.js +34 -0
  24. package/bin/loanOfferings/dtos/requests/CohortCondition.d.ts +15 -0
  25. package/bin/loanOfferings/dtos/requests/CohortCondition.js +48 -0
  26. package/bin/loanOfferings/dtos/requests/CreateCohortRequest.d.ts +11 -0
  27. package/bin/loanOfferings/dtos/requests/CreateCohortRequest.js +44 -0
  28. package/bin/loanOfferings/dtos/requests/CreatePromotionRequest.d.ts +2 -0
  29. package/bin/loanOfferings/dtos/requests/CreatePromotionRequest.js +10 -0
  30. package/bin/loanOfferings/dtos/requests/CreateSegmentRequest.d.ts +7 -8
  31. package/bin/loanOfferings/dtos/requests/CreateSegmentRequest.js +5 -3
  32. package/bin/loanOfferings/dtos/requests/CustomerSegmentFacts.d.ts +30 -0
  33. package/bin/loanOfferings/dtos/requests/CustomerSegmentFacts.js +92 -0
  34. package/bin/loanOfferings/dtos/requests/ListCohortsQuery.d.ts +5 -0
  35. package/bin/loanOfferings/dtos/requests/ListCohortsQuery.js +25 -0
  36. package/bin/loanOfferings/dtos/requests/ListPromotedSkusRequest.d.ts +2 -0
  37. package/bin/loanOfferings/dtos/requests/ListPromotedSkusRequest.js +7 -0
  38. package/bin/loanOfferings/dtos/requests/ListSkuPromotionsRequest.d.ts +2 -0
  39. package/bin/loanOfferings/dtos/requests/ListSkuPromotionsRequest.js +7 -0
  40. package/bin/loanOfferings/dtos/requests/ResolveCustomerSegmentsRequest.d.ts +4 -20
  41. package/bin/loanOfferings/dtos/requests/ResolveCustomerSegmentsRequest.js +4 -48
  42. package/bin/loanOfferings/dtos/requests/ResolveSegmentMembersRequest.d.ts +8 -0
  43. package/bin/loanOfferings/dtos/requests/ResolveSegmentMembersRequest.js +31 -0
  44. package/bin/loanOfferings/dtos/requests/SimulateCreditPlanRequest.d.ts +2 -0
  45. package/bin/loanOfferings/dtos/requests/SimulateCreditPlanRequest.js +7 -0
  46. package/bin/loanOfferings/dtos/requests/TestCohortRequest.d.ts +9 -0
  47. package/bin/loanOfferings/dtos/requests/TestCohortRequest.js +36 -0
  48. package/bin/loanOfferings/dtos/requests/TestCustomerSegmentsRequest.d.ts +4 -0
  49. package/bin/loanOfferings/dtos/requests/TestCustomerSegmentsRequest.js +23 -0
  50. package/bin/loanOfferings/dtos/requests/UpdateCohortRequest.d.ts +12 -0
  51. package/bin/loanOfferings/dtos/requests/UpdateCohortRequest.js +53 -0
  52. package/bin/loanOfferings/dtos/requests/UpdatePromotionRequest.d.ts +2 -0
  53. package/bin/loanOfferings/dtos/requests/UpdatePromotionRequest.js +10 -0
  54. package/bin/loanOfferings/dtos/requests/UpdateSegmentRequest.d.ts +2 -2
  55. package/bin/loanOfferings/dtos/requests/UpdateSegmentRequest.js +3 -1
  56. package/bin/loanOfferings/dtos/responses/CohortCatalogResponse.d.ts +33 -0
  57. package/bin/loanOfferings/dtos/responses/CohortCatalogResponse.js +2 -0
  58. package/bin/loanOfferings/dtos/responses/CohortLogEntryResponse.d.ts +11 -0
  59. package/bin/loanOfferings/dtos/responses/CohortLogEntryResponse.js +2 -0
  60. package/bin/loanOfferings/dtos/responses/CohortResponse.d.ts +43 -0
  61. package/bin/loanOfferings/dtos/responses/CohortResponse.js +2 -0
  62. package/bin/loanOfferings/dtos/responses/PromotionResponse.d.ts +2 -0
  63. package/bin/loanOfferings/dtos/responses/SegmentCatalogResponse.d.ts +5 -2
  64. package/bin/loanOfferings/dtos/responses/SegmentLogEntryResponse.d.ts +11 -0
  65. package/bin/loanOfferings/dtos/responses/SegmentLogEntryResponse.js +2 -0
  66. package/bin/loanOfferings/dtos/responses/SegmentMembersResponse.d.ts +19 -0
  67. package/bin/loanOfferings/dtos/responses/SegmentMembersResponse.js +2 -0
  68. package/bin/loanOfferings/dtos/responses/SegmentResponse.d.ts +12 -6
  69. package/bin/loanOfferings/dtos/responses/SegmentUsageResponse.d.ts +18 -0
  70. package/bin/loanOfferings/dtos/responses/SegmentUsageResponse.js +2 -0
  71. package/bin/loanOfferings/dtos/responses/SegmentationRecountRunResponse.d.ts +23 -0
  72. package/bin/loanOfferings/dtos/responses/SegmentationRecountRunResponse.js +2 -0
  73. package/bin/loanOfferings/dtos/responses/SegmentationRecountStartResponse.d.ts +6 -0
  74. package/bin/loanOfferings/dtos/responses/SegmentationRecountStartResponse.js +2 -0
  75. package/bin/loanOfferings/dtos/responses/TestCohortResponse.d.ts +17 -0
  76. package/bin/loanOfferings/dtos/responses/TestCohortResponse.js +2 -0
  77. package/bin/loanOfferings/dtos/responses/TestCustomerSegmentsResponse.d.ts +23 -0
  78. package/bin/loanOfferings/dtos/responses/TestCustomerSegmentsResponse.js +2 -0
  79. package/bin/loanOfferings/enums/CohortConditionOutcomeEnum.d.ts +10 -0
  80. package/bin/loanOfferings/enums/CohortConditionOutcomeEnum.js +14 -0
  81. package/bin/loanOfferings/enums/CohortFactKeyEnum.d.ts +17 -0
  82. package/bin/loanOfferings/enums/CohortFactKeyEnum.js +21 -0
  83. package/bin/loanOfferings/enums/CohortFactTypeEnum.d.ts +9 -0
  84. package/bin/loanOfferings/enums/CohortFactTypeEnum.js +13 -0
  85. package/bin/loanOfferings/enums/CohortLogEventEnum.d.ts +10 -0
  86. package/bin/loanOfferings/enums/CohortLogEventEnum.js +14 -0
  87. package/bin/loanOfferings/enums/CohortOperatorEnum.d.ts +15 -0
  88. package/bin/loanOfferings/enums/CohortOperatorEnum.js +19 -0
  89. package/bin/loanOfferings/enums/CohortStatusEnum.d.ts +9 -0
  90. package/bin/loanOfferings/enums/CohortStatusEnum.js +13 -0
  91. package/bin/loanOfferings/enums/SegmentFilterIdEnum.d.ts +2 -0
  92. package/bin/loanOfferings/enums/SegmentFilterIdEnum.js +2 -0
  93. package/bin/loanOfferings/enums/SegmentLogEventEnum.d.ts +10 -0
  94. package/bin/loanOfferings/enums/SegmentLogEventEnum.js +14 -0
  95. package/bin/loanOfferings/enums/SegmentMembershipReasonEnum.d.ts +9 -0
  96. package/bin/loanOfferings/enums/SegmentMembershipReasonEnum.js +13 -0
  97. package/bin/loanOfferings/enums/SegmentationRecountStatusEnum.d.ts +9 -0
  98. package/bin/loanOfferings/enums/SegmentationRecountStatusEnum.js +13 -0
  99. package/bin/loanOfferings/enums/SegmentationRecountTriggerEnum.d.ts +8 -0
  100. package/bin/loanOfferings/enums/SegmentationRecountTriggerEnum.js +12 -0
  101. package/bin/loanOfferings/index.d.ts +30 -0
  102. package/bin/loanOfferings/index.js +30 -0
  103. package/package.json +1 -1
  104. package/src/loanCredit/dtos/requests/OriginateLoanCreditRequest.ts +7 -0
  105. package/src/loanCredit/dtos/requests/SegmentFactsBatchRequest.ts +13 -0
  106. package/src/loanCredit/dtos/requests/SegmentFactsPageRequest.ts +19 -0
  107. package/src/loanCredit/dtos/responses/BorrowerSegmentFacts.ts +24 -0
  108. package/src/loanCredit/dtos/responses/SegmentFactsBatchResponse.ts +6 -0
  109. package/src/loanCredit/dtos/responses/SegmentFactsPageResponse.ts +8 -0
  110. package/src/loanCredit/index.ts +7 -0
  111. package/src/loanOfferings/constants/promotionRetailerScope.ts +2 -0
  112. package/src/loanOfferings/dtos/requests/ChangeCohortStatusRequest.ts +19 -0
  113. package/src/loanOfferings/dtos/requests/CohortCondition.ts +33 -0
  114. package/src/loanOfferings/dtos/requests/CreateCohortRequest.ts +29 -0
  115. package/src/loanOfferings/dtos/requests/CreatePromotionRequest.ts +12 -0
  116. package/src/loanOfferings/dtos/requests/CreateSegmentRequest.ts +10 -9
  117. package/src/loanOfferings/dtos/requests/CustomerSegmentFacts.ts +79 -0
  118. package/src/loanOfferings/dtos/requests/ListCohortsQuery.ts +11 -0
  119. package/src/loanOfferings/dtos/requests/ListPromotedSkusRequest.ts +7 -0
  120. package/src/loanOfferings/dtos/requests/ListSkuPromotionsRequest.ts +7 -0
  121. package/src/loanOfferings/dtos/requests/ResolveCustomerSegmentsRequest.ts +5 -49
  122. package/src/loanOfferings/dtos/requests/ResolveSegmentMembersRequest.ts +17 -0
  123. package/src/loanOfferings/dtos/requests/SimulateCreditPlanRequest.ts +8 -1
  124. package/src/loanOfferings/dtos/requests/TestCohortRequest.ts +21 -0
  125. package/src/loanOfferings/dtos/requests/TestCustomerSegmentsRequest.ts +9 -0
  126. package/src/loanOfferings/dtos/requests/UpdateCohortRequest.ts +37 -0
  127. package/src/loanOfferings/dtos/requests/UpdatePromotionRequest.ts +12 -0
  128. package/src/loanOfferings/dtos/requests/UpdateSegmentRequest.ts +5 -3
  129. package/src/loanOfferings/dtos/responses/CohortCatalogResponse.ts +36 -0
  130. package/src/loanOfferings/dtos/responses/CohortLogEntryResponse.ts +12 -0
  131. package/src/loanOfferings/dtos/responses/CohortResponse.ts +47 -0
  132. package/src/loanOfferings/dtos/responses/PromotionResponse.ts +2 -0
  133. package/src/loanOfferings/dtos/responses/SegmentCatalogResponse.ts +5 -2
  134. package/src/loanOfferings/dtos/responses/SegmentLogEntryResponse.ts +12 -0
  135. package/src/loanOfferings/dtos/responses/SegmentMembersResponse.ts +21 -0
  136. package/src/loanOfferings/dtos/responses/SegmentResponse.ts +12 -6
  137. package/src/loanOfferings/dtos/responses/SegmentUsageResponse.ts +20 -0
  138. package/src/loanOfferings/dtos/responses/SegmentationRecountRunResponse.ts +25 -0
  139. package/src/loanOfferings/dtos/responses/SegmentationRecountStartResponse.ts +7 -0
  140. package/src/loanOfferings/dtos/responses/TestCohortResponse.ts +19 -0
  141. package/src/loanOfferings/dtos/responses/TestCustomerSegmentsResponse.ts +25 -0
  142. package/src/loanOfferings/enums/CohortConditionOutcomeEnum.ts +10 -0
  143. package/src/loanOfferings/enums/CohortFactKeyEnum.ts +17 -0
  144. package/src/loanOfferings/enums/CohortFactTypeEnum.ts +9 -0
  145. package/src/loanOfferings/enums/CohortLogEventEnum.ts +10 -0
  146. package/src/loanOfferings/enums/CohortOperatorEnum.ts +15 -0
  147. package/src/loanOfferings/enums/CohortStatusEnum.ts +9 -0
  148. package/src/loanOfferings/enums/SegmentFilterIdEnum.ts +2 -0
  149. package/src/loanOfferings/enums/SegmentLogEventEnum.ts +10 -0
  150. package/src/loanOfferings/enums/SegmentMembershipReasonEnum.ts +9 -0
  151. package/src/loanOfferings/enums/SegmentationRecountStatusEnum.ts +9 -0
  152. package/src/loanOfferings/enums/SegmentationRecountTriggerEnum.ts +8 -0
  153. package/src/loanOfferings/index.ts +30 -0
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CohortFactKeyEnum = void 0;
4
+ /**
5
+ * Datos del cliente sobre los que se arma una condición de cohort. Catálogo cerrado: un dato
6
+ * nuevo es un cambio de código en quien lo calcula y en quien lo evalúa.
7
+ * @enum {string}
8
+ */
9
+ var CohortFactKeyEnum;
10
+ (function (CohortFactKeyEnum) {
11
+ CohortFactKeyEnum["SCI_LEVEL"] = "sciLevel";
12
+ CohortFactKeyEnum["TOTAL_CREDITS"] = "totalCredits";
13
+ CohortFactKeyEnum["ACTIVE_CREDITS"] = "activeCredits";
14
+ CohortFactKeyEnum["COMPLETED_CREDITS"] = "completedCredits";
15
+ CohortFactKeyEnum["LIFETIME_WRITE_OFFS"] = "lifetimeWriteOffs";
16
+ CohortFactKeyEnum["CURRENT_ARREARS_DAYS"] = "currentArrearsDays";
17
+ CohortFactKeyEnum["DELINQUENCY_DAYS_LAST_6M"] = "delinquencyDaysLast6M";
18
+ CohortFactKeyEnum["LIFETIME_RESTRUCTURES"] = "lifetimeRestructures";
19
+ CohortFactKeyEnum["IS_EMPLOYEE"] = "isEmployee";
20
+ CohortFactKeyEnum["HAS_PCF_ACCOUNT"] = "hasPcfAccount";
21
+ })(CohortFactKeyEnum || (exports.CohortFactKeyEnum = CohortFactKeyEnum = {}));
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Tipo de un dato del catálogo de cohorts. Define qué operadores admite y cómo se pinta el valor.
3
+ * @enum {string}
4
+ */
5
+ export declare enum CohortFactTypeEnum {
6
+ NUMBER = "NUMBER",
7
+ SELECT = "SELECT",
8
+ BOOLEAN = "BOOLEAN"
9
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CohortFactTypeEnum = void 0;
4
+ /**
5
+ * Tipo de un dato del catálogo de cohorts. Define qué operadores admite y cómo se pinta el valor.
6
+ * @enum {string}
7
+ */
8
+ var CohortFactTypeEnum;
9
+ (function (CohortFactTypeEnum) {
10
+ CohortFactTypeEnum["NUMBER"] = "NUMBER";
11
+ CohortFactTypeEnum["SELECT"] = "SELECT";
12
+ CohortFactTypeEnum["BOOLEAN"] = "BOOLEAN";
13
+ })(CohortFactTypeEnum || (exports.CohortFactTypeEnum = CohortFactTypeEnum = {}));
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Evento de la bitácora de un cohort.
3
+ * @enum {string}
4
+ */
5
+ export declare enum CohortLogEventEnum {
6
+ CREATED = "CREATED",
7
+ UPDATED = "UPDATED",
8
+ ARCHIVED = "ARCHIVED",
9
+ REACTIVATED = "REACTIVATED"
10
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CohortLogEventEnum = void 0;
4
+ /**
5
+ * Evento de la bitácora de un cohort.
6
+ * @enum {string}
7
+ */
8
+ var CohortLogEventEnum;
9
+ (function (CohortLogEventEnum) {
10
+ CohortLogEventEnum["CREATED"] = "CREATED";
11
+ CohortLogEventEnum["UPDATED"] = "UPDATED";
12
+ CohortLogEventEnum["ARCHIVED"] = "ARCHIVED";
13
+ CohortLogEventEnum["REACTIVATED"] = "REACTIVATED";
14
+ })(CohortLogEventEnum || (exports.CohortLogEventEnum = CohortLogEventEnum = {}));
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Operador de una condición de cohort. `IN` y `NOT_IN` comparan contra una lista (`values`); el
3
+ * resto, contra un solo valor (`value`).
4
+ * @enum {string}
5
+ */
6
+ export declare enum CohortOperatorEnum {
7
+ EQUALS = "EQUALS",
8
+ NOT_EQUALS = "NOT_EQUALS",
9
+ GT = "GT",
10
+ GTE = "GTE",
11
+ LT = "LT",
12
+ LTE = "LTE",
13
+ IN = "IN",
14
+ NOT_IN = "NOT_IN"
15
+ }
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CohortOperatorEnum = void 0;
4
+ /**
5
+ * Operador de una condición de cohort. `IN` y `NOT_IN` comparan contra una lista (`values`); el
6
+ * resto, contra un solo valor (`value`).
7
+ * @enum {string}
8
+ */
9
+ var CohortOperatorEnum;
10
+ (function (CohortOperatorEnum) {
11
+ CohortOperatorEnum["EQUALS"] = "EQUALS";
12
+ CohortOperatorEnum["NOT_EQUALS"] = "NOT_EQUALS";
13
+ CohortOperatorEnum["GT"] = "GT";
14
+ CohortOperatorEnum["GTE"] = "GTE";
15
+ CohortOperatorEnum["LT"] = "LT";
16
+ CohortOperatorEnum["LTE"] = "LTE";
17
+ CohortOperatorEnum["IN"] = "IN";
18
+ CohortOperatorEnum["NOT_IN"] = "NOT_IN";
19
+ })(CohortOperatorEnum || (exports.CohortOperatorEnum = CohortOperatorEnum = {}));
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Estado persistido de un cohort. No hay borrado: `ARCHIVED` lo saca de la evaluación y de los
3
+ * selectores, y los segmentos que lo usaban siguen resolviendo su nombre.
4
+ * @enum {string}
5
+ */
6
+ export declare enum CohortStatusEnum {
7
+ ACTIVE = "ACTIVE",
8
+ ARCHIVED = "ARCHIVED"
9
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CohortStatusEnum = void 0;
4
+ /**
5
+ * Estado persistido de un cohort. No hay borrado: `ARCHIVED` lo saca de la evaluación y de los
6
+ * selectores, y los segmentos que lo usaban siguen resolviendo su nombre.
7
+ * @enum {string}
8
+ */
9
+ var CohortStatusEnum;
10
+ (function (CohortStatusEnum) {
11
+ CohortStatusEnum["ACTIVE"] = "ACTIVE";
12
+ CohortStatusEnum["ARCHIVED"] = "ARCHIVED";
13
+ })(CohortStatusEnum || (exports.CohortStatusEnum = CohortStatusEnum = {}));
@@ -4,6 +4,8 @@
4
4
  *
5
5
  * El nombre y la descripción que ve el operador NO viven acá: los sirve
6
6
  * `GET /segments/filters`, junto con la marca de si el filtro tiene fuente de datos hoy.
7
+ * @deprecated El segmento se arma con cohorts (`cohortIds`). Se conserva para migrar los filtros
8
+ * viejos y para los consumidores que todavía lo importan.
7
9
  * @enum {string}
8
10
  */
9
11
  export declare enum SegmentFilterIdEnum {
@@ -7,6 +7,8 @@ exports.SegmentFilterIdEnum = void 0;
7
7
  *
8
8
  * El nombre y la descripción que ve el operador NO viven acá: los sirve
9
9
  * `GET /segments/filters`, junto con la marca de si el filtro tiene fuente de datos hoy.
10
+ * @deprecated El segmento se arma con cohorts (`cohortIds`). Se conserva para migrar los filtros
11
+ * viejos y para los consumidores que todavía lo importan.
10
12
  * @enum {string}
11
13
  */
12
14
  var SegmentFilterIdEnum;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Evento de la bitácora de un segmento.
3
+ * @enum {string}
4
+ */
5
+ export declare enum SegmentLogEventEnum {
6
+ CREATED = "CREATED",
7
+ UPDATED = "UPDATED",
8
+ ARCHIVED = "ARCHIVED",
9
+ REACTIVATED = "REACTIVATED"
10
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SegmentLogEventEnum = void 0;
4
+ /**
5
+ * Evento de la bitácora de un segmento.
6
+ * @enum {string}
7
+ */
8
+ var SegmentLogEventEnum;
9
+ (function (SegmentLogEventEnum) {
10
+ SegmentLogEventEnum["CREATED"] = "CREATED";
11
+ SegmentLogEventEnum["UPDATED"] = "UPDATED";
12
+ SegmentLogEventEnum["ARCHIVED"] = "ARCHIVED";
13
+ SegmentLogEventEnum["REACTIVATED"] = "REACTIVATED";
14
+ })(SegmentLogEventEnum || (exports.SegmentLogEventEnum = SegmentLogEventEnum = {}));
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Por qué un cliente entra a un segmento: está en la lista manual (`MEMBER`) o cumple al menos
3
+ * uno de sus cohorts (`COHORT`). Si cumple las dos, gana la lista manual.
4
+ * @enum {string}
5
+ */
6
+ export declare enum SegmentMembershipReasonEnum {
7
+ MEMBER = "MEMBER",
8
+ COHORT = "COHORT"
9
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SegmentMembershipReasonEnum = void 0;
4
+ /**
5
+ * Por qué un cliente entra a un segmento: está en la lista manual (`MEMBER`) o cumple al menos
6
+ * uno de sus cohorts (`COHORT`). Si cumple las dos, gana la lista manual.
7
+ * @enum {string}
8
+ */
9
+ var SegmentMembershipReasonEnum;
10
+ (function (SegmentMembershipReasonEnum) {
11
+ SegmentMembershipReasonEnum["MEMBER"] = "MEMBER";
12
+ SegmentMembershipReasonEnum["COHORT"] = "COHORT";
13
+ })(SegmentMembershipReasonEnum || (exports.SegmentMembershipReasonEnum = SegmentMembershipReasonEnum = {}));
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Estado de una corrida de recálculo de conteos de cohorts y segmentos.
3
+ * @enum {string}
4
+ */
5
+ export declare enum SegmentationRecountStatusEnum {
6
+ RUNNING = "RUNNING",
7
+ FINISHED = "FINISHED",
8
+ FAILED = "FAILED"
9
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SegmentationRecountStatusEnum = void 0;
4
+ /**
5
+ * Estado de una corrida de recálculo de conteos de cohorts y segmentos.
6
+ * @enum {string}
7
+ */
8
+ var SegmentationRecountStatusEnum;
9
+ (function (SegmentationRecountStatusEnum) {
10
+ SegmentationRecountStatusEnum["RUNNING"] = "RUNNING";
11
+ SegmentationRecountStatusEnum["FINISHED"] = "FINISHED";
12
+ SegmentationRecountStatusEnum["FAILED"] = "FAILED";
13
+ })(SegmentationRecountStatusEnum || (exports.SegmentationRecountStatusEnum = SegmentationRecountStatusEnum = {}));
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Qué disparó un recálculo de conteos: la corrida nocturna o el botón del backoffice.
3
+ * @enum {string}
4
+ */
5
+ export declare enum SegmentationRecountTriggerEnum {
6
+ NIGHTLY = "NIGHTLY",
7
+ MANUAL = "MANUAL"
8
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SegmentationRecountTriggerEnum = void 0;
4
+ /**
5
+ * Qué disparó un recálculo de conteos: la corrida nocturna o el botón del backoffice.
6
+ * @enum {string}
7
+ */
8
+ var SegmentationRecountTriggerEnum;
9
+ (function (SegmentationRecountTriggerEnum) {
10
+ SegmentationRecountTriggerEnum["NIGHTLY"] = "NIGHTLY";
11
+ SegmentationRecountTriggerEnum["MANUAL"] = "MANUAL";
12
+ })(SegmentationRecountTriggerEnum || (exports.SegmentationRecountTriggerEnum = SegmentationRecountTriggerEnum = {}));
@@ -16,7 +16,18 @@ export * from './enums/SegmentStatusEnum';
16
16
  export * from './enums/SegmentColorSlotEnum';
17
17
  export * from './enums/SegmentFilterIdEnum';
18
18
  export * from './enums/PrepaymentMinimumModeEnum';
19
+ export * from './enums/CohortStatusEnum';
20
+ export * from './enums/CohortFactKeyEnum';
21
+ export * from './enums/CohortFactTypeEnum';
22
+ export * from './enums/CohortOperatorEnum';
23
+ export * from './enums/CohortConditionOutcomeEnum';
24
+ export * from './enums/CohortLogEventEnum';
25
+ export * from './enums/SegmentLogEventEnum';
26
+ export * from './enums/SegmentMembershipReasonEnum';
27
+ export * from './enums/SegmentationRecountTriggerEnum';
28
+ export * from './enums/SegmentationRecountStatusEnum';
19
29
  export * from './constants/promotionSkuBatch';
30
+ export * from './constants/promotionRetailerScope';
20
31
  export * from './dtos/CreditPlan';
21
32
  export * from './dtos/PrepaymentMinimum';
22
33
  export * from './dtos/Financier';
@@ -43,7 +54,16 @@ export * from './dtos/requests/ChangeStorePolicyStatusRequest';
43
54
  export * from './dtos/requests/CreateSegmentRequest';
44
55
  export * from './dtos/requests/UpdateSegmentRequest';
45
56
  export * from './dtos/requests/ChangeSegmentStatusRequest';
57
+ export * from './dtos/requests/CustomerSegmentFacts';
46
58
  export * from './dtos/requests/ResolveCustomerSegmentsRequest';
59
+ export * from './dtos/requests/ResolveSegmentMembersRequest';
60
+ export * from './dtos/requests/TestCustomerSegmentsRequest';
61
+ export * from './dtos/requests/CohortCondition';
62
+ export * from './dtos/requests/CreateCohortRequest';
63
+ export * from './dtos/requests/UpdateCohortRequest';
64
+ export * from './dtos/requests/ChangeCohortStatusRequest';
65
+ export * from './dtos/requests/TestCohortRequest';
66
+ export * from './dtos/requests/ListCohortsQuery';
47
67
  export * from './dtos/requests/ComputeAmortizationScheduleRequest';
48
68
  export * from './dtos/requests/ListSegmentCatalogQuery';
49
69
  export * from './dtos/requests/PromotionSkuInput';
@@ -66,5 +86,15 @@ export * from './dtos/responses/SegmentResponse';
66
86
  export * from './dtos/responses/SegmentFilterResponse';
67
87
  export * from './dtos/responses/SegmentCatalogResponse';
68
88
  export * from './dtos/responses/ResolveCustomerSegmentsResponse';
89
+ export * from './dtos/responses/SegmentMembersResponse';
90
+ export * from './dtos/responses/SegmentUsageResponse';
91
+ export * from './dtos/responses/TestCustomerSegmentsResponse';
92
+ export * from './dtos/responses/SegmentLogEntryResponse';
93
+ export * from './dtos/responses/SegmentationRecountStartResponse';
94
+ export * from './dtos/responses/SegmentationRecountRunResponse';
95
+ export * from './dtos/responses/CohortResponse';
96
+ export * from './dtos/responses/CohortCatalogResponse';
97
+ export * from './dtos/responses/TestCohortResponse';
98
+ export * from './dtos/responses/CohortLogEntryResponse';
69
99
  export * from './dtos/responses/AmortizationScheduleRow';
70
100
  export * from './dtos/responses/AmortizationScheduleResponse';
@@ -33,8 +33,19 @@ __exportStar(require("./enums/SegmentStatusEnum"), exports);
33
33
  __exportStar(require("./enums/SegmentColorSlotEnum"), exports);
34
34
  __exportStar(require("./enums/SegmentFilterIdEnum"), exports);
35
35
  __exportStar(require("./enums/PrepaymentMinimumModeEnum"), exports);
36
+ __exportStar(require("./enums/CohortStatusEnum"), exports);
37
+ __exportStar(require("./enums/CohortFactKeyEnum"), exports);
38
+ __exportStar(require("./enums/CohortFactTypeEnum"), exports);
39
+ __exportStar(require("./enums/CohortOperatorEnum"), exports);
40
+ __exportStar(require("./enums/CohortConditionOutcomeEnum"), exports);
41
+ __exportStar(require("./enums/CohortLogEventEnum"), exports);
42
+ __exportStar(require("./enums/SegmentLogEventEnum"), exports);
43
+ __exportStar(require("./enums/SegmentMembershipReasonEnum"), exports);
44
+ __exportStar(require("./enums/SegmentationRecountTriggerEnum"), exports);
45
+ __exportStar(require("./enums/SegmentationRecountStatusEnum"), exports);
36
46
  // Constantes
37
47
  __exportStar(require("./constants/promotionSkuBatch"), exports);
48
+ __exportStar(require("./constants/promotionRetailerScope"), exports);
38
49
  // Entity DTOs
39
50
  __exportStar(require("./dtos/CreditPlan"), exports);
40
51
  __exportStar(require("./dtos/PrepaymentMinimum"), exports);
@@ -63,7 +74,16 @@ __exportStar(require("./dtos/requests/ChangeStorePolicyStatusRequest"), exports)
63
74
  __exportStar(require("./dtos/requests/CreateSegmentRequest"), exports);
64
75
  __exportStar(require("./dtos/requests/UpdateSegmentRequest"), exports);
65
76
  __exportStar(require("./dtos/requests/ChangeSegmentStatusRequest"), exports);
77
+ __exportStar(require("./dtos/requests/CustomerSegmentFacts"), exports);
66
78
  __exportStar(require("./dtos/requests/ResolveCustomerSegmentsRequest"), exports);
79
+ __exportStar(require("./dtos/requests/ResolveSegmentMembersRequest"), exports);
80
+ __exportStar(require("./dtos/requests/TestCustomerSegmentsRequest"), exports);
81
+ __exportStar(require("./dtos/requests/CohortCondition"), exports);
82
+ __exportStar(require("./dtos/requests/CreateCohortRequest"), exports);
83
+ __exportStar(require("./dtos/requests/UpdateCohortRequest"), exports);
84
+ __exportStar(require("./dtos/requests/ChangeCohortStatusRequest"), exports);
85
+ __exportStar(require("./dtos/requests/TestCohortRequest"), exports);
86
+ __exportStar(require("./dtos/requests/ListCohortsQuery"), exports);
67
87
  __exportStar(require("./dtos/requests/ComputeAmortizationScheduleRequest"), exports);
68
88
  __exportStar(require("./dtos/requests/ListSegmentCatalogQuery"), exports);
69
89
  __exportStar(require("./dtos/requests/PromotionSkuInput"), exports);
@@ -87,5 +107,15 @@ __exportStar(require("./dtos/responses/SegmentResponse"), exports);
87
107
  __exportStar(require("./dtos/responses/SegmentFilterResponse"), exports);
88
108
  __exportStar(require("./dtos/responses/SegmentCatalogResponse"), exports);
89
109
  __exportStar(require("./dtos/responses/ResolveCustomerSegmentsResponse"), exports);
110
+ __exportStar(require("./dtos/responses/SegmentMembersResponse"), exports);
111
+ __exportStar(require("./dtos/responses/SegmentUsageResponse"), exports);
112
+ __exportStar(require("./dtos/responses/TestCustomerSegmentsResponse"), exports);
113
+ __exportStar(require("./dtos/responses/SegmentLogEntryResponse"), exports);
114
+ __exportStar(require("./dtos/responses/SegmentationRecountStartResponse"), exports);
115
+ __exportStar(require("./dtos/responses/SegmentationRecountRunResponse"), exports);
116
+ __exportStar(require("./dtos/responses/CohortResponse"), exports);
117
+ __exportStar(require("./dtos/responses/CohortCatalogResponse"), exports);
118
+ __exportStar(require("./dtos/responses/TestCohortResponse"), exports);
119
+ __exportStar(require("./dtos/responses/CohortLogEntryResponse"), exports);
90
120
  __exportStar(require("./dtos/responses/AmortizationScheduleRow"), exports);
91
121
  __exportStar(require("./dtos/responses/AmortizationScheduleResponse"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.613.0",
3
+ "version": "3.615.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -120,4 +120,11 @@ export class OriginateLoanCreditRequest {
120
120
  @IsOptional()
121
121
  @IsEnum(ProductTierEnum)
122
122
  productTier?: ProductTierEnum;
123
+
124
+ /** Cadena de la tienda que vende; sin ella no se resuelven las promociones acotadas por cadena. */
125
+ @Expose()
126
+ @IsOptional()
127
+ @IsString()
128
+ @IsNotEmpty()
129
+ retailerId?: string;
123
130
  }
@@ -0,0 +1,13 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { ArrayMaxSize, ArrayMinSize, IsArray, IsNotEmpty, IsString } from 'class-validator';
3
+
4
+ /** Body de `POST /private/borrowers/segment-facts`: datos para segmentar de hasta 100 clientes retail. */
5
+ export class SegmentFactsBatchRequest {
6
+ @Expose()
7
+ @IsArray()
8
+ @ArrayMinSize(1)
9
+ @ArrayMaxSize(100)
10
+ @IsString({ each: true })
11
+ @IsNotEmpty({ each: true })
12
+ retailCustomerIds!: string[];
13
+ }
@@ -0,0 +1,19 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { IsInt, IsOptional, IsString, Max, Min } from 'class-validator';
3
+
4
+ /** Body de `POST /private/borrowers/segment-facts/page`: una página de la cartera de acreditados. */
5
+ export class SegmentFactsPageRequest {
6
+ /** Cursor opaco de la página anterior. Ausente en la primera página. */
7
+ @Expose()
8
+ @IsOptional()
9
+ @IsString()
10
+ cursor?: string;
11
+
12
+ /** Acreditados por página. Ausente = 100. */
13
+ @Expose()
14
+ @IsOptional()
15
+ @IsInt()
16
+ @Min(1)
17
+ @Max(100)
18
+ limit?: number;
19
+ }
@@ -0,0 +1,24 @@
1
+ import { CreditPlanLevelEnum } from '../../../loanOfferings/enums/CreditPlanLevelEnum';
2
+
3
+ /**
4
+ * Datos del acreditado para evaluar cohorts, ya normalizados: sin acreditado, conteos y días en
5
+ * `0`; `sciLevel` ausente si no hay evaluación o el nivel es `ALL` / `NOT_ELIGIBLE`.
6
+ */
7
+ export interface BorrowerSegmentFacts {
8
+ sciLevel?: CreditPlanLevelEnum;
9
+ totalCredits: number;
10
+ activeCredits: number;
11
+ completedCredits: number;
12
+ lifetimeWriteOffs: number;
13
+ currentArrearsDays: number;
14
+ /** Sin cuotas en la ventana de 180 días cuenta como `0`. */
15
+ delinquencyDaysLast6M: number;
16
+ lifetimeRestructures: number;
17
+ }
18
+
19
+ /** Un cliente retail y sus datos para segmentar. `borrowerId` en `null` = no tiene acreditado. */
20
+ export interface BorrowerSegmentFactsItem {
21
+ retailCustomerId: string;
22
+ borrowerId: string | null;
23
+ facts: BorrowerSegmentFacts;
24
+ }
@@ -0,0 +1,6 @@
1
+ import { BorrowerSegmentFactsItem } from './BorrowerSegmentFacts';
2
+
3
+ /** Respuesta de `POST /private/borrowers/segment-facts`: un ítem por id pedido, en el mismo orden. */
4
+ export interface SegmentFactsBatchResponse {
5
+ items: BorrowerSegmentFactsItem[];
6
+ }
@@ -0,0 +1,8 @@
1
+ import { BorrowerSegmentFactsItem } from './BorrowerSegmentFacts';
2
+
3
+ /** Respuesta de `POST /private/borrowers/segment-facts/page`. */
4
+ export interface SegmentFactsPageResponse {
5
+ items: BorrowerSegmentFactsItem[];
6
+ /** Cursor de la siguiente página. `null` = ya no quedan acreditados. */
7
+ nextCursor: string | null;
8
+ }
@@ -198,3 +198,10 @@ export * from './dtos/requests/UpdateReconcileModeRequest';
198
198
  export * from './dtos/responses/ReconcileModeView';
199
199
  export * from './dtos/requests/RunDevicePostureBackfillRequest';
200
200
  export * from './dtos/responses/DevicePostureBackfillResult';
201
+
202
+ // Datos del cliente para evaluar cohorts de segmentos
203
+ export * from './dtos/requests/SegmentFactsBatchRequest';
204
+ export * from './dtos/requests/SegmentFactsPageRequest';
205
+ export * from './dtos/responses/BorrowerSegmentFacts';
206
+ export * from './dtos/responses/SegmentFactsBatchResponse';
207
+ export * from './dtos/responses/SegmentFactsPageResponse';
@@ -0,0 +1,2 @@
1
+ /** Tope de cadenas por promoción de crédito. */
2
+ export const PROMOTION_RETAILER_IDS_MAX_ITEMS = 50;
@@ -0,0 +1,19 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { IsEnum, IsOptional, IsString, MaxLength } from 'class-validator';
3
+ import { CohortStatusEnum } from '../../enums/CohortStatusEnum';
4
+
5
+ /**
6
+ * Body de PUT /cohorts/:cohortId/status — archiva o reactiva un cohort. No se archiva uno que use
7
+ * un segmento activo. `reason` queda en la bitácora.
8
+ */
9
+ export class ChangeCohortStatusRequest {
10
+ @Expose()
11
+ @IsEnum(CohortStatusEnum)
12
+ status!: CohortStatusEnum;
13
+
14
+ @Expose()
15
+ @IsOptional()
16
+ @IsString()
17
+ @MaxLength(280)
18
+ reason?: string;
19
+ }
@@ -0,0 +1,33 @@
1
+ import { Expose } from 'class-transformer';
2
+ import { ArrayMaxSize, IsArray, IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';
3
+ import { CohortFactKeyEnum } from '../../enums/CohortFactKeyEnum';
4
+ import { CohortOperatorEnum } from '../../enums/CohortOperatorEnum';
5
+
6
+ /**
7
+ * Una condición de cohort: «dato operador valor». Las condiciones de un cohort se unen con Y.
8
+ * Que el operador aplique al tipo del dato y que el valor tenga el tipo correcto lo valida el
9
+ * lambda (422), contra el catálogo.
10
+ */
11
+ export class CohortCondition {
12
+ @Expose()
13
+ @IsEnum(CohortFactKeyEnum)
14
+ field!: CohortFactKeyEnum;
15
+
16
+ @Expose()
17
+ @IsEnum(CohortOperatorEnum)
18
+ op!: CohortOperatorEnum;
19
+
20
+ /** Valor a comparar en los operadores de un solo valor. Tipado estricto: `3` no es `"3"`. */
21
+ @Expose()
22
+ @IsOptional()
23
+ value?: number | boolean | string;
24
+
25
+ /** Lista de opciones; solo con `IN` y `NOT_IN`. */
26
+ @Expose()
27
+ @IsOptional()
28
+ @IsArray()
29
+ @IsString({ each: true })
30
+ @IsNotEmpty({ each: true })
31
+ @ArrayMaxSize(10)
32
+ values?: string[];
33
+ }
@@ -0,0 +1,29 @@
1
+ import { Expose, Type } from 'class-transformer';
2
+ import { ArrayMaxSize, ArrayMinSize, IsArray, IsOptional, IsString, MaxLength, ValidateNested } from 'class-validator';
3
+ import { CohortCondition } from './CohortCondition';
4
+
5
+ /**
6
+ * Body de POST /cohorts — alta de un cohort. Nace en `ACTIVE`; `cohortId`, `status`, `version` y
7
+ * la auditoría los asigna el lambda. El nombre es único entre los cohorts activos.
8
+ */
9
+ export class CreateCohortRequest {
10
+ @Expose()
11
+ @IsString()
12
+ @MaxLength(120)
13
+ name!: string;
14
+
15
+ @Expose()
16
+ @IsOptional()
17
+ @IsString()
18
+ @MaxLength(500)
19
+ description?: string;
20
+
21
+ /** Condiciones unidas con Y: el cliente entra si cumple todas. */
22
+ @Expose()
23
+ @IsArray()
24
+ @ArrayMinSize(1)
25
+ @ArrayMaxSize(10)
26
+ @ValidateNested({ each: true })
27
+ @Type(() => CohortCondition)
28
+ conditions!: CohortCondition[];
29
+ }
@@ -1,14 +1,17 @@
1
1
  import { Expose, Type } from 'class-transformer';
2
2
  import {
3
+ ArrayMaxSize,
3
4
  ArrayNotEmpty,
4
5
  IsArray,
5
6
  IsEnum,
6
7
  IsInt,
7
8
  IsISO8601,
9
+ IsNotEmpty,
8
10
  IsOptional,
9
11
  IsString,
10
12
  ValidateNested,
11
13
  } from 'class-validator';
14
+ import { PROMOTION_RETAILER_IDS_MAX_ITEMS } from '../../constants/promotionRetailerScope';
12
15
  import { CreditPlanLevelEnum } from '../../enums/CreditPlanLevelEnum';
13
16
  import { ProductCategoryEnum } from '../../../retailCatalog/enums/ProductCategoryEnum';
14
17
  import { ProductTierEnum } from '../../../retailCatalog/enums/ProductTierEnum';
@@ -65,6 +68,15 @@ export class CreatePromotionRequest {
65
68
  @IsEnum(ProductTierEnum, { each: true })
66
69
  tiers?: ProductTierEnum[] | null;
67
70
 
71
+ /** Cadenas alcanzadas; ausente, `null` o vacío = todas las cadenas. */
72
+ @Expose()
73
+ @IsOptional()
74
+ @IsArray()
75
+ @ArrayMaxSize(PROMOTION_RETAILER_IDS_MAX_ITEMS)
76
+ @IsString({ each: true })
77
+ @IsNotEmpty({ each: true })
78
+ retailerIds?: string[] | null;
79
+
68
80
  /** Tiendas alcanzadas. `null` o ausente = todas. */
69
81
  @Expose()
70
82
  @IsOptional()