@fiado/api-invoker 5.77.0 → 5.78.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.
@@ -124,6 +124,8 @@ import { WalletFundingRulesApi } from "./wallet-funding-rules/index.js";
124
124
  import { SnsSesConnectorApi } from "./sns-ses-connector/index.js";
125
125
  // Twilio connector — envío WhatsApp/SMS por Twilio (lee TWILIO_CONNECTOR_LAMBDA_URL)
126
126
  import { TwilioConnectorApi } from "./twilio-connector/index.js";
127
+ // Whatsapp connector — envío WhatsApp por Meta (lee WHATSAPP_CONNECTOR_LAMBDA_URL)
128
+ import { WhatsappConnectorApi } from "./whatsapp-connector/index.js";
127
129
  // Remittance business — pricingResolve (Dashboard Ops Fase B, puente de resolución de precio en send-time)
128
130
  import { RemittanceBusinessApi } from "./remittance-business/index.js";
129
131
  import { BeneficiaryApi } from "./beneficiary/index.js";
@@ -274,6 +276,9 @@ export const apiInvokerBindings = new ContainerModule(({ bind }) => {
274
276
  // Twilio connector — envío WhatsApp/SMS por Twilio, elegido por el `provider` del senderConfig.
275
277
  // El consumidor necesita TWILIO_CONNECTOR_LAMBDA_URL desde el SSM `fiado-twilio-connector`.
276
278
  bind("ITwilioConnectorApi").to(TwilioConnectorApi);
279
+ // Whatsapp connector — envío WhatsApp por Meta, elegido por el `provider` del senderConfig.
280
+ // El consumidor necesita WHATSAPP_CONNECTOR_LAMBDA_URL desde el SSM `whatsapp-connector`.
281
+ bind("IWhatsappConnectorApi").to(WhatsappConnectorApi);
277
282
  // Remittance business — pricingResolve (Dashboard Ops Fase B, puente de resolución de precio en send-time)
278
283
  bind("IRemittanceBusinessApi").to(RemittanceBusinessApi);
279
284
  // Borrado en cascada del directorio — deleteByDirectoryId por dominio
package/bin/index.d.ts CHANGED
@@ -104,6 +104,7 @@ export * from "./walletFundingSettlement/index.js";
104
104
  export * from "./wallet-funding-rules/index.js";
105
105
  export * from "./sns-ses-connector/index.js";
106
106
  export * from "./twilio-connector/index.js";
107
+ export * from "./whatsapp-connector/index.js";
107
108
  export * from "./remittance-business/index.js";
108
109
  export * from "./modelias-connector/index.js";
109
110
  export * from "./beneficiary/index.js";
package/bin/index.js CHANGED
@@ -104,6 +104,7 @@ export * from "./walletFundingSettlement/index.js";
104
104
  export * from "./wallet-funding-rules/index.js";
105
105
  export * from "./sns-ses-connector/index.js";
106
106
  export * from "./twilio-connector/index.js";
107
+ export * from "./whatsapp-connector/index.js";
107
108
  export * from "./remittance-business/index.js";
108
109
  export * from "./modelias-connector/index.js";
109
110
  export * from "./beneficiary/index.js";
@@ -0,0 +1,11 @@
1
+ import type { IHttpRequest } from "@fiado/http-client";
2
+ import { ConnectorSendMessageRequest, ConnectorSendMessageResponse } from "@fiado/type-kit/bin/whatsappConnector/index.js";
3
+ import { IWhatsappConnectorApi } from "./interfaces/IWhatsappConnectorApi.js";
4
+ type FiadoApiResponse<T> = import("@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js").default<T>;
5
+ export default class WhatsappConnectorApi implements IWhatsappConnectorApi {
6
+ private httpRequest;
7
+ private readonly baseUrl;
8
+ constructor(httpRequest: IHttpRequest);
9
+ send(request: ConnectorSendMessageRequest): Promise<FiadoApiResponse<ConnectorSendMessageResponse>>;
10
+ }
11
+ export {};
@@ -0,0 +1,31 @@
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
+ import { joinUrl } from "../../utils/joinUrl.js";
15
+ let WhatsappConnectorApi = class WhatsappConnectorApi {
16
+ httpRequest;
17
+ baseUrl = process.env.WHATSAPP_CONNECTOR_LAMBDA_URL || "";
18
+ constructor(httpRequest) {
19
+ this.httpRequest = httpRequest;
20
+ }
21
+ async send(request) {
22
+ const url = joinUrl(this.baseUrl, "messages/send");
23
+ return await this.httpRequest.post(url, request, { operationName: "privateSendMessage" });
24
+ }
25
+ };
26
+ WhatsappConnectorApi = __decorate([
27
+ injectable(),
28
+ __param(0, inject("IHttpRequest")),
29
+ __metadata("design:paramtypes", [Object])
30
+ ], WhatsappConnectorApi);
31
+ export default WhatsappConnectorApi;
@@ -0,0 +1,10 @@
1
+ import { ConnectorSendMessageRequest, ConnectorSendMessageResponse } from "@fiado/type-kit/bin/whatsappConnector/index.js";
2
+ type FiadoApiResponse<T> = import("@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js").default<T>;
3
+ export interface IWhatsappConnectorApi {
4
+ /**
5
+ * Envía un mensaje ya resuelto al whatsapp-connector (POST /messages/send).
6
+ * messages-business resuelve plantilla y proveedor; el connector solo transmite a Meta.
7
+ */
8
+ send(request: ConnectorSendMessageRequest): Promise<FiadoApiResponse<ConnectorSendMessageResponse>>;
9
+ }
10
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from "./api/interfaces/IWhatsappConnectorApi.js";
2
+ export { default as WhatsappConnectorApi } from "./api/WhatsappConnectorApi.js";
@@ -0,0 +1,2 @@
1
+ export * from "./api/interfaces/IWhatsappConnectorApi.js";
2
+ export { default as WhatsappConnectorApi } from "./api/WhatsappConnectorApi.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/api-invoker",
3
- "version": "5.77.0",
3
+ "version": "5.78.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.418.0",
37
+ "@fiado/type-kit": "^3.422.0",
38
38
  "dotenv": "^16.4.7"
39
39
  },
40
40
  "peerDependencies": {
@@ -189,6 +189,8 @@ import { IWalletFundingRulesApi, WalletFundingRulesApi } from "./wallet-funding-
189
189
  import { ISnsSesConnectorApi, SnsSesConnectorApi } from "./sns-ses-connector/index.js";
190
190
  // Twilio connector — envío WhatsApp/SMS por Twilio (lee TWILIO_CONNECTOR_LAMBDA_URL)
191
191
  import { ITwilioConnectorApi, TwilioConnectorApi } from "./twilio-connector/index.js";
192
+ // Whatsapp connector — envío WhatsApp por Meta (lee WHATSAPP_CONNECTOR_LAMBDA_URL)
193
+ import { IWhatsappConnectorApi, WhatsappConnectorApi } from "./whatsapp-connector/index.js";
192
194
  // Remittance business — pricingResolve (Dashboard Ops Fase B, puente de resolución de precio en send-time)
193
195
  import { IRemittanceBusinessApi, RemittanceBusinessApi } from "./remittance-business/index.js";
194
196
  import { IBeneficiaryApi, BeneficiaryApi } from "./beneficiary/index.js";
@@ -366,6 +368,10 @@ export const apiInvokerBindings = new ContainerModule(({ bind }) => {
366
368
  // El consumidor necesita TWILIO_CONNECTOR_LAMBDA_URL desde el SSM `fiado-twilio-connector`.
367
369
  bind<ITwilioConnectorApi>("ITwilioConnectorApi").to(TwilioConnectorApi);
368
370
 
371
+ // Whatsapp connector — envío WhatsApp por Meta, elegido por el `provider` del senderConfig.
372
+ // El consumidor necesita WHATSAPP_CONNECTOR_LAMBDA_URL desde el SSM `whatsapp-connector`.
373
+ bind<IWhatsappConnectorApi>("IWhatsappConnectorApi").to(WhatsappConnectorApi);
374
+
369
375
  // Remittance business — pricingResolve (Dashboard Ops Fase B, puente de resolución de precio en send-time)
370
376
  bind<IRemittanceBusinessApi>("IRemittanceBusinessApi").to(RemittanceBusinessApi);
371
377
 
package/src/index.ts CHANGED
@@ -104,6 +104,7 @@ export * from "./walletFundingSettlement/index.js";
104
104
  export * from "./wallet-funding-rules/index.js";
105
105
  export * from "./sns-ses-connector/index.js";
106
106
  export * from "./twilio-connector/index.js";
107
+ export * from "./whatsapp-connector/index.js";
107
108
  export * from "./remittance-business/index.js";
108
109
  export * from "./modelias-connector/index.js";
109
110
  export * from "./beneficiary/index.js";
@@ -0,0 +1,19 @@
1
+ import { inject, injectable } from "inversify";
2
+ import type { IHttpRequest } from "@fiado/http-client";
3
+ import { ConnectorSendMessageRequest, ConnectorSendMessageResponse } from "@fiado/type-kit/bin/whatsappConnector/index.js";
4
+ import { IWhatsappConnectorApi } from "./interfaces/IWhatsappConnectorApi.js";
5
+ import { joinUrl } from "../../utils/joinUrl.js";
6
+
7
+ type FiadoApiResponse<T> = import("@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js").default<T>;
8
+
9
+ @injectable()
10
+ export default class WhatsappConnectorApi implements IWhatsappConnectorApi {
11
+ private readonly baseUrl = process.env.WHATSAPP_CONNECTOR_LAMBDA_URL || "";
12
+
13
+ constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) {}
14
+
15
+ async send(request: ConnectorSendMessageRequest): Promise<FiadoApiResponse<ConnectorSendMessageResponse>> {
16
+ const url = joinUrl(this.baseUrl, "messages/send");
17
+ return await this.httpRequest.post(url, request, { operationName: "privateSendMessage" });
18
+ }
19
+ }
@@ -0,0 +1,11 @@
1
+ import { ConnectorSendMessageRequest, ConnectorSendMessageResponse } from "@fiado/type-kit/bin/whatsappConnector/index.js";
2
+
3
+ type FiadoApiResponse<T> = import("@fiado/type-kit/bin/apiResponse/dtos/FiadoApiResponse.js").default<T>;
4
+
5
+ export interface IWhatsappConnectorApi {
6
+ /**
7
+ * Envía un mensaje ya resuelto al whatsapp-connector (POST /messages/send).
8
+ * messages-business resuelve plantilla y proveedor; el connector solo transmite a Meta.
9
+ */
10
+ send(request: ConnectorSendMessageRequest): Promise<FiadoApiResponse<ConnectorSendMessageResponse>>;
11
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./api/interfaces/IWhatsappConnectorApi.js";
2
+ export { default as WhatsappConnectorApi } from "./api/WhatsappConnectorApi.js";