@fiado/api-invoker 5.58.0 → 5.60.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/api/LoanOfferingsBusinessApi.d.ts +3 -2
- package/bin/loanOfferings/api/LoanOfferingsBusinessApi.js +14 -2
- package/bin/loanOfferings/api/interfaces/ILoanOfferingsBusinessApi.d.ts +15 -2
- package/package.json +1 -1
- package/src/loanOfferings/api/LoanOfferingsBusinessApi.ts +19 -1
- package/src/loanOfferings/api/interfaces/ILoanOfferingsBusinessApi.ts +23 -0
|
@@ -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
|
|
@@ -27,5 +27,6 @@ export default class LoanOfferingsBusinessApi implements ILoanOfferingsBusinessA
|
|
|
27
27
|
resolveCustomerSegments(input: ResolveCustomerSegmentsRequest, tenantId: string): Promise<StandardResponse<ResolveCustomerSegmentsResponse>>;
|
|
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
|
-
listSkuPromotions(storeId: string, tenantId: string): Promise<StandardResponse<SkuPromotionsResponse>>;
|
|
30
|
+
listSkuPromotions(storeId: string, tenantId: string, level?: CreditPlanLevelEnum, segmentId?: string): Promise<StandardResponse<SkuPromotionsResponse>>;
|
|
31
|
+
listScopeWidePromotions(storeId: string, tenantId: string, level?: CreditPlanLevelEnum, segmentId?: string): Promise<StandardResponse<ScopeWidePromotionsResponse>>;
|
|
31
32
|
}
|
|
@@ -66,8 +66,20 @@ let LoanOfferingsBusinessApi = class LoanOfferingsBusinessApi {
|
|
|
66
66
|
const url = `${this.baseUrl}/private/promotions/${encodeURIComponent(promotionId)}/bonus-payment/result?tenantId=${encodeURIComponent(tenantId)}`;
|
|
67
67
|
return await this.httpRequest.put(url, input);
|
|
68
68
|
}
|
|
69
|
-
async listSkuPromotions(storeId, tenantId) {
|
|
70
|
-
|
|
69
|
+
async listSkuPromotions(storeId, tenantId, level, segmentId) {
|
|
70
|
+
let url = `${this.baseUrl}/private/promotions/by-sku?storeId=${encodeURIComponent(storeId)}&tenantId=${encodeURIComponent(tenantId)}`;
|
|
71
|
+
if (level)
|
|
72
|
+
url += `&level=${encodeURIComponent(level)}`;
|
|
73
|
+
if (segmentId)
|
|
74
|
+
url += `&segmentId=${encodeURIComponent(segmentId)}`;
|
|
75
|
+
return await this.httpRequest.get(url);
|
|
76
|
+
}
|
|
77
|
+
async listScopeWidePromotions(storeId, tenantId, level, segmentId) {
|
|
78
|
+
let url = `${this.baseUrl}/private/promotions/scope-wide?storeId=${encodeURIComponent(storeId)}&tenantId=${encodeURIComponent(tenantId)}`;
|
|
79
|
+
if (level)
|
|
80
|
+
url += `&level=${encodeURIComponent(level)}`;
|
|
81
|
+
if (segmentId)
|
|
82
|
+
url += `&segmentId=${encodeURIComponent(segmentId)}`;
|
|
71
83
|
return await this.httpRequest.get(url);
|
|
72
84
|
}
|
|
73
85
|
};
|
|
@@ -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
|
|
@@ -115,6 +115,19 @@ export interface ILoanOfferingsBusinessApi {
|
|
|
115
115
|
/**
|
|
116
116
|
* `GET /private/promotions/by-sku` — promociones vivas por SKU con su efecto y sus niveles.
|
|
117
117
|
* Es el detalle del panel del paso 03; el badge lo resuelve {@link listPromotedSkus}.
|
|
118
|
+
*
|
|
119
|
+
* `level`/`segmentId` son opcionales, mismo criterio que `listScopeWidePromotions`: si no
|
|
120
|
+
* vienen, el lambda destino descarta las promociones que acotan por esa dimensión.
|
|
121
|
+
*/
|
|
122
|
+
listSkuPromotions(storeId: string, tenantId: string, level?: CreditPlanLevelEnum, segmentId?: string): Promise<StandardResponse<SkuPromotionsResponse>>;
|
|
123
|
+
/**
|
|
124
|
+
* `GET /private/promotions/scope-wide` — promociones que NO acotan por SKU (tienda, nivel,
|
|
125
|
+
* segmento o universales), para el banner de pantalla completa del paso 03 del wizard.
|
|
126
|
+
*
|
|
127
|
+
* `level`/`segmentId` son opcionales: si el score todavía no corrió o el segmento no se
|
|
128
|
+
* resolvió, se omiten y el lambda destino descarta las promociones que acotan por esa
|
|
129
|
+
* dimensión (mismo criterio que `listSkuPromotions`/`by-sku`). Devuelve `{ items: [] }` si no
|
|
130
|
+
* hay ninguna vigente; nunca 404.
|
|
118
131
|
*/
|
|
119
|
-
|
|
132
|
+
listScopeWidePromotions(storeId: string, tenantId: string, level?: CreditPlanLevelEnum, segmentId?: string): Promise<StandardResponse<ScopeWidePromotionsResponse>>;
|
|
120
133
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fiado/api-invoker",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.60.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,
|
|
@@ -116,8 +118,24 @@ export default class LoanOfferingsBusinessApi implements ILoanOfferingsBusinessA
|
|
|
116
118
|
async listSkuPromotions(
|
|
117
119
|
storeId: string,
|
|
118
120
|
tenantId: string,
|
|
121
|
+
level?: CreditPlanLevelEnum,
|
|
122
|
+
segmentId?: string,
|
|
119
123
|
): Promise<StandardResponse<SkuPromotionsResponse>> {
|
|
120
|
-
|
|
124
|
+
let url = `${this.baseUrl}/private/promotions/by-sku?storeId=${encodeURIComponent(storeId)}&tenantId=${encodeURIComponent(tenantId)}`;
|
|
125
|
+
if (level) url += `&level=${encodeURIComponent(level)}`;
|
|
126
|
+
if (segmentId) url += `&segmentId=${encodeURIComponent(segmentId)}`;
|
|
127
|
+
return await this.httpRequest.get(url);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
async listScopeWidePromotions(
|
|
131
|
+
storeId: string,
|
|
132
|
+
tenantId: string,
|
|
133
|
+
level?: CreditPlanLevelEnum,
|
|
134
|
+
segmentId?: string,
|
|
135
|
+
): Promise<StandardResponse<ScopeWidePromotionsResponse>> {
|
|
136
|
+
let url = `${this.baseUrl}/private/promotions/scope-wide?storeId=${encodeURIComponent(storeId)}&tenantId=${encodeURIComponent(tenantId)}`;
|
|
137
|
+
if (level) url += `&level=${encodeURIComponent(level)}`;
|
|
138
|
+
if (segmentId) url += `&segmentId=${encodeURIComponent(segmentId)}`;
|
|
121
139
|
return await this.httpRequest.get(url);
|
|
122
140
|
}
|
|
123
141
|
}
|
|
@@ -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,
|
|
@@ -170,9 +172,30 @@ export interface ILoanOfferingsBusinessApi {
|
|
|
170
172
|
/**
|
|
171
173
|
* `GET /private/promotions/by-sku` — promociones vivas por SKU con su efecto y sus niveles.
|
|
172
174
|
* Es el detalle del panel del paso 03; el badge lo resuelve {@link listPromotedSkus}.
|
|
175
|
+
*
|
|
176
|
+
* `level`/`segmentId` son opcionales, mismo criterio que `listScopeWidePromotions`: si no
|
|
177
|
+
* vienen, el lambda destino descarta las promociones que acotan por esa dimensión.
|
|
173
178
|
*/
|
|
174
179
|
listSkuPromotions(
|
|
175
180
|
storeId: string,
|
|
176
181
|
tenantId: string,
|
|
182
|
+
level?: CreditPlanLevelEnum,
|
|
183
|
+
segmentId?: string,
|
|
177
184
|
): Promise<StandardResponse<SkuPromotionsResponse>>;
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* `GET /private/promotions/scope-wide` — promociones que NO acotan por SKU (tienda, nivel,
|
|
188
|
+
* segmento o universales), para el banner de pantalla completa del paso 03 del wizard.
|
|
189
|
+
*
|
|
190
|
+
* `level`/`segmentId` son opcionales: si el score todavía no corrió o el segmento no se
|
|
191
|
+
* resolvió, se omiten y el lambda destino descarta las promociones que acotan por esa
|
|
192
|
+
* dimensión (mismo criterio que `listSkuPromotions`/`by-sku`). Devuelve `{ items: [] }` si no
|
|
193
|
+
* hay ninguna vigente; nunca 404.
|
|
194
|
+
*/
|
|
195
|
+
listScopeWidePromotions(
|
|
196
|
+
storeId: string,
|
|
197
|
+
tenantId: string,
|
|
198
|
+
level?: CreditPlanLevelEnum,
|
|
199
|
+
segmentId?: string,
|
|
200
|
+
): Promise<StandardResponse<ScopeWidePromotionsResponse>>;
|
|
178
201
|
}
|