@fiado/api-invoker 5.58.0 → 5.59.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.
@@ -1,6 +1,6 @@
1
1
  import type { IHttpRequest } from "@fiado/http-client";
2
2
  import { StandardResponse } from "@fiado/gateway-adapter";
3
- import { ConsumePromotionRequest, PromotedSkusResponse, ConsumePromotionResponse, CreditPlanResponse, FinancierResponse, ReservePromotionBonusRequest, ReservePromotionBonusResponse, ResolveCustomerSegmentsRequest, ResolveCustomerSegmentsResponse, SkuPromotionsResponse, SettlePromotionBonusRequest, PromotionBonusResponse, SimulateCreditPlanRequest, SimulationResultResponse } from "@fiado/type-kit/bin/loanOfferings/index.js";
3
+ import { ConsumePromotionRequest, PromotedSkusResponse, ConsumePromotionResponse, CreditPlanLevelEnum, CreditPlanResponse, FinancierResponse, ReservePromotionBonusRequest, ReservePromotionBonusResponse, ResolveCustomerSegmentsRequest, ResolveCustomerSegmentsResponse, ScopeWidePromotionsResponse, SkuPromotionsResponse, SettlePromotionBonusRequest, PromotionBonusResponse, SimulateCreditPlanRequest, SimulationResultResponse } from "@fiado/type-kit/bin/loanOfferings/index.js";
4
4
  import { ILoanOfferingsBusinessApi } from "./interfaces/ILoanOfferingsBusinessApi.js";
5
5
  /**
6
6
  * Publisher HTTP del lambda `loan-offerings-business` (componente 07 SureKeep Fase 1) para sus
@@ -28,4 +28,5 @@ export default class LoanOfferingsBusinessApi implements ILoanOfferingsBusinessA
28
28
  reservePromotionBonus(promotionId: string, input: ReservePromotionBonusRequest, tenantId: string): Promise<StandardResponse<ReservePromotionBonusResponse>>;
29
29
  settlePromotionBonus(promotionId: string, input: SettlePromotionBonusRequest, tenantId: string): Promise<StandardResponse<PromotionBonusResponse>>;
30
30
  listSkuPromotions(storeId: string, tenantId: string): Promise<StandardResponse<SkuPromotionsResponse>>;
31
+ listScopeWidePromotions(storeId: string, tenantId: string, level?: CreditPlanLevelEnum, segmentId?: string): Promise<StandardResponse<ScopeWidePromotionsResponse>>;
31
32
  }
@@ -70,6 +70,14 @@ let LoanOfferingsBusinessApi = class LoanOfferingsBusinessApi {
70
70
  const url = `${this.baseUrl}/private/promotions/by-sku?storeId=${encodeURIComponent(storeId)}&tenantId=${encodeURIComponent(tenantId)}`;
71
71
  return await this.httpRequest.get(url);
72
72
  }
73
+ async listScopeWidePromotions(storeId, tenantId, level, segmentId) {
74
+ let url = `${this.baseUrl}/private/promotions/scope-wide?storeId=${encodeURIComponent(storeId)}&tenantId=${encodeURIComponent(tenantId)}`;
75
+ if (level)
76
+ url += `&level=${encodeURIComponent(level)}`;
77
+ if (segmentId)
78
+ url += `&segmentId=${encodeURIComponent(segmentId)}`;
79
+ return await this.httpRequest.get(url);
80
+ }
73
81
  };
74
82
  LoanOfferingsBusinessApi = __decorate([
75
83
  injectable(),
@@ -1,5 +1,5 @@
1
1
  import { StandardResponse } from "@fiado/gateway-adapter";
2
- import { ConsumePromotionRequest, PromotedSkusResponse, ConsumePromotionResponse, CreditPlanResponse, FinancierResponse, ReservePromotionBonusRequest, ReservePromotionBonusResponse, ResolveCustomerSegmentsRequest, ResolveCustomerSegmentsResponse, SkuPromotionsResponse, SettlePromotionBonusRequest, PromotionBonusResponse, SimulateCreditPlanRequest, SimulationResultResponse } from "@fiado/type-kit/bin/loanOfferings/index.js";
2
+ import { ConsumePromotionRequest, PromotedSkusResponse, ConsumePromotionResponse, CreditPlanLevelEnum, CreditPlanResponse, FinancierResponse, ReservePromotionBonusRequest, ReservePromotionBonusResponse, ResolveCustomerSegmentsRequest, ResolveCustomerSegmentsResponse, ScopeWidePromotionsResponse, SkuPromotionsResponse, SettlePromotionBonusRequest, PromotionBonusResponse, SimulateCreditPlanRequest, SimulationResultResponse } from "@fiado/type-kit/bin/loanOfferings/index.js";
3
3
  /**
4
4
  * Contrato del publisher HTTP del lambda `loan-offerings-business` (componente 07 SureKeep Fase 1)
5
5
  * para sus endpoints privados service-to-service (VPC-only): LECTURAS del catálogo SOFOM y
@@ -117,4 +117,14 @@ export interface ILoanOfferingsBusinessApi {
117
117
  * Es el detalle del panel del paso 03; el badge lo resuelve {@link listPromotedSkus}.
118
118
  */
