@fiado/api-invoker 4.51.0 → 4.53.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/authentication/AuthenticationApi.d.ts +6 -2
- package/bin/authentication/AuthenticationApi.js +18 -0
- package/bin/authentication/interfaces/IAuthenticationApi.d.ts +24 -0
- package/bin/authentication/interfaces/LegacyApiResponse.d.ts +7 -0
- package/bin/authentication/interfaces/LegacyApiResponse.js +1 -0
- package/bin/container.config.js +4 -0
- package/bin/index.d.ts +1 -0
- package/bin/index.js +1 -0
- package/bin/remittance-business/api/RemittanceBusinessApi.d.ts +10 -0
- package/bin/remittance-business/api/RemittanceBusinessApi.js +30 -0
- package/bin/remittance-business/api/interfaces/IRemittanceBusinessApi.d.ts +5 -0
- package/bin/remittance-business/api/interfaces/IRemittanceBusinessApi.js +1 -0
- package/bin/remittance-business/index.d.ts +2 -0
- package/bin/remittance-business/index.js +2 -0
- package/bin/uniteller-connector/api/UnitellerConnectorApi.d.ts +2 -1
- package/bin/uniteller-connector/api/UnitellerConnectorApi.js +4 -0
- package/bin/uniteller-connector/api/interfaces/IUnitellerConnectorApi.d.ts +3 -1
- package/package.json +2 -2
- package/src/authentication/AuthenticationApi.ts +29 -3
- package/src/authentication/index.ts +1 -4
- package/src/authentication/interfaces/IAuthenticationApi.ts +41 -1
- package/src/authentication/interfaces/LegacyApiResponse.ts +11 -0
- package/src/container.config.ts +5 -0
- package/src/index.ts +1 -0
- package/src/remittance-business/api/RemittanceBusinessApi.ts +17 -0
- package/src/remittance-business/api/interfaces/IRemittanceBusinessApi.ts +6 -0
- package/src/remittance-business/index.ts +2 -0
- package/src/uniteller-connector/api/UnitellerConnectorApi.ts +7 -0
- package/src/uniteller-connector/api/interfaces/IUnitellerConnectorApi.ts +4 -0
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { IHttpRequest } from "@fiado/http-client";
|
|
1
|
+
import type { IHttpRequest } from "@fiado/http-client";
|
|
2
2
|
import { SignUpAdditionalRequest, SignUpUserBackofficeRequest } from "@fiado/type-kit/bin/authentication/index.js";
|
|
3
|
-
import { IAuthenticationApi } from "./interfaces/IAuthenticationApi.js";
|
|
3
|
+
import { AgentSignInStatusInput, AgentSignUpProspectInput, IAuthenticationApi } from "./interfaces/IAuthenticationApi.js";
|
|
4
|
+
import { LegacyApiResponse } from "./interfaces/LegacyApiResponse.js";
|
|
4
5
|
export declare class AuthenticationApi implements IAuthenticationApi {
|
|
5
6
|
private httpRequest;
|
|
6
7
|
constructor(httpRequest: IHttpRequest);
|
|
7
8
|
signUpAdditionalCard(createAdditionalCard: SignUpAdditionalRequest): Promise<any>;
|
|
8
9
|
deleteAuthSessionByDirectoryId(directoryId: string): Promise<any>;
|
|
9
10
|
signUpBackofficeBulk(input: SignUpUserBackofficeRequest[]): Promise<any>;
|
|
11
|
+
agentSignInStatus(input: AgentSignInStatusInput, actorEmail: string): Promise<LegacyApiResponse<unknown>>;
|
|
12
|
+
agentSignUpProspect(input: AgentSignUpProspectInput, actorEmail: string): Promise<LegacyApiResponse<unknown>>;
|
|
13
|
+
agentGetSignUpByPhone(phoneNumber: string): Promise<LegacyApiResponse<unknown>>;
|
|
10
14
|
}
|
|
@@ -31,6 +31,24 @@ let AuthenticationApi = class AuthenticationApi {
|
|
|
31
31
|
const operation = "postSignUpBackofficeBulk";
|
|
32
32
|
return await this.httpRequest.post(url, input, { 'operationName': operation });
|
|
33
33
|
}
|
|
34
|
+
async agentSignInStatus(input, actorEmail) {
|
|
35
|
+
const url = `${process.env.AUTH_LAMBDA_URL}`;
|
|
36
|
+
const operation = "postSignInPhoneNumberAgent";
|
|
37
|
+
return await this.httpRequest.post(url, { ...input, actorEmail }, { 'operationName': operation });
|
|
38
|
+
}
|
|
39
|
+
async agentSignUpProspect(input, actorEmail) {
|
|
40
|
+
const url = `${process.env.AUTH_LAMBDA_URL}`;
|
|
41
|
+
const operation = "agentPostSignUp";
|
|
42
|
+
return await this.httpRequest.post(url, { ...input, actorEmail }, { 'operationName': operation });
|
|
43
|
+
}
|
|
44
|
+
async agentGetSignUpByPhone(phoneNumber) {
|
|
45
|
+
if (!phoneNumber) {
|
|
46
|
+
throw new Error("phoneNumber is required.");
|
|
47
|
+
}
|
|
48
|
+
const url = `${process.env.AUTH_LAMBDA_URL}`;
|
|
49
|
+
const operation = "agentGetSignUpByPhoneNumber";
|
|
50
|
+
return await this.httpRequest.post(url, { pathParameters: { phoneNumber } }, { 'operationName': operation });
|
|
51
|
+
}
|
|
34
52
|
};
|
|
35
53
|
AuthenticationApi = __decorate([
|
|
36
54
|
injectable(),
|
|
@@ -1,6 +1,30 @@
|
|
|
1
1
|
import { DirectoryBatchSummaryResponse, SignUpAdditionalRequest, SignUpUserBackofficeRequest } from "@fiado/type-kit/bin/authentication/index.js";
|
|
2
|
+
import { LegacyApiResponse } from "./LegacyApiResponse.js";
|
|
3
|
+
export interface AgentSignInStatusInput {
|
|
4
|
+
phoneNumber: string;
|
|
5
|
+
app: string;
|
|
6
|
+
platform: string;
|
|
7
|
+
version: string;
|
|
8
|
+
ip?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface AgentSignUpProspectInput {
|
|
11
|
+
name: string;
|
|
12
|
+
phoneNumber: string;
|
|
13
|
+
countryOfBirth: string;
|
|
14
|
+
countryOfDomicile: string;
|
|
15
|
+
email: string;
|
|
16
|
+
secondaryPhoneNumber?: string;
|
|
17
|
+
referralCode?: string | null;
|
|
18
|
+
stateOfBirth?: string | null;
|
|
19
|
+
otpCode?: string | null;
|
|
20
|
+
MEX_DebitAccountWish?: boolean;
|
|
21
|
+
USA_DebitAccountWish?: boolean;
|
|
22
|
+
}
|
|
2
23
|
export interface IAuthenticationApi {
|
|
3
24
|
signUpAdditionalCard(createAdditionalCard: SignUpAdditionalRequest): Promise<any>;
|
|
4
25
|
deleteAuthSessionByDirectoryId(directoryId: string): Promise<any>;
|
|
5
26
|
signUpBackofficeBulk(input: SignUpUserBackofficeRequest[]): Promise<DirectoryBatchSummaryResponse>;
|
|
27
|
+
agentSignInStatus(input: AgentSignInStatusInput, actorEmail: string): Promise<LegacyApiResponse<unknown>>;
|
|
28
|
+
agentSignUpProspect(input: AgentSignUpProspectInput, actorEmail: string): Promise<LegacyApiResponse<unknown>>;
|
|
29
|
+
agentGetSignUpByPhone(phoneNumber: string): Promise<LegacyApiResponse<unknown>>;
|
|
6
30
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/bin/container.config.js
CHANGED
|
@@ -112,6 +112,8 @@ import { ContactsBusinessApi } from "./contacts-business/index.js";
|
|
|
112
112
|
import { WalletFundingSettlementApi } from "./walletFundingSettlement/index.js";
|
|
113
113
|
// SNS/SES connector — envío SMS/MAIL síncrono (restaurado para RBAC — DEC-002 messages-business)
|
|
114
114
|
import { SnsSesConnectorApi } from "./sns-ses-connector/index.js";
|
|
115
|
+
// Remittance business — pricingResolve (Dashboard Ops Fase B, puente de resolución de precio en send-time)
|
|
116
|
+
import { RemittanceBusinessApi } from "./remittance-business/index.js";
|
|
115
117
|
export const apiInvokerBindings = new ContainerModule(({ bind }) => {
|
|
116
118
|
// UTILS bindings
|
|
117
119
|
bind("InvokerUtils").to(InvokerUtils);
|
|
@@ -236,4 +238,6 @@ export const apiInvokerBindings = new ContainerModule(({ bind }) => {
|
|
|
236
238
|
bind("IWalletFundingSettlementApi").to(WalletFundingSettlementApi);
|
|
237
239
|
// SNS/SES connector — envío SMS/MAIL síncrono (restaurado para RBAC — DEC-002 messages-business)
|
|
238
240
|
bind("ISnsSesConnectorApi").to(SnsSesConnectorApi);
|
|
241
|
+
// Remittance business — pricingResolve (Dashboard Ops Fase B, puente de resolución de precio en send-time)
|
|
242
|
+
bind("IRemittanceBusinessApi").to(RemittanceBusinessApi);
|
|
239
243
|
});
|
package/bin/index.d.ts
CHANGED
package/bin/index.js
CHANGED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IHttpRequest } from "@fiado/http-client";
|
|
2
|
+
import { ApiGatewayResponse } from "@fiado/gateway-adapter";
|
|
3
|
+
import { PricingResolveRequest, PricingResolveResponse } from "@fiado/type-kit/bin/remittance/index.js";
|
|
4
|
+
import { IRemittanceBusinessApi } from "./interfaces/IRemittanceBusinessApi.js";
|
|
5
|
+
export default class RemittanceBusinessApi implements IRemittanceBusinessApi {
|
|
6
|
+
private httpRequest;
|
|
7
|
+
private readonly baseUrl;
|
|
8
|
+
constructor(httpRequest: IHttpRequest);
|
|
9
|
+
pricingResolve(request: PricingResolveRequest): Promise<ApiGatewayResponse<PricingResolveResponse>>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
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;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
11
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
12
|
+
};
|
|
13
|
+
import { inject, injectable } from "inversify";
|
|
14
|
+
let RemittanceBusinessApi = class RemittanceBusinessApi {
|
|
15
|
+
httpRequest;
|
|
16
|
+
baseUrl = process.env.REMITTANCE_BUSINESS_LAMBDA_URL || "";
|
|
17
|
+
constructor(httpRequest) {
|
|
18
|
+
this.httpRequest = httpRequest;
|
|
19
|
+
}
|
|
20
|
+
async pricingResolve(request) {
|
|
21
|
+
const url = `${this.baseUrl}/private/pricing/resolve`;
|
|
22
|
+
return await this.httpRequest.post(url, request);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
RemittanceBusinessApi = __decorate([
|
|
26
|
+
injectable(),
|
|
27
|
+
__param(0, inject("IHttpRequest")),
|
|
28
|
+
__metadata("design:paramtypes", [Object])
|
|
29
|
+
], RemittanceBusinessApi);
|
|
30
|
+
export default RemittanceBusinessApi;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ApiGatewayResponse } from "@fiado/gateway-adapter";
|
|
2
|
+
import { PricingResolveRequest, PricingResolveResponse } from "@fiado/type-kit/bin/remittance/index.js";
|
|
3
|
+
export interface IRemittanceBusinessApi {
|
|
4
|
+
pricingResolve(request: PricingResolveRequest): Promise<ApiGatewayResponse<PricingResolveResponse>>;
|
|
5
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { IHttpRequest } from "@fiado/http-client";
|
|
2
2
|
import { ApiGatewayResponse } from "@fiado/gateway-adapter";
|
|
3
3
|
import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter/index.js";
|
|
4
|
-
import { CohortCountRequest, CohortCountResponse, PricingMetricsRequest, PricingMetricsResponse, PromotionReachRequest, PromotionReachResponse, SegmentMetricsRequest, SegmentMetricsResponse, WholesaleRateRequest, WholesaleRateResponse, KycUserDetail, KycUsersListResponse, RefreshUserProfileResponse, RemittanceAddBeneficiaryRequest, RemittanceBackofficeDashboardSummary, RemittanceBackofficeStats, RemittanceBackofficeStatsPeriod, RemittanceBackofficeTransaction, RemittanceBackofficeTxListResponse, RemittanceBackofficeUserDetail, RemittanceBackofficeUserListResponse, RemittanceBeneficiary, RemittanceCancelRequest, RemittanceCancelResponse, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittancePayRequest, RemittancePayResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceSmsRequest, RemittanceStateDto, RemittanceTransactionDetail, RemittanceTransactionReceipt, RemittanceTransactionsListRequest, RemittanceTransactionsListResponse, RemittanceUpdateBeneficiaryRequest, RemittanceUserLimits, RemittanceUserLimitsBatchResponse } from "@fiado/type-kit/bin/remittance/index.js";
|
|
4
|
+
import { CohortCountRequest, CohortCountResponse, CohortUserMatchRequest, CohortUserMatchResponse, PricingMetricsRequest, PricingMetricsResponse, PromotionReachRequest, PromotionReachResponse, SegmentMetricsRequest, SegmentMetricsResponse, WholesaleRateRequest, WholesaleRateResponse, KycUserDetail, KycUsersListResponse, RefreshUserProfileResponse, RemittanceAddBeneficiaryRequest, RemittanceBackofficeDashboardSummary, RemittanceBackofficeStats, RemittanceBackofficeStatsPeriod, RemittanceBackofficeTransaction, RemittanceBackofficeTxListResponse, RemittanceBackofficeUserDetail, RemittanceBackofficeUserListResponse, RemittanceBeneficiary, RemittanceCancelRequest, RemittanceCancelResponse, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittancePayRequest, RemittancePayResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceSmsRequest, RemittanceStateDto, RemittanceTransactionDetail, RemittanceTransactionReceipt, RemittanceTransactionsListRequest, RemittanceTransactionsListResponse, RemittanceUpdateBeneficiaryRequest, RemittanceUserLimits, RemittanceUserLimitsBatchResponse } from "@fiado/type-kit/bin/remittance/index.js";
|
|
5
5
|
import { IUnitellerConnectorApi } from "./interfaces/IUnitellerConnectorApi.js";
|
|
6
6
|
export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
|
|
7
7
|
private httpRequest;
|
|
@@ -76,6 +76,7 @@ export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
|
|
|
76
76
|
kycUserDetail(directoryId: string): Promise<ApiGatewayResponse<KycUserDetail>>;
|
|
77
77
|
kycRefreshUser(directoryId: string): Promise<ApiGatewayResponse<RefreshUserProfileResponse>>;
|
|
78
78
|
cohortCount(request: CohortCountRequest): Promise<ApiGatewayResponse<CohortCountResponse>>;
|
|
79
|
+
cohortUserMatch(request: CohortUserMatchRequest): Promise<ApiGatewayResponse<CohortUserMatchResponse>>;
|
|
79
80
|
segmentMetrics(request: SegmentMetricsRequest): Promise<ApiGatewayResponse<SegmentMetricsResponse>>;
|
|
80
81
|
wholesaleRate(request: WholesaleRateRequest): Promise<ApiGatewayResponse<WholesaleRateResponse>>;
|
|
81
82
|
pricingMetrics(request: PricingMetricsRequest): Promise<ApiGatewayResponse<PricingMetricsResponse>>;
|
|
@@ -165,6 +165,10 @@ let UnitellerConnectorApi = class UnitellerConnectorApi {
|
|
|
165
165
|
const url = `${this.baseUrl}/backoffice/config/cohorts/count`;
|
|
166
166
|
return await this.httpRequest.post(url, request);
|
|
167
167
|
}
|
|
168
|
+
async cohortUserMatch(request) {
|
|
169
|
+
const url = `${this.baseUrl}/backoffice/config/cohorts/user-match`;
|
|
170
|
+
return await this.httpRequest.post(url, request);
|
|
171
|
+
}
|
|
168
172
|
async segmentMetrics(request) {
|
|
169
173
|
const url = `${this.baseUrl}/backoffice/config/segments/metrics`;
|
|
170
174
|
return await this.httpRequest.post(url, request);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ApiGatewayResponse } from "@fiado/gateway-adapter";
|
|
2
2
|
import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter/index.js";
|
|
3
|
-
import { CohortCountRequest, CohortCountResponse, PricingMetricsRequest, PricingMetricsResponse, PromotionReachRequest, PromotionReachResponse, SegmentMetricsRequest, SegmentMetricsResponse, WholesaleRateRequest, WholesaleRateResponse, KycUserDetail, KycUsersListResponse, RefreshUserProfileResponse, RemittanceAddBeneficiaryRequest, RemittanceBackofficeDashboardSummary, RemittanceBackofficeStats, RemittanceBackofficeStatsPeriod, RemittanceBackofficeTransaction, RemittanceBackofficeTxListResponse, RemittanceBackofficeUserDetail, RemittanceBackofficeUserListResponse, RemittanceBeneficiary, RemittanceCancelRequest, RemittanceCancelResponse, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittancePayRequest, RemittancePayResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceSmsRequest, RemittanceStateDto, RemittanceTransactionDetail, RemittanceTransactionReceipt, RemittanceTransactionsListRequest, RemittanceTransactionsListResponse, RemittanceUpdateBeneficiaryRequest, RemittanceUserLimits, RemittanceUserLimitsBatchResponse } from "@fiado/type-kit/bin/remittance/index.js";
|
|
3
|
+
import { CohortCountRequest, CohortCountResponse, CohortUserMatchRequest, CohortUserMatchResponse, PricingMetricsRequest, PricingMetricsResponse, PromotionReachRequest, PromotionReachResponse, SegmentMetricsRequest, SegmentMetricsResponse, WholesaleRateRequest, WholesaleRateResponse, KycUserDetail, KycUsersListResponse, RefreshUserProfileResponse, RemittanceAddBeneficiaryRequest, RemittanceBackofficeDashboardSummary, RemittanceBackofficeStats, RemittanceBackofficeStatsPeriod, RemittanceBackofficeTransaction, RemittanceBackofficeTxListResponse, RemittanceBackofficeUserDetail, RemittanceBackofficeUserListResponse, RemittanceBeneficiary, RemittanceCancelRequest, RemittanceCancelResponse, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittancePayRequest, RemittancePayResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceSmsRequest, RemittanceStateDto, RemittanceTransactionDetail, RemittanceTransactionReceipt, RemittanceTransactionsListRequest, RemittanceTransactionsListResponse, RemittanceUpdateBeneficiaryRequest, RemittanceUserLimits, RemittanceUserLimitsBatchResponse } from "@fiado/type-kit/bin/remittance/index.js";
|
|
4
4
|
export interface IUnitellerConnectorApi {
|
|
5
5
|
/** Estado del módulo remesas para un directoryId. */
|
|
6
6
|
getHome(directoryId: string): Promise<ApiGatewayResponse<RemittanceHomeResponse>>;
|
|
@@ -125,6 +125,8 @@ export interface IUnitellerConnectorApi {
|
|
|
125
125
|
kycRefreshUser(directoryId: string): Promise<ApiGatewayResponse<RefreshUserProfileResponse>>;
|
|
126
126
|
/** Cuenta usuarios que cumplen las condiciones (AND) + universo total. Lo consume remittance-business al recalcular un cohort. */
|
|
127
127
|
cohortCount(request: CohortCountRequest): Promise<ApiGatewayResponse<CohortCountResponse>>;
|
|
128
|
+
/** Determina si un usuario puntual matchea las condiciones (AND) de un cohort. Lo consume remittance-business. */
|
|
129
|
+
cohortUserMatch(request: CohortUserMatchRequest): Promise<ApiGatewayResponse<CohortUserMatchResponse>>;
|
|
128
130
|
/** {clientCount, volMonthUSD} para el subconjunto de RemittanceUsers del segmento (mes calendario, sin canceladas). */
|
|
129
131
|
segmentMetrics(request: SegmentMetricsRequest): Promise<ApiGatewayResponse<SegmentMetricsResponse>>;
|
|
130
132
|
/** Wholesale vivo (ExternalQuickQuotes) del corredor — Simulador de Precio Base. */
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fiado/api-invoker",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.53.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.162.0",
|
|
38
38
|
"dotenv": "^16.4.7"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { IHttpRequest } from "@fiado/http-client";
|
|
1
|
+
import type { IHttpRequest } from "@fiado/http-client";
|
|
2
2
|
import { SignUpAdditionalRequest, SignUpUserBackofficeRequest } from "@fiado/type-kit/bin/authentication/index.js";
|
|
3
3
|
import { inject, injectable } from "inversify";
|
|
4
|
-
import { IAuthenticationApi } from "./interfaces/IAuthenticationApi.js";
|
|
4
|
+
import { AgentSignInStatusInput, AgentSignUpProspectInput, IAuthenticationApi } from "./interfaces/IAuthenticationApi.js";
|
|
5
|
+
import { LegacyApiResponse } from "./interfaces/LegacyApiResponse.js";
|
|
5
6
|
|
|
6
7
|
@injectable()
|
|
7
8
|
export class AuthenticationApi implements IAuthenticationApi {
|
|
@@ -27,4 +28,29 @@ export class AuthenticationApi implements IAuthenticationApi {
|
|
|
27
28
|
const operation = "postSignUpBackofficeBulk";
|
|
28
29
|
return await this.httpRequest.post(url, input, { 'operationName': operation });
|
|
29
30
|
}
|
|
30
|
-
|
|
31
|
+
|
|
32
|
+
async agentSignInStatus(input: AgentSignInStatusInput, actorEmail: string): Promise<LegacyApiResponse<unknown>> {
|
|
33
|
+
const url = `${process.env.AUTH_LAMBDA_URL}`;
|
|
34
|
+
const operation = "postSignInPhoneNumberAgent";
|
|
35
|
+
|
|
36
|
+
return await this.httpRequest.post<LegacyApiResponse<unknown>>(url, { ...input, actorEmail }, { 'operationName': operation });
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async agentSignUpProspect(input: AgentSignUpProspectInput, actorEmail: string): Promise<LegacyApiResponse<unknown>> {
|
|
40
|
+
const url = `${process.env.AUTH_LAMBDA_URL}`;
|
|
41
|
+
const operation = "agentPostSignUp";
|
|
42
|
+
|
|
43
|
+
return await this.httpRequest.post<LegacyApiResponse<unknown>>(url, { ...input, actorEmail }, { 'operationName': operation });
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
async agentGetSignUpByPhone(phoneNumber: string): Promise<LegacyApiResponse<unknown>> {
|
|
47
|
+
if (!phoneNumber) {
|
|
48
|
+
throw new Error("phoneNumber is required.");
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const url = `${process.env.AUTH_LAMBDA_URL}`;
|
|
52
|
+
const operation = "agentGetSignUpByPhoneNumber";
|
|
53
|
+
|
|
54
|
+
return await this.httpRequest.post<LegacyApiResponse<unknown>>(url, { pathParameters: { phoneNumber } }, { 'operationName': operation });
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -1,4 +1,32 @@
|
|
|
1
1
|
import { DirectoryBatchSummaryResponse, SignUpAdditionalRequest, SignUpUserBackofficeRequest } from "@fiado/type-kit/bin/authentication/index.js";
|
|
2
|
+
import { LegacyApiResponse } from "./LegacyApiResponse.js";
|
|
3
|
+
|
|
4
|
+
// Input del estado de cuenta del cliente (endpoint de agente, se despacha por operationName).
|
|
5
|
+
// Interfaz LOCAL a propósito: NO se agrega al @fiado/type-kit.
|
|
6
|
+
export interface AgentSignInStatusInput {
|
|
7
|
+
phoneNumber: string;
|
|
8
|
+
app: string;
|
|
9
|
+
platform: string;
|
|
10
|
+
version: string;
|
|
11
|
+
ip?: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// Input del alta de prospecto (endpoint de agente, se despacha por operationName).
|
|
15
|
+
// `email` es el email del PROSPECTO; el email del AGENTE viaja aparte como actorEmail.
|
|
16
|
+
// Interfaz LOCAL a propósito: NO se agrega al @fiado/type-kit.
|
|
17
|
+
export interface AgentSignUpProspectInput {
|
|
18
|
+
name: string;
|
|
19
|
+
phoneNumber: string;
|
|
20
|
+
countryOfBirth: string;
|
|
21
|
+
countryOfDomicile: string;
|
|
22
|
+
email: string;
|
|
23
|
+
secondaryPhoneNumber?: string;
|
|
24
|
+
referralCode?: string | null;
|
|
25
|
+
stateOfBirth?: string | null;
|
|
26
|
+
otpCode?: string | null;
|
|
27
|
+
MEX_DebitAccountWish?: boolean;
|
|
28
|
+
USA_DebitAccountWish?: boolean;
|
|
29
|
+
}
|
|
2
30
|
|
|
3
31
|
export interface IAuthenticationApi {
|
|
4
32
|
|
|
@@ -6,4 +34,16 @@ export interface IAuthenticationApi {
|
|
|
6
34
|
deleteAuthSessionByDirectoryId(directoryId: string): Promise<any>;
|
|
7
35
|
|
|
8
36
|
signUpBackofficeBulk(input: SignUpUserBackofficeRequest[]): Promise<DirectoryBatchSummaryResponse>;
|
|
9
|
-
|
|
37
|
+
|
|
38
|
+
// Endpoints de agente — se despachan por header operationName y devuelven el ENVELOPE legacy
|
|
39
|
+
// COMPLETO (LegacyApiResponse) para que el proxy (people-business) lo re-emita campo por campo (drop-in).
|
|
40
|
+
|
|
41
|
+
// operationName: postSignInPhoneNumberAgent — body { ...input, actorEmail }
|
|
42
|
+
agentSignInStatus(input: AgentSignInStatusInput, actorEmail: string): Promise<LegacyApiResponse<unknown>>;
|
|
43
|
+
|
|
44
|
+
// operationName: agentPostSignUp — body { ...input, actorEmail } (input.email = prospecto; actorEmail = agente)
|
|
45
|
+
agentSignUpProspect(input: AgentSignUpProspectInput, actorEmail: string): Promise<LegacyApiResponse<unknown>>;
|
|
46
|
+
|
|
47
|
+
// operationName: agentGetSignUpByPhoneNumber — body { pathParameters: { phoneNumber } }
|
|
48
|
+
agentGetSignUpByPhone(phoneNumber: string): Promise<LegacyApiResponse<unknown>>;
|
|
49
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Envelope de respuesta de los lambdas legacy Fiado (@fiado/request-handler + @fiado/backend-toolkit):
|
|
2
|
+
// el body HTTP es { code, description, msg, data, date }. Los métodos que pegan a endpoints legacy
|
|
3
|
+
// devuelven este envelope COMPLETO (httpRequest.post retorna response.data = el body), NO solo `data`.
|
|
4
|
+
// Tiparlo así evita el doble-wrap en el consumidor (que re-emite el envelope campo por campo para ser drop-in).
|
|
5
|
+
export interface LegacyApiResponse<T> {
|
|
6
|
+
code: string;
|
|
7
|
+
description?: string | null;
|
|
8
|
+
msg?: string | null;
|
|
9
|
+
data: T;
|
|
10
|
+
date?: string;
|
|
11
|
+
}
|
package/src/container.config.ts
CHANGED
|
@@ -171,6 +171,8 @@ import { IContactsBusinessApi, ContactsBusinessApi } from "./contacts-business/i
|
|
|
171
171
|
import { IWalletFundingSettlementApi, WalletFundingSettlementApi } from "./walletFundingSettlement/index.js";
|
|
172
172
|
// SNS/SES connector — envío SMS/MAIL síncrono (restaurado para RBAC — DEC-002 messages-business)
|
|
173
173
|
import { ISnsSesConnectorApi, SnsSesConnectorApi } from "./sns-ses-connector/index.js";
|
|
174
|
+
// Remittance business — pricingResolve (Dashboard Ops Fase B, puente de resolución de precio en send-time)
|
|
175
|
+
import { IRemittanceBusinessApi, RemittanceBusinessApi } from "./remittance-business/index.js";
|
|
174
176
|
|
|
175
177
|
export const apiInvokerBindings = new ContainerModule(({ bind }) => {
|
|
176
178
|
// UTILS bindings
|
|
@@ -314,4 +316,7 @@ export const apiInvokerBindings = new ContainerModule(({ bind }) => {
|
|
|
314
316
|
|
|
315
317
|
// SNS/SES connector — envío SMS/MAIL síncrono (restaurado para RBAC — DEC-002 messages-business)
|
|
316
318
|
bind<ISnsSesConnectorApi>("ISnsSesConnectorApi").to(SnsSesConnectorApi);
|
|
319
|
+
|
|
320
|
+
// Remittance business — pricingResolve (Dashboard Ops Fase B, puente de resolución de precio en send-time)
|
|
321
|
+
bind<IRemittanceBusinessApi>("IRemittanceBusinessApi").to(RemittanceBusinessApi);
|
|
317
322
|
});
|
package/src/index.ts
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { inject, injectable } from "inversify";
|
|
2
|
+
import type { IHttpRequest } from "@fiado/http-client";
|
|
3
|
+
import { ApiGatewayResponse } from "@fiado/gateway-adapter";
|
|
4
|
+
import { PricingResolveRequest, PricingResolveResponse } from "@fiado/type-kit/bin/remittance/index.js";
|
|
5
|
+
import { IRemittanceBusinessApi } from "./interfaces/IRemittanceBusinessApi.js";
|
|
6
|
+
|
|
7
|
+
@injectable()
|
|
8
|
+
export default class RemittanceBusinessApi implements IRemittanceBusinessApi {
|
|
9
|
+
private readonly baseUrl = process.env.REMITTANCE_BUSINESS_LAMBDA_URL || "";
|
|
10
|
+
|
|
11
|
+
constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) {}
|
|
12
|
+
|
|
13
|
+
async pricingResolve(request: PricingResolveRequest): Promise<ApiGatewayResponse<PricingResolveResponse>> {
|
|
14
|
+
const url = `${this.baseUrl}/private/pricing/resolve`;
|
|
15
|
+
return await this.httpRequest.post(url, request);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ApiGatewayResponse } from "@fiado/gateway-adapter";
|
|
2
|
+
import { PricingResolveRequest, PricingResolveResponse } from "@fiado/type-kit/bin/remittance/index.js";
|
|
3
|
+
|
|
4
|
+
export interface IRemittanceBusinessApi {
|
|
5
|
+
pricingResolve(request: PricingResolveRequest): Promise<ApiGatewayResponse<PricingResolveResponse>>;
|
|
6
|
+
}
|
|
@@ -5,6 +5,8 @@ import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter/index.js
|
|
|
5
5
|
import {
|
|
6
6
|
CohortCountRequest,
|
|
7
7
|
CohortCountResponse,
|
|
8
|
+
CohortUserMatchRequest,
|
|
9
|
+
CohortUserMatchResponse,
|
|
8
10
|
PricingMetricsRequest,
|
|
9
11
|
PricingMetricsResponse,
|
|
10
12
|
PromotionReachRequest,
|
|
@@ -245,6 +247,11 @@ export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
|
|
|
245
247
|
return await this.httpRequest.post(url, request);
|
|
246
248
|
}
|
|
247
249
|
|
|
250
|
+
async cohortUserMatch(request: CohortUserMatchRequest): Promise<ApiGatewayResponse<CohortUserMatchResponse>> {
|
|
251
|
+
const url = `${this.baseUrl}/backoffice/config/cohorts/user-match`;
|
|
252
|
+
return await this.httpRequest.post(url, request);
|
|
253
|
+
}
|
|
254
|
+
|
|
248
255
|
async segmentMetrics(request: SegmentMetricsRequest): Promise<ApiGatewayResponse<SegmentMetricsResponse>> {
|
|
249
256
|
const url = `${this.baseUrl}/backoffice/config/segments/metrics`;
|
|
250
257
|
return await this.httpRequest.post(url, request);
|
|
@@ -3,6 +3,8 @@ import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter/index.js
|
|
|
3
3
|
import {
|
|
4
4
|
CohortCountRequest,
|
|
5
5
|
CohortCountResponse,
|
|
6
|
+
CohortUserMatchRequest,
|
|
7
|
+
CohortUserMatchResponse,
|
|
6
8
|
PricingMetricsRequest,
|
|
7
9
|
PricingMetricsResponse,
|
|
8
10
|
PromotionReachRequest,
|
|
@@ -188,6 +190,8 @@ export interface IUnitellerConnectorApi {
|
|
|
188
190
|
// ─── Cohorts (Dashboard Ops · B2 — puente de recálculo Opción A) ────────────────
|
|
189
191
|
/** Cuenta usuarios que cumplen las condiciones (AND) + universo total. Lo consume remittance-business al recalcular un cohort. */
|
|
190
192
|
cohortCount(request: CohortCountRequest): Promise<ApiGatewayResponse<CohortCountResponse>>;
|
|
193
|
+
/** Determina si un usuario puntual matchea las condiciones (AND) de un cohort. Lo consume remittance-business. */
|
|
194
|
+
cohortUserMatch(request: CohortUserMatchRequest): Promise<ApiGatewayResponse<CohortUserMatchResponse>>;
|
|
191
195
|
|
|
192
196
|
// ─── Segmentos (Dashboard Ops — puente de métricas Opción A) ────────────────────
|
|
193
197
|
/** {clientCount, volMonthUSD} para el subconjunto de RemittanceUsers del segmento (mes calendario, sin canceladas). */
|