@fiado/api-invoker 4.42.0 → 4.44.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.
@@ -17,5 +17,6 @@ export declare class GroupApi implements IGroupApi {
17
17
  }): Promise<any>;
18
18
  members(params: GroupAddDirectoryRequest): Promise<any>;
19
19
  findById(id: string): Promise<any>;
20
+ findAllWithCounts(): Promise<any>;
20
21
  }
21
22
  export {};
@@ -60,6 +60,10 @@ let GroupApi = class GroupApi {
60
60
  const url = `${this.baseUrl}groups/getById/${id}`;
61
61
  return await this.httpRequest.get(`${url}`);
62
62
  }
63
+ async findAllWithCounts() {
64
+ const url = `${this.baseUrl}groups/counts`;
65
+ return await this.httpRequest.get(`${url}`);
66
+ }
63
67
  };
64
68
  GroupApi = __decorate([
65
69
  injectable(),
@@ -1,5 +1,5 @@
1
1
  type FiadoApiResponse<T> = import("@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js").default<T>;
2
- import { GroupAddDirectoryRequest, GroupResponse } from "@fiado/type-kit/bin/group/index.js";
2
+ import { GroupAddDirectoryRequest, GroupCountsResponse, GroupResponse } from "@fiado/type-kit/bin/group/index.js";
3
3
  /**
4
4
  * Interfaz para el servicio Directory que permite operaciones sobre directorios.
5
5
  */
@@ -31,5 +31,10 @@ export interface IGroupApi {
31
31
  * @throws {Error} Lanza un error si los parámetros de entrada son inválidos.
32
32
  */
33
33
  findById(id: string): Promise<FiadoApiResponse<GroupResponse>>;
34
+ /**
35
+ * Dashboard Ops Segmentos — todos los grupos con su # de miembros
36
+ * (GET groups/counts, privado en fiado-group-business).
37
+ */
38
+ findAllWithCounts(): Promise<FiadoApiResponse<GroupCountsResponse>>;
34
39
  }
35
40
  export {};
@@ -25,4 +25,6 @@ export default class OnboardingBusinessApi implements IOnboardingBusinessApi {
25
25
  pageSize?: string;
26
26
  }): Promise<any>;
27
27
  getBatchByIds(ids: string[]): Promise<any>;
28
+ tagsSummary(): Promise<any>;
29
+ tagsByDirectories(directoryIds: string[]): Promise<any>;
28
30
  }
@@ -93,6 +93,14 @@ let OnboardingBusinessApi = class OnboardingBusinessApi {
93
93
  const url = `${this.baseUrl}private/getBatchByIds`;
94
94
  return await this.httpRequest.get(`${url}`, { ids });
95
95
  }
96
+ async tagsSummary() {
97
+ const url = `${this.baseUrl}private/tags/summary`;
98
+ return await this.httpRequest.get(`${url}`);
99
+ }
100
+ async tagsByDirectories(directoryIds) {
101
+ const url = `${this.baseUrl}private/tags/by-directories`;
102
+ return await this.httpRequest.post(`${url}`, { directoryIds });
103
+ }
96
104
  };
97
105
  OnboardingBusinessApi = __decorate([
98
106
  injectable(),
@@ -20,4 +20,8 @@ export interface IOnboardingBusinessApi {
20
20
  pageSize?: string;
21
21
  }): Promise<any>;
22
22
  getBatchByIds(ids: string[]): Promise<any>;
23
+ /** Dashboard Ops Segmentos — tags distintos + count c/u (TagsSummaryResponse en data). */
24
+ tagsSummary(): Promise<any>;
25
+ /** Dashboard Ops Segmentos — tags por usuario para un batch de directoryIds (TagsByDirectoriesResponse en data). */
26
+ tagsByDirectories(directoryIds: string[]): Promise<any>;
23
27
  }
@@ -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 { 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, SegmentMetricsRequest, SegmentMetricsResponse, 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;
@@ -75,4 +75,6 @@ export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
75
75
  }): Promise<ApiGatewayResponse<KycUsersListResponse>>;
76
76
  kycUserDetail(directoryId: string): Promise<ApiGatewayResponse<KycUserDetail>>;
77
77
  kycRefreshUser(directoryId: string): Promise<ApiGatewayResponse<RefreshUserProfileResponse>>;
78
+ cohortCount(request: CohortCountRequest): Promise<ApiGatewayResponse<CohortCountResponse>>;
79
+ segmentMetrics(request: SegmentMetricsRequest): Promise<ApiGatewayResponse<SegmentMetricsResponse>>;
78
80
  }