119
119
  listSkuPromotions(storeId: string, tenantId: string): Promise<StandardResponse<SkuPromotionsResponse>>;
120
+ /**
121
+ * `GET /private/promotions/scope-wide` — promociones que NO acotan por SKU (tienda, nivel,
122
+ * segmento o universales), para el banner de pantalla completa del paso 03 del wizard.
123
+ *
124
+ * `level`/`segmentId` son opcionales: si el score todavía no corrió o el segmento no se
125
+ * resolvió, se omiten y el lambda destino descarta las promociones que acotan por esa
126
+ * dimensión (mismo criterio que `listSkuPromotions`/`by-sku`). Devuelve `{ items: [] }` si no
127
+ * hay ninguna vigente; nunca 404.
128
+ */
129
+ listScopeWidePromotions(storeId: string, tenantId: string, level?: CreditPlanLevelEnum, segmentId?: string): Promise<StandardResponse<ScopeWidePromotionsResponse>>;
120
130
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/api-invoker",
3
- "version": "5.58.0",
3
+ "version": "5.59.0",
4
4
  "description": "Sirve como un puente entre diferentes funciones lambda, facilitando la comunicación entre ellas a través de invocaciones http",
5
5
  "type": "module",
6
6
  "main": "bin/index.js",
@@ -5,12 +5,14 @@ import {
5
5
  ConsumePromotionRequest,
6
6
  PromotedSkusResponse,
7
7
  ConsumePromotionResponse,
8
+ CreditPlanLevelEnum,
8
9
  CreditPlanResponse,
9
10
  FinancierResponse,
10
11
  ReservePromotionBonusRequest,
11
12
  ReservePromotionBonusResponse,
12
13
  ResolveCustomerSegmentsRequest,
13
14
  ResolveCustomerSegmentsResponse,
15
+ ScopeWidePromotionsResponse,
14
16
  SkuPromotionsResponse,
15
17
  SettlePromotionBonusRequest,
16
18
  PromotionBonusResponse,
@@ -120,4 +122,16 @@ export default class LoanOfferingsBusinessApi implements ILoanOfferingsBusinessA
120
122
  const url = `${this.baseUrl}/private/promotions/by-sku?storeId=${encodeURIComponent(storeId)}&tenantId=${encodeURIComponent(tenantId)}`;
121
123
  return await this.httpRequest.get(url);
122
124
  }
125
+
126
+ async listScopeWidePromotions(
127
+ storeId: string,
128
+ tenantId: string,
129
+ level?: CreditPlanLevelEnum,
130
+ segmentId?: string,
131
+ ): Promise<StandardResponse<ScopeWidePromotionsResponse>> {
132
+ let url = `${this.baseUrl}/private/promotions/scope-wide?storeId=${encodeURIComponent(storeId)}&tenantId=${encodeURIComponent(tenantId)}`;
133
+ if (level) url += `&level=${encodeURIComponent(level)}`;
134
+ if (segmentId) url += `&segmentId=${encodeURIComponent(segmentId)}`;
135
+ return await this.httpRequest.get(url);
136
+ }
123
137
  }
@@ -3,12 +3,14 @@ import {
3
3
  ConsumePromotionRequest,
4
4
  PromotedSkusResponse,
5
5
  ConsumePromotionResponse,
6
+ CreditPlanLevelEnum,
6
7
  CreditPlanResponse,
7
8
  FinancierResponse,
8
9
  ReservePromotionBonusRequest,
9
10
  ReservePromotionBonusResponse,
10
11
  ResolveCustomerSegmentsRequest,
11
12
  ResolveCustomerSegmentsResponse,
13
+ ScopeWidePromotionsResponse,
12
14
  SkuPromotionsResponse,
13
15
  SettlePromotionBonusRequest,
14
16
  PromotionBonusResponse,
@@ -175,4 +177,20 @@ export interface ILoanOfferingsBusinessApi {
175
177
  storeId: string,
176
178
  tenantId: string,
177
179
  ): Promise<StandardResponse<SkuPromotionsResponse>>;
180
+
181
+ /**
182
+ * `GET /private/promotions/scope-wide` — promociones que NO acotan por SKU (tienda, nivel,
183
+ * segmento o universales), para el banner de pantalla completa del paso 03 del wizard.
184
+ *
185
+ * `level`/`segmentId` son opcionales: si el score todavía no corrió o el segmento no se
186
+ * resolvió, se omiten y el lambda destino descarta las promociones que acotan por esa
187
+ * dimensión (mismo criterio que `listSkuPromotions`/`by-sku`). Devuelve `{ items: [] }` si no
188
+ * hay ninguna vigente; nunca 404.
189
+ */
190
+ listScopeWidePromotions(
191
+ storeId: string,
192
+ tenantId: string,
193
+ level?: CreditPlanLevelEnum,
194
+ segmentId?: string,
195
+ ): Promise<StandardResponse<ScopeWidePromotionsResponse>>;
178
196
  }