@fiado/api-invoker 4.13.0 → 4.15.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.
Files changed (281) hide show
  1. package/.claude/settings.json +33 -33
  2. package/README.md +600 -600
  3. package/bin/uniteller-connector/api/UnitellerConnectorApi.d.ts +29 -2
  4. package/bin/uniteller-connector/api/UnitellerConnectorApi.js +51 -0
  5. package/bin/uniteller-connector/api/interfaces/IUnitellerConnectorApi.d.ts +42 -1
  6. package/package.json +37 -37
  7. package/src/account-beneficiary/AccountBeneficiaryApi.ts +18 -18
  8. package/src/account-beneficiary/index.ts +2 -2
  9. package/src/account-beneficiary/interfaces/IAccountBeneficiaryApi.ts +7 -7
  10. package/src/account-fiadoinc/AccountFiadoIncApi.ts +126 -126
  11. package/src/account-fiadoinc/index.ts +4 -4
  12. package/src/account-fiadoinc/interfaces/IAccountFiadoIncApi.ts +50 -50
  13. package/src/account-fiadoinc/queue/Publisher.ts +23 -23
  14. package/src/account-fiadoinc/queue/interfaces/IPublisher.ts +4 -4
  15. package/src/account-fiadosa/AccountFiadoSAApi.ts +38 -38
  16. package/src/account-fiadosa/index.ts +1 -1
  17. package/src/account-fiadosa/interfaces/IAccountFiadoSAApi.ts +16 -16
  18. package/src/account-pagoconfiado/AccountPagoConfiadoApi.ts +78 -78
  19. package/src/account-pagoconfiado/index.ts +2 -2
  20. package/src/account-pagoconfiado/interfaces/IAccountPagoConfiadoApi.ts +37 -37
  21. package/src/activity-business/ActivityApi.ts +36 -36
  22. package/src/activity-business/index.ts +5 -5
  23. package/src/activity-business/interfaces/IActivityApi.ts +13 -13
  24. package/src/activity-business/queue/ActivityPublisher.ts +30 -30
  25. package/src/activity-business/queue/IActivityPublisher.ts +4 -4
  26. package/src/address/AddressApi.ts +46 -46
  27. package/src/address/index.ts +3 -3
  28. package/src/address/interfaces/IAddressApi.ts +30 -30
  29. package/src/ai-engine-connector/AiEngineApi.ts +28 -28
  30. package/src/ai-engine-connector/index.ts +2 -2
  31. package/src/ai-engine-connector/interfaces/IAiEngineApi.ts +6 -6
  32. package/src/appselectondata/AppSelectionDataApi.ts +32 -32
  33. package/src/appselectondata/index.ts +2 -2
  34. package/src/appselectondata/interfaces/IAppSelectionDataApi.ts +17 -17
  35. package/src/authentication/AuthenticationApi.ts +29 -29
  36. package/src/authentication/index.ts +4 -4
  37. package/src/authentication/interfaces/IAuthenticationApi.ts +8 -8
  38. package/src/bankAccount/BankAccountApi.ts +34 -34
  39. package/src/bankAccount/index.ts +1 -1
  40. package/src/bankAccount/interfaces/IBankAccountApi.ts +6 -6
  41. package/src/bbvaRst/api/BBVARstApi.ts +16 -16
  42. package/src/bbvaRst/api/interfaces/IBBVARstApi.ts +4 -4
  43. package/src/bbvaRst/index.ts +1 -1
  44. package/src/benefits-marketplace/api/BenefitsMarketplaceApi.ts +35 -35
  45. package/src/benefits-marketplace/api/dtos/BenefitLeafDisplayResponse.ts +33 -33
  46. package/src/benefits-marketplace/api/interfaces/IBenefitsMarketplaceApi.ts +62 -62
  47. package/src/benefits-marketplace/index.ts +3 -3
  48. package/src/blacklist/BlackListApi.ts +19 -19
  49. package/src/blacklist/index.ts +2 -2
  50. package/src/blacklist/interfaces/IBlackListApi.ts +20 -20
  51. package/src/card/CardApi.ts +103 -103
  52. package/src/card/index.ts +3 -3
  53. package/src/card/interfaces/ICardApi.ts +32 -32
  54. package/src/card-business/index.ts +2 -2
  55. package/src/card-business/queue/CardBusinessPublisher.ts +23 -23
  56. package/src/card-business/queue/ICardBusinessPublisher.ts +10 -10
  57. package/src/centralPayments/CentralPaymentsConnectorApi.ts +317 -317
  58. package/src/centralPayments/index.ts +1 -1
  59. package/src/centralPayments/interfaces/ICentralPaymentsConnectorApi.ts +153 -153
  60. package/src/circuloCredito/api/CirculoCreditoApi.ts +21 -21
  61. package/src/circuloCredito/api/interfaces/ICirculoCreditoApi.ts +7 -7
  62. package/src/circuloCredito/index.ts +2 -2
  63. package/src/cnbv-business/CnbvApi.ts +31 -31
  64. package/src/cnbv-business/index.ts +4 -4
  65. package/src/cnbv-business/interfaces/ICnbvApi.ts +19 -19
  66. package/src/cnbv-connector/CnbvConnectorApi.ts +18 -18
  67. package/src/cnbv-connector/index.ts +1 -1
  68. package/src/cnbv-connector/interfaces/ICnbvConnectorApi.ts +6 -6
  69. package/src/cognitoBackofficeConnector/api/CognitoBackofficeConnectorApi.ts +281 -281
  70. package/src/cognitoBackofficeConnector/api/interfaces/ICognitoBackofficeConnectorApi.ts +216 -216
  71. package/src/cognitoBackofficeConnector/index.ts +2 -2
  72. package/src/cognitoConnector/CognitoConnectorApi.ts +112 -112
  73. package/src/cognitoConnector/CognitoConnectorV2.ts +87 -87
  74. package/src/cognitoConnector/index.ts +11 -11
  75. package/src/cognitoConnector/interfaces/ICognitoConnectorApi.ts +16 -16
  76. package/src/cognitoConnector/interfaces/ICognitoV2Api.ts +63 -63
  77. package/src/collector/CollectorApi.ts +97 -97
  78. package/src/collector/index.ts +2 -2
  79. package/src/collector/interfaces/ICollectorApi.ts +47 -47
  80. package/src/commission-business/CommissionBusinessApi.ts +19 -19
  81. package/src/commission-business/index.ts +3 -3
  82. package/src/commission-business/interfaces/ICommissionBusinessApi.ts +15 -15
  83. package/src/contactInformation/ContactInformationApi.ts +20 -20
  84. package/src/contactInformation/index.ts +2 -2
  85. package/src/contactInformation/interface/IContactInformationApi.ts +8 -8
  86. package/src/container.config.ts +294 -294
  87. package/src/contract-business/api/ContractBusinessApi.ts +37 -37
  88. package/src/contract-business/api/interfaces/IContractBusinessApi.ts +32 -32
  89. package/src/contract-business/index.ts +2 -2
  90. package/src/contract-generator/ContractGeneratorApi.ts +18 -18
  91. package/src/contract-generator/index.ts +2 -2
  92. package/src/contract-generator/interfaces/IContractGeneratorApi.ts +16 -16
  93. package/src/countries-business/CountriesBusinessApi.ts +26 -26
  94. package/src/countries-business/index.ts +2 -2
  95. package/src/countries-business/interfaces/ICountriesBusinessApi.ts +22 -22
  96. package/src/credit-engine/CreditEngineApi.ts +54 -54
  97. package/src/credit-engine/index.ts +17 -17
  98. package/src/credit-engine/interfaces/ICreditEngineApi.ts +46 -46
  99. package/src/credit-engine/queue/CreditCollectionPublisher.ts +24 -24
  100. package/src/credit-engine/queue/CreditDelinquencyPublisher.ts +24 -24
  101. package/src/credit-engine/queue/CreditIncomeDetectionPublisher.ts +24 -24
  102. package/src/credit-engine/queue/CreditLienCollectionPublisher.ts +24 -24
  103. package/src/credit-engine/queue/CreditNotificationPublisher.ts +24 -24
  104. package/src/credit-engine/queue/CreditOfferGenerationPublisher.ts +24 -24
  105. package/src/credit-engine/queue/CreditReconciliationPublisher.ts +24 -24
  106. package/src/credit-engine/queue/CreditScoringPublisher.ts +24 -24
  107. package/src/credit-engine/queue/CreditStatementPublisher.ts +24 -24
  108. package/src/credit-engine/queue/CreditTransferPublisher.ts +24 -24
  109. package/src/credit-engine/queue/interfaces/ICreditCollectionPublisher.ts +5 -5
  110. package/src/credit-engine/queue/interfaces/ICreditDelinquencyPublisher.ts +5 -5
  111. package/src/credit-engine/queue/interfaces/ICreditIncomeDetectionPublisher.ts +5 -5
  112. package/src/credit-engine/queue/interfaces/ICreditLienCollectionPublisher.ts +5 -5
  113. package/src/credit-engine/queue/interfaces/ICreditNotificationPublisher.ts +5 -5
  114. package/src/credit-engine/queue/interfaces/ICreditOfferGenerationPublisher.ts +5 -5
  115. package/src/credit-engine/queue/interfaces/ICreditReconciliationPublisher.ts +5 -5
  116. package/src/credit-engine/queue/interfaces/ICreditScoringPublisher.ts +5 -5
  117. package/src/credit-engine/queue/interfaces/ICreditStatementPublisher.ts +5 -5
  118. package/src/credit-engine/queue/interfaces/ICreditTransferPublisher.ts +5 -5
  119. package/src/credit-payment/CreditPaymentApi.ts +73 -73
  120. package/src/credit-payment/index.ts +2 -2
  121. package/src/credit-payment/interfaces/ICreditPaymentApi.ts +52 -52
  122. package/src/credit-statements/api/CreditStatementsApi.ts +25 -25
  123. package/src/credit-statements/api/interfaces/ICreditStatementsApi.ts +30 -30
  124. package/src/credit-statements/index.ts +2 -2
  125. package/src/device/DeviceApi.ts +32 -32
  126. package/src/device/index.ts +2 -2
  127. package/src/device/interfaces/IDeviceApi.ts +41 -41
  128. package/src/directories/DirectoriesApi.ts +68 -68
  129. package/src/directories/index.ts +3 -3
  130. package/src/directories/interfaces/IDirectoriesApi.ts +21 -21
  131. package/src/directory/DirectoryApi.ts +196 -196
  132. package/src/directory/index.ts +3 -3
  133. package/src/directory/interfaces/IDirectoryApi.ts +73 -73
  134. package/src/directorySetting/DirectorySettingApi.ts +42 -42
  135. package/src/directorySetting/index.ts +3 -3
  136. package/src/directorySetting/interfaces/IDirectorySettingApi.ts +56 -56
  137. package/src/disputes/DisputesApi.ts +50 -50
  138. package/src/disputes/index.ts +2 -2
  139. package/src/disputes/interfaces/IDisputesApi.ts +54 -54
  140. package/src/document-generator/DocumentGeneratorApi.ts +51 -51
  141. package/src/document-generator/index.ts +2 -2
  142. package/src/document-generator/interfaces/IDocumentGeneratorApi.ts +34 -34
  143. package/src/document-image-processor/DocumentImageProcessorApi.ts +22 -22
  144. package/src/document-image-processor/index.ts +1 -1
  145. package/src/document-image-processor/interfaces/IDocumentImageProcessorApi.ts +7 -7
  146. package/src/estafeta/api/EstafetaApi.ts +67 -67
  147. package/src/estafeta/api/interfaces/IEstafetaApi.ts +28 -28
  148. package/src/estafeta/index.ts +1 -1
  149. package/src/event-history-business/EventHistoryApi.ts +108 -108
  150. package/src/event-history-business/index.ts +3 -3
  151. package/src/event-history-business/interfaces/IEventHistoryApi.ts +47 -47
  152. package/src/exchangeRates/ExchangeRatesApi.ts +27 -27
  153. package/src/exchangeRates/index.ts +1 -1
  154. package/src/exchangeRates/interfaces/IExchangeRatesApi.ts +8 -8
  155. package/src/fiadoMessages/api/FiadoMessagesApi.ts +20 -20
  156. package/src/fiadoMessages/api/interfaces/IFiadoMessagesApi.ts +2 -2
  157. package/src/fiadoMessages/index.ts +1 -1
  158. package/src/firebase-connector/FirebaseConnectorApi.ts +53 -53
  159. package/src/firebase-connector/index.ts +3 -3
  160. package/src/firebase-connector/interfaces/IFirebaseConnectorApi.ts +6 -6
  161. package/src/fraudPreventionEngine/api/FraudPreventionEngineApi.ts +22 -22
  162. package/src/fraudPreventionEngine/api/interfaces/IFraudPreventionEngineApi.ts +7 -7
  163. package/src/fraudPreventionEngine/index.ts +1 -1
  164. package/src/group/GroupApi.ts +69 -69
  165. package/src/group/index.ts +1 -1
  166. package/src/group/interfaces/IGroupApi.ts +40 -40
  167. package/src/identity/IdentityApi.ts +95 -95
  168. package/src/identity/index.ts +3 -3
  169. package/src/identity/interfaces/IIdentityApi.ts +46 -46
  170. package/src/index.ts +79 -79
  171. package/src/legalDocument/api/LegalDocumentApi.ts +38 -38
  172. package/src/legalDocument/api/interfaces/ILegalDocumentApi.ts +7 -7
  173. package/src/legalDocument/index.ts +3 -3
  174. package/src/milestone-business/api/MilestoneBusinessApi.ts +26 -26
  175. package/src/milestone-business/api/interfaces/IMilestoneBusinessApi.ts +9 -9
  176. package/src/milestone-business/index.ts +2 -2
  177. package/src/multicommServicePayment/api/MulticommServicePaymentApi.ts +119 -119
  178. package/src/multicommServicePayment/api/interfaces/IMulticommServicePaymentApi.ts +52 -52
  179. package/src/multicommServicePayment/index.ts +1 -1
  180. package/src/notificationMessages/index.ts +1 -1
  181. package/src/notificationMessages/queue/NotificationMessagePublisher.ts +42 -42
  182. package/src/notificationMessages/queue/interfaces/INotificationMessagesPublisher.ts +7 -7
  183. package/src/notificationWebsockets/index.ts +1 -1
  184. package/src/notificationWebsockets/queue/NotificationWSMessagePublisher.ts +29 -29
  185. package/src/notificationWebsockets/queue/interfaces/INotificationWSMessagesPublisher.ts +4 -4
  186. package/src/observations/ObservationsApi.ts +23 -23
  187. package/src/observations/index.ts +3 -3
  188. package/src/observations/interfaces/IObservationsApi.ts +9 -9
  189. package/src/onboarding/api/OnboardingApi.ts +23 -23
  190. package/src/onboarding/api/interfaces/IOnboardingApi.ts +3 -3
  191. package/src/onboarding/index.ts +1 -1
  192. package/src/onboarding-business/api/OnboardingBusinessApi.ts +210 -210
  193. package/src/onboarding-business/api/interfaces/IOnboardingBusinessApi.ts +9 -9
  194. package/src/onboarding-business/index.ts +1 -1
  195. package/src/order-collector-business/OrderCollectorApi.ts +20 -20
  196. package/src/order-collector-business/index.ts +3 -3
  197. package/src/order-collector-business/interfaces/IOrderCollectorApi.ts +9 -9
  198. package/src/p2pContact/api/P2pContactApi.ts +19 -19
  199. package/src/p2pContact/api/interfaces/IP2pContactApi.ts +4 -4
  200. package/src/p2pContact/index.ts +1 -1
  201. package/src/payroll-business/PayrollApi.ts +19 -19
  202. package/src/payroll-business/index.ts +1 -1
  203. package/src/payroll-business/interfaces/IPayrollApi.ts +18 -18
  204. package/src/people-business/api/PeopleBusinessApi.ts +32 -32
  205. package/src/people-business/api/interfaces/IPeopleBusinessApi.ts +7 -7
  206. package/src/people-business/index.ts +1 -1
  207. package/src/platform-error-events/index.ts +2 -2
  208. package/src/platform-error-events/queue/PlatformErrorEventsPublisher.ts +24 -24
  209. package/src/platform-error-events/queue/interfaces/IPlatformErrorEventsPublisher.ts +5 -5
  210. package/src/platformRbac/api/PlatformRbacBusinessApi.ts +64 -64
  211. package/src/platformRbac/api/interfaces/IPlatformRbacBusinessApi.ts +69 -69
  212. package/src/pomelo/api/PomeloApi.ts +109 -109
  213. package/src/pomelo/api/interfaces/IPomeloApi.ts +29 -29
  214. package/src/pomelo/index.ts +1 -1
  215. package/src/pomeloProcessor/api/PomeloProcessorApi.ts +17 -17
  216. package/src/pomeloProcessor/api/interfaces/IPomeloProcessorApi.ts +2 -2
  217. package/src/pomeloProcessor/index.ts +2 -2
  218. package/src/pricelist-business/PriceListApi.ts +45 -45
  219. package/src/pricelist-business/index.ts +1 -1
  220. package/src/pricelist-business/interfaces/IPriceListApi.ts +16 -16
  221. package/src/product-catalog/ProductCatalogApi.ts +17 -17
  222. package/src/product-catalog/index.ts +1 -1
  223. package/src/product-catalog/interfaces/IProductCatalogApi.ts +6 -6
  224. package/src/product-payment/api/ProductPaymentApi.ts +25 -25
  225. package/src/product-payment/api/interfaces/IProductPaymentApi.ts +8 -8
  226. package/src/product-payment/index.ts +1 -1
  227. package/src/referral-business/ReferralBusinessApi.ts +42 -42
  228. package/src/referral-business/index.ts +1 -1
  229. package/src/referral-business/interfaces/IReferralBusinessApi.ts +45 -45
  230. package/src/report-processor-business/api/IReportProcessorBusinessApi.ts +4 -4
  231. package/src/report-processor-business/api/ReportProcessorBusinessApi.ts +17 -17
  232. package/src/report-processor-business/index.ts +5 -5
  233. package/src/riskProfile/api/RiskProfileApi.ts +63 -63
  234. package/src/riskProfile/api/TransactionAlertApi.ts +49 -49
  235. package/src/riskProfile/api/interfaces/IRiskProfileApi.ts +51 -51
  236. package/src/riskProfile/api/interfaces/ITransactionAlertApi.ts +70 -70
  237. package/src/riskProfile/index.ts +7 -7
  238. package/src/riskProfile/queue/TransactionAlarmPublisher.ts +25 -25
  239. package/src/riskProfile/queue/interfaces/ITransactionAlarmPublisher.ts +4 -4
  240. package/src/service-business/ServiceApi.ts +78 -78
  241. package/src/service-business/index.ts +2 -2
  242. package/src/service-business/interfaces/IServiceApi.ts +73 -73
  243. package/src/sessionActivity/index.ts +2 -2
  244. package/src/sessionActivity/queue/SessionActivityPublisher.ts +23 -23
  245. package/src/sessionActivity/queue/interfaces/ISessionActivityPublisher.ts +4 -4
  246. package/src/stp-business/api/STPBusinessApi.ts +37 -37
  247. package/src/stp-business/api/interfaces/ISTPBusinessApi.ts +17 -17
  248. package/src/stp-business/index.ts +1 -1
  249. package/src/stpAccount/api/STPAccountApi.ts +111 -111
  250. package/src/stpAccount/api/interfaces/ISTPAccountApi.ts +7 -7
  251. package/src/stpAccount/index.ts +1 -1
  252. package/src/stpServicePayment/api/StpServicePaymentApi.ts +119 -119
  253. package/src/stpServicePayment/api/interfaces/IStpServicePaymentApi.ts +52 -52
  254. package/src/stpServicePayment/index.ts +1 -1
  255. package/src/stpSpei/api/StpSpeiApi.ts +32 -32
  256. package/src/stpSpei/api/interfaces/IStpSpeiApi.ts +6 -6
  257. package/src/stpSpei/index.ts +1 -1
  258. package/src/teams-connector/index.ts +2 -2
  259. package/src/teams-connector/queue/TeamsNotificationPublisher.ts +24 -24
  260. package/src/teams-connector/queue/interfaces/ITeamsNotificationPublisher.ts +5 -5
  261. package/src/tern/api/TernApi.ts +147 -147
  262. package/src/tern/api/interfaces/ITernApi.ts +54 -54
  263. package/src/tern/index.ts +1 -1
  264. package/src/totp-security/api/TotpSecurityApi.ts +38 -38
  265. package/src/totp-security/api/interfaces/ITotpSecurityApi.ts +16 -16
  266. package/src/totp-security/index.ts +2 -2
  267. package/src/transaction/api/TransactionApi.ts +157 -157
  268. package/src/transaction/api/interfaces/ITransactionApi.ts +82 -82
  269. package/src/transaction/index.ts +5 -5
  270. package/src/transaction/queue/TransactionPublisher.ts +25 -25
  271. package/src/transaction/queue/interfaces/ITransactionPublisher.ts +4 -4
  272. package/src/transactionProcessor/api/TransactionProcessorApi.ts +57 -57
  273. package/src/transactionProcessor/api/interfaces/ITransactionProcessorApi.ts +28 -28
  274. package/src/transactionProcessor/index.ts +1 -1
  275. package/src/uniteller-connector/api/UnitellerConnectorApi.ts +203 -125
  276. package/src/uniteller-connector/api/interfaces/IUnitellerConnectorApi.ts +151 -102
  277. package/src/uniteller-connector/index.ts +2 -2
  278. package/src/utils/InvokerUtils.ts +18 -18
  279. package/src/zendesk/ZendeskApi.ts +24 -24
  280. package/src/zendesk/index.ts +3 -3
  281. package/src/zendesk/interfaces/IZendeskApi.ts +10 -10