@@ -161,6 +161,14 @@ let UnitellerConnectorApi = class UnitellerConnectorApi {
161
161
  const url = `${this.baseUrl}/backoffice/kyc/users/${encodeURIComponent(directoryId)}/refresh`;
162
162
  return await this.httpRequest.post(url, {});
163
163
  }
164
+ async cohortCount(request) {
165
+ const url = `${this.baseUrl}/backoffice/config/cohorts/count`;
166
+ return await this.httpRequest.post(url, request);
167
+ }
168
+ async segmentMetrics(request) {
169
+ const url = `${this.baseUrl}/backoffice/config/segments/metrics`;
170
+ return await this.httpRequest.post(url, request);
171
+ }
164
172
  };
165
173
  UnitellerConnectorApi = __decorate([
166
174
  injectable(),
@@ -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 { 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, SegmentMetricsRequest, SegmentMetricsResponse, 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>>;
@@ -123,4 +123,8 @@ export interface IUnitellerConnectorApi {
123
123
  kycUserDetail(directoryId: string): Promise<ApiGatewayResponse<KycUserDetail>>;
124
124
  /** Refresca el perfil del usuario desde UNIR (EP-34). Rate-limited 5/min por directoryId en el connector. */
125
125
  kycRefreshUser(directoryId: string): Promise<ApiGatewayResponse<RefreshUserProfileResponse>>;
126
+ /** Cuenta usuarios que cumplen las condiciones (AND) + universo total. Lo consume remittance-business al recalcular un cohort. */
127
+ cohortCount(request: CohortCountRequest): Promise<ApiGatewayResponse<CohortCountResponse>>;
128
+ /** {clientCount, volMonthUSD} para el subconjunto de RemittanceUsers del segmento (mes calendario, sin canceladas). */
129
+ segmentMetrics(request: SegmentMetricsRequest): Promise<ApiGatewayResponse<SegmentMetricsResponse>>;
126
130
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/api-invoker",
3
- "version": "4.42.0",
3
+ "version": "4.44.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.138.0",
37
+ "@fiado/type-kit": "^3.145.0",
38
38
  "dotenv": "^16.4.7"
39
39
  },
40
40
  "peerDependencies": {
@@ -45,6 +45,8 @@
45
45
  "@types/jest": "^30.0.0",
46
46
  "@types/node": "^25.9.1",
47
47
  "aws-sdk-client-mock": "^4.1.0",
48
+ "class-transformer": "^0.5.1",
49
+ "class-validator": "^0.14.4",
48
50
  "inversify": "^8.1.0",
49
51
  "jest": "^30.4.2",
50
52
  "reflect-metadata": "^0.2.2",
@@ -67,4 +67,9 @@ export class GroupApi implements IGroupApi {
67
67
  const url = `${this.baseUrl}groups/getById/${id}`;
68
68
  return await this.httpRequest.get(`${url}`);
69
69
  }
70
+
71
+ async findAllWithCounts(): Promise<any> {
72
+ const url = `${this.baseUrl}groups/counts`;
73
+ return await this.httpRequest.get(`${url}`);
74
+ }
70
75
  }
@@ -1,5 +1,5 @@
1
1
  type FiadoApiResponse<T> = import("@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js").default<T>;
2
- import { GroupAddDirectoryRequest, GroupResponse } from "@fiado/type-kit/bin/group/index.js";
2
+ import { GroupAddDirectoryRequest, GroupCountsResponse, GroupResponse } from "@fiado/type-kit/bin/group/index.js";
3
3
 
4
4
  /**
5
5
  * Interfaz para el servicio Directory que permite operaciones sobre directorios.
@@ -37,4 +37,11 @@ export interface IGroupApi {
37
37
  * @throws {Error} Lanza un error si los parámetros de entrada son inválidos.
38
38
  */
39
39
  findById(id: string): Promise<FiadoApiResponse<GroupResponse>>;
40
+
41
+
42
+ /**
43
+ * Dashboard Ops Segmentos — todos los grupos con su # de miembros
44
+ * (GET groups/counts, privado en fiado-group-business).
45
+ */
46
+ findAllWithCounts(): Promise<FiadoApiResponse<GroupCountsResponse>>;
40
47
  }
@@ -89,8 +89,18 @@ export default class OnboardingBusinessApi implements IOnboardingBusinessApi {
89
89
  async getBatchByIds(ids: string[]): Promise<any> {
90
90
  const url = `${this.baseUrl}private/getBatchByIds`;
91
91
  return await this.httpRequest.get(`${url}`, { ids });
92
- }
93
-
92
+ }
93
+
94
+ async tagsSummary(): Promise<any> {
95
+ const url = `${this.baseUrl}private/tags/summary`;
96
+ return await this.httpRequest.get(`${url}`);
97
+ }
98
+
99
+ async tagsByDirectories(directoryIds: string[]): Promise<any> {
100
+ const url = `${this.baseUrl}private/tags/by-directories`;
101
+ return await this.httpRequest.post(`${url}`, { directoryIds });
102
+ }
103
+
94
104
  }
95
105
 
96
106
 
@@ -7,4 +7,9 @@ export interface IOnboardingBusinessApi {
7
7
  getList(params:{index?: string; pageSize?: string; }): Promise<any>
8
8
 
9
9
  getBatchByIds(ids: string[]): Promise<any>
10
+
11
+ /** Dashboard Ops Segmentos — tags distintos + count c/u (TagsSummaryResponse en data). */
12
+ tagsSummary(): Promise<any>
13
+ /** Dashboard Ops Segmentos — tags por usuario para un batch de directoryIds (TagsByDirectoriesResponse en data). */
14
+ tagsByDirectories(directoryIds: string[]): Promise<any>
10
15
  }
@@ -3,6 +3,10 @@ import type { IHttpRequest } from "@fiado/http-client";
3
3
  import { ApiGatewayResponse } from "@fiado/gateway-adapter";
4
4
  import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter/index.js";
5
5
  import {
6
+ CohortCountRequest,
7
+ CohortCountResponse,
8
+ SegmentMetricsRequest,
9
+ SegmentMetricsResponse,
6
10
  KycUserDetail,
7
11
  KycUsersListResponse,
8
12
  RefreshUserProfileResponse,
@@ -229,6 +233,16 @@ export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
229
233
  const url = `${this.baseUrl}/backoffice/kyc/users/${encodeURIComponent(directoryId)}/refresh`;
230
234
  return await this.httpRequest.post(url, {});
231
235
  }
236
+
237
+ async cohortCount(request: CohortCountRequest): Promise<ApiGatewayResponse<CohortCountResponse>> {
238
+ const url = `${this.baseUrl}/backoffice/config/cohorts/count`;
239
+ return await this.httpRequest.post(url, request);
240
+ }
241
+
242
+ async segmentMetrics(request: SegmentMetricsRequest): Promise<ApiGatewayResponse<SegmentMetricsResponse>> {
243
+ const url = `${this.baseUrl}/backoffice/config/segments/metrics`;
244
+ return await this.httpRequest.post(url, request);
245
+ }
232
246
  }
