@fiado/api-invoker 4.0.0 → 4.1.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,7 +1,7 @@
1
1
  import { IHttpRequest } from "@fiado/http-client";
2
2
  import { ApiGatewayResponse } from "@fiado/gateway-adapter";
3
3
  import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter";
4
- import { RemittanceAddBeneficiaryRequest, RemittanceBeneficiary, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceUpdateBeneficiaryRequest } from "@fiado/type-kit/bin/remittance";
4
+ import { RemittanceAddBeneficiaryRequest, RemittanceBeneficiary, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceStateDto, RemittanceUpdateBeneficiaryRequest } from "@fiado/type-kit/bin/remittance";
5
5
  import { IUnitellerConnectorApi } from "./interfaces/IUnitellerConnectorApi";
6
6
  export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
7
7
  private httpRequest;
@@ -11,6 +11,20 @@ export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
11
11
  getSecurityQuestions(): Promise<ApiGatewayResponse<RemittanceSecurityQuestionsResponse>>;
12
12
  onboard(request: RemittanceOnboardRequest): Promise<ApiGatewayResponse<RemittanceOnboardResponse>>;
13
13
  getStandardCatalog(): Promise<ApiGatewayResponse<ConnectorCatalogItem[]>>;
14
+ countryStates(countryISO: string): Promise<ApiGatewayResponse<RemittanceStateDto[]>>;
15
+ countryPayers(countryISO: string, currencyISO: string): Promise<ApiGatewayResponse<RemittancePayerDto[]>>;
16
+ payerBranches(params: {
17
+ payerCode: string;
18
+ receptionMethodName: string;
19
+ countryISO: string;
20
+ currencyISO: string;
21
+ stateISO: string;
22
+ }): Promise<ApiGatewayResponse<RemittancePayerBranchDto[]>>;
23
+ payerAdditionalFields(params: {
24
+ payerCode: string;
25
+ currencyISO: string;
26
+ receptionMethodName: string;
27
+ }): Promise<ApiGatewayResponse<RemittancePayerAdditionalFieldDto[]>>;
14
28
  listBeneficiaries(directoryId: string, includeDeactivated?: boolean): Promise<ApiGatewayResponse<RemittanceListBeneficiariesResponse>>;
15
29
  getBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<RemittanceBeneficiary>>;
