@fiado/api-invoker 4.58.0 → 4.59.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 (317) hide show
  1. package/.claude/settings.json +33 -33
  2. package/README.md +600 -600
  3. package/bin/equality-connector/api/EqualityConnectorApi.d.ts +5 -0
  4. package/bin/equality-connector/api/EqualityConnectorApi.js +42 -0
  5. package/bin/equality-connector/api/interfaces/IEqualityConnectorApi.d.ts +26 -0
  6. package/docs/TECH_DEBT.md +16 -16
  7. package/jest.config.cjs +12 -12
  8. package/package.json +56 -56
  9. package/src/account-beneficiary/AccountBeneficiaryApi.ts +18 -18
  10. package/src/account-beneficiary/index.ts +2 -2
  11. package/src/account-beneficiary/interfaces/IAccountBeneficiaryApi.ts +7 -7
  12. package/src/account-fiadoinc/AccountFiadoIncApi.ts +126 -126
  13. package/src/account-fiadoinc/index.ts +4 -4
  14. package/src/account-fiadoinc/interfaces/IAccountFiadoIncApi.ts +50 -50
  15. package/src/account-fiadoinc/queue/Publisher.ts +23 -23
  16. package/src/account-fiadoinc/queue/interfaces/IPublisher.ts +4 -4
  17. package/src/account-fiadosa/AccountFiadoSAApi.ts +38 -38
  18. package/src/account-fiadosa/index.ts +1 -1
  19. package/src/account-fiadosa/interfaces/IAccountFiadoSAApi.ts +16 -16
  20. package/src/account-pagoconfiado/AccountPagoConfiadoApi.ts +78 -78
  21. package/src/account-pagoconfiado/index.ts +2 -2
  22. package/src/account-pagoconfiado/interfaces/IAccountPagoConfiadoApi.ts +37 -37
  23. package/src/activity-business/ActivityApi.ts +36 -36
  24. package/src/activity-business/index.ts +5 -5
  25. package/src/activity-business/interfaces/IActivityApi.ts +13 -13
  26. package/src/activity-business/queue/ActivityPublisher.ts +30 -30
  27. package/src/activity-business/queue/IActivityPublisher.ts +4 -4
  28. package/src/address/AddressApi.ts +46 -46
  29. package/src/address/index.ts +3 -3
  30. package/src/address/interfaces/IAddressApi.ts +30 -30
  31. package/src/ai-engine-connector/AiEngineApi.ts +28 -28
  32. package/src/ai-engine-connector/index.ts +2 -2
  33. package/src/ai-engine-connector/interfaces/IAiEngineApi.ts +6 -6
  34. package/src/appselectondata/AppSelectionDataApi.ts +32 -32
  35. package/src/appselectondata/index.ts +2 -2
  36. package/src/appselectondata/interfaces/IAppSelectionDataApi.ts +17 -17
  37. package/src/authentication/AuthenticationApi.ts +56 -56
  38. package/src/authentication/index.ts +2 -2
  39. package/src/authentication/interfaces/IAuthenticationApi.ts +49 -49
  40. package/src/authentication/interfaces/LegacyApiResponse.ts +11 -11
  41. package/src/bankAccount/BankAccountApi.ts +34 -34
  42. package/src/bankAccount/index.ts +1 -1
  43. package/src/bankAccount/interfaces/IBankAccountApi.ts +6 -6
  44. package/src/bbvaRst/api/BBVARstApi.ts +16 -16
  45. package/src/bbvaRst/api/interfaces/IBBVARstApi.ts +4 -4
  46. package/src/bbvaRst/index.ts +1 -1
  47. package/src/benefits-marketplace/api/BenefitsMarketplaceApi.ts +59 -59
  48. package/src/benefits-marketplace/api/dtos/BenefitLeafDisplayResponse.ts +33 -33
  49. package/src/benefits-marketplace/api/interfaces/IBenefitsMarketplaceApi.ts +93 -93
  50. package/src/benefits-marketplace/index.ts +3 -3
  51. package/src/blacklist/BlackListApi.ts +19 -19
  52. package/src/blacklist/index.ts +2 -2
  53. package/src/blacklist/interfaces/IBlackListApi.ts +20 -20
  54. package/src/card/CardApi.ts +103 -103
  55. package/src/card/index.ts +3 -3
  56. package/src/card/interfaces/ICardApi.ts +32 -32
  57. package/src/card-business/index.ts +2 -2
  58. package/src/card-business/queue/CardBusinessPublisher.ts +23 -23
  59. package/src/card-business/queue/ICardBusinessPublisher.ts +10 -10
  60. package/src/centralPayments/CentralPaymentsConnectorApi.ts +317 -317
  61. package/src/centralPayments/index.ts +1 -1
  62. package/src/centralPayments/interfaces/ICentralPaymentsConnectorApi.ts +153 -153
  63. package/src/circuloCredito/api/CirculoCreditoApi.ts +21 -21
  64. package/src/circuloCredito/api/interfaces/ICirculoCreditoApi.ts +7 -7
  65. package/src/circuloCredito/index.ts +2 -2
  66. package/src/cnbv-business/CnbvApi.ts +31 -31
  67. package/src/cnbv-business/index.ts +4 -4
  68. package/src/cnbv-business/interfaces/ICnbvApi.ts +19 -19
  69. package/src/cnbv-connector/CnbvConnectorApi.ts +18 -18
  70. package/src/cnbv-connector/index.ts +1 -1
  71. package/src/cnbv-connector/interfaces/ICnbvConnectorApi.ts +6 -6
  72. package/src/cognitoBackofficeConnector/api/CognitoBackofficeConnectorApi.ts +281 -281
  73. package/src/cognitoBackofficeConnector/api/interfaces/ICognitoBackofficeConnectorApi.ts +216 -216
  74. package/src/cognitoBackofficeConnector/index.ts +2 -2
  75. package/src/cognitoConnector/CognitoConnectorApi.ts +112 -112
  76. package/src/cognitoConnector/CognitoConnectorV2.ts +87 -87
  77. package/src/cognitoConnector/index.ts +11 -11
  78. package/src/cognitoConnector/interfaces/ICognitoConnectorApi.ts +16 -16
  79. package/src/cognitoConnector/interfaces/ICognitoV2Api.ts +63 -63
  80. package/src/collector/CollectorApi.ts +96 -96
  81. package/src/collector/index.ts +2 -2
  82. package/src/collector/interfaces/ICollectorApi.ts +47 -47
  83. package/src/commission-business/CommissionBusinessApi.ts +19 -19
  84. package/src/commission-business/index.ts +3 -3
  85. package/src/commission-business/interfaces/ICommissionBusinessApi.ts +15 -15
  86. package/src/complaint/ComplaintApi.ts +33 -33
  87. package/src/complaint/index.ts +2 -2
  88. package/src/complaint/interfaces/IComplaintApi.ts +22 -22
  89. package/src/contactInformation/ContactInformationApi.ts +20 -20
  90. package/src/contactInformation/index.ts +2 -2
  91. package/src/contactInformation/interface/IContactInformationApi.ts +8 -8
  92. package/src/contacts-business/api/ContactsBusinessApi.ts +17 -17
  93. package/src/contacts-business/api/interfaces/IContactsBusinessApi.ts +15 -15
  94. package/src/contacts-business/index.ts +2 -2
  95. package/src/container.config.ts +328 -328
  96. package/src/contract-business/api/ContractBusinessApi.ts +37 -37
  97. package/src/contract-business/api/interfaces/IContractBusinessApi.ts +32 -32
  98. package/src/contract-business/index.ts +2 -2
  99. package/src/contract-generator/ContractGeneratorApi.ts +18 -18
  100. package/src/contract-generator/index.ts +2 -2
  101. package/src/contract-generator/interfaces/IContractGeneratorApi.ts +16 -16
  102. package/src/countries-business/CountriesBusinessApi.ts +26 -26
  103. package/src/countries-business/index.ts +2 -2
  104. package/src/countries-business/interfaces/ICountriesBusinessApi.ts +22 -22
  105. package/src/credit-engine/CreditEngineApi.ts +54 -54
  106. package/src/credit-engine/index.ts +17 -17
  107. package/src/credit-engine/interfaces/ICreditEngineApi.ts +46 -46
  108. package/src/credit-engine/queue/CreditCollectionPublisher.ts +24 -24
  109. package/src/credit-engine/queue/CreditDelinquencyPublisher.ts +24 -24
  110. package/src/credit-engine/queue/CreditIncomeDetectionPublisher.ts +24 -24
  111. package/src/credit-engine/queue/CreditLienCollectionPublisher.ts +24 -24
  112. package/src/credit-engine/queue/CreditNotificationPublisher.ts +24 -24
  113. package/src/credit-engine/queue/CreditOfferGenerationPublisher.ts +24 -24
  114. package/src/credit-engine/queue/CreditReconciliationPublisher.ts +24 -24
  115. package/src/credit-engine/queue/CreditScoringPublisher.ts +24 -24
  116. package/src/credit-engine/queue/CreditStatementPublisher.ts +24 -24
  117. package/src/credit-engine/queue/CreditTransferPublisher.ts +24 -24
  118. package/src/credit-engine/queue/interfaces/ICreditCollectionPublisher.ts +5 -5
  119. package/src/credit-engine/queue/interfaces/ICreditDelinquencyPublisher.ts +5 -5
  120. package/src/credit-engine/queue/interfaces/ICreditIncomeDetectionPublisher.ts +5 -5
  121. package/src/credit-engine/queue/interfaces/ICreditLienCollectionPublisher.ts +5 -5
  122. package/src/credit-engine/queue/interfaces/ICreditNotificationPublisher.ts +5 -5
  123. package/src/credit-engine/queue/interfaces/ICreditOfferGenerationPublisher.ts +5 -5
  124. package/src/credit-engine/queue/interfaces/ICreditReconciliationPublisher.ts +5 -5
  125. package/src/credit-engine/queue/interfaces/ICreditScoringPublisher.ts +5 -5
  126. package/src/credit-engine/queue/interfaces/ICreditStatementPublisher.ts +5 -5
  127. package/src/credit-engine/queue/interfaces/ICreditTransferPublisher.ts +5 -5
  128. package/src/credit-payment/CreditPaymentApi.ts +73 -73
  129. package/src/credit-payment/index.ts +2 -2
  130. package/src/credit-payment/interfaces/ICreditPaymentApi.ts +52 -52
  131. package/src/credit-statements/api/CreditStatementsApi.ts +25 -25
  132. package/src/credit-statements/api/interfaces/ICreditStatementsApi.ts +30 -30
  133. package/src/credit-statements/index.ts +2 -2
  134. package/src/device/DeviceApi.ts +32 -32
  135. package/src/device/index.ts +2 -2
  136. package/src/device/interfaces/IDeviceApi.ts +41 -41
  137. package/src/directories/DirectoriesApi.ts +68 -68
  138. package/src/directories/index.ts +3 -3
  139. package/src/directories/interfaces/IDirectoriesApi.ts +21 -21
  140. package/src/directory/DirectoryApi.ts +210 -210
  141. package/src/directory/index.ts +3 -3
  142. package/src/directory/interfaces/IDirectoryApi.ts +80 -80
  143. package/src/directorySetting/DirectorySettingApi.ts +42 -42
  144. package/src/directorySetting/index.ts +3 -3
  145. package/src/directorySetting/interfaces/IDirectorySettingApi.ts +56 -56
  146. package/src/disputes/DisputesApi.ts +66 -66
  147. package/src/disputes/index.ts +2 -2
  148. package/src/disputes/interfaces/IDisputesApi.ts +79 -79
  149. package/src/document-generator/DocumentGeneratorApi.ts +51 -51
  150. package/src/document-generator/index.ts +2 -2
  151. package/src/document-generator/interfaces/IDocumentGeneratorApi.ts +34 -34
  152. package/src/document-image-processor/DocumentImageProcessorApi.ts +22 -22
  153. package/src/document-image-processor/index.ts +1 -1
  154. package/src/document-image-processor/interfaces/IDocumentImageProcessorApi.ts +7 -7
  155. package/src/equality-connector/api/EqualityConnectorApi.ts +101 -52
  156. package/src/equality-connector/api/interfaces/IEqualityConnectorApi.ts +101 -58
  157. package/src/equality-connector/index.ts +2 -2
  158. package/src/estafeta/api/EstafetaApi.ts +67 -67
  159. package/src/estafeta/api/interfaces/IEstafetaApi.ts +28 -28
  160. package/src/estafeta/index.ts +1 -1
  161. package/src/event-history-business/EventHistoryApi.ts +108 -108
  162. package/src/event-history-business/index.ts +3 -3
  163. package/src/event-history-business/interfaces/IEventHistoryApi.ts +47 -47
  164. package/src/exchangeRates/ExchangeRatesApi.ts +27 -27
  165. package/src/exchangeRates/index.ts +1 -1
  166. package/src/exchangeRates/interfaces/IExchangeRatesApi.ts +8 -8
  167. package/src/fiadoMessages/api/FiadoMessagesApi.ts +20 -20
  168. package/src/fiadoMessages/api/interfaces/IFiadoMessagesApi.ts +2 -2
  169. package/src/fiadoMessages/index.ts +1 -1
  170. package/src/firebase-connector/FirebaseConnectorApi.ts +53 -53
  171. package/src/firebase-connector/index.ts +3 -3
  172. package/src/firebase-connector/interfaces/IFirebaseConnectorApi.ts +6 -6
  173. package/src/fraudPreventionEngine/api/FraudPreventionEngineApi.ts +22 -22
  174. package/src/fraudPreventionEngine/api/interfaces/IFraudPreventionEngineApi.ts +7 -7
  175. package/src/fraudPreventionEngine/index.ts +1 -1
  176. package/src/group/GroupApi.ts +74 -74
  177. package/src/group/index.ts +1 -1
  178. package/src/group/interfaces/IGroupApi.ts +47 -47
  179. package/src/identity/IdentityApi.ts +153 -153
  180. package/src/identity/index.ts +4 -4
  181. package/src/identity/interfaces/IIdentityApi.ts +66 -66
  182. package/src/identity/interfaces/LegacyApiResponse.ts +11 -11
  183. package/src/index.ts +87 -87
  184. package/src/legalDocument/api/LegalDocumentApi.ts +38 -38
  185. package/src/legalDocument/api/interfaces/ILegalDocumentApi.ts +7 -7
  186. package/src/legalDocument/index.ts +3 -3
  187. package/src/messages-business/api/MessagesBusinessApi.ts +50 -50
  188. package/src/messages-business/api/interfaces/IMessagesBusinessApi.ts +20 -20
  189. package/src/messages-business/index.ts +4 -4
  190. package/src/messages-business/queue/MessagesBusinessPublisher.ts +33 -33
  191. package/src/messages-business/queue/interfaces/IMessagesBusinessPublisher.ts +5 -5
  192. package/src/milestone-business/api/MilestoneBusinessApi.ts +56 -56
  193. package/src/milestone-business/api/interfaces/IMilestoneBusinessApi.ts +17 -17
  194. package/src/milestone-business/index.ts +2 -2
  195. package/src/multicommServicePayment/api/MulticommServicePaymentApi.ts +119 -119
  196. package/src/multicommServicePayment/api/interfaces/IMulticommServicePaymentApi.ts +52 -52
  197. package/src/multicommServicePayment/index.ts +1 -1
  198. package/src/notificationMessages/index.ts +1 -1
  199. package/src/notificationMessages/queue/NotificationMessagePublisher.ts +42 -42
  200. package/src/notificationMessages/queue/interfaces/INotificationMessagesPublisher.ts +7 -7
  201. package/src/notificationWebsockets/index.ts +1 -1
  202. package/src/notificationWebsockets/queue/NotificationWSMessagePublisher.ts +29 -29
  203. package/src/notificationWebsockets/queue/interfaces/INotificationWSMessagesPublisher.ts +4 -4
  204. package/src/observations/ObservationsApi.ts +23 -23
  205. package/src/observations/index.ts +3 -3
  206. package/src/observations/interfaces/IObservationsApi.ts +9 -9
  207. package/src/onboarding/api/OnboardingApi.ts +29 -29
  208. package/src/onboarding/api/interfaces/IOnboardingApi.ts +14 -14
  209. package/src/onboarding/index.ts +1 -1
  210. package/src/onboarding-business/api/OnboardingBusinessApi.ts +220 -220
  211. package/src/onboarding-business/api/interfaces/IOnboardingBusinessApi.ts +14 -14
  212. package/src/onboarding-business/index.ts +1 -1
  213. package/src/order-collector-business/OrderCollectorApi.ts +20 -20
  214. package/src/order-collector-business/index.ts +3 -3
  215. package/src/order-collector-business/interfaces/IOrderCollectorApi.ts +9 -9
  216. package/src/p2pContact/api/P2pContactApi.ts +19 -19
  217. package/src/p2pContact/api/interfaces/IP2pContactApi.ts +4 -4
  218. package/src/p2pContact/index.ts +1 -1
  219. package/src/payroll-business/PayrollApi.ts +19 -19
  220. package/src/payroll-business/index.ts +1 -1
  221. package/src/payroll-business/interfaces/IPayrollApi.ts +18 -18
  222. package/src/people-business/api/PeopleBusinessApi.ts +32 -32
  223. package/src/people-business/api/interfaces/IPeopleBusinessApi.ts +7 -7
  224. package/src/people-business/index.ts +1 -1
  225. package/src/platform-error-events/index.ts +2 -2
  226. package/src/platform-error-events/queue/PlatformErrorEventsPublisher.ts +24 -24
  227. package/src/platform-error-events/queue/interfaces/IPlatformErrorEventsPublisher.ts +5 -5
  228. package/src/platformRbac/api/PlatformRbacBusinessApi.ts +98 -98
  229. package/src/platformRbac/api/interfaces/IPlatformRbacBusinessApi.ts +98 -98
  230. package/src/platformRbac/index.ts +4 -4
  231. package/src/platformRbac/resolver/ApiInvokerPermissionResolver.ts +59 -59
  232. package/src/platformRbac/resolver/apiInvokerResolverBindings.ts +23 -23
  233. package/src/pomelo/api/PomeloApi.ts +109 -109
  234. package/src/pomelo/api/interfaces/IPomeloApi.ts +29 -29
  235. package/src/pomelo/index.ts +1 -1
  236. package/src/pomeloProcessor/api/PomeloProcessorApi.ts +17 -17
  237. package/src/pomeloProcessor/api/interfaces/IPomeloProcessorApi.ts +2 -2
  238. package/src/pomeloProcessor/index.ts +2 -2
  239. package/src/pricelist-business/PriceListApi.ts +45 -45
  240. package/src/pricelist-business/index.ts +1 -1
  241. package/src/pricelist-business/interfaces/IPriceListApi.ts +16 -16
  242. package/src/product-catalog/ProductCatalogApi.ts +17 -17
  243. package/src/product-catalog/index.ts +1 -1
  244. package/src/product-catalog/interfaces/IProductCatalogApi.ts +6 -6
  245. package/src/product-payment/api/ProductPaymentApi.ts +25 -25
  246. package/src/product-payment/api/interfaces/IProductPaymentApi.ts +8 -8
  247. package/src/product-payment/index.ts +1 -1
  248. package/src/referral-business/ReferralBusinessApi.ts +42 -42
  249. package/src/referral-business/index.ts +1 -1
  250. package/src/referral-business/interfaces/IReferralBusinessApi.ts +45 -45
  251. package/src/remittance-business/api/RemittanceBusinessApi.ts +33 -33
  252. package/src/remittance-business/api/interfaces/IRemittanceBusinessApi.ts +16 -16
  253. package/src/remittance-business/index.ts +2 -2
  254. package/src/report-processor-business/api/IReportProcessorBusinessApi.ts +4 -4
  255. package/src/report-processor-business/api/ReportProcessorBusinessApi.ts +17 -17
  256. package/src/report-processor-business/index.ts +5 -5
  257. package/src/riskProfile/api/RiskProfileApi.ts +88 -88
  258. package/src/riskProfile/api/TransactionAlertApi.ts +49 -49
  259. package/src/riskProfile/api/interfaces/IRiskProfileApi.ts +69 -69
  260. package/src/riskProfile/api/interfaces/ITransactionAlertApi.ts +70 -70
  261. package/src/riskProfile/index.ts +7 -7
  262. package/src/riskProfile/queue/TransactionAlarmPublisher.ts +25 -25
  263. package/src/riskProfile/queue/interfaces/ITransactionAlarmPublisher.ts +4 -4
  264. package/src/service-business/ServiceApi.ts +78 -78
  265. package/src/service-business/index.ts +2 -2
  266. package/src/service-business/interfaces/IServiceApi.ts +73 -73
  267. package/src/sessionActivity/index.ts +2 -2
  268. package/src/sessionActivity/queue/SessionActivityPublisher.ts +23 -23
  269. package/src/sessionActivity/queue/interfaces/ISessionActivityPublisher.ts +4 -4
  270. package/src/sns-ses-connector/api/SnsSesConnectorApi.ts +18 -18
  271. package/src/sns-ses-connector/api/interfaces/ISnsSesConnectorApi.ts +7 -7
  272. package/src/sns-ses-connector/index.ts +2 -2
  273. package/src/stp-business/api/STPBusinessApi.ts +37 -37
  274. package/src/stp-business/api/interfaces/ISTPBusinessApi.ts +17 -17
  275. package/src/stp-business/index.ts +1 -1
  276. package/src/stpAccount/api/STPAccountApi.ts +111 -111
  277. package/src/stpAccount/api/interfaces/ISTPAccountApi.ts +7 -7
  278. package/src/stpAccount/index.ts +1 -1
  279. package/src/stpServicePayment/api/StpServicePaymentApi.ts +119 -119
  280. package/src/stpServicePayment/api/interfaces/IStpServicePaymentApi.ts +52 -52
  281. package/src/stpServicePayment/index.ts +1 -1
  282. package/src/stpSpei/api/StpSpeiApi.ts +32 -32
  283. package/src/stpSpei/api/interfaces/IStpSpeiApi.ts +6 -6
  284. package/src/stpSpei/index.ts +1 -1
  285. package/src/teams-connector/index.ts +2 -2
  286. package/src/teams-connector/queue/TeamsNotificationPublisher.ts +24 -24
  287. package/src/teams-connector/queue/interfaces/ITeamsNotificationPublisher.ts +5 -5
  288. package/src/tern/api/TernApi.ts +147 -147
  289. package/src/tern/api/interfaces/ITernApi.ts +54 -54
  290. package/src/tern/index.ts +1 -1
  291. package/src/totp-security/api/TotpSecurityApi.ts +38 -38
  292. package/src/totp-security/api/interfaces/ITotpSecurityApi.ts +16 -16
  293. package/src/totp-security/index.ts +2 -2
  294. package/src/transaction/api/TransactionApi.ts +177 -177
  295. package/src/transaction/api/interfaces/ITransactionApi.ts +96 -96
  296. package/src/transaction/index.ts +5 -5
  297. package/src/transaction/queue/TransactionPublisher.ts +25 -25
  298. package/src/transaction/queue/interfaces/ITransactionPublisher.ts +4 -4
  299. package/src/transactionProcessor/api/TransactionProcessorApi.ts +104 -104
  300. package/src/transactionProcessor/api/interfaces/ITransactionProcessorApi.ts +86 -86
  301. package/src/transactionProcessor/index.ts +1 -1
  302. package/src/twilio-connector/api/TwilioConnectorApi.ts +18 -18
  303. package/src/twilio-connector/api/interfaces/ITwilioConnectorApi.ts +12 -12
  304. package/src/twilio-connector/index.ts +2 -2
  305. package/src/uniteller-connector/api/UnitellerConnectorApi.ts +311 -311
  306. package/src/uniteller-connector/api/interfaces/IUnitellerConnectorApi.ts +231 -231
  307. package/src/uniteller-connector/index.ts +2 -2
  308. package/src/utils/InvokerUtils.ts +18 -18
  309. package/src/wallet-funding-rules/api/WalletFundingRulesApi.ts +37 -37
  310. package/src/wallet-funding-rules/api/interfaces/IWalletFundingRulesApi.ts +36 -36
  311. package/src/wallet-funding-rules/index.ts +2 -2
  312. package/src/walletFundingSettlement/api/WalletFundingSettlementApi.ts +22 -22
  313. package/src/walletFundingSettlement/api/interfaces/IWalletFundingSettlementApi.ts +31 -31
  314. package/src/walletFundingSettlement/index.ts +2 -2
  315. package/src/zendesk/ZendeskApi.ts +24 -24
  316. package/src/zendesk/index.ts +3 -3
  317. package/src/zendesk/interfaces/IZendeskApi.ts +10 -10