233
247
 
234
248
  /** Quita las keys undefined para no mandar query params vacíos. */
@@ -1,6 +1,10 @@
1
1
  import { ApiGatewayResponse } from "@fiado/gateway-adapter";
2
2
  import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter/index.js";
3
3
  import {
4
+ CohortCountRequest,
5
+ CohortCountResponse,
6
+ SegmentMetricsRequest,
7
+ SegmentMetricsResponse,
4
8
  KycUserDetail,
5
9
  KycUsersListResponse,
6
10
  RefreshUserProfileResponse,
@@ -174,4 +178,12 @@ export interface IUnitellerConnectorApi {
174
178
  kycUserDetail(directoryId: string): Promise<ApiGatewayResponse<KycUserDetail>>;
175
179
  /** Refresca el perfil del usuario desde UNIR (EP-34). Rate-limited 5/min por directoryId en el connector. */
176
180
  kycRefreshUser(directoryId: string): Promise<ApiGatewayResponse<RefreshUserProfileResponse>>;
181
+
182
+ // ─── Cohorts (Dashboard Ops · B2 — puente de recálculo Opción A) ────────────────
183
+ /** Cuenta usuarios que cumplen las condiciones (AND) + universo total. Lo consume remittance-business al recalcular un cohort. */
184
+ cohortCount(request: CohortCountRequest): Promise<ApiGatewayResponse<CohortCountResponse>>;
185
+
186
+ // ─── Segmentos (Dashboard Ops — puente de métricas Opción A) ────────────────────
187
+ /** {clientCount, volMonthUSD} para el subconjunto de RemittanceUsers del segmento (mes calendario, sin canceladas). */
188
+ segmentMetrics(request: SegmentMetricsRequest): Promise<ApiGatewayResponse<SegmentMetricsResponse>>;
177
189
  }