@fiado/api-invoker 5.81.0 → 5.82.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 +2 -1
- package/bin/loanOfferings/api/LoanOfferingsBusinessApi.js +4 -0
- package/bin/loanOfferings/api/interfaces/ILoanOfferingsBusinessApi.d.ts +6 -1
- package/bin/messages-business/api/MessagesBusinessApi.d.ts +2 -2
- package/bin/messages-business/api/MessagesBusinessApi.js +3 -2
- package/bin/messages-business/api/interfaces/IMessagesBusinessApi.d.ts +3 -2
- package/package.json +2 -2
- package/src/loanOfferings/api/LoanOfferingsBusinessApi.ts +10 -0
- package/src/loanOfferings/api/interfaces/ILoanOfferingsBusinessApi.ts +11 -0
- package/src/messages-business/api/MessagesBusinessApi.ts +4 -3
- package/src/messages-business/api/interfaces/IMessagesBusinessApi.ts +3 -2
|
@@ -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, CreditPlanLevelEnum, CreditPlanResponse, FinancierResponse, ReservePromotionBonusRequest, ReservePromotionBonusResponse, ResolveCustomerSegmentsRequest, ResolveCustomerSegmentsResponse, ScopeWidePromotionsResponse, SkuPromotionsResponse, SettlePromotionBonusRequest, PromotionBonusResponse, SimulateCreditPlanRequest, SimulationResultResponse } from "@fiado/type-kit/bin/loanOfferings/index.js";
|
|
3
|
+
import { AmortizationScheduleResponse, ComputeAmortizationScheduleRequest, 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 { SegmentMembersResponse } from "./dtos/SegmentMembers.js";
|
|
5
5
|
import { ILoanOfferingsBusinessApi } from "./interfaces/ILoanOfferingsBusinessApi.js";
|
|
6
6
|
/**
|
|
@@ -23,6 +23,7 @@ export default class LoanOfferingsBusinessApi implements ILoanOfferingsBusinessA
|
|
|
23
23
|
listActivePlansForRetailer(retailerId: string, tenantId: string): Promise<StandardResponse<CreditPlanResponse[]>>;
|
|
24
24
|
listActiveFinanciers(tenantId: string): Promise<StandardResponse<FinancierResponse[]>>;
|
|
25
25
|
simulate(planId: string, input: SimulateCreditPlanRequest, tenantId: string): Promise<StandardResponse<SimulationResultResponse>>;
|
|
26
|
+
computeAmortizationSchedule(input: ComputeAmortizationScheduleRequest, tenantId: string): Promise<StandardResponse<AmortizationScheduleResponse>>;
|
|
26
27
|
consumePromotion(promotionId: string, input: ConsumePromotionRequest, tenantId: string): Promise<StandardResponse<ConsumePromotionResponse>>;
|
|
27
28
|
listPromotedSkus(storeId: string, tenantId: string, level?: CreditPlanLevelEnum, segmentId?: string): Promise<StandardResponse<PromotedSkusResponse>>;
|
|
28
29
|
resolveCustomerSegments(input: ResolveCustomerSegmentsRequest, tenantId: string): Promise<StandardResponse<ResolveCustomerSegmentsResponse>>;
|
|
@@ -46,6 +46,10 @@ let LoanOfferingsBusinessApi = class LoanOfferingsBusinessApi {
|
|
|
46
46
|
const url = `${this.baseUrl}/private/credit-plans/${encodeURIComponent(planId)}/simulate?tenantId=${encodeURIComponent(tenantId)}`;
|
|
47
47
|
return await this.httpRequest.post(url, input);
|
|
48
48
|
}
|
|
49
|
+
async computeAmortizationSchedule(input, tenantId) {
|
|
50
|
+
const url = `${this.baseUrl}/private/amortization/schedule?tenantId=${encodeURIComponent(tenantId)}`;
|
|
51
|
+
return await this.httpRequest.post(url, input);
|
|
52
|
+
}
|
|
49
53
|
async consumePromotion(promotionId, input, tenantId) {
|
|
50
54
|
const url = `${this.baseUrl}/private/promotions/${encodeURIComponent(promotionId)}/consume?tenantId=${encodeURIComponent(tenantId)}`;
|
|
51
55
|
return await this.httpRequest.post(url, input);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { StandardResponse } from "@fiado/gateway-adapter";
|
|
2
2
|
import { SegmentMembersResponse } from "../dtos/SegmentMembers.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";
|
|
3
|
+
import { AmortizationScheduleResponse, ComputeAmortizationScheduleRequest, 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
|
/**
|
|
5
5
|
* Contrato del publisher HTTP del lambda `loan-offerings-business` (componente 07 SureKeep Fase 1)
|
|
6
6
|
* para sus endpoints privados service-to-service (VPC-only): LECTURAS del catálogo SOFOM y
|
|
@@ -64,6 +64,11 @@ export interface ILoanOfferingsBusinessApi {
|
|
|
64
64
|
* (`400 INVALID_PLAN_PARAMETERS`, ej. plazo fuera de `termWeeksOptions`).
|
|
65
65
|
*/
|
|
66
66
|
simulate(planId: string, input: SimulateCreditPlanRequest, tenantId: string): Promise<StandardResponse<SimulationResultResponse>>;
|
|
67
|
+
/**
|
|
68
|
+
* `POST /private/amortization/schedule` — tabla francesa semanal sin fechas sobre saldo y TNA libres.
|
|
69
|
+
* @throws `400 VALIDATION_ERROR` / `UNKNOWN_TENANT` · `422 AMORTIZATION_INPUT_INVALID`.
|
|
70
|
+
*/
|
|
71
|
+
computeAmortizationSchedule(input: ComputeAmortizationScheduleRequest, tenantId: string): Promise<StandardResponse<AmortizationScheduleResponse>>;
|
|
67
72
|
/**
|
|
68
73
|
* POST /private/promotions/{promotionId}/consume — cuenta un crédito activado bajo esta
|
|
69
74
|
* promoción y suma su bono PCF al presupuesto. Al alcanzar el tope la promoción queda `PAUSED`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { IHttpRequest } from '@fiado/http-client';
|
|
2
2
|
type FiadoApiResponse<T> = import('@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js').default<T>;
|
|
3
|
-
import { SendMessageRequest, SendMessageResponse, VerifyOtpRequest, VerifyOtpResponse, OtpValidatedResponse, TemplateMessageCreateRequest, TemplateMessageUpdateRequest, TemplateMessageResponse, TemplateMessageListResponse, TemplateMessageListFiltersRequest } from '@fiado/type-kit/bin/messagesConnector/index.js';
|
|
3
|
+
import { SendMessageRequest, SendMessageResponse, VerifyOtpRequest, VerifyOtpResponse, OtpValidatedResponse, OtpMessagePurposeEnum, TemplateMessageCreateRequest, TemplateMessageUpdateRequest, TemplateMessageResponse, TemplateMessageListResponse, TemplateMessageListFiltersRequest } from '@fiado/type-kit/bin/messagesConnector/index.js';
|
|
4
4
|
import { IMessagesBusinessApi } from './interfaces/IMessagesBusinessApi.js';
|
|
5
5
|
export declare class MessagesBusinessApi implements IMessagesBusinessApi {
|
|
6
6
|
private readonly httpRequest;
|
|
@@ -8,7 +8,7 @@ export declare class MessagesBusinessApi implements IMessagesBusinessApi {
|
|
|
8
8
|
constructor(httpRequest: IHttpRequest);
|
|
9
9
|
sendMessage(request: SendMessageRequest): Promise<FiadoApiResponse<SendMessageResponse>>;
|
|
10
10
|
verifyOtp(request: VerifyOtpRequest): Promise<FiadoApiResponse<VerifyOtpResponse>>;
|
|
11
|
-
getValidatedOtp(directoryId: string, otpCode: string): Promise<FiadoApiResponse<OtpValidatedResponse>>;
|
|
11
|
+
getValidatedOtp(directoryId: string, otpCode: string, purpose?: OtpMessagePurposeEnum): Promise<FiadoApiResponse<OtpValidatedResponse>>;
|
|
12
12
|
createTemplate(tenantId: string, request: TemplateMessageCreateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
13
13
|
listTemplates(tenantId: string, filters: TemplateMessageListFiltersRequest): Promise<FiadoApiResponse<TemplateMessageListResponse>>;
|
|
14
14
|
getTemplate(tenantId: string, id: string): Promise<FiadoApiResponse<TemplateMessageResponse>>;
|
|
@@ -26,8 +26,9 @@ let MessagesBusinessApi = class MessagesBusinessApi {
|
|
|
26
26
|
async verifyOtp(request) {
|
|
27
27
|
return await this.httpRequest.post(`${this.baseUrl}messages/otp/verify`, request, { 'operationName': 'privateVerifyOtp' });
|
|
28
28
|
}
|
|
29
|
-
async getValidatedOtp(directoryId, otpCode) {
|
|
30
|
-
|
|
29
|
+
async getValidatedOtp(directoryId, otpCode, purpose) {
|
|
30
|
+
const params = purpose ? { directoryId, otpCode, purpose } : { directoryId, otpCode };
|
|
31
|
+
return await this.httpRequest.get(`${this.baseUrl}messages/otp/validated`, params, { 'operationName': 'privateGetValidatedOtp' });
|
|
31
32
|
}
|
|
32
33
|
async createTemplate(tenantId, request) {
|
|
33
34
|
const url = this.withTenantId(joinUrl(this.baseUrl, 'templates'), tenantId);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
type FiadoApiResponse<T> = import('@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js').default<T>;
|
|
2
|
-
import { SendMessageRequest, SendMessageResponse, VerifyOtpRequest, VerifyOtpResponse, OtpValidatedResponse, TemplateMessageCreateRequest, TemplateMessageUpdateRequest, TemplateMessageResponse, TemplateMessageListResponse, TemplateMessageListFiltersRequest } from '@fiado/type-kit/bin/messagesConnector/index.js';
|
|
2
|
+
import { SendMessageRequest, SendMessageResponse, VerifyOtpRequest, VerifyOtpResponse, OtpValidatedResponse, OtpMessagePurposeEnum, TemplateMessageCreateRequest, TemplateMessageUpdateRequest, TemplateMessageResponse, TemplateMessageListResponse, TemplateMessageListFiltersRequest } from '@fiado/type-kit/bin/messagesConnector/index.js';
|
|
3
3
|
export interface IMessagesBusinessApi {
|
|
4
4
|
sendMessage(request: SendMessageRequest): Promise<FiadoApiResponse<SendMessageResponse>>;
|
|
5
5
|
verifyOtp(request: VerifyOtpRequest): Promise<FiadoApiResponse<VerifyOtpResponse>>;
|
|
6
|
-
|
|
6
|
+
/** `purpose` viaja en la query solo si viene; sin él, messages-business aplica SIGNATURE. */
|
|
7
|
+
getValidatedOtp(directoryId: string, otpCode: string, purpose?: OtpMessagePurposeEnum): Promise<FiadoApiResponse<OtpValidatedResponse>>;
|
|
7
8
|
/**
|
|
8
9
|
* CRUD de plantillas. Los cinco viven en la API privada sin authorizer, asi que el `tenantId`
|
|
9
10
|
* es obligatorio y explicito: el lambda responde 400 TENANT_ID_REQUIRED si no llega.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fiado/api-invoker",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.82.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",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"@fiado/gateway-adapter": "^3.9.0",
|
|
35
35
|
"@fiado/http-client": "^2.0.1",
|
|
36
36
|
"@fiado/logger": "^1.1.3",
|
|
37
|
-
"@fiado/type-kit": "^3.
|
|
37
|
+
"@fiado/type-kit": "^3.432.0",
|
|
38
38
|
"dotenv": "^16.4.7"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
@@ -2,6 +2,8 @@ import { inject, injectable } from "inversify";
|
|
|
2
2
|
import type { IHttpRequest } from "@fiado/http-client";
|
|
3
3
|
import { StandardResponse } from "@fiado/gateway-adapter";
|
|
4
4
|
import {
|
|
5
|
+
AmortizationScheduleResponse,
|
|
6
|
+
ComputeAmortizationScheduleRequest,
|
|
5
7
|
ConsumePromotionRequest,
|
|
6
8
|
PromotedSkusResponse,
|
|
7
9
|
ConsumePromotionResponse,
|
|
@@ -73,6 +75,14 @@ export default class LoanOfferingsBusinessApi implements ILoanOfferingsBusinessA
|
|
|
73
75
|
return await this.httpRequest.post(url, input);
|
|
74
76
|
}
|
|
75
77
|
|
|
78
|
+
async computeAmortizationSchedule(
|
|
79
|
+
input: ComputeAmortizationScheduleRequest,
|
|
80
|
+
tenantId: string,
|
|
81
|
+
): Promise<StandardResponse<AmortizationScheduleResponse>> {
|
|
82
|
+
const url = `${this.baseUrl}/private/amortization/schedule?tenantId=${encodeURIComponent(tenantId)}`;
|
|
83
|
+
return await this.httpRequest.post(url, input);
|
|
84
|
+
}
|
|
85
|
+
|
|
76
86
|
async consumePromotion(
|
|
77
87
|
promotionId: string,
|
|
78
88
|
input: ConsumePromotionRequest,
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { StandardResponse } from "@fiado/gateway-adapter";
|
|
2
2
|
import { SegmentMembersResponse } from "../dtos/SegmentMembers.js";
|
|
3
3
|
import {
|
|
4
|
+
AmortizationScheduleResponse,
|
|
5
|
+
ComputeAmortizationScheduleRequest,
|
|
4
6
|
ConsumePromotionRequest,
|
|
5
7
|
PromotedSkusResponse,
|
|
6
8
|
ConsumePromotionResponse,
|
|
@@ -98,6 +100,15 @@ export interface ILoanOfferingsBusinessApi {
|
|
|
98
100
|
tenantId: string,
|
|
99
101
|
): Promise<StandardResponse<SimulationResultResponse>>;
|
|
100
102
|
|
|
103
|
+
/**
|
|
104
|
+
* `POST /private/amortization/schedule` — tabla francesa semanal sin fechas sobre saldo y TNA libres.
|
|
105
|
+
* @throws `400 VALIDATION_ERROR` / `UNKNOWN_TENANT` · `422 AMORTIZATION_INPUT_INVALID`.
|
|
106
|
+
*/
|
|
107
|
+
computeAmortizationSchedule(
|
|
108
|
+
input: ComputeAmortizationScheduleRequest,
|
|
109
|
+
tenantId: string,
|
|
110
|
+
): Promise<StandardResponse<AmortizationScheduleResponse>>;
|
|
111
|
+
|
|
101
112
|
/**
|
|
102
113
|
* POST /private/promotions/{promotionId}/consume — cuenta un crédito activado bajo esta
|
|
103
114
|
* promoción y suma su bono PCF al presupuesto. Al alcanzar el tope la promoción queda `PAUSED`.
|
|
@@ -4,7 +4,7 @@ type FiadoApiResponse<T> = import('@fiado/type-kit/bin/apiResponse/dtos/FiadoApi
|
|
|
4
4
|
import {
|
|
5
5
|
SendMessageRequest, SendMessageResponse,
|
|
6
6
|
VerifyOtpRequest, VerifyOtpResponse,
|
|
7
|
-
OtpValidatedResponse,
|
|
7
|
+
OtpValidatedResponse, OtpMessagePurposeEnum,
|
|
8
8
|
TemplateMessageCreateRequest, TemplateMessageUpdateRequest,
|
|
9
9
|
TemplateMessageResponse, TemplateMessageListResponse, TemplateMessageListFiltersRequest,
|
|
10
10
|
} from '@fiado/type-kit/bin/messagesConnector/index.js';
|
|
@@ -27,8 +27,9 @@ export class MessagesBusinessApi implements IMessagesBusinessApi {
|
|
|
27
27
|
return await this.httpRequest.post(`${this.baseUrl}messages/otp/verify`, request, { 'operationName': 'privateVerifyOtp' });
|
|
28
28
|
}
|
|
29
29
|
|
|
30
|
-
async getValidatedOtp(directoryId: string, otpCode: string): Promise<FiadoApiResponse<OtpValidatedResponse>> {
|
|
31
|
-
|
|
30
|
+
async getValidatedOtp(directoryId: string, otpCode: string, purpose?: OtpMessagePurposeEnum): Promise<FiadoApiResponse<OtpValidatedResponse>> {
|
|
31
|
+
const params = purpose ? { directoryId, otpCode, purpose } : { directoryId, otpCode };
|
|
32
|
+
return await this.httpRequest.get(`${this.baseUrl}messages/otp/validated`, params, { 'operationName': 'privateGetValidatedOtp' });
|
|
32
33
|
}
|
|
33
34
|
|
|
34
35
|
async createTemplate(tenantId: string, request: TemplateMessageCreateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>> {
|
|
@@ -2,7 +2,7 @@ type FiadoApiResponse<T> = import('@fiado/type-kit/bin/apiResponse/dtos/FiadoApi
|
|
|
2
2
|
import {
|
|
3
3
|
SendMessageRequest, SendMessageResponse,
|
|
4
4
|
VerifyOtpRequest, VerifyOtpResponse,
|
|
5
|
-
OtpValidatedResponse,
|
|
5
|
+
OtpValidatedResponse, OtpMessagePurposeEnum,
|
|
6
6
|
TemplateMessageCreateRequest, TemplateMessageUpdateRequest,
|
|
7
7
|
TemplateMessageResponse, TemplateMessageListResponse, TemplateMessageListFiltersRequest,
|
|
8
8
|
} from '@fiado/type-kit/bin/messagesConnector/index.js';
|
|
@@ -10,7 +10,8 @@ import {
|
|
|
10
10
|
export interface IMessagesBusinessApi {
|
|
11
11
|
sendMessage(request: SendMessageRequest): Promise<FiadoApiResponse<SendMessageResponse>>;
|
|
12
12
|
verifyOtp(request: VerifyOtpRequest): Promise<FiadoApiResponse<VerifyOtpResponse>>;
|
|
13
|
-
|
|
13
|
+
/** `purpose` viaja en la query solo si viene; sin él, messages-business aplica SIGNATURE. */
|
|
14
|
+
getValidatedOtp(directoryId: string, otpCode: string, purpose?: OtpMessagePurposeEnum): Promise<FiadoApiResponse<OtpValidatedResponse>>;
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* CRUD de plantillas. Los cinco viven en la API privada sin authorizer, asi que el `tenantId`
|