@@ -1,125 +1,203 @@
1
- import { inject, injectable } from "inversify";
2
- import { IHttpRequest } from "@fiado/http-client";
3
- import { ApiGatewayResponse } from "@fiado/gateway-adapter";
4
- import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter";
5
- import {
6
- RemittanceAddBeneficiaryRequest,
7
- RemittanceBeneficiary,
8
- RemittanceHomeResponse,
9
- RemittanceListBeneficiariesResponse,
10
- RemittanceOnboardRequest,
11
- RemittanceOnboardResponse,
12
- RemittancePayRequest,
13
- RemittancePayResponse,
14
- RemittancePayerAdditionalFieldDto,
15
- RemittancePayerBranchDto,
16
- RemittancePayerDto,
17
- RemittanceQuoteRequest,
18
- RemittanceQuoteResponse,
19
- RemittanceSecurityQuestionsResponse,
20
- RemittanceSendPreviewRequest,
21
- RemittanceSendPreviewResponse,
22
- RemittanceStateDto,
23
- RemittanceUpdateBeneficiaryRequest,
24
- } from "@fiado/type-kit/bin/remittance";
25
- import { IUnitellerConnectorApi } from "./interfaces/IUnitellerConnectorApi";
26
-
27
- @injectable()
28
- export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
29
- private readonly baseUrl = process.env.UNITELLER_CONNECTOR_LAMBDA_URL || "";
30
-
31
- constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) {}
32
-
33
- async getHome(directoryId: string): Promise<ApiGatewayResponse<RemittanceHomeResponse>> {
34
- const url = `${this.baseUrl}/home`;
35
- return await this.httpRequest.post(url, { directoryId });
36
- }
37
-
38
- async getSecurityQuestions(): Promise<ApiGatewayResponse<RemittanceSecurityQuestionsResponse>> {
39
- const url = `${this.baseUrl}/onboard/security-questions`;
40
- return await this.httpRequest.get(url);
41
- }
42
-
43
- async onboard(request: RemittanceOnboardRequest): Promise<ApiGatewayResponse<RemittanceOnboardResponse>> {
44
- const url = `${this.baseUrl}/onboard`;
45
- return await this.httpRequest.post(url, request);
46
- }
47
-
48
- async getStandardCatalog(): Promise<ApiGatewayResponse<ConnectorCatalogItem[]>> {
49
- const url = `${this.baseUrl}/catalog/standard`;
50
- return await this.httpRequest.get(url);
51
- }
52
-
53
- async countryStates(countryISO: string): Promise<ApiGatewayResponse<RemittanceStateDto[]>> {
54
- const url = `${this.baseUrl}/countries/${encodeURIComponent(countryISO)}/states`;
55
- return await this.httpRequest.get(url);
56
- }
57
-
58
- async countryPayers(countryISO: string, currencyISO: string): Promise<ApiGatewayResponse<RemittancePayerDto[]>> {
59
- const url = `${this.baseUrl}/countries/${encodeURIComponent(countryISO)}/payers`;
60
- return await this.httpRequest.get(url, { currencyISO });
61
- }
62
-
63
- async payerBranches(params: { payerCode: string; receptionMethodName: string; countryISO: string; currencyISO: string; stateISO: string }): Promise<ApiGatewayResponse<RemittancePayerBranchDto[]>> {
64
- const url = `${this.baseUrl}/payers/${encodeURIComponent(params.payerCode)}/branches`;
65
- return await this.httpRequest.get(url, {
66
- receptionMethodName: params.receptionMethodName,
67
- countryISO: params.countryISO,
68
- currencyISO: params.currencyISO,
69
- stateISO: params.stateISO,
70
- });
71
- }
72
-
73
- async payerAdditionalFields(params: { payerCode: string; currencyISO: string; receptionMethodName: string }): Promise<ApiGatewayResponse<RemittancePayerAdditionalFieldDto[]>> {
74
- const url = `${this.baseUrl}/payers/${encodeURIComponent(params.payerCode)}/fields`;
75
- return await this.httpRequest.get(url, {
76
- currencyISO: params.currencyISO,
77
- receptionMethodName: params.receptionMethodName,
78
- });
79
- }
80
-
81
- async listBeneficiaries(directoryId: string, includeDeactivated?: boolean): Promise<ApiGatewayResponse<RemittanceListBeneficiariesResponse>> {
82
- const url = `${this.baseUrl}/beneficiaries/list`;
83
- return await this.httpRequest.post(url, { directoryId, includeDeactivated });
84
- }
85
-
86
- async getBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<RemittanceBeneficiary>> {
87
- const url = `${this.baseUrl}/beneficiaries/${encodeURIComponent(beneficiaryId)}`;
88
- return await this.httpRequest.post(url, { directoryId });
89
- }
90
-
91
- async addBeneficiary(directoryId: string, request: RemittanceAddBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>> {
92
- const url = `${this.baseUrl}/beneficiaries`;
93
- return await this.httpRequest.post(url, { directoryId, ...request });
94
- }
95
-
96
- async updateBeneficiary(directoryId: string, beneficiaryId: string, request: RemittanceUpdateBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>> {
97
- const url = `${this.baseUrl}/beneficiaries/${encodeURIComponent(beneficiaryId)}`;
98
- return await this.httpRequest.put(url, { directoryId, ...request });
99
- }
100
-
101
- async deactivateBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<{ deactivated: boolean; beneficiaryId: string }>> {
102
- const url = `${this.baseUrl}/beneficiaries/${encodeURIComponent(beneficiaryId)}/deactivate`;
103
- return await this.httpRequest.post(url, { directoryId });
104
- }
105
-
106
- async quote(directoryId: string, request: RemittanceQuoteRequest): Promise<ApiGatewayResponse<RemittanceQuoteResponse>> {
107
- const url = `${this.baseUrl}/quote`;
108
- return await this.httpRequest.post(url, { directoryId, ...request });
109
- }
110
-
111
- async sendPreview(directoryId: string, request: RemittanceSendPreviewRequest): Promise<ApiGatewayResponse<RemittanceSendPreviewResponse>> {
112
- const url = `${this.baseUrl}/send/preview`;
113
- return await this.httpRequest.post(url, { directoryId, ...request });
114
- }
115
-
116
- async pay(directoryId: string, request: RemittancePayRequest): Promise<ApiGatewayResponse<RemittancePayResponse>> {
117
- const url = `${this.baseUrl}/pay`;
118
- return await this.httpRequest.post(url, { directoryId, ...request });
119
- }
120
-
121
- async getTransactionByMarketplaceRef(ref: string): Promise<ApiGatewayResponse<RemittancePayResponse>> {
122
- const url = `${this.baseUrl}/transactions/by-marketplace-ref/${encodeURIComponent(ref)}`;
123
- return await this.httpRequest.get(url);
124
- }
125
- }
1
+ import { inject, injectable } from "inversify";
2
+ import type { IHttpRequest } from "@fiado/http-client";
3
+ import { ApiGatewayResponse } from "@fiado/gateway-adapter";
4
+ import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter";
5
+ import {
6
+ RemittanceAddBeneficiaryRequest,
7
+ RemittanceBackofficeDashboardSummary,
8
+ RemittanceBackofficeStats,
9
+ RemittanceBackofficeStatsPeriod,
10
+ RemittanceBackofficeTransaction,
11
+ RemittanceBackofficeTxListResponse,
12
+ RemittanceBackofficeUserDetail,
13
+ RemittanceBackofficeUserListResponse,
14
+ RemittanceBeneficiary,
15
+ RemittanceCancelRequest,
16
+ RemittanceCancelResponse,
17
+ RemittanceHomeResponse,
18
+ RemittanceListBeneficiariesResponse,
19
+ RemittanceOnboardRequest,
20
+ RemittanceOnboardResponse,
21
+ RemittancePayRequest,
22
+ RemittancePayResponse,
23
+ RemittancePayerAdditionalFieldDto,
24
+ RemittancePayerBranchDto,
25
+ RemittancePayerDto,
26
+ RemittanceQuoteRequest,
27
+ RemittanceQuoteResponse,
28
+ RemittanceSecurityQuestionsResponse,
29
+ RemittanceSendPreviewRequest,
30
+ RemittanceSendPreviewResponse,
31
+ RemittanceSmsRequest,
32
+ RemittanceStateDto,
33
+ RemittanceTransactionDetail,
34
+ RemittanceTransactionReceipt,
35
+ RemittanceTransactionsListRequest,
36
+ RemittanceTransactionsListResponse,
37
+ RemittanceUpdateBeneficiaryRequest,
38
+ } from "@fiado/type-kit/bin/remittance";
39
+ import { IUnitellerConnectorApi } from "./interfaces/IUnitellerConnectorApi";
40
+
41
+ @injectable()
42
+ export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
43
+ private readonly baseUrl = process.env.UNITELLER_CONNECTOR_LAMBDA_URL || "";
44
+
45
+ constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) {}
46
+
47
+ async getHome(directoryId: string): Promise<ApiGatewayResponse<RemittanceHomeResponse>> {
48
+ const url = `${this.baseUrl}/home`;
49
+ return await this.httpRequest.post(url, { directoryId });
50
+ }
51
+
52
+ async getSecurityQuestions(): Promise<ApiGatewayResponse<RemittanceSecurityQuestionsResponse>> {
53
+ const url = `${this.baseUrl}/onboard/security-questions`;
54
+ return await this.httpRequest.get(url);
55
+ }
56
+
57
+ async onboard(request: RemittanceOnboardRequest): Promise<ApiGatewayResponse<RemittanceOnboardResponse>> {
58
+ const url = `${this.baseUrl}/onboard`;
59
+ return await this.httpRequest.post(url, request);
60
+ }
61
+
62
+ async getStandardCatalog(): Promise<ApiGatewayResponse<ConnectorCatalogItem[]>> {
63
+ const url = `${this.baseUrl}/catalog/standard`;
64
+ return await this.httpRequest.get(url);
65
+ }
66
+
67
+ async countryStates(countryISO: string): Promise<ApiGatewayResponse<RemittanceStateDto[]>> {
68
+ const url = `${this.baseUrl}/countries/${encodeURIComponent(countryISO)}/states`;
69
+ return await this.httpRequest.get(url);
70
+ }
71
+
72
+ async countryPayers(countryISO: string, currencyISO: string): Promise<ApiGatewayResponse<RemittancePayerDto[]>> {
73
+ const url = `${this.baseUrl}/countries/${encodeURIComponent(countryISO)}/payers`;
74
+ return await this.httpRequest.get(url, { currencyISO });
75
+ }
76
+
77
+ async payerBranches(params: { payerCode: string; receptionMethodName: string; countryISO: string; currencyISO: string; stateISO: string }): Promise<ApiGatewayResponse<RemittancePayerBranchDto[]>> {
78
+ const url = `${this.baseUrl}/payers/${encodeURIComponent(params.payerCode)}/branches`;
79
+ return await this.httpRequest.get(url, {
80
+ receptionMethodName: params.receptionMethodName,
81
+ countryISO: params.countryISO,
82
+ currencyISO: params.currencyISO,
83
+ stateISO: params.stateISO,
84
+ });
85
+ }
86
+
87
+ async payerAdditionalFields(params: { payerCode: string; currencyISO: string; receptionMethodName: string }): Promise<ApiGatewayResponse<RemittancePayerAdditionalFieldDto[]>> {
88
+ const url = `${this.baseUrl}/payers/${encodeURIComponent(params.payerCode)}/fields`;
89
+ return await this.httpRequest.get(url, {
90
+ currencyISO: params.currencyISO,
91
+ receptionMethodName: params.receptionMethodName,
92
+ });
93
+ }
94
+
95
+ async listBeneficiaries(directoryId: string, includeDeactivated?: boolean): Promise<ApiGatewayResponse<RemittanceListBeneficiariesResponse>> {
96
+ const url = `${this.baseUrl}/beneficiaries/list`;
97
+ return await this.httpRequest.post(url, { directoryId, includeDeactivated });
98
+ }
99
+
100
+ async getBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<RemittanceBeneficiary>> {
101
+ const url = `${this.baseUrl}/beneficiaries/${encodeURIComponent(beneficiaryId)}`;
102
+ return await this.httpRequest.post(url, { directoryId });
103
+ }
104
+
105
+ async addBeneficiary(directoryId: string, request: RemittanceAddBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>> {
106
+ const url = `${this.baseUrl}/beneficiaries`;
107
+ return await this.httpRequest.post(url, { directoryId, ...request });
108
+ }
109
+
110
+ async updateBeneficiary(directoryId: string, beneficiaryId: string, request: RemittanceUpdateBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>> {
111
+ const url = `${this.baseUrl}/beneficiaries/${encodeURIComponent(beneficiaryId)}`;
112
+ return await this.httpRequest.put(url, { directoryId, ...request });
113
+ }
114
+
115
+ async deactivateBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<{ deactivated: boolean; beneficiaryId: string }>> {
116
+ const url = `${this.baseUrl}/beneficiaries/${encodeURIComponent(beneficiaryId)}/deactivate`;
117
+ return await this.httpRequest.post(url, { directoryId });
118
+ }
119
+
120
+ async quote(directoryId: string, request: RemittanceQuoteRequest): Promise<ApiGatewayResponse<RemittanceQuoteResponse>> {
121
+ const url = `${this.baseUrl}/quote`;
122
+ return await this.httpRequest.post(url, { directoryId, ...request });
123
+ }
124
+
125
+ async sendPreview(directoryId: string, request: RemittanceSendPreviewRequest): Promise<ApiGatewayResponse<RemittanceSendPreviewResponse>> {
126
+ const url = `${this.baseUrl}/send/preview`;
127
+ return await this.httpRequest.post(url, { directoryId, ...request });
128
+ }
129
+
130
+ async pay(directoryId: string, request: RemittancePayRequest): Promise<ApiGatewayResponse<RemittancePayResponse>> {
131
+ const url = `${this.baseUrl}/pay`;
132
+ return await this.httpRequest.post(url, { directoryId, ...request });
133
+ }
134
+
135
+ async getTransactionByMarketplaceRef(ref: string): Promise<ApiGatewayResponse<RemittancePayResponse>> {
136
+ const url = `${this.baseUrl}/transactions/by-marketplace-ref/${encodeURIComponent(ref)}`;
137
+ return await this.httpRequest.get(url);
138
+ }
139
+
140
+ async listTransactions(directoryId: string, filters?: RemittanceTransactionsListRequest): Promise<ApiGatewayResponse<RemittanceTransactionsListResponse>> {
141
+ const url = `${this.baseUrl}/transactions/list`;
142
+ return await this.httpRequest.post(url, { directoryId, ...(filters ?? {}) });
143
+ }
144
+
145
+ async getTransaction(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionDetail>> {
146
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}`;
147
+ return await this.httpRequest.post(url, { directoryId });
148
+ }
149
+
150
+ async getTransactionReceipt(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionReceipt>> {
151
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/receipt`;
152
+ return await this.httpRequest.post(url, { directoryId });
153
+ }
154
+
155
+ async cancelTransaction(directoryId: string, txNumber: string, request: RemittanceCancelRequest): Promise<ApiGatewayResponse<RemittanceCancelResponse>> {
156
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/cancel`;
157
+ return await this.httpRequest.post(url, { directoryId, ...request });
158
+ }
159
+
160
+ async smsTransactionAlert(directoryId: string, txNumber: string, request: RemittanceSmsRequest): Promise<ApiGatewayResponse<{ sent: boolean }>> {
161
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/sms`;
162
+ return await this.httpRequest.post(url, { directoryId, ...request });
163
+ }
164
+
165
+ async backofficeDashboard(): Promise<ApiGatewayResponse<RemittanceBackofficeDashboardSummary>> {
166
+ const url = `${this.baseUrl}/backoffice/dashboard`;
167
+ return await this.httpRequest.get(url);
168
+ }
169
+
170
+ async backofficeListUsers(filters?: { status?: string; email?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<RemittanceBackofficeUserListResponse>> {
171
+ const url = `${this.baseUrl}/backoffice/users`;
172
+ return await this.httpRequest.get(url, dropUndefined(filters));
173
+ }
174
+
175
+ async backofficeUserDetail(directoryId: string): Promise<ApiGatewayResponse<RemittanceBackofficeUserDetail>> {
176
+ const url = `${this.baseUrl}/backoffice/users/${encodeURIComponent(directoryId)}`;
177
+ return await this.httpRequest.get(url);
178
+ }
179
+
180
+ async backofficeListTransactions(filters?: { txNumber?: string; directoryId?: string; status?: string; countryISO?: string; from?: string; to?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<RemittanceBackofficeTxListResponse>> {
181
+ const url = `${this.baseUrl}/backoffice/transactions`;
182
+ return await this.httpRequest.get(url, dropUndefined(filters));
183
+ }
184
+
185
+ async backofficeTransactionDetail(txNumber: string): Promise<ApiGatewayResponse<RemittanceBackofficeTransaction>> {
186
+ const url = `${this.baseUrl}/backoffice/transactions/${encodeURIComponent(txNumber)}`;
187
+ return await this.httpRequest.get(url);
188
+ }
189
+
190
+ async backofficeStats(period: RemittanceBackofficeStatsPeriod): Promise<ApiGatewayResponse<RemittanceBackofficeStats>> {
191
+ const url = `${this.baseUrl}/backoffice/stats`;
192
+ return await this.httpRequest.get(url, { period });
193
+ }
194
+ }
195
+
196
+ /** Quita las keys undefined para no mandar query params vacíos. */
197
+ function dropUndefined(params?: Record<string, string | number | undefined>): Record<string, string | number> | undefined {
198
+ if (!params) return undefined;
199
+ const clean = Object.fromEntries(
200
+ Object.entries(params).filter(([, value]) => value !== undefined),
201
+ ) as Record<string, string | number>;
202
+ return Object.keys(clean).length > 0 ? clean : undefined;
203
+ }
@@ -1,102 +1,151 @@
1
- import { ApiGatewayResponse } from "@fiado/gateway-adapter";
2
- import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter";
3
- import {
4
- RemittanceAddBeneficiaryRequest,
5
- RemittanceBeneficiary,
6
- RemittanceHomeResponse,
7
- RemittanceListBeneficiariesResponse,
8
- RemittanceOnboardRequest,
9
- RemittanceOnboardResponse,
10
- RemittancePayRequest,
11
- RemittancePayResponse,
12
- RemittancePayerAdditionalFieldDto,
13
- RemittancePayerBranchDto,
14
- RemittancePayerDto,
15
- RemittanceQuoteRequest,
16
- RemittanceQuoteResponse,
17
- RemittanceSecurityQuestionsResponse,
18
- RemittanceSendPreviewRequest,
19
- RemittanceSendPreviewResponse,
20
- RemittanceStateDto,
21
- RemittanceUpdateBeneficiaryRequest,
22
- } from "@fiado/type-kit/bin/remittance";
23
-
24
- export interface IUnitellerConnectorApi {
25
- /** Estado del módulo remesas para un directoryId. */
26
- getHome(directoryId: string): Promise<ApiGatewayResponse<RemittanceHomeResponse>>;
27
-
28
- /** Lista de preguntas de seguridad UNIR (compliance — no consumido por mobile bajo DP-05). */
29
- getSecurityQuestions(): Promise<ApiGatewayResponse<RemittanceSecurityQuestionsResponse>>;
30
-
31
- /** Activa el servicio de remesas (silent signup en UNIR). */
32
- onboard(request: RemittanceOnboardRequest): Promise<ApiGatewayResponse<RemittanceOnboardResponse>>;
33
-
34
- /**
35
- * Catálogo en formato estándar ConnectorCatalogItem[] que el
36
- * CatalogTreeBuilder de benefits-marketplace consume para armar el árbol
37
- * del benefit Remittance (D-F3.7).
38
- */
39
- getStandardCatalog(): Promise<ApiGatewayResponse<ConnectorCatalogItem[]>>;
40
-
41
- // ─── Catálogo lazy para el wizard del frontend (F3.6) ──────────────────────
42
-
43
- /** Estados / departamentos del país destino (ej. GT-GU, SV-SS). */
44
- countryStates(countryISO: string): Promise<ApiGatewayResponse<RemittanceStateDto[]>>;
45
-
46
- /**
47
- * Payers disponibles para el país+currency (deduplicado por payerSpecificCode),
48
- * con `beneAccountRegex`, `isPayerBranchRequired` y `isAdditionalFieldRequired`
49
- * para que el cliente decida los pasos del wizard.
50
- */
51
- countryPayers(countryISO: string, currencyISO: string): Promise<ApiGatewayResponse<RemittancePayerDto[]>>;
52
-
53
- /** Sucursales del payer (cuando isPayerBranchRequired = YES y receptionMethod = Cash Pickup). */
54
- payerBranches(params: {
55
- payerCode: string;
56
- receptionMethodName: string;
57
- countryISO: string;
58
- currencyISO: string;
59
- stateISO: string;
60
- }): Promise<ApiGatewayResponse<RemittancePayerBranchDto[]>>;
61
-
62
- /** Additional fields requeridos por el payer (cuando isAdditionalFieldRequired = YES). */
63
- payerAdditionalFields(params: {
64
- payerCode: string;
65
- currencyISO: string;
66
- receptionMethodName: string;
67
- }): Promise<ApiGatewayResponse<RemittancePayerAdditionalFieldDto[]>>;
68
-
69
- // ─── Beneficiarios (F4) ──────────────────────────────────────────────────────
70
-
71
- listBeneficiaries(directoryId: string, includeDeactivated?: boolean): Promise<ApiGatewayResponse<RemittanceListBeneficiariesResponse>>;
72
- getBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<RemittanceBeneficiary>>;
73
- addBeneficiary(directoryId: string, request: RemittanceAddBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>>;
74
- updateBeneficiary(directoryId: string, beneficiaryId: string, request: RemittanceUpdateBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>>;
75
- deactivateBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<{ deactivated: boolean; beneficiaryId: string }>>;
76
-
77
- // ─── Quote + Preview (F5) ────────────────────────────────────────────────────
78
-
79
- /** Cotización rápida (debounce). Read-only. */
80
- quote(directoryId: string, request: RemittanceQuoteRequest): Promise<ApiGatewayResponse<RemittanceQuoteResponse>>;
81
-
82
- /**
83
- * Preview formal con previewRef. El previewRef se reusa en F6 al confirmar.
84
- * Cache 10 min en RemittanceCache_GT (D-F5.4).
85
- */
86
- sendPreview(directoryId: string, request: RemittanceSendPreviewRequest): Promise<ApiGatewayResponse<RemittanceSendPreviewResponse>>;
87
-
88
- // ─── Send confirm (F6) ────────────────────────────────────────────────────────
89
-
90
- /**
91
- * Confirma la remesa previamente previsualizada (UNIR SendMoneyConfirm) y persiste
92
- * la tx en el connector. Lo invoca el UniTellerConnectorPaymentPublisher de
93
- * benefits-marketplace cuando el procesador delega el pago.
94
- */
95
- pay(directoryId: string, request: RemittancePayRequest): Promise<ApiGatewayResponse<RemittancePayResponse>>;
96
-
97
- /**
98
- * Lookup de una tx por el transactionNumber del procesador (consult/reconciliación).
99
- * Lo consume el consult() de benefits-marketplace para el cron de timeout.
100
- */
101
- getTransactionByMarketplaceRef(ref: string): Promise<ApiGatewayResponse<RemittancePayResponse>>;
102
- }
1
+ import { ApiGatewayResponse } from "@fiado/gateway-adapter";
2
+ import { ConnectorCatalogItem } from "@fiado/type-kit/bin/benefitCenter";
3
+ import {
4
+ RemittanceAddBeneficiaryRequest,
5
+ RemittanceBackofficeDashboardSummary,
6
+ RemittanceBackofficeStats,
7
+ RemittanceBackofficeStatsPeriod,
8
+ RemittanceBackofficeTransaction,
9
+ RemittanceBackofficeTxListResponse,
10
+ RemittanceBackofficeUserDetail,
11
+ RemittanceBackofficeUserListResponse,
12
+ RemittanceBeneficiary,
13
+ RemittanceCancelRequest,
14
+ RemittanceCancelResponse,
15
+ RemittanceHomeResponse,
16
+ RemittanceListBeneficiariesResponse,
17
+ RemittanceOnboardRequest,
18
+ RemittanceOnboardResponse,
19
+ RemittancePayRequest,
20
+ RemittancePayResponse,
21
+ RemittancePayerAdditionalFieldDto,
22
+ RemittancePayerBranchDto,
23
+ RemittancePayerDto,
24
+ RemittanceQuoteRequest,
25
+ RemittanceQuoteResponse,
26
+ RemittanceSecurityQuestionsResponse,
27
+ RemittanceSendPreviewRequest,
28
+ RemittanceSendPreviewResponse,
29
+ RemittanceSmsRequest,
30
+ RemittanceStateDto,
31
+ RemittanceTransactionDetail,
32
+ RemittanceTransactionReceipt,
33
+ RemittanceTransactionsListRequest,
34
+ RemittanceTransactionsListResponse,
35
+ RemittanceUpdateBeneficiaryRequest,
36
+ } from "@fiado/type-kit/bin/remittance";
37
+
38
+ export interface IUnitellerConnectorApi {
39
+ /** Estado del módulo remesas para un directoryId. */
40
+ getHome(directoryId: string): Promise<ApiGatewayResponse<RemittanceHomeResponse>>;
41
+
42
+ /** Lista de preguntas de seguridad UNIR (compliance — no consumido por mobile bajo DP-05). */
43
+ getSecurityQuestions(): Promise<ApiGatewayResponse<RemittanceSecurityQuestionsResponse>>;
44
+
45
+ /** Activa el servicio de remesas (silent signup en UNIR). */
46
+ onboard(request: RemittanceOnboardRequest): Promise<ApiGatewayResponse<RemittanceOnboardResponse>>;
47
+
48
+ /**
49
+ * Catálogo en formato estándar ConnectorCatalogItem[] que el
50
+ * CatalogTreeBuilder de benefits-marketplace consume para armar el árbol
51
+ * del benefit Remittance (D-F3.7).
52
+ */
53
+ getStandardCatalog(): Promise<ApiGatewayResponse<ConnectorCatalogItem[]>>;
54
+
55
+ // ─── Catálogo lazy para el wizard del frontend (F3.6) ──────────────────────
56
+
57
+ /** Estados / departamentos del país destino (ej. GT-GU, SV-SS). */
58
+ countryStates(countryISO: string): Promise<ApiGatewayResponse<RemittanceStateDto[]>>;
59
+
60
+ /**
61
+ * Payers disponibles para el país+currency (deduplicado por payerSpecificCode),
62
+ * con `beneAccountRegex`, `isPayerBranchRequired` y `isAdditionalFieldRequired`
63
+ * para que el cliente decida los pasos del wizard.
64
+ */
65
+ countryPayers(countryISO: string, currencyISO: string): Promise<ApiGatewayResponse<RemittancePayerDto[]>>;
66
+
67
+ /** Sucursales del payer (cuando isPayerBranchRequired = YES y receptionMethod = Cash Pickup). */
68
+ payerBranches(params: {
69
+ payerCode: string;
70
+ receptionMethodName: string;
71
+ countryISO: string;
72
+ currencyISO: string;
73
+ stateISO: string;
74
+ }): Promise<ApiGatewayResponse<RemittancePayerBranchDto[]>>;
75
+
76
+ /** Additional fields requeridos por el payer (cuando isAdditionalFieldRequired = YES). */
77
+ payerAdditionalFields(params: {
78
+ payerCode: string;
79
+ currencyISO: string;
80
+ receptionMethodName: string;
81
+ }): Promise<ApiGatewayResponse<RemittancePayerAdditionalFieldDto[]>>;
82
+
83
+ // ─── Beneficiarios (F4) ──────────────────────────────────────────────────────
84
+
85
+ listBeneficiaries(directoryId: string, includeDeactivated?: boolean): Promise<ApiGatewayResponse<RemittanceListBeneficiariesResponse>>;
86
+ getBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<RemittanceBeneficiary>>;
87
+ addBeneficiary(directoryId: string, request: RemittanceAddBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>>;
88
+ updateBeneficiary(directoryId: string, beneficiaryId: string, request: RemittanceUpdateBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>>;
89
+ deactivateBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<{ deactivated: boolean; beneficiaryId: string }>>;
90
+
91
+ // ─── Quote + Preview (F5) ────────────────────────────────────────────────────
92
+
93
+ /** Cotización rápida (debounce). Read-only. */
94
+ quote(directoryId: string, request: RemittanceQuoteRequest): Promise<ApiGatewayResponse<RemittanceQuoteResponse>>;
95
+
96
+ /**
97
+ * Preview formal con previewRef. El previewRef se reusa en F6 al confirmar.
98
+ * Cache 10 min en RemittanceCache_GT (D-F5.4).
99
+ */
100
+ sendPreview(directoryId: string, request: RemittanceSendPreviewRequest): Promise<ApiGatewayResponse<RemittanceSendPreviewResponse>>;
101
+
102
+ // ─── Send confirm (F6) ────────────────────────────────────────────────────────
103
+
104
+ /**
105
+ * Confirma la remesa previamente previsualizada (UNIR SendMoneyConfirm) y persiste
106
+ * la tx en el connector. Lo invoca el UniTellerConnectorPaymentPublisher de
107
+ * benefits-marketplace cuando el procesador delega el pago.
108
+ */
109
+ pay(directoryId: string, request: RemittancePayRequest): Promise<ApiGatewayResponse<RemittancePayResponse>>;
110
+
111
+ /**
112
+ * Lookup de una tx por el transactionNumber del procesador (consult/reconciliación).
113
+ * Lo consume el consult() de benefits-marketplace para el cron de timeout.
114
+ */
115
+ getTransactionByMarketplaceRef(ref: string): Promise<ApiGatewayResponse<RemittancePayResponse>>;
116
+
117
+ // ─── Historial + Cancel + Recibo + SMS (F7) ─────────────────────────────────
118
+
119
+ /**
120
+ * Historial paginado del usuario (lee RemittanceTransactions_GT, D-F7.1).
121
+ * Cursor estándar Fiado: `filters.index` opaco; el siguiente viene en
122
+ * `response.index`.
123
+ */
124
+ listTransactions(directoryId: string, filters?: RemittanceTransactionsListRequest): Promise<ApiGatewayResponse<RemittanceTransactionsListResponse>>;
125
+
126
+ /** Detalle de una tx (status reconciliado contra UNIR, D-F7.2). */
127
+ getTransaction(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionDetail>>;
128
+
129
+ /** Recibo HTML-APP de una tx (UNIR TransactionReceipt). */
130
+ getTransactionReceipt(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionReceipt>>;
131
+
132
+ /**
133
+ * Cancela una tx (UNIR v2/CancelTransaction + status local CANCELLED).
134
+ * NO reintegra el wallet (procesador diferido — TODO F7).
135
+ */
136
+ cancelTransaction(directoryId: string, txNumber: string, request: RemittanceCancelRequest): Promise<ApiGatewayResponse<RemittanceCancelResponse>>;
137
+
138
+ /** SMS de UNIR al beneficiario de la tx (max 3 por tx). ⚠ gated por smoke. */
139
+ smsTransactionAlert(directoryId: string, txNumber: string, request: RemittanceSmsRequest): Promise<ApiGatewayResponse<{ sent: boolean }>>;
140
+
141
+ // ─── Backoffice (F9, read-only — D2: el backoffice frontend entra por benefits) ─
142
+
143
+ backofficeDashboard(): Promise<ApiGatewayResponse<RemittanceBackofficeDashboardSummary>>;
144
+ /** Filtros: status (default ACTIVE en el connector) | email (lookup exacto); pageSize 1-100; index cursor opaco. */
145
+ backofficeListUsers(filters?: { status?: string; email?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<RemittanceBackofficeUserListResponse>>;
146
+ backofficeUserDetail(directoryId: string): Promise<ApiGatewayResponse<RemittanceBackofficeUserDetail>>;
147
+ /** Requiere al menos uno de txNumber | directoryId | status (el connector responde 400 si no). */
148
+ backofficeListTransactions(filters?: { txNumber?: string; directoryId?: string; status?: string; countryISO?: string; from?: string; to?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<RemittanceBackofficeTxListResponse>>;
149
+ backofficeTransactionDetail(txNumber: string): Promise<ApiGatewayResponse<RemittanceBackofficeTransaction>>;
150
+ backofficeStats(period: RemittanceBackofficeStatsPeriod): Promise<ApiGatewayResponse<RemittanceBackofficeStats>>;
151
+ }
@@ -1,2 +1,2 @@
1
- export * from "./api/interfaces/IUnitellerConnectorApi";
2
- export { default as UnitellerConnectorApi } from "./api/UnitellerConnectorApi";
1
+ export * from "./api/interfaces/IUnitellerConnectorApi";
2
+ export { default as UnitellerConnectorApi } from "./api/UnitellerConnectorApi";
@@ -1,19 +1,19 @@
1
- import {injectable} from "inversify";
2
-
3
- @injectable()
4
- export class InvokerUtils {
5
- constructor() {
6
- }
7
-
8
- toQueryStringParameters(object: any): string {
9
- const records: Record<string, string> = Object.entries(object).reduce((acc, [key, value]) => {
10
- if (Array.isArray(value)) {
11
- acc[key] = value.join(','); // Convierte arrays a una cadena separada por comas
12
- } else {
13
- acc[key] = String(value); // Convierte todos los demás valores a string
14
- }
15
- return acc;
16
- }, {} as Record<string, string>);
17
- return new URLSearchParams(records).toString();
18
- }
1
+ import {injectable} from "inversify";
2
+
3
+ @injectable()
4
+ export class InvokerUtils {
5
+ constructor() {
6
+ }
7
+
8
+ toQueryStringParameters(object: any): string {
9
+ const records: Record<string, string> = Object.entries(object).reduce((acc, [key, value]) => {
10
+ if (Array.isArray(value)) {
11
+ acc[key] = value.join(','); // Convierte arrays a una cadena separada por comas
12
+ } else {
13
+ acc[key] = String(value); // Convierte todos los demás valores a string
14
+ }
15
+ return acc;
16
+ }, {} as Record<string, string>);
17
+ return new URLSearchParams(records).toString();
18
+ }
19
19
  }