@@ -1,311 +1,311 @@
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/index.js";
5
- import {
6
- CohortCountRequest,
7
- CohortCountResponse,
8
- CohortUserMatchRequest,
9
- CohortUserMatchResponse,
10
- PricingMetricsRequest,
11
- PricingMetricsResponse,
12
- PromotionReachRequest,
13
- PromotionReachResponse,
14
- SegmentMetricsRequest,
15
- SegmentMetricsResponse,
16
- WholesaleRateRequest,
17
- WholesaleRateResponse,
18
- KycUserDetail,
19
- KycUsersListResponse,
20
- KycOnboardingAttemptsResponse,
21
- RefreshUserProfileResponse,
22
- RegisterOnboardingBlockRequest,
23
- RegisterOnboardingBlockResponse,
24
- RemittanceAddBeneficiaryRequest,
25
- RemittanceBackofficeDashboardSummary,
26
- RemittanceBackofficeStats,
27
- RemittanceBackofficeStatsPeriod,
28
- RemittanceBackofficeTransaction,
29
- RemittanceBackofficeTxListResponse,
30
- RemittanceBackofficeUserDetail,
31
- RemittanceBackofficeUserListResponse,
32
- RemittanceBeneficiary,
33
- RemittanceCancelRequest,
34
- RemittanceCancelResponse,
35
- RemittanceHomeResponse,
36
- RemittanceListBeneficiariesResponse,
37
- RemittanceOnboardRequest,
38
- RemittanceOnboardResponse,
39
- RemittancePayRequest,
40
- RemittancePayResponse,
41
- RemittancePayerAdditionalFieldDto,
42
- RemittancePayerBranchDto,
43
- RemittancePayerDto,
44
- RemittanceQuoteRequest,
45
- RemittanceQuoteResponse,
46
- RemittanceSecurityQuestionsResponse,
47
- RemittanceSendPreviewRequest,
48
- RemittanceSendPreviewResponse,
49
- RemittanceSmsRequest,
50
- RemittanceStateDto,
51
- RemittanceTransactionDetail,
52
- RemittanceTransactionReceipt,
53
- RemittanceTransactionsListRequest,
54
- RemittanceTransactionsListResponse,
55
- RemittanceUpdateBeneficiaryRequest,
56
- RemittanceUserLimits,
57
- RemittanceUserLimitsBatchResponse,
58
- RemittanceCorridor,
59
- PricingScheduleResponse,
60
- } from "@fiado/type-kit/bin/remittance/index.js";
61
- import { IUnitellerConnectorApi } from "./interfaces/IUnitellerConnectorApi.js";
62
-
63
- @injectable()
64
- export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
65
- private readonly baseUrl = process.env.UNITELLER_CONNECTOR_LAMBDA_URL || "";
66
-
67
- constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) {}
68
-
69
- async getHome(directoryId: string): Promise<ApiGatewayResponse<RemittanceHomeResponse>> {
70
- const url = `${this.baseUrl}/home`;
71
- return await this.httpRequest.post(url, { directoryId });
72
- }
73
-
74
- async getSecurityQuestions(): Promise<ApiGatewayResponse<RemittanceSecurityQuestionsResponse>> {
75
- const url = `${this.baseUrl}/onboard/security-questions`;
76
- return await this.httpRequest.get(url);
77
- }
78
-
79
- async onboard(request: RemittanceOnboardRequest): Promise<ApiGatewayResponse<RemittanceOnboardResponse>> {
80
- const url = `${this.baseUrl}/onboard`;
81
- return await this.httpRequest.post(url, request);
82
- }
83
-
84
- async getStandardCatalog(): Promise<ApiGatewayResponse<ConnectorCatalogItem[]>> {
85
- const url = `${this.baseUrl}/catalog/standard`;
86
- return await this.httpRequest.get(url);
87
- }
88
-
89
- async countryStates(countryISO: string): Promise<ApiGatewayResponse<RemittanceStateDto[]>> {
90
- const url = `${this.baseUrl}/countries/${encodeURIComponent(countryISO)}/states`;
91
- return await this.httpRequest.get(url);
92
- }
93
-
94
- async countryPayers(countryISO: string, currencyISO: string): Promise<ApiGatewayResponse<RemittancePayerDto[]>> {
95
- const url = `${this.baseUrl}/countries/${encodeURIComponent(countryISO)}/payers`;
96
- return await this.httpRequest.get(url, { currencyISO });
97
- }
98
-
99
- async payerBranches(params: { payerCode: string; receptionMethodName: string; countryISO: string; currencyISO: string; stateISO: string }): Promise<ApiGatewayResponse<RemittancePayerBranchDto[]>> {
100
- const url = `${this.baseUrl}/payers/${encodeURIComponent(params.payerCode)}/branches`;
101
- return await this.httpRequest.get(url, {
102
- receptionMethodName: params.receptionMethodName,
103
- countryISO: params.countryISO,
104
- currencyISO: params.currencyISO,
105
- stateISO: params.stateISO,
106
- });
107
- }
108
-
109
- async payerAdditionalFields(params: { payerCode: string; currencyISO: string; receptionMethodName: string }): Promise<ApiGatewayResponse<RemittancePayerAdditionalFieldDto[]>> {
110
- const url = `${this.baseUrl}/payers/${encodeURIComponent(params.payerCode)}/fields`;
111
- return await this.httpRequest.get(url, {
112
- currencyISO: params.currencyISO,
113
- receptionMethodName: params.receptionMethodName,
114
- });
115
- }
116
-
117
- async listBeneficiaries(directoryId: string, includeDeactivated?: boolean): Promise<ApiGatewayResponse<RemittanceListBeneficiariesResponse>> {
118
- const url = `${this.baseUrl}/beneficiaries/list`;
119
- return await this.httpRequest.post(url, { directoryId, includeDeactivated });
120
- }
121
-
122
- async getBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<RemittanceBeneficiary>> {
123
- const url = `${this.baseUrl}/beneficiaries/${encodeURIComponent(beneficiaryId)}`;
124
- return await this.httpRequest.post(url, { directoryId });
125
- }
126
-
127
- async addBeneficiary(directoryId: string, request: RemittanceAddBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>> {
128
- const url = `${this.baseUrl}/beneficiaries`;
129
- return await this.httpRequest.post(url, { directoryId, ...request });
130
- }
131
-
132
- async updateBeneficiary(directoryId: string, beneficiaryId: string, request: RemittanceUpdateBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>> {
133
- const url = `${this.baseUrl}/beneficiaries/${encodeURIComponent(beneficiaryId)}`;
134
- return await this.httpRequest.put(url, { directoryId, ...request });
135
- }
136
-
137
- async deactivateBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<{ deactivated: boolean; beneficiaryId: string }>> {
138
- const url = `${this.baseUrl}/beneficiaries/${encodeURIComponent(beneficiaryId)}/deactivate`;
139
- return await this.httpRequest.post(url, { directoryId });
140
- }
141
-
142
- async pricingSchedule(directoryId: string, corridor: RemittanceCorridor): Promise<ApiGatewayResponse<PricingScheduleResponse>> {
143
- const url = `${this.baseUrl}/pricing/schedule`;
144
- return await this.httpRequest.post(url, { directoryId, corridor });
145
- }
146
-
147
- async quote(directoryId: string, request: RemittanceQuoteRequest): Promise<ApiGatewayResponse<RemittanceQuoteResponse>> {
148
- const url = `${this.baseUrl}/quote`;
149
- return await this.httpRequest.post(url, { directoryId, ...request });
150
- }
151
-
152
- async sendPreview(directoryId: string, request: RemittanceSendPreviewRequest): Promise<ApiGatewayResponse<RemittanceSendPreviewResponse>> {
153
- const url = `${this.baseUrl}/send/preview`;
154
- return await this.httpRequest.post(url, { directoryId, ...request });
155
- }
156
-
157
- async pay(directoryId: string, request: RemittancePayRequest): Promise<ApiGatewayResponse<RemittancePayResponse>> {
158
- const url = `${this.baseUrl}/pay`;
159
- return await this.httpRequest.post(url, { directoryId, ...request });
160
- }
161
-
162
- async getTransactionByMarketplaceRef(ref: string): Promise<ApiGatewayResponse<RemittancePayResponse>> {
163
- const url = `${this.baseUrl}/transactions/by-marketplace-ref/${encodeURIComponent(ref)}`;
164
- return await this.httpRequest.get(url);
165
- }
166
-
167
- async getTransactionDetailByMarketplaceRef(
168
- directoryId: string,
169
- ref: string,
170
- ): Promise<ApiGatewayResponse<RemittanceTransactionDetail>> {
171
- const url = `${this.baseUrl}/transactions/by-marketplace-ref/${encodeURIComponent(ref)}/detail`;
172
- return await this.httpRequest.post(url, { directoryId });
173
- }
174
-
175
- async getTransactionReceiptByMarketplaceRef(
176
- directoryId: string,
177
- ref: string,
178
- ): Promise<ApiGatewayResponse<RemittanceTransactionReceipt>> {
179
- const url = `${this.baseUrl}/transactions/by-marketplace-ref/${encodeURIComponent(ref)}/receipt`;
180
- return await this.httpRequest.post(url, { directoryId });
181
- }
182
-
183
- async listTransactions(directoryId: string, filters?: RemittanceTransactionsListRequest): Promise<ApiGatewayResponse<RemittanceTransactionsListResponse>> {
184
- const url = `${this.baseUrl}/transactions/list`;
185
- return await this.httpRequest.post(url, { directoryId, ...(filters ?? {}) });
186
- }
187
-
188
- async getTransaction(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionDetail>> {
189
- const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}`;
190
- return await this.httpRequest.post(url, { directoryId });
191
- }
192
-
193
- async getTransactionReceipt(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionReceipt>> {
194
- const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/receipt`;
195
- return await this.httpRequest.post(url, { directoryId });
196
- }
197
-
198
- async cancelTransaction(directoryId: string, txNumber: string, request: RemittanceCancelRequest): Promise<ApiGatewayResponse<RemittanceCancelResponse>> {
199
- const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/cancel`;
200
- return await this.httpRequest.post(url, { directoryId, ...request });
201
- }
202
-
203
- async smsTransactionAlert(directoryId: string, txNumber: string, request: RemittanceSmsRequest): Promise<ApiGatewayResponse<{ sent: boolean }>> {
204
- const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/sms`;
205
- return await this.httpRequest.post(url, { directoryId, ...request });
206
- }
207
-
208
- async backofficeDashboard(): Promise<ApiGatewayResponse<RemittanceBackofficeDashboardSummary>> {
209
- const url = `${this.baseUrl}/backoffice/dashboard`;
210
- return await this.httpRequest.get(url);
211
- }
212
-
213
- async backofficeListUsers(filters?: { status?: string; email?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<RemittanceBackofficeUserListResponse>> {
214
- const url = `${this.baseUrl}/backoffice/users`;
215
- return await this.httpRequest.get(url, dropUndefined(filters));
216
- }
217
-
218
- async backofficeUserDetail(directoryId: string): Promise<ApiGatewayResponse<RemittanceBackofficeUserDetail>> {
219
- const url = `${this.baseUrl}/backoffice/users/${encodeURIComponent(directoryId)}`;
220
- return await this.httpRequest.get(url);
221
- }
222
-
223
- async backofficeListTransactions(filters?: { txNumber?: string; directoryId?: string; status?: string; countryISO?: string; from?: string; to?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<RemittanceBackofficeTxListResponse>> {
224
- const url = `${this.baseUrl}/backoffice/transactions`;
225
- return await this.httpRequest.get(url, dropUndefined(filters));
226
- }
227
-
228
- async backofficeTransactionDetail(txNumber: string): Promise<ApiGatewayResponse<RemittanceBackofficeTransaction>> {
229
- const url = `${this.baseUrl}/backoffice/transactions/${encodeURIComponent(txNumber)}`;
230
- return await this.httpRequest.get(url);
231
- }
232
-
233
- async backofficeStats(period: RemittanceBackofficeStatsPeriod): Promise<ApiGatewayResponse<RemittanceBackofficeStats>> {
234
- const url = `${this.baseUrl}/backoffice/stats`;
235
- return await this.httpRequest.get(url, { period });
236
- }
237
-
238
- async backofficeUserLimits(directoryId: string): Promise<ApiGatewayResponse<RemittanceUserLimits>> {
239
- const url = `${this.baseUrl}/backoffice/users/${encodeURIComponent(directoryId)}/limits`;
240
- return await this.httpRequest.get(url);
241
- }
242
-
243
- async backofficeUserLimitsBatch(directoryIds: string[]): Promise<ApiGatewayResponse<RemittanceUserLimitsBatchResponse>> {
244
- const url = `${this.baseUrl}/backoffice/users/limits`;
245
- return await this.httpRequest.get(url, { directoryIds: directoryIds.join(",") });
246
- }
247
-
248
- async kycListUsers(filters?: { status?: string; search?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<KycUsersListResponse>> {
249
- const url = `${this.baseUrl}/backoffice/kyc/users`;
250
- return await this.httpRequest.get(url, dropUndefined(filters));
251
- }
252
-
253
- async kycUserDetail(directoryId: string): Promise<ApiGatewayResponse<KycUserDetail>> {
254
- const url = `${this.baseUrl}/backoffice/kyc/users/${encodeURIComponent(directoryId)}`;
255
- return await this.httpRequest.get(url);
256
- }
257
-
258
- async kycRefreshUser(directoryId: string): Promise<ApiGatewayResponse<RefreshUserProfileResponse>> {
259
- const url = `${this.baseUrl}/backoffice/kyc/users/${encodeURIComponent(directoryId)}/refresh`;
260
- return await this.httpRequest.post(url, {});
261
- }
262
-
263
- async kycOnboardingAttempts(directoryId: string): Promise<ApiGatewayResponse<KycOnboardingAttemptsResponse>> {
264
- const url = `${this.baseUrl}/backoffice/kyc/users/${encodeURIComponent(directoryId)}/onboarding-attempts`;
265
- return await this.httpRequest.get(url);
266
- }
267
-
268
- async registerOnboardingBlock(request: RegisterOnboardingBlockRequest): Promise<ApiGatewayResponse<RegisterOnboardingBlockResponse>> {
269
- const url = `${this.baseUrl}/onboard/block`;
270
- return await this.httpRequest.post(url, request);
271
- }
272
-
273
- async cohortCount(request: CohortCountRequest): Promise<ApiGatewayResponse<CohortCountResponse>> {
274
- const url = `${this.baseUrl}/backoffice/config/cohorts/count`;
275
- return await this.httpRequest.post(url, request);
276
- }
277
-
278
- async cohortUserMatch(request: CohortUserMatchRequest): Promise<ApiGatewayResponse<CohortUserMatchResponse>> {
279
- const url = `${this.baseUrl}/backoffice/config/cohorts/user-match`;
280
- return await this.httpRequest.post(url, request);
281
- }
282
-
283
- async segmentMetrics(request: SegmentMetricsRequest): Promise<ApiGatewayResponse<SegmentMetricsResponse>> {
284
- const url = `${this.baseUrl}/backoffice/config/segments/metrics`;
285
- return await this.httpRequest.post(url, request);
286
- }
287
-
288
- async wholesaleRate(request: WholesaleRateRequest): Promise<ApiGatewayResponse<WholesaleRateResponse>> {
289
- const url = `${this.baseUrl}/backoffice/pricing/wholesale`;
290
- return await this.httpRequest.post(url, request);
291
- }
292
-
293
- async pricingMetrics(request: PricingMetricsRequest): Promise<ApiGatewayResponse<PricingMetricsResponse>> {
294
- const url = `${this.baseUrl}/backoffice/config/pricing/metrics`;
295
- return await this.httpRequest.post(url, request);
296
- }
297
-
298
- async promotionReach(request: PromotionReachRequest): Promise<ApiGatewayResponse<PromotionReachResponse>> {
299
- const url = `${this.baseUrl}/backoffice/config/promotions/reach`;
300
- return await this.httpRequest.post(url, request);
301
- }
302
- }
303
-
304
- /** Quita las keys undefined para no mandar query params vacíos. */
305
- function dropUndefined(params?: Record<string, string | number | undefined>): Record<string, string | number> | undefined {
306
- if (!params) return undefined;
307
- const clean = Object.fromEntries(
308
- Object.entries(params).filter(([, value]) => value !== undefined),
309
- ) as Record<string, string | number>;
310
- return Object.keys(clean).length > 0 ? clean : undefined;
311
- }
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/index.js";
5
+ import {
6
+ CohortCountRequest,
7
+ CohortCountResponse,
8
+ CohortUserMatchRequest,
9
+ CohortUserMatchResponse,
10
+ PricingMetricsRequest,
11
+ PricingMetricsResponse,
12
+ PromotionReachRequest,
13
+ PromotionReachResponse,
14
+ SegmentMetricsRequest,
15
+ SegmentMetricsResponse,
16
+ WholesaleRateRequest,
17
+ WholesaleRateResponse,
18
+ KycUserDetail,
19
+ KycUsersListResponse,
20
+ KycOnboardingAttemptsResponse,
21
+ RefreshUserProfileResponse,
22
+ RegisterOnboardingBlockRequest,
23
+ RegisterOnboardingBlockResponse,
24
+ RemittanceAddBeneficiaryRequest,
25
+ RemittanceBackofficeDashboardSummary,
26
+ RemittanceBackofficeStats,
27
+ RemittanceBackofficeStatsPeriod,
28
+ RemittanceBackofficeTransaction,
29
+ RemittanceBackofficeTxListResponse,
30
+ RemittanceBackofficeUserDetail,
31
+ RemittanceBackofficeUserListResponse,
32
+ RemittanceBeneficiary,
33
+ RemittanceCancelRequest,
34
+ RemittanceCancelResponse,
35
+ RemittanceHomeResponse,
36
+ RemittanceListBeneficiariesResponse,
37
+ RemittanceOnboardRequest,
38
+ RemittanceOnboardResponse,
39
+ RemittancePayRequest,
40
+ RemittancePayResponse,
41
+ RemittancePayerAdditionalFieldDto,
42
+ RemittancePayerBranchDto,
43
+ RemittancePayerDto,
44
+ RemittanceQuoteRequest,
45
+ RemittanceQuoteResponse,
46
+ RemittanceSecurityQuestionsResponse,
47
+ RemittanceSendPreviewRequest,
48
+ RemittanceSendPreviewResponse,
49
+ RemittanceSmsRequest,
50
+ RemittanceStateDto,
51
+ RemittanceTransactionDetail,
52
+ RemittanceTransactionReceipt,
53
+ RemittanceTransactionsListRequest,
54
+ RemittanceTransactionsListResponse,
55
+ RemittanceUpdateBeneficiaryRequest,
56
+ RemittanceUserLimits,
57
+ RemittanceUserLimitsBatchResponse,
58
+ RemittanceCorridor,
59
+ PricingScheduleResponse,
60
+ } from "@fiado/type-kit/bin/remittance/index.js";
61
+ import { IUnitellerConnectorApi } from "./interfaces/IUnitellerConnectorApi.js";
62
+
63
+ @injectable()
64
+ export default class UnitellerConnectorApi implements IUnitellerConnectorApi {
65
+ private readonly baseUrl = process.env.UNITELLER_CONNECTOR_LAMBDA_URL || "";
66
+
67
+ constructor(@inject("IHttpRequest") private httpRequest: IHttpRequest) {}
68
+
69
+ async getHome(directoryId: string): Promise<ApiGatewayResponse<RemittanceHomeResponse>> {
70
+ const url = `${this.baseUrl}/home`;
71
+ return await this.httpRequest.post(url, { directoryId });
72
+ }
73
+
74
+ async getSecurityQuestions(): Promise<ApiGatewayResponse<RemittanceSecurityQuestionsResponse>> {
75
+ const url = `${this.baseUrl}/onboard/security-questions`;
76
+ return await this.httpRequest.get(url);
77
+ }
78
+
79
+ async onboard(request: RemittanceOnboardRequest): Promise<ApiGatewayResponse<RemittanceOnboardResponse>> {
80
+ const url = `${this.baseUrl}/onboard`;
81
+ return await this.httpRequest.post(url, request);
82
+ }
83
+
84
+ async getStandardCatalog(): Promise<ApiGatewayResponse<ConnectorCatalogItem[]>> {
85
+ const url = `${this.baseUrl}/catalog/standard`;
86
+ return await this.httpRequest.get(url);
87
+ }
88
+
89
+ async countryStates(countryISO: string): Promise<ApiGatewayResponse<RemittanceStateDto[]>> {
90
+ const url = `${this.baseUrl}/countries/${encodeURIComponent(countryISO)}/states`;
91
+ return await this.httpRequest.get(url);
92
+ }
93
+
94
+ async countryPayers(countryISO: string, currencyISO: string): Promise<ApiGatewayResponse<RemittancePayerDto[]>> {
95
+ const url = `${this.baseUrl}/countries/${encodeURIComponent(countryISO)}/payers`;
96
+ return await this.httpRequest.get(url, { currencyISO });
97
+ }
98
+
99
+ async payerBranches(params: { payerCode: string; receptionMethodName: string; countryISO: string; currencyISO: string; stateISO: string }): Promise<ApiGatewayResponse<RemittancePayerBranchDto[]>> {
100
+ const url = `${this.baseUrl}/payers/${encodeURIComponent(params.payerCode)}/branches`;
101
+ return await this.httpRequest.get(url, {
102
+ receptionMethodName: params.receptionMethodName,
103
+ countryISO: params.countryISO,
104
+ currencyISO: params.currencyISO,
105
+ stateISO: params.stateISO,
106
+ });
107
+ }
108
+
109
+ async payerAdditionalFields(params: { payerCode: string; currencyISO: string; receptionMethodName: string }): Promise<ApiGatewayResponse<RemittancePayerAdditionalFieldDto[]>> {
110
+ const url = `${this.baseUrl}/payers/${encodeURIComponent(params.payerCode)}/fields`;
111
+ return await this.httpRequest.get(url, {
112
+ currencyISO: params.currencyISO,
113
+ receptionMethodName: params.receptionMethodName,
114
+ });
115
+ }
116
+
117
+ async listBeneficiaries(directoryId: string, includeDeactivated?: boolean): Promise<ApiGatewayResponse<RemittanceListBeneficiariesResponse>> {
118
+ const url = `${this.baseUrl}/beneficiaries/list`;
119
+ return await this.httpRequest.post(url, { directoryId, includeDeactivated });
120
+ }
121
+
122
+ async getBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<RemittanceBeneficiary>> {
123
+ const url = `${this.baseUrl}/beneficiaries/${encodeURIComponent(beneficiaryId)}`;
124
+ return await this.httpRequest.post(url, { directoryId });
125
+ }
126
+
127
+ async addBeneficiary(directoryId: string, request: RemittanceAddBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>> {
128
+ const url = `${this.baseUrl}/beneficiaries`;
129
+ return await this.httpRequest.post(url, { directoryId, ...request });
130
+ }
131
+
132
+ async updateBeneficiary(directoryId: string, beneficiaryId: string, request: RemittanceUpdateBeneficiaryRequest): Promise<ApiGatewayResponse<RemittanceBeneficiary>> {
133
+ const url = `${this.baseUrl}/beneficiaries/${encodeURIComponent(beneficiaryId)}`;
134
+ return await this.httpRequest.put(url, { directoryId, ...request });
135
+ }
136
+
137
+ async deactivateBeneficiary(directoryId: string, beneficiaryId: string): Promise<ApiGatewayResponse<{ deactivated: boolean; beneficiaryId: string }>> {
138
+ const url = `${this.baseUrl}/beneficiaries/${encodeURIComponent(beneficiaryId)}/deactivate`;
139
+ return await this.httpRequest.post(url, { directoryId });
140
+ }
141
+
142
+ async pricingSchedule(directoryId: string, corridor: RemittanceCorridor): Promise<ApiGatewayResponse<PricingScheduleResponse>> {
143
+ const url = `${this.baseUrl}/pricing/schedule`;
144
+ return await this.httpRequest.post(url, { directoryId, corridor });
145
+ }
146
+
147
+ async quote(directoryId: string, request: RemittanceQuoteRequest): Promise<ApiGatewayResponse<RemittanceQuoteResponse>> {
148
+ const url = `${this.baseUrl}/quote`;
149
+ return await this.httpRequest.post(url, { directoryId, ...request });
150
+ }
151
+
152
+ async sendPreview(directoryId: string, request: RemittanceSendPreviewRequest): Promise<ApiGatewayResponse<RemittanceSendPreviewResponse>> {
153
+ const url = `${this.baseUrl}/send/preview`;
154
+ return await this.httpRequest.post(url, { directoryId, ...request });
155
+ }
156
+
157
+ async pay(directoryId: string, request: RemittancePayRequest): Promise<ApiGatewayResponse<RemittancePayResponse>> {
158
+ const url = `${this.baseUrl}/pay`;
159
+ return await this.httpRequest.post(url, { directoryId, ...request });
160
+ }
161
+
162
+ async getTransactionByMarketplaceRef(ref: string): Promise<ApiGatewayResponse<RemittancePayResponse>> {
163
+ const url = `${this.baseUrl}/transactions/by-marketplace-ref/${encodeURIComponent(ref)}`;
164
+ return await this.httpRequest.get(url);
165
+ }
166
+
167
+ async getTransactionDetailByMarketplaceRef(
168
+ directoryId: string,
169
+ ref: string,
170
+ ): Promise<ApiGatewayResponse<RemittanceTransactionDetail>> {
171
+ const url = `${this.baseUrl}/transactions/by-marketplace-ref/${encodeURIComponent(ref)}/detail`;
172
+ return await this.httpRequest.post(url, { directoryId });
173
+ }
174
+
175
+ async getTransactionReceiptByMarketplaceRef(
176
+ directoryId: string,
177
+ ref: string,
178
+ ): Promise<ApiGatewayResponse<RemittanceTransactionReceipt>> {
179
+ const url = `${this.baseUrl}/transactions/by-marketplace-ref/${encodeURIComponent(ref)}/receipt`;
180
+ return await this.httpRequest.post(url, { directoryId });
181
+ }
182
+
183
+ async listTransactions(directoryId: string, filters?: RemittanceTransactionsListRequest): Promise<ApiGatewayResponse<RemittanceTransactionsListResponse>> {
184
+ const url = `${this.baseUrl}/transactions/list`;
185
+ return await this.httpRequest.post(url, { directoryId, ...(filters ?? {}) });
186
+ }
187
+
188
+ async getTransaction(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionDetail>> {
189
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}`;
190
+ return await this.httpRequest.post(url, { directoryId });
191
+ }
192
+
193
+ async getTransactionReceipt(directoryId: string, txNumber: string): Promise<ApiGatewayResponse<RemittanceTransactionReceipt>> {
194
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/receipt`;
195
+ return await this.httpRequest.post(url, { directoryId });
196
+ }
197
+
198
+ async cancelTransaction(directoryId: string, txNumber: string, request: RemittanceCancelRequest): Promise<ApiGatewayResponse<RemittanceCancelResponse>> {
199
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/cancel`;
200
+ return await this.httpRequest.post(url, { directoryId, ...request });
201
+ }
202
+
203
+ async smsTransactionAlert(directoryId: string, txNumber: string, request: RemittanceSmsRequest): Promise<ApiGatewayResponse<{ sent: boolean }>> {
204
+ const url = `${this.baseUrl}/transactions/${encodeURIComponent(txNumber)}/sms`;
205
+ return await this.httpRequest.post(url, { directoryId, ...request });
206
+ }
207
+
208
+ async backofficeDashboard(): Promise<ApiGatewayResponse<RemittanceBackofficeDashboardSummary>> {
209
+ const url = `${this.baseUrl}/backoffice/dashboard`;
210
+ return await this.httpRequest.get(url);
211
+ }
212
+
213
+ async backofficeListUsers(filters?: { status?: string; email?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<RemittanceBackofficeUserListResponse>> {
214
+ const url = `${this.baseUrl}/backoffice/users`;
215
+ return await this.httpRequest.get(url, dropUndefined(filters));
216
+ }
217
+
218
+ async backofficeUserDetail(directoryId: string): Promise<ApiGatewayResponse<RemittanceBackofficeUserDetail>> {
219
+ const url = `${this.baseUrl}/backoffice/users/${encodeURIComponent(directoryId)}`;
220
+ return await this.httpRequest.get(url);
221
+ }
222
+
223
+ async backofficeListTransactions(filters?: { txNumber?: string; directoryId?: string; status?: string; countryISO?: string; from?: string; to?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<RemittanceBackofficeTxListResponse>> {
224
+ const url = `${this.baseUrl}/backoffice/transactions`;
225
+ return await this.httpRequest.get(url, dropUndefined(filters));
226
+ }
227
+
228
+ async backofficeTransactionDetail(txNumber: string): Promise<ApiGatewayResponse<RemittanceBackofficeTransaction>> {
229
+ const url = `${this.baseUrl}/backoffice/transactions/${encodeURIComponent(txNumber)}`;
230
+ return await this.httpRequest.get(url);
231
+ }
232
+
233
+ async backofficeStats(period: RemittanceBackofficeStatsPeriod): Promise<ApiGatewayResponse<RemittanceBackofficeStats>> {
234
+ const url = `${this.baseUrl}/backoffice/stats`;
235
+ return await this.httpRequest.get(url, { period });
236
+ }
237
+
238
+ async backofficeUserLimits(directoryId: string): Promise<ApiGatewayResponse<RemittanceUserLimits>> {
239
+ const url = `${this.baseUrl}/backoffice/users/${encodeURIComponent(directoryId)}/limits`;
240
+ return await this.httpRequest.get(url);
241
+ }
242
+
243
+ async backofficeUserLimitsBatch(directoryIds: string[]): Promise<ApiGatewayResponse<RemittanceUserLimitsBatchResponse>> {
244
+ const url = `${this.baseUrl}/backoffice/users/limits`;
245
+ return await this.httpRequest.get(url, { directoryIds: directoryIds.join(",") });
246
+ }
247
+
248
+ async kycListUsers(filters?: { status?: string; search?: string; pageSize?: number; index?: string }): Promise<ApiGatewayResponse<KycUsersListResponse>> {
249
+ const url = `${this.baseUrl}/backoffice/kyc/users`;
250
+ return await this.httpRequest.get(url, dropUndefined(filters));
251
+ }
252
+
253
+ async kycUserDetail(directoryId: string): Promise<ApiGatewayResponse<KycUserDetail>> {
254
+ const url = `${this.baseUrl}/backoffice/kyc/users/${encodeURIComponent(directoryId)}`;
255
+ return await this.httpRequest.get(url);
256
+ }
257
+
258
+ async kycRefreshUser(directoryId: string): Promise<ApiGatewayResponse<RefreshUserProfileResponse>> {
259
+ const url = `${this.baseUrl}/backoffice/kyc/users/${encodeURIComponent(directoryId)}/refresh`;
260
+ return await this.httpRequest.post(url, {});
261
+ }
262
+
263
+ async kycOnboardingAttempts(directoryId: string): Promise<ApiGatewayResponse<KycOnboardingAttemptsResponse>> {
264
+ const url = `${this.baseUrl}/backoffice/kyc/users/${encodeURIComponent(directoryId)}/onboarding-attempts`;
265
+ return await this.httpRequest.get(url);
266
+ }
267
+
268
+ async registerOnboardingBlock(request: RegisterOnboardingBlockRequest): Promise<ApiGatewayResponse<RegisterOnboardingBlockResponse>> {
269
+ const url = `${this.baseUrl}/onboard/block`;
270
+ return await this.httpRequest.post(url, request);
271
+ }
272
+
273
+ async cohortCount(request: CohortCountRequest): Promise<ApiGatewayResponse<CohortCountResponse>> {
274
+ const url = `${this.baseUrl}/backoffice/config/cohorts/count`;
275
+ return await this.httpRequest.post(url, request);
276
+ }
277
+
278
+ async cohortUserMatch(request: CohortUserMatchRequest): Promise<ApiGatewayResponse<CohortUserMatchResponse>> {
279
+ const url = `${this.baseUrl}/backoffice/config/cohorts/user-match`;
280
+ return await this.httpRequest.post(url, request);
281
+ }
282
+
283
+ async segmentMetrics(request: SegmentMetricsRequest): Promise<ApiGatewayResponse<SegmentMetricsResponse>> {
284
+ const url = `${this.baseUrl}/backoffice/config/segments/metrics`;
285
+ return await this.httpRequest.post(url, request);
286
+ }
287
+
288
+ async wholesaleRate(request: WholesaleRateRequest): Promise<ApiGatewayResponse<WholesaleRateResponse>> {
289
+ const url = `${this.baseUrl}/backoffice/pricing/wholesale`;
290
+ return await this.httpRequest.post(url, request);
291
+ }
292
+
293
+ async pricingMetrics(request: PricingMetricsRequest): Promise<ApiGatewayResponse<PricingMetricsResponse>> {
294
+ const url = `${this.baseUrl}/backoffice/config/pricing/metrics`;
295
+ return await this.httpRequest.post(url, request);
296
+ }
297
+
298
+ async promotionReach(request: PromotionReachRequest): Promise<ApiGatewayResponse<PromotionReachResponse>> {
299
+ const url = `${this.baseUrl}/backoffice/config/promotions/reach`;
300
+ return await this.httpRequest.post(url, request);
301
+ }
302
+ }
303
+
304
+ /** Quita las keys undefined para no mandar query params vacíos. */
305
+ function dropUndefined(params?: Record<string, string | number | undefined>): Record<string, string | number> | undefined {
306
+ if (!params) return undefined;
307
+ const clean = Object.fromEntries(
308
+ Object.entries(params).filter(([, value]) => value !== undefined),
309
+ ) as Record<string, string | number>;
310
+ return Object.keys(clean).length > 0 ? clean : undefined;
311
+ }