@fiado/api-invoker 5.74.0 → 5.75.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,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, TemplateMessageCreateRequest, TemplateMessageUpdateRequest, TemplateMessageResponse, TemplateMessageListResponse, TemplateMessageListFiltersRequest, SendMessagesBulkRequest, SendMessagesBulkResponse, MdmNotifyRequest, MdmNotifyBatchResponse } 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;
@@ -9,6 +9,8 @@ export declare class MessagesBusinessApi implements IMessagesBusinessApi {
9
9
  sendMessage(request: SendMessageRequest): Promise<FiadoApiResponse<SendMessageResponse>>;
10
10
  verifyOtp(request: VerifyOtpRequest): Promise<FiadoApiResponse<VerifyOtpResponse>>;
11
11
  getValidatedOtp(directoryId: string, otpCode: string): Promise<FiadoApiResponse<OtpValidatedResponse>>;
12
+ sendMessagesBulk(request: SendMessagesBulkRequest): Promise<FiadoApiResponse<SendMessagesBulkResponse>>;
13
+ notifyMdmDevices(request: MdmNotifyRequest): Promise<FiadoApiResponse<MdmNotifyBatchResponse>>;
12
14
  createTemplate(tenantId: string, request: TemplateMessageCreateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>>;
13
15
  listTemplates(tenantId: string, filters: TemplateMessageListFiltersRequest): Promise<FiadoApiResponse<TemplateMessageListResponse>>;
14
16
  getTemplate(tenantId: string, id: string): Promise<FiadoApiResponse<TemplateMessageResponse>>;
@@ -29,6 +29,12 @@ let MessagesBusinessApi = class MessagesBusinessApi {
29
29
  async getValidatedOtp(directoryId, otpCode) {
30
30
  return await this.httpRequest.get(`${this.baseUrl}messages/otp/validated`, { directoryId, otpCode }, { 'operationName': 'privateGetValidatedOtp' });
31
31
  }
32
+ async sendMessagesBulk(request) {
33
+ return await this.httpRequest.post(joinUrl(this.baseUrl, 'messages/bulk'), request, { 'operationName': 'privateSendMessagesBulk' });
34
+ }
35
+ async notifyMdmDevices(request) {
36
+ return await this.httpRequest.post(joinUrl(this.baseUrl, 'messages/mdm-notify'), request, { 'operationName': 'privateNotifyMdmDevices' });
37
+ }
32
38
  async createTemplate(tenantId, request) {
33
39
  const url = this.withTenantId(joinUrl(this.baseUrl, 'templates'), tenantId);
34
40
  return await this.httpRequest.post(url, request, { 'operationName': 'backofficeCreateTemplate' });
@@ -1,9 +1,30 @@
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, TemplateMessageCreateRequest, TemplateMessageUpdateRequest, TemplateMessageResponse, TemplateMessageListResponse, TemplateMessageListFiltersRequest, SendMessagesBulkRequest, SendMessagesBulkResponse, MdmNotifyRequest, MdmNotifyBatchResponse } 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
  getValidatedOtp(directoryId: string, otpCode: string): Promise<FiadoApiResponse<OtpValidatedResponse>>;
7
+ /**
8
+ * La unica entrada de mensajes a mensajeria. Recibe un lote con los canales mezclados y lo
9
+ * ENCOLA: la entrega sigue por la cola, con sus reintentos y su DLQ.
10
+ *
11
+ * Responde 202 con un resultado POR ITEM — un telefono malo no tumba los otros noventa y
12
+ * nueve — y rechaza el lote entero con 422 MESSAGES_BULK_BATCH_TOO_LARGE si pasa el tope
13
+ * `MESSAGES_BULK_MAX_BATCH` del type-kit.
14
+ *
15
+ * La `reference` de cada item es la llave de idempotencia: repetirla devuelve ese item con
16
+ * `DUPLICATE_REFERENCE` en vez de encolarlo de nuevo.
17
+ */
18
+ sendMessagesBulk(request: SendMessagesBulkRequest): Promise<FiadoApiResponse<SendMessagesBulkResponse>>;
19
+ /**
20
+ * Avisa en la pantalla del equipo financiado. Puerta aparte del lote a proposito: el item
21
+ * lleva IMEI y proveedor en vez de destinatario y variables.
22
+ *
23
+ * Mensajeria resuelve el texto del `noticeType` contra el catalogo, agrupa por proveedor y
24
+ * hace UN `notifyDevices()` por grupo. Responde 202 con un resultado por IMEI; el proveedor
25
+ * caido llega como ERROR de ese item, nunca como dato invalido.
26
+ */
27
+ notifyMdmDevices(request: MdmNotifyRequest): Promise<FiadoApiResponse<MdmNotifyBatchResponse>>;
7
28
  /**
8
29
  * CRUD de plantillas. Los cinco viven en la API privada sin authorizer, asi que el `tenantId`
9
30
  * 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.74.0",
3
+ "version": "5.75.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.407.0",
37
+ "@fiado/type-kit": "^3.417.0",
38
38
  "dotenv": "^16.4.7"
39
39
  },
40
40
  "peerDependencies": {
@@ -7,6 +7,8 @@ import {
7
7
  OtpValidatedResponse,
8
8
  TemplateMessageCreateRequest, TemplateMessageUpdateRequest,
9
9
  TemplateMessageResponse, TemplateMessageListResponse, TemplateMessageListFiltersRequest,
10
+ SendMessagesBulkRequest, SendMessagesBulkResponse,
11
+ MdmNotifyRequest, MdmNotifyBatchResponse,
10
12
  } from '@fiado/type-kit/bin/messagesConnector/index.js';
11
13
  import { IMessagesBusinessApi } from './interfaces/IMessagesBusinessApi.js';
12
14
  import { joinUrl } from '../../utils/joinUrl.js';
@@ -31,6 +33,14 @@ export class MessagesBusinessApi implements IMessagesBusinessApi {
31
33
  return await this.httpRequest.get(`${this.baseUrl}messages/otp/validated`, { directoryId, otpCode }, { 'operationName': 'privateGetValidatedOtp' });
32
34
  }
33
35
 
36
+ async sendMessagesBulk(request: SendMessagesBulkRequest): Promise<FiadoApiResponse<SendMessagesBulkResponse>> {
37
+ return await this.httpRequest.post(joinUrl(this.baseUrl, 'messages/bulk'), request, { 'operationName': 'privateSendMessagesBulk' });
38
+ }
39
+
40
+ async notifyMdmDevices(request: MdmNotifyRequest): Promise<FiadoApiResponse<MdmNotifyBatchResponse>> {
41
+ return await this.httpRequest.post(joinUrl(this.baseUrl, 'messages/mdm-notify'), request, { 'operationName': 'privateNotifyMdmDevices' });
42
+ }
43
+
34
44
  async createTemplate(tenantId: string, request: TemplateMessageCreateRequest): Promise<FiadoApiResponse<TemplateMessageResponse>> {
35
45
  const url = this.withTenantId(joinUrl(this.baseUrl, 'templates'), tenantId);
36
46
  return await this.httpRequest.post(url, request, { 'operationName': 'backofficeCreateTemplate' });
@@ -5,6 +5,8 @@ import {
5
5
  OtpValidatedResponse,
6
6
  TemplateMessageCreateRequest, TemplateMessageUpdateRequest,
7
7
  TemplateMessageResponse, TemplateMessageListResponse, TemplateMessageListFiltersRequest,
8
+ SendMessagesBulkRequest, SendMessagesBulkResponse,
9
+ MdmNotifyRequest, MdmNotifyBatchResponse,
8
10
  } from '@fiado/type-kit/bin/messagesConnector/index.js';
9
11
 
10
12
  export interface IMessagesBusinessApi {
@@ -12,6 +14,29 @@ export interface IMessagesBusinessApi {
12
14
  verifyOtp(request: VerifyOtpRequest): Promise<FiadoApiResponse<VerifyOtpResponse>>;
13
15
  getValidatedOtp(directoryId: string, otpCode: string): Promise<FiadoApiResponse<OtpValidatedResponse>>;
14
16
 
17
+ /**
18
+ * La unica entrada de mensajes a mensajeria. Recibe un lote con los canales mezclados y lo
19
+ * ENCOLA: la entrega sigue por la cola, con sus reintentos y su DLQ.
20
+ *
21
+ * Responde 202 con un resultado POR ITEM — un telefono malo no tumba los otros noventa y
22
+ * nueve — y rechaza el lote entero con 422 MESSAGES_BULK_BATCH_TOO_LARGE si pasa el tope
23
+ * `MESSAGES_BULK_MAX_BATCH` del type-kit.
24
+ *
25
+ * La `reference` de cada item es la llave de idempotencia: repetirla devuelve ese item con
26
+ * `DUPLICATE_REFERENCE` en vez de encolarlo de nuevo.
27
+ */
28
+ sendMessagesBulk(request: SendMessagesBulkRequest): Promise<FiadoApiResponse<SendMessagesBulkResponse>>;
29
+
30
+ /**
31
+ * Avisa en la pantalla del equipo financiado. Puerta aparte del lote a proposito: el item
32
+ * lleva IMEI y proveedor en vez de destinatario y variables.
33
+ *
34
+ * Mensajeria resuelve el texto del `noticeType` contra el catalogo, agrupa por proveedor y
35
+ * hace UN `notifyDevices()` por grupo. Responde 202 con un resultado por IMEI; el proveedor
36
+ * caido llega como ERROR de ese item, nunca como dato invalido.
37
+ */
38
+ notifyMdmDevices(request: MdmNotifyRequest): Promise<FiadoApiResponse<MdmNotifyBatchResponse>>;
39
+
15
40
  /**
16
41
  * CRUD de plantillas. Los cinco viven en la API privada sin authorizer, asi que el `tenantId`
17
42
  * es obligatorio y explicito: el lambda responde 400 TENANT_ID_REQUIRED si no llega.