16
30
  addBeneficiary(directoryId: string, request: RemittanceAddBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>>;
@@ -35,6 +35,30 @@ let UnitellerConnectorApi = class UnitellerConnectorApi {
35
35
  const url = `${this.baseUrl}/catalog/standard`;
36
36
  return await this.httpRequest.get(url);
37
37
  }
38
+ async countryStates(countryISO) {
39
+ const url = `${this.baseUrl}/countries/${encodeURIComponent(countryISO)}/states`;
40
+ return await this.httpRequest.get(url);
41
+ }
42
+ async countryPayers(countryISO, currencyISO) {
43
+ const url = `${this.baseUrl}/countries/${encodeURIComponent(countryISO)}/payers`;
44
+ return await this.httpRequest.get(url, { currencyISO });
45
+ }
46
+ async payerBranches(params) {
47
+ const url = `${this.baseUrl}/payers/${encodeURIComponent(params.payerCode)}/branches`;
48
+ return await this.httpRequest.get(url, {
49
+ receptionMethodName: params.receptionMethodName,
50
+ countryISO: params.countryISO,
51
+ currencyISO: params.currencyISO,
52
+ stateISO: params.stateISO,
53
+ });
54
+ }
55
+ async payerAdditionalFields(params) {
56
+ const url = `${this.baseUrl}/payers/${encodeURIComponent(params.payerCode)}/fields`;
57
+ return await this.httpRequest.get(url, {
58
+ currencyISO: params.currencyISO,
59
+ receptionMethodName: params.receptionMethodName,
60
+ });
61
+ }
38
62
  async listBeneficiaries(directoryId, includeDeactivated) {
39
63
  const url = `${this.baseUrl}/beneficiaries/list`;
40
64
  return await this.httpRequest.post(url, { directoryId, includeDeactivated });
@@ -1,6 +1,6 @@
1
1
  import { ApiGatewayResponse } from "@fiado/gateway-adapter";
2
2
  import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter";
3
- import { RemittanceAddBeneficiaryRequest, RemittanceBeneficiary, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceUpdateBeneficiaryRequest } from "@fiado/type-kit/bin/remittance";
3
+ import { RemittanceAddBeneficiaryRequest, RemittanceBeneficiary, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceStateDto, RemittanceUpdateBeneficiaryRequest } from "@fiado/type-kit/bin/remittance";
4
4
  export interface IUnitellerConnectorApi {
5
5
  /** Estado del módulo remesas para un directoryId. */
6
6
  getHome(directoryId: string): Promise<ApiGatewayResponse<RemittanceHomeResponse>>;
@@ -14,6 +14,28 @@ export interface IUnitellerConnectorApi {
14
14
  * del benefit Remittance (D-F3.7).
15
15
  */
16
16
  getStandardCatalog(): Promise<ApiGatewayResponse<ConnectorCatalogItem[]>>;
17
+ /** Estados / departamentos del país destino (ej. GT-GU, SV-SS). */
18
+ countryStates(countryISO: string): Promise<ApiGatewayResponse<RemittanceStateDto[]>>;
19
+ /**
20
+ * Payers disponibles para el país+currency (deduplicado por payerSpecificCode),
21
+ * con `beneAccountRegex`, `isPayerBranchRequired` y `isAdditionalFieldRequired`
22
+ * para que el cliente decida los pasos del wizard.
23
+ */
24
+ countryPayers(countryISO: string, currencyISO: string): Promise<ApiGatewayResponse<RemittancePayerDto[]>>;
25
+ /** Sucursales del payer (cuando isPayerBranchRequired = YES y receptionMethod = Cash Pickup). */
26
+ payerBranches(params: {
27
+ payerCode: string;
28
+ receptionMethodName: string;
29
+ countryISO: string;
30
+ currencyISO: string;
31
+ stateISO: string;
32
+ }): Promise<ApiGatewayResponse<RemittancePayerBranchDto[]>>;
33
+ /** Additional fields requeridos por el payer (cuando isAdditionalFieldRequired = YES). */
34
+ payerAdditionalFields(params: {
35
+ payerCode: string;
36
+ currencyISO: string;
37
+ receptionMethodName: string;
38
+ }): Promise<ApiGatewayResponse<RemittancePayerAdditionalFieldDto[]>>;
17
39
  listBeneficiaries(directoryId: string, includeDeactivated?: boolean): Promise<ApiGatewayResponse<RemittanceListBeneficiariesResponse>>;
18
40
  getBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<RemittanceBeneficiary>>;
19
41
  addBeneficiary(directoryId: string, request: RemittanceAddBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/api-invoker",
3
- "version": "4.0.0",
3
+ "version": "4.1.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
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -17,7 +17,7 @@
17
17
  "@fiado/gateway-adapter": "^2.0.0",
18
18
  "@fiado/http-client": "^2.0.0",
19
19
  "@fiado/logger": "^1.0.3",
20
- "@fiado/type-kit": "^3.27.0",
20
+ "@fiado/type-kit": "^3.30.0",
21
21
  "dotenv": "^16.4.7"
22
22
  },
23
23
  "peerDependencies": {
@@ -9,11 +9,15 @@ import {
9
9
  RemittanceListBeneficiariesResponse,
10
10
  RemittanceOnboardRequest,
11
11
  RemittanceOnboardResponse,
12
+ RemittancePayerAdditionalFieldDto,
13
+ RemittancePayerBranchDto,
14
+ RemittancePayerDto,
12
15
  RemittanceQuoteRequest,
13
16
  RemittanceQuoteResponse,
14
17
  RemittanceSecurityQuestionsResponse,
15
18
  RemittanceSendPreviewRequest,
16
19
  RemittanceSendPreviewResponse,
20
+ RemittanceStateDto,
17
21
  RemittanceUpdateBeneficiaryRequest,
18
22
  } from "@fiado/type-kit/bin/remittance";
19
23
  import { IUnitellerConnectorApi } from "./interfaces/IUnitellerConnectorApi";
@@ -44,6 +48,34 @@ export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
44
48
  return await this.httpRequest.get(url);
45
49
  }
46
50
 
51
+ async countryStates(countryISO: string): Promise<ApiGatewayResponse<RemittanceStateDto[]>> {
52
+ const url = `${this.baseUrl}/countries/${encodeURIComponent(countryISO)}/states`;
53
+ return await this.httpRequest.get(url);
54
+ }
55
+
56
+ async countryPayers(countryISO: string, currencyISO: string): Promise<ApiGatewayResponse<RemittancePayerDto[]>> {
57
+ const url = `${this.baseUrl}/countries/${encodeURIComponent(countryISO)}/payers`;
58
+ return await this.httpRequest.get(url, { currencyISO });
59
+ }
60
+
61
+ async payerBranches(params: { payerCode: string; receptionMethodName: string; countryISO: string; currencyISO: string; stateISO: string }): Promise<ApiGatewayResponse<RemittancePayerBranchDto[]>> {
62
+ const url = `${this.baseUrl}/payers/${encodeURIComponent(params.payerCode)}/branches`;
63
+ return await this.httpRequest.get(url, {
64
+ receptionMethodName: params.receptionMethodName,
65
+ countryISO: params.countryISO,
66
+ currencyISO: params.currencyISO,
67
+ stateISO: params.stateISO,
68
+ });
69
+ }
70
+
71
+ async payerAdditionalFields(params: { payerCode: string; currencyISO: string; receptionMethodName: string }): Promise<ApiGatewayResponse<RemittancePayerAdditionalFieldDto[]>> {
72
+ const url = `${this.baseUrl}/payers/${encodeURIComponent(params.payerCode)}/fields`;
73
+ return await this.httpRequest.get(url, {
74
+ currencyISO: params.currencyISO,
75
+ receptionMethodName: params.receptionMethodName,
76
+ });
77
+ }
78
+
47
79
  async listBeneficiaries(directoryId: string, includeDeactivated?: boolean): Promise<ApiGatewayResponse<RemittanceListBeneficiariesResponse>> {
48
80
  const url = `${this.baseUrl}/beneficiaries/list`;
49
81
  return await this.httpRequest.post(url, { directoryId, includeDeactivated });
@@ -7,11 +7,15 @@ import {
7
7
  RemittanceListBeneficiariesResponse,
8
8
  RemittanceOnboardRequest,
9
9
  RemittanceOnboardResponse,
10
+ RemittancePayerAdditionalFieldDto,
11
+ RemittancePayerBranchDto,
12
+ RemittancePayerDto,
10
13
  RemittanceQuoteRequest,
11
14
  RemittanceQuoteResponse,
12
15
  RemittanceSecurityQuestionsResponse,
13
16
  RemittanceSendPreviewRequest,
14
17
  RemittanceSendPreviewResponse,
18
+ RemittanceStateDto,
15
19
  RemittanceUpdateBeneficiaryRequest,
16
20
  } from "@fiado/type-kit/bin/remittance";
17
21
 
@@ -32,6 +36,34 @@ export interface IUnitellerConnectorApi {
32
36
  */
33
37
  getStandardCatalog(): Promise<ApiGatewayResponse<ConnectorCatalogItem[]>>;
34
38
 
39
+ // ─── Catálogo lazy para el wizard del frontend (F3.6) ──────────────────────
40
+
41
+ /** Estados / departamentos del país destino (ej. GT-GU, SV-SS). */
42
+ countryStates(countryISO: string): Promise<ApiGatewayResponse<RemittanceStateDto[]>>;
43
+
44
+ /**
45
+ * Payers disponibles para el país+currency (deduplicado por payerSpecificCode),
46
+ * con `beneAccountRegex`, `isPayerBranchRequired` y `isAdditionalFieldRequired`
47
+ * para que el cliente decida los pasos del wizard.
48
+ */
49
+ countryPayers(countryISO: string, currencyISO: string): Promise<ApiGatewayResponse<RemittancePayerDto[]>>;
50
+
51
+ /** Sucursales del payer (cuando isPayerBranchRequired = YES y receptionMethod = Cash Pickup). */
52
+ payerBranches(params: {
53
+ payerCode: string;
54
+ receptionMethodName: string;
55
+ countryISO: string;
56
+ currencyISO: string;
57
+ stateISO: string;
58
+ }): Promise<ApiGatewayResponse<RemittancePayerBranchDto[]>>;
59
+
60
+ /** Additional fields requeridos por el payer (cuando isAdditionalFieldRequired = YES). */
61
+ payerAdditionalFields(params: {
62
+ payerCode: string;
63
+ currencyISO: string;
64
+ receptionMethodName: string;
65
+ }): Promise<ApiGatewayResponse<RemittancePayerAdditionalFieldDto[]>>;
66
+
35
67
  // ─── Beneficiarios (F4) ──────────────────────────────────────────────────────
36
68
 
37
69
  listBeneficiaries(directoryId: string, includeDeactivated?: boolean): Promise<ApiGatewayResponse<RemittanceListBeneficiariesResponse>>;