@fiado/api-invoker 4.12.0 → 4.14.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
  import { ApiGatewayResponse } from "@fiado/gateway-adapter";
3
- import { CreateUserRequest, CreateUserResponse, UpdateUserAttributesRequest, UserActionRequest, ResendInvitationRequest, UserDetailResponse, AuthEventsRequest, AuthEventResponse, InitiateAuthRequest, InitiateAuthResponse, RespondToChallengeRequest, RespondToChallengeResponse, RefreshTokensRequest, RefreshTokensResponse, ForgotPasswordRequest, ConfirmForgotPasswordRequest, ResendConfirmationRequest, ChangePasswordRequest, TotpBeginRequest, TotpBeginResponse, TotpVerifyRequest, MfaVerifyResponse, SetMfaPreferenceRequest, MfaResetRequest, UpdateEmailRequest, VerifyEmailRequest, UpdateProfileRequest, CreatePoolRequest, CreatePoolResponse, HealthcheckResponse, VerifyPasswordRequest, VerifyPasswordResponse, IntrospectRequest, IntrospectResponse } from "@fiado/type-kit/bin/cognitoBackofficeConnector";
3
+ import { CreateUserRequest, CreateUserResponse, UpdateUserAttributesRequest, UserActionRequest, ResendInvitationRequest, SetUserPasswordRequest, UserDetailResponse, AuthEventsRequest, AuthEventResponse, InitiateAuthRequest, InitiateAuthResponse, RespondToChallengeRequest, RespondToChallengeResponse, RefreshTokensRequest, RefreshTokensResponse, ForgotPasswordRequest, ConfirmForgotPasswordRequest, ResendConfirmationRequest, ChangePasswordRequest, TotpBeginRequest, TotpBeginResponse, TotpVerifyRequest, MfaVerifyResponse, SetMfaPreferenceRequest, MfaResetRequest, UpdateEmailRequest, VerifyEmailRequest, UpdateProfileRequest, CreatePoolRequest, CreatePoolResponse, HealthcheckResponse, VerifyPasswordRequest, VerifyPasswordResponse, IntrospectRequest, IntrospectResponse } from "@fiado/type-kit/bin/cognitoBackofficeConnector";
4
4
  import { ICognitoBackofficeConnectorApi } from "./interfaces/ICognitoBackofficeConnectorApi";
5
5
  /**
6
6
  * Publisher HTTP del lambda `cognito-backoffice-connector` (componente 05 SureKeep Fase 0).
@@ -26,6 +26,9 @@ export default class CognitoBackofficeConnectorApi implements ICognitoBackoffice
26
26
  disableUser(cognitoSub: string, input: UserActionRequest): Promise<ApiGatewayResponse<void>>;
27
27
  enableUser(cognitoSub: string, input: UserActionRequest): Promise<ApiGatewayResponse<void>>;
28
28
  resetUserPassword(cognitoSub: string, input: UserActionRequest): Promise<ApiGatewayResponse<void>>;
29
+ setUserPassword(cognitoSub: string, input: SetUserPasswordRequest): Promise<ApiGatewayResponse<{
30
+ cognitoSub: string;
31
+ }>>;
29
32
  globalSignOut(cognitoSub: string, input: UserActionRequest): Promise<ApiGatewayResponse<void>>;
30
33
  resendInvitation(cognitoSub: string, input: ResendInvitationRequest): Promise<ApiGatewayResponse<{
31
34
  cognitoSub: string;
@@ -61,6 +61,10 @@ let CognitoBackofficeConnectorApi = class CognitoBackofficeConnectorApi {
61
61
  const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/password/reset`;
62
62
  return await this.httpRequest.post(url, input);
63
63
  }
64
+ async setUserPassword(cognitoSub, input) {
65
+ const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/password/set`;
66
+ return await this.httpRequest.post(url, input);
67
+ }
64
68
  async globalSignOut(cognitoSub, input) {
65
69
  const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/global-signout`;
66
70
  return await this.httpRequest.post(url, input);
@@ -1,5 +1,5 @@
1
1
  import { ApiGatewayResponse } from "@fiado/gateway-adapter";
2
- import { CreateUserRequest, CreateUserResponse, UpdateUserAttributesRequest, UserActionRequest, ResendInvitationRequest, UserDetailResponse, AuthEventsRequest, AuthEventResponse, InitiateAuthRequest, InitiateAuthResponse, RespondToChallengeRequest, RespondToChallengeResponse, RefreshTokensRequest, RefreshTokensResponse, ForgotPasswordRequest, ConfirmForgotPasswordRequest, ResendConfirmationRequest, ChangePasswordRequest, TotpBeginRequest, TotpBeginResponse, TotpVerifyRequest, MfaVerifyResponse, SetMfaPreferenceRequest, MfaResetRequest, UpdateEmailRequest, VerifyEmailRequest, UpdateProfileRequest, CreatePoolRequest, CreatePoolResponse, HealthcheckResponse, VerifyPasswordRequest, VerifyPasswordResponse, IntrospectRequest, IntrospectResponse } from "@fiado/type-kit/bin/cognitoBackofficeConnector";
2
+ import { CreateUserRequest, CreateUserResponse, UpdateUserAttributesRequest, UserActionRequest, ResendInvitationRequest, SetUserPasswordRequest, UserDetailResponse, AuthEventsRequest, AuthEventResponse, InitiateAuthRequest, InitiateAuthResponse, RespondToChallengeRequest, RespondToChallengeResponse, RefreshTokensRequest, RefreshTokensResponse, ForgotPasswordRequest, ConfirmForgotPasswordRequest, ResendConfirmationRequest, ChangePasswordRequest, TotpBeginRequest, TotpBeginResponse, TotpVerifyRequest, MfaVerifyResponse, SetMfaPreferenceRequest, MfaResetRequest, UpdateEmailRequest, VerifyEmailRequest, UpdateProfileRequest, CreatePoolRequest, CreatePoolResponse, HealthcheckResponse, VerifyPasswordRequest, VerifyPasswordResponse, IntrospectRequest, IntrospectResponse } from "@fiado/type-kit/bin/cognitoBackofficeConnector";
3
3
  /**
4
4
  * Contrato del publisher HTTP del lambda `cognito-backoffice-connector` (componente 05 SureKeep Fase 0).
5
5
  *
@@ -23,6 +23,14 @@ export interface ICognitoBackofficeConnectorApi {
23
23
  enableUser(cognitoSub: string, input: UserActionRequest): Promise<ApiGatewayResponse<void>>;
24
24
  /** POST /users/{cognitoSub}/password/reset — reset + globalSignOut encadenado (D1 connector). */
25
25
  resetUserPassword(cognitoSub: string, input: UserActionRequest): Promise<ApiGatewayResponse<void>>;
26
+ /**
27
+ * POST /users/{cognitoSub}/password/set — fija una password temporal admin
28
+ * (el `cognitoSub` viaja por path param). Distinto de `resetUserPassword`:
29
+ * acá el caller provee la `temporaryPassword` en vez de que Cognito la genere.
30
+ */
31
+ setUserPassword(cognitoSub: string, input: SetUserPasswordRequest): Promise<ApiGatewayResponse<{
32
+ cognitoSub: string;
33
+ }>>;
26
34
  /** POST /users/{cognitoSub}/global-signout — revoca todas las sesiones activas. */
27
35
  globalSignOut(cognitoSub: string, input: UserActionRequest): Promise<ApiGatewayResponse<void>>;
28
36
  /**
@@ -1,7 +1,7 @@
1
- import { IHttpRequest } from "@fiado/http-client";
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";
4
- import { RemittanceAddBeneficiaryRequest, RemittanceBeneficiary, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittancePayRequest, RemittancePayResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceStateDto, RemittanceUpdateBeneficiaryRequest } from "@fiado/type-kit/bin/remittance";
4
+ import { RemittanceAddBeneficiaryRequest, RemittanceBeneficiary, RemittanceCancelRequest, RemittanceCancelResponse, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittancePayRequest, RemittancePayResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceSmsRequest, RemittanceStateDto, RemittanceTransactionDetail, RemittanceTransactionReceipt, RemittanceTransactionsListRequest, RemittanceTransactionsListResponse, 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;
@@ -37,4 +37,11 @@ export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
37
37
  sendPreview(directoryId: string, request: RemittanceSendPreviewRequest): Promise<ApiGatewayResponse<RemittanceSendPreviewResponse>>;
38
38
  pay(directoryId: string, request: RemittancePayRequest): Promise<ApiGatewayResponse<RemittancePayResponse>>;
39
39
  getTransactionByMarketplaceRef(ref: string): Promise<ApiGatewayResponse<RemittancePayResponse>>;
40
+ listTransactions(directoryId: string, filters?: RemittanceTransactionsListRequest): Promise<ApiGatewayResponse<RemittanceTransactionsListResponse>>;
41
+ getTransaction(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionDetail>>;
42
+ getTransactionReceipt(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionReceipt>>;
43
+ cancelTransaction(directoryId: string, txNumber: string, request: RemittanceCancelRequest): Promise<ApiGatewayResponse<RemittanceCancelResponse>>;
44
+ smsTransactionAlert(directoryId: string, txNumber: string, request: RemittanceSmsRequest): Promise<ApiGatewayResponse<{
45
+ sent: boolean;
46
+ }>>;
40
47
  }
@@ -95,6 +95,26 @@ let UnitellerConnectorApi = class UnitellerConnectorApi {
95
95
  const url = `${this.baseUrl}/transactions/by-marketplace-ref/${encodeURIComponent(ref)}`;
96
96
  return await this.httpRequest.get(url);
97
97
  }
98
+ async listTransactions(directoryId, filters) {
99
+ const url = `${this.baseUrl}/transactions/list`;
100
+ return await this.httpRequest.post(url, { directoryId, ...(filters ?? {}) });
101
+ }
102
+ async getTransaction(directoryId, txNumber) {
103
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}`;
104
+ return await this.httpRequest.post(url, { directoryId });
105
+ }
106
+ async getTransactionReceipt(directoryId, txNumber) {
107
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/receipt`;
108
+ return await this.httpRequest.post(url, { directoryId });
109
+ }
110
+ async cancelTransaction(directoryId, txNumber, request) {
111
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/cancel`;
112
+ return await this.httpRequest.post(url, { directoryId, ...request });
113
+ }
114
+ async smsTransactionAlert(directoryId, txNumber, request) {
115
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/sms`;
116
+ return await this.httpRequest.post(url, { directoryId, ...request });
117
+ }
98
118
  };
99
119
  UnitellerConnectorApi = __decorate([
100
120
  (0, inversify_1.injectable)(),
@@ -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, RemittancePayRequest, RemittancePayResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceStateDto, RemittanceUpdateBeneficiaryRequest } from "@fiado/type-kit/bin/remittance";
3
+ import { RemittanceAddBeneficiaryRequest, RemittanceBeneficiary, RemittanceCancelRequest, RemittanceCancelResponse, RemittanceHomeResponse, RemittanceListBeneficiariesResponse, RemittanceOnboardRequest, RemittanceOnboardResponse, RemittancePayRequest, RemittancePayResponse, RemittancePayerAdditionalFieldDto, RemittancePayerBranchDto, RemittancePayerDto, RemittanceQuoteRequest, RemittanceQuoteResponse, RemittanceSecurityQuestionsResponse, RemittanceSendPreviewRequest, RemittanceSendPreviewResponse, RemittanceSmsRequest, RemittanceStateDto, RemittanceTransactionDetail, RemittanceTransactionReceipt, RemittanceTransactionsListRequest, RemittanceTransactionsListResponse, 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>>;
@@ -62,4 +62,23 @@ export interface IUnitellerConnectorApi {
62
62
  * Lo consume el consult() de benefits-marketplace para el cron de timeout.
63
63
  */
64
64
  getTransactionByMarketplaceRef(ref: string): Promise<ApiGatewayResponse<RemittancePayResponse>>;
65
+ /**
66
+ * Historial paginado del usuario (lee RemittanceTransactions_GT, D-F7.1).
67
+ * Cursor estándar Fiado: `filters.index` opaco; el siguiente viene en
68
+ * `response.index`.
69
+ */
70
+ listTransactions(directoryId: string, filters?: RemittanceTransactionsListRequest): Promise<ApiGatewayResponse<RemittanceTransactionsListResponse>>;
71
+ /** Detalle de una tx (status reconciliado contra UNIR, D-F7.2). */
72
+ getTransaction(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionDetail>>;
73
+ /** Recibo HTML-APP de una tx (UNIR TransactionReceipt). */
74
+ getTransactionReceipt(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionReceipt>>;
75
+ /**
76
+ * Cancela una tx (UNIR v2/CancelTransaction + status local CANCELLED).
77
+ * NO reintegra el wallet (procesador diferido — TODO F7).
78
+ */
79
+ cancelTransaction(directoryId: string, txNumber: string, request: RemittanceCancelRequest): Promise<ApiGatewayResponse<RemittanceCancelResponse>>;
80
+ /** SMS de UNIR al beneficiario de la tx (max 3 por tx). ⚠ gated por smoke. */
81
+ smsTransactionAlert(directoryId: string, txNumber: string, request: RemittanceSmsRequest): Promise<ApiGatewayResponse<{
82
+ sent: boolean;
83
+ }>>;
65
84
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/api-invoker",
3
- "version": "4.12.0",
3
+ "version": "4.14.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.61.0",
20
+ "@fiado/type-kit": "^3.67.0",
21
21
  "dotenv": "^16.4.7"
22
22
  },
23
23
  "peerDependencies": {
@@ -7,6 +7,7 @@ import {
7
7
  UpdateUserAttributesRequest,
8
8
  UserActionRequest,
9
9
  ResendInvitationRequest,
10
+ SetUserPasswordRequest,
10
11
  UserDetailResponse,
11
12
  AuthEventsRequest,
12
13
  AuthEventResponse,
@@ -116,6 +117,14 @@ export default class CognitoBackofficeConnectorApi implements ICognitoBackoffice
116
117
  return await this.httpRequest.post(url, input);
117
118
  }
118
119
 
120
+ async setUserPassword(
121
+ cognitoSub: string,
122
+ input: SetUserPasswordRequest,
123
+ ): Promise<ApiGatewayResponse<{ cognitoSub: string }>> {
124
+ const url = `${this.baseUrl}/users/${encodeURIComponent(cognitoSub)}/password/set`;
125
+ return await this.httpRequest.post(url, input);
126
+ }
127
+
119
128
  async globalSignOut(
120
129
  cognitoSub: string,
121
130
  input: UserActionRequest,
@@ -5,6 +5,7 @@ import {
5
5
  UpdateUserAttributesRequest,
6
6
  UserActionRequest,
7
7
  ResendInvitationRequest,
8
+ SetUserPasswordRequest,
8
9
  UserDetailResponse,
9
10
  AuthEventsRequest,
10
11
  AuthEventResponse,
@@ -81,6 +82,16 @@ export interface ICognitoBackofficeConnectorApi {
81
82
  input: UserActionRequest,
82
83
  ): Promise<ApiGatewayResponse<void>>;
83
84
 
85
+ /**
86
+ * POST /users/{cognitoSub}/password/set — fija una password temporal admin
87
+ * (el `cognitoSub` viaja por path param). Distinto de `resetUserPassword`:
88
+ * acá el caller provee la `temporaryPassword` en vez de que Cognito la genere.
89
+ */
90
+ setUserPassword(
91
+ cognitoSub: string,
92
+ input: SetUserPasswordRequest,
93
+ ): Promise<ApiGatewayResponse<{ cognitoSub: string }>>;
94
+
84
95
  /** POST /users/{cognitoSub}/global-signout — revoca todas las sesiones activas. */
85
96
  globalSignOut(
86
97
  cognitoSub: string,
@@ -1,10 +1,12 @@
1
1
  import { inject, injectable } from "inversify";
2
- import { IHttpRequest } from "@fiado/http-client";
2
+ 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";
5
5
  import {
6
6
  RemittanceAddBeneficiaryRequest,
7
7
  RemittanceBeneficiary,
8
+ RemittanceCancelRequest,
9
+ RemittanceCancelResponse,
8
10
  RemittanceHomeResponse,
9
11
  RemittanceListBeneficiariesResponse,
10
12
  RemittanceOnboardRequest,
@@ -19,7 +21,12 @@ import {
19
21
  RemittanceSecurityQuestionsResponse,
20
22
  RemittanceSendPreviewRequest,
21
23
  RemittanceSendPreviewResponse,
24
+ RemittanceSmsRequest,
22
25
  RemittanceStateDto,
26
+ RemittanceTransactionDetail,
27
+ RemittanceTransactionReceipt,
28
+ RemittanceTransactionsListRequest,
29
+ RemittanceTransactionsListResponse,
23
30
  RemittanceUpdateBeneficiaryRequest,
24
31
  } from "@fiado/type-kit/bin/remittance";
25
32
  import { IUnitellerConnectorApi } from "./interfaces/IUnitellerConnectorApi";
@@ -122,4 +129,29 @@ export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
122
129
  const url = `${this.baseUrl}/transactions/by-marketplace-ref/${encodeURIComponent(ref)}`;
123
130
  return await this.httpRequest.get(url);
124
131
  }
132
+
133
+ async listTransactions(directoryId: string, filters?: RemittanceTransactionsListRequest): Promise<ApiGatewayResponse<RemittanceTransactionsListResponse>> {
134
+ const url = `${this.baseUrl}/transactions/list`;
135
+ return await this.httpRequest.post(url, { directoryId, ...(filters ?? {}) });
136
+ }
137
+
138
+ async getTransaction(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionDetail>> {
139
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}`;
140
+ return await this.httpRequest.post(url, { directoryId });
141
+ }
142
+
143
+ async getTransactionReceipt(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionReceipt>> {
144
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/receipt`;
145
+ return await this.httpRequest.post(url, { directoryId });
146
+ }
147
+
148
+ async cancelTransaction(directoryId: string, txNumber: string, request: RemittanceCancelRequest): Promise<ApiGatewayResponse<RemittanceCancelResponse>> {
149
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/cancel`;
150
+ return await this.httpRequest.post(url, { directoryId, ...request });
151
+ }
152
+
153
+ async smsTransactionAlert(directoryId: string, txNumber: string, request: RemittanceSmsRequest): Promise<ApiGatewayResponse<{ sent: boolean }>> {
154
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/sms`;
155
+ return await this.httpRequest.post(url, { directoryId, ...request });
156
+ }
125
157
  }
@@ -3,6 +3,8 @@ import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter";
3
3
  import {
4
4
  RemittanceAddBeneficiaryRequest,
5
5
  RemittanceBeneficiary,
6
+ RemittanceCancelRequest,
7
+ RemittanceCancelResponse,
6
8
  RemittanceHomeResponse,
7
9
  RemittanceListBeneficiariesResponse,
8
10
  RemittanceOnboardRequest,
@@ -17,7 +19,12 @@ import {
17
19
  RemittanceSecurityQuestionsResponse,
18
20
  RemittanceSendPreviewRequest,
19
21
  RemittanceSendPreviewResponse,
22
+ RemittanceSmsRequest,
20
23
  RemittanceStateDto,
24
+ RemittanceTransactionDetail,
25
+ RemittanceTransactionReceipt,
26
+ RemittanceTransactionsListRequest,
27
+ RemittanceTransactionsListResponse,
21
28
  RemittanceUpdateBeneficiaryRequest,
22
29
  } from "@fiado/type-kit/bin/remittance";
23
30
 
@@ -99,4 +106,28 @@ export interface IUnitellerConnectorApi {
99
106
  * Lo consume el consult() de benefits-marketplace para el cron de timeout.
100
107
  */
101
108
  getTransactionByMarketplaceRef(ref: string): Promise<ApiGatewayResponse<RemittancePayResponse>>;
109
+
110
+ // ─── Historial + Cancel + Recibo + SMS (F7) ─────────────────────────────────
111
+
112
+ /**
113
+ * Historial paginado del usuario (lee RemittanceTransactions_GT, D-F7.1).
114
+ * Cursor estándar Fiado: `filters.index` opaco; el siguiente viene en
115
+ * `response.index`.
116
+ */
117
+ listTransactions(directoryId: string, filters?: RemittanceTransactionsListRequest): Promise<ApiGatewayResponse<RemittanceTransactionsListResponse>>;
118
+
119
+ /** Detalle de una tx (status reconciliado contra UNIR, D-F7.2). */
120
+ getTransaction(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionDetail>>;
121
+
122
+ /** Recibo HTML-APP de una tx (UNIR TransactionReceipt). */
123
+ getTransactionReceipt(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionReceipt>>;
124
+
125
+ /**
126
+ * Cancela una tx (UNIR v2/CancelTransaction + status local CANCELLED).
127
+ * NO reintegra el wallet (procesador diferido — TODO F7).
128
+ */
129
+ cancelTransaction(directoryId: string, txNumber: string, request: RemittanceCancelRequest): Promise<ApiGatewayResponse<RemittanceCancelResponse>>;
130
+
131
+ /** SMS de UNIR al beneficiario de la tx (max 3 por tx). ⚠ gated por smoke. */
132
+ smsTransactionAlert(directoryId: string, txNumber: string, request: RemittanceSmsRequest): Promise<ApiGatewayResponse<{ sent: boolean }>>;
102
133
  }