transferzero-sdk 1.0.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 (338) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/LICENSE +7 -0
  4. data/README.md +286 -0
  5. data/Rakefile +10 -0
  6. data/docs/APILogsApi.md +141 -0
  7. data/docs/Account.md +19 -0
  8. data/docs/AccountDebitsApi.md +199 -0
  9. data/docs/AccountListResponse.md +19 -0
  10. data/docs/AccountMeta.md +17 -0
  11. data/docs/AccountResponse.md +19 -0
  12. data/docs/AccountValidationApi.md +70 -0
  13. data/docs/AccountValidationError.md +17 -0
  14. data/docs/AccountValidationRequest.md +25 -0
  15. data/docs/AccountValidationResponse.md +19 -0
  16. data/docs/AccountValidationResult.md +17 -0
  17. data/docs/AccountsApi.md +128 -0
  18. data/docs/ApiLog.md +33 -0
  19. data/docs/ApiLogListResponse.md +19 -0
  20. data/docs/ApiLogResponse.md +17 -0
  21. data/docs/Currency.md +35 -0
  22. data/docs/CurrencyExchange.md +37 -0
  23. data/docs/CurrencyExchangeListResponse.md +17 -0
  24. data/docs/CurrencyInfoApi.md +182 -0
  25. data/docs/CurrencyListResponse.md +17 -0
  26. data/docs/CurrencyOpposite.md +37 -0
  27. data/docs/Debit.md +35 -0
  28. data/docs/DebitListRequest.md +17 -0
  29. data/docs/DebitListResponse.md +19 -0
  30. data/docs/DebitRequest.md +17 -0
  31. data/docs/DebitRequestWrapper.md +17 -0
  32. data/docs/DebitResponse.md +17 -0
  33. data/docs/Document.md +35 -0
  34. data/docs/DocumentListResponse.md +19 -0
  35. data/docs/DocumentRequest.md +17 -0
  36. data/docs/DocumentResponse.md +17 -0
  37. data/docs/DocumentWebhook.md +21 -0
  38. data/docs/DocumentsApi.md +199 -0
  39. data/docs/ErrorStatus.md +19 -0
  40. data/docs/FieldDescription.md +19 -0
  41. data/docs/FieldSelectValidation.md +19 -0
  42. data/docs/FieldValidation.md +21 -0
  43. data/docs/LogsApi.md +141 -0
  44. data/docs/Pagination.md +25 -0
  45. data/docs/PaginationMeta.md +17 -0
  46. data/docs/PayinMethod.md +25 -0
  47. data/docs/PayinMethodDetails.md +21 -0
  48. data/docs/PayinMethodDetailsMobile.md +19 -0
  49. data/docs/PayinMethodDetailsNGNBank.md +17 -0
  50. data/docs/PayinMethodRequest.md +17 -0
  51. data/docs/PaymentMethod.md +27 -0
  52. data/docs/PaymentMethodListResponse.md +17 -0
  53. data/docs/PaymentMethodOpposite.md +29 -0
  54. data/docs/PaymentMethodsApi.md +124 -0
  55. data/docs/PayoutMethod.md +27 -0
  56. data/docs/PayoutMethodBankAccountTypeEnum.md +16 -0
  57. data/docs/PayoutMethodDetails.md +53 -0
  58. data/docs/PayoutMethodDetailsBalance.md +17 -0
  59. data/docs/PayoutMethodDetailsGHSBank.md +23 -0
  60. data/docs/PayoutMethodDetailsIBAN.md +25 -0
  61. data/docs/PayoutMethodDetailsMADCash.md +37 -0
  62. data/docs/PayoutMethodDetailsMobile.md +21 -0
  63. data/docs/PayoutMethodDetailsNGNBank.md +25 -0
  64. data/docs/PayoutMethodDetailsXOFMobile.md +23 -0
  65. data/docs/PayoutMethodGenderEnum.md +16 -0
  66. data/docs/PayoutMethodIdentityCardTypeEnum.md +16 -0
  67. data/docs/PayoutMethodListResponse.md +19 -0
  68. data/docs/PayoutMethodMobileProviderEnum.md +16 -0
  69. data/docs/PayoutMethodRequest.md +17 -0
  70. data/docs/PayoutMethodResponse.md +17 -0
  71. data/docs/PayoutMethodWebhook.md +21 -0
  72. data/docs/PayoutMethodsApi.md +334 -0
  73. data/docs/Recipient.md +55 -0
  74. data/docs/RecipientListResponse.md +19 -0
  75. data/docs/RecipientRequest.md +17 -0
  76. data/docs/RecipientResponse.md +17 -0
  77. data/docs/RecipientState.md +16 -0
  78. data/docs/RecipientWebhook.md +21 -0
  79. data/docs/RecipientsApi.md +212 -0
  80. data/docs/Sender.md +67 -0
  81. data/docs/SenderListResponse.md +19 -0
  82. data/docs/SenderRequest.md +17 -0
  83. data/docs/SenderResponse.md +19 -0
  84. data/docs/SenderResponseExisting.md +17 -0
  85. data/docs/SenderResponseMeta.md +17 -0
  86. data/docs/SenderState.md +16 -0
  87. data/docs/SenderWebhook.md +21 -0
  88. data/docs/SendersApi.md +330 -0
  89. data/docs/Transaction.md +47 -0
  90. data/docs/TransactionListResponse.md +19 -0
  91. data/docs/TransactionRequest.md +17 -0
  92. data/docs/TransactionResponse.md +19 -0
  93. data/docs/TransactionResponseExisting.md +19 -0
  94. data/docs/TransactionResponseMeta.md +17 -0
  95. data/docs/TransactionState.md +16 -0
  96. data/docs/TransactionTraits.md +19 -0
  97. data/docs/TransactionWebhook.md +21 -0
  98. data/docs/TransactionsApi.md +450 -0
  99. data/docs/ValidationErrorDescription.md +17 -0
  100. data/docs/Webhook.md +21 -0
  101. data/docs/WebhookDefinition.md +25 -0
  102. data/docs/WebhookDefinitionEventListResponse.md +17 -0
  103. data/docs/WebhookDefinitionListResponse.md +19 -0
  104. data/docs/WebhookDefinitionRequest.md +17 -0
  105. data/docs/WebhookDefinitionResponse.md +17 -0
  106. data/docs/WebhookLog.md +27 -0
  107. data/docs/WebhookLogListResponse.md +19 -0
  108. data/docs/WebhookLogMetadata.md +35 -0
  109. data/docs/WebhookLogMetadataRequest.md +21 -0
  110. data/docs/WebhookLogMetadataResponse.md +21 -0
  111. data/docs/WebhookLogResponse.md +17 -0
  112. data/docs/WebhooksApi.md +319 -0
  113. data/example/client.rb +473 -0
  114. data/git_push.sh +55 -0
  115. data/lib/transferzero-sdk.rb +146 -0
  116. data/lib/transferzero-sdk/api/account_debits_api.rb +187 -0
  117. data/lib/transferzero-sdk/api/account_validation_api.rb +79 -0
  118. data/lib/transferzero-sdk/api/accounts_api.rb +135 -0
  119. data/lib/transferzero-sdk/api/api_logs_api.rb +137 -0
  120. data/lib/transferzero-sdk/api/currency_info_api.rb +167 -0
  121. data/lib/transferzero-sdk/api/documents_api.rb +197 -0
  122. data/lib/transferzero-sdk/api/logs_api.rb +137 -0
  123. data/lib/transferzero-sdk/api/payment_methods_api.rb +119 -0
  124. data/lib/transferzero-sdk/api/payout_methods_api.rb +321 -0
  125. data/lib/transferzero-sdk/api/recipients_api.rb +221 -0
  126. data/lib/transferzero-sdk/api/senders_api.rb +322 -0
  127. data/lib/transferzero-sdk/api/transactions_api.rb +428 -0
  128. data/lib/transferzero-sdk/api/webhooks_api.rb +299 -0
  129. data/lib/transferzero-sdk/api_client.rb +455 -0
  130. data/lib/transferzero-sdk/api_error.rb +61 -0
  131. data/lib/transferzero-sdk/configuration.rb +166 -0
  132. data/lib/transferzero-sdk/models/account.rb +212 -0
  133. data/lib/transferzero-sdk/models/account_list_response.rb +212 -0
  134. data/lib/transferzero-sdk/models/account_meta.rb +202 -0
  135. data/lib/transferzero-sdk/models/account_response.rb +210 -0
  136. data/lib/transferzero-sdk/models/account_validation_error.rb +202 -0
  137. data/lib/transferzero-sdk/models/account_validation_request.rb +325 -0
  138. data/lib/transferzero-sdk/models/account_validation_response.rb +210 -0
  139. data/lib/transferzero-sdk/models/account_validation_result.rb +202 -0
  140. data/lib/transferzero-sdk/models/api_log.rb +287 -0
  141. data/lib/transferzero-sdk/models/api_log_list_response.rb +213 -0
  142. data/lib/transferzero-sdk/models/api_log_response.rb +201 -0
  143. data/lib/transferzero-sdk/models/currency.rb +292 -0
  144. data/lib/transferzero-sdk/models/currency_exchange.rb +311 -0
  145. data/lib/transferzero-sdk/models/currency_exchange_list_response.rb +204 -0
  146. data/lib/transferzero-sdk/models/currency_list_response.rb +204 -0
  147. data/lib/transferzero-sdk/models/currency_opposite.rb +309 -0
  148. data/lib/transferzero-sdk/models/debit.rb +309 -0
  149. data/lib/transferzero-sdk/models/debit_list_request.rb +203 -0
  150. data/lib/transferzero-sdk/models/debit_list_response.rb +212 -0
  151. data/lib/transferzero-sdk/models/debit_request.rb +201 -0
  152. data/lib/transferzero-sdk/models/debit_request_wrapper.rb +227 -0
  153. data/lib/transferzero-sdk/models/debit_response.rb +201 -0
  154. data/lib/transferzero-sdk/models/document.rb +335 -0
  155. data/lib/transferzero-sdk/models/document_list_response.rb +212 -0
  156. data/lib/transferzero-sdk/models/document_request.rb +201 -0
  157. data/lib/transferzero-sdk/models/document_response.rb +201 -0
  158. data/lib/transferzero-sdk/models/document_webhook.rb +243 -0
  159. data/lib/transferzero-sdk/models/error_status.rb +210 -0
  160. data/lib/transferzero-sdk/models/field_description.rb +245 -0
  161. data/lib/transferzero-sdk/models/field_select_validation.rb +212 -0
  162. data/lib/transferzero-sdk/models/field_validation.rb +221 -0
  163. data/lib/transferzero-sdk/models/pagination.rb +242 -0
  164. data/lib/transferzero-sdk/models/pagination_meta.rb +201 -0
  165. data/lib/transferzero-sdk/models/payin_method.rb +242 -0
  166. data/lib/transferzero-sdk/models/payin_method_details.rb +257 -0
  167. data/lib/transferzero-sdk/models/payin_method_details_mobile.rb +218 -0
  168. data/lib/transferzero-sdk/models/payin_method_details_ngn_bank.rb +208 -0
  169. data/lib/transferzero-sdk/models/payin_method_request.rb +201 -0
  170. data/lib/transferzero-sdk/models/payment_method.rb +257 -0
  171. data/lib/transferzero-sdk/models/payment_method_list_response.rb +203 -0
  172. data/lib/transferzero-sdk/models/payment_method_opposite.rb +275 -0
  173. data/lib/transferzero-sdk/models/payout_method.rb +255 -0
  174. data/lib/transferzero-sdk/models/payout_method_bank_account_type_enum.rb +36 -0
  175. data/lib/transferzero-sdk/models/payout_method_details.rb +462 -0
  176. data/lib/transferzero-sdk/models/payout_method_details_balance.rb +202 -0
  177. data/lib/transferzero-sdk/models/payout_method_details_ghs_bank.rb +249 -0
  178. data/lib/transferzero-sdk/models/payout_method_details_iban.rb +258 -0
  179. data/lib/transferzero-sdk/models/payout_method_details_mad_cash.rb +332 -0
  180. data/lib/transferzero-sdk/models/payout_method_details_mobile.rb +235 -0
  181. data/lib/transferzero-sdk/models/payout_method_details_ngn_bank.rb +263 -0
  182. data/lib/transferzero-sdk/models/payout_method_details_xof_mobile.rb +249 -0
  183. data/lib/transferzero-sdk/models/payout_method_gender_enum.rb +36 -0
  184. data/lib/transferzero-sdk/models/payout_method_identity_card_type_enum.rb +37 -0
  185. data/lib/transferzero-sdk/models/payout_method_list_response.rb +212 -0
  186. data/lib/transferzero-sdk/models/payout_method_mobile_provider_enum.rb +36 -0
  187. data/lib/transferzero-sdk/models/payout_method_request.rb +201 -0
  188. data/lib/transferzero-sdk/models/payout_method_response.rb +201 -0
  189. data/lib/transferzero-sdk/models/payout_method_webhook.rb +243 -0
  190. data/lib/transferzero-sdk/models/recipient.rb +406 -0
  191. data/lib/transferzero-sdk/models/recipient_list_response.rb +212 -0
  192. data/lib/transferzero-sdk/models/recipient_request.rb +201 -0
  193. data/lib/transferzero-sdk/models/recipient_response.rb +201 -0
  194. data/lib/transferzero-sdk/models/recipient_state.rb +44 -0
  195. data/lib/transferzero-sdk/models/recipient_webhook.rb +243 -0
  196. data/lib/transferzero-sdk/models/sender.rb +529 -0
  197. data/lib/transferzero-sdk/models/sender_list_response.rb +212 -0
  198. data/lib/transferzero-sdk/models/sender_request.rb +201 -0
  199. data/lib/transferzero-sdk/models/sender_response.rb +210 -0
  200. data/lib/transferzero-sdk/models/sender_response_existing.rb +201 -0
  201. data/lib/transferzero-sdk/models/sender_response_meta.rb +201 -0
  202. data/lib/transferzero-sdk/models/sender_state.rb +40 -0
  203. data/lib/transferzero-sdk/models/sender_webhook.rb +243 -0
  204. data/lib/transferzero-sdk/models/transaction.rb +370 -0
  205. data/lib/transferzero-sdk/models/transaction_list_response.rb +212 -0
  206. data/lib/transferzero-sdk/models/transaction_request.rb +201 -0
  207. data/lib/transferzero-sdk/models/transaction_response.rb +210 -0
  208. data/lib/transferzero-sdk/models/transaction_response_existing.rb +210 -0
  209. data/lib/transferzero-sdk/models/transaction_response_meta.rb +201 -0
  210. data/lib/transferzero-sdk/models/transaction_state.rb +44 -0
  211. data/lib/transferzero-sdk/models/transaction_traits.rb +213 -0
  212. data/lib/transferzero-sdk/models/transaction_webhook.rb +243 -0
  213. data/lib/transferzero-sdk/models/validation_error_description.rb +203 -0
  214. data/lib/transferzero-sdk/models/webhook.rb +238 -0
  215. data/lib/transferzero-sdk/models/webhook_definition.rb +256 -0
  216. data/lib/transferzero-sdk/models/webhook_definition_event_list_response.rb +203 -0
  217. data/lib/transferzero-sdk/models/webhook_definition_list_response.rb +212 -0
  218. data/lib/transferzero-sdk/models/webhook_definition_request.rb +201 -0
  219. data/lib/transferzero-sdk/models/webhook_definition_response.rb +201 -0
  220. data/lib/transferzero-sdk/models/webhook_log.rb +249 -0
  221. data/lib/transferzero-sdk/models/webhook_log_list_response.rb +213 -0
  222. data/lib/transferzero-sdk/models/webhook_log_metadata.rb +289 -0
  223. data/lib/transferzero-sdk/models/webhook_log_metadata_request.rb +224 -0
  224. data/lib/transferzero-sdk/models/webhook_log_metadata_response.rb +225 -0
  225. data/lib/transferzero-sdk/models/webhook_log_response.rb +201 -0
  226. data/lib/transferzero-sdk/version.rb +15 -0
  227. data/spec/api/account_debits_api_spec.rb +72 -0
  228. data/spec/api/account_validation_api_spec.rb +47 -0
  229. data/spec/api/accounts_api_spec.rb +58 -0
  230. data/spec/api/api_logs_api_spec.rb +62 -0
  231. data/spec/api/currency_info_api_spec.rb +68 -0
  232. data/spec/api/documents_api_spec.rb +72 -0
  233. data/spec/api/logs_api_spec.rb +62 -0
  234. data/spec/api/payment_methods_api_spec.rb +57 -0
  235. data/spec/api/payout_methods_api_spec.rb +102 -0
  236. data/spec/api/recipients_api_spec.rb +79 -0
  237. data/spec/api/senders_api_spec.rb +100 -0
  238. data/spec/api/transactions_api_spec.rb +122 -0
  239. data/spec/api/webhooks_api_spec.rb +95 -0
  240. data/spec/api_client_spec.rb +189 -0
  241. data/spec/configuration_spec.rb +42 -0
  242. data/spec/models/account_list_response_spec.rb +47 -0
  243. data/spec/models/account_meta_spec.rb +41 -0
  244. data/spec/models/account_response_spec.rb +47 -0
  245. data/spec/models/account_spec.rb +47 -0
  246. data/spec/models/account_validation_error_spec.rb +41 -0
  247. data/spec/models/account_validation_request_spec.rb +77 -0
  248. data/spec/models/account_validation_response_spec.rb +47 -0
  249. data/spec/models/account_validation_result_spec.rb +41 -0
  250. data/spec/models/api_log_list_response_spec.rb +47 -0
  251. data/spec/models/api_log_response_spec.rb +41 -0
  252. data/spec/models/api_log_spec.rb +89 -0
  253. data/spec/models/currency_exchange_list_response_spec.rb +41 -0
  254. data/spec/models/currency_exchange_spec.rb +101 -0
  255. data/spec/models/currency_list_response_spec.rb +41 -0
  256. data/spec/models/currency_opposite_spec.rb +101 -0
  257. data/spec/models/currency_spec.rb +95 -0
  258. data/spec/models/debit_list_request_spec.rb +41 -0
  259. data/spec/models/debit_list_response_spec.rb +47 -0
  260. data/spec/models/debit_request_spec.rb +41 -0
  261. data/spec/models/debit_request_wrapper_spec.rb +41 -0
  262. data/spec/models/debit_response_spec.rb +41 -0
  263. data/spec/models/debit_spec.rb +95 -0
  264. data/spec/models/document_list_response_spec.rb +47 -0
  265. data/spec/models/document_request_spec.rb +41 -0
  266. data/spec/models/document_response_spec.rb +41 -0
  267. data/spec/models/document_spec.rb +99 -0
  268. data/spec/models/document_webhook_spec.rb +53 -0
  269. data/spec/models/error_status_spec.rb +47 -0
  270. data/spec/models/field_description_spec.rb +51 -0
  271. data/spec/models/field_select_validation_spec.rb +47 -0
  272. data/spec/models/field_validation_spec.rb +53 -0
  273. data/spec/models/pagination_meta_spec.rb +41 -0
  274. data/spec/models/pagination_spec.rb +65 -0
  275. data/spec/models/payin_method_details_mobile_spec.rb +47 -0
  276. data/spec/models/payin_method_details_ngn_bank_spec.rb +41 -0
  277. data/spec/models/payin_method_details_spec.rb +53 -0
  278. data/spec/models/payin_method_request_spec.rb +41 -0
  279. data/spec/models/payin_method_spec.rb +65 -0
  280. data/spec/models/payment_method_list_response_spec.rb +41 -0
  281. data/spec/models/payment_method_opposite_spec.rb +77 -0
  282. data/spec/models/payment_method_spec.rb +71 -0
  283. data/spec/models/payout_method_bank_account_type_enum_spec.rb +35 -0
  284. data/spec/models/payout_method_details_balance_spec.rb +41 -0
  285. data/spec/models/payout_method_details_ghs_bank_spec.rb +59 -0
  286. data/spec/models/payout_method_details_iban_spec.rb +65 -0
  287. data/spec/models/payout_method_details_mad_cash_spec.rb +101 -0
  288. data/spec/models/payout_method_details_mobile_spec.rb +53 -0
  289. data/spec/models/payout_method_details_ngn_bank_spec.rb +65 -0
  290. data/spec/models/payout_method_details_spec.rb +149 -0
  291. data/spec/models/payout_method_details_xof_mobile_spec.rb +59 -0
  292. data/spec/models/payout_method_gender_enum_spec.rb +35 -0
  293. data/spec/models/payout_method_identity_card_type_enum_spec.rb +35 -0
  294. data/spec/models/payout_method_list_response_spec.rb +47 -0
  295. data/spec/models/payout_method_mobile_provider_enum_spec.rb +35 -0
  296. data/spec/models/payout_method_request_spec.rb +41 -0
  297. data/spec/models/payout_method_response_spec.rb +41 -0
  298. data/spec/models/payout_method_spec.rb +71 -0
  299. data/spec/models/payout_method_webhook_spec.rb +53 -0
  300. data/spec/models/recipient_list_response_spec.rb +47 -0
  301. data/spec/models/recipient_request_spec.rb +41 -0
  302. data/spec/models/recipient_response_spec.rb +41 -0
  303. data/spec/models/recipient_spec.rb +155 -0
  304. data/spec/models/recipient_state_spec.rb +35 -0
  305. data/spec/models/recipient_webhook_spec.rb +53 -0
  306. data/spec/models/sender_list_response_spec.rb +47 -0
  307. data/spec/models/sender_request_spec.rb +41 -0
  308. data/spec/models/sender_response_existing_spec.rb +41 -0
  309. data/spec/models/sender_response_meta_spec.rb +41 -0
  310. data/spec/models/sender_response_spec.rb +47 -0
  311. data/spec/models/sender_spec.rb +195 -0
  312. data/spec/models/sender_state_spec.rb +35 -0
  313. data/spec/models/sender_webhook_spec.rb +53 -0
  314. data/spec/models/transaction_list_response_spec.rb +47 -0
  315. data/spec/models/transaction_request_spec.rb +41 -0
  316. data/spec/models/transaction_response_existing_spec.rb +47 -0
  317. data/spec/models/transaction_response_meta_spec.rb +41 -0
  318. data/spec/models/transaction_response_spec.rb +47 -0
  319. data/spec/models/transaction_spec.rb +131 -0
  320. data/spec/models/transaction_state_spec.rb +35 -0
  321. data/spec/models/transaction_traits_spec.rb +47 -0
  322. data/spec/models/transaction_webhook_spec.rb +53 -0
  323. data/spec/models/validation_error_description_spec.rb +41 -0
  324. data/spec/models/webhook_definition_event_list_response_spec.rb +41 -0
  325. data/spec/models/webhook_definition_list_response_spec.rb +47 -0
  326. data/spec/models/webhook_definition_request_spec.rb +41 -0
  327. data/spec/models/webhook_definition_response_spec.rb +41 -0
  328. data/spec/models/webhook_definition_spec.rb +65 -0
  329. data/spec/models/webhook_log_list_response_spec.rb +47 -0
  330. data/spec/models/webhook_log_metadata_request_spec.rb +53 -0
  331. data/spec/models/webhook_log_metadata_response_spec.rb +53 -0
  332. data/spec/models/webhook_log_metadata_spec.rb +95 -0
  333. data/spec/models/webhook_log_response_spec.rb +41 -0
  334. data/spec/models/webhook_log_spec.rb +71 -0
  335. data/spec/models/webhook_spec.rb +53 -0
  336. data/spec/spec_helper.rb +111 -0
  337. data/transferzero-sdk.gemspec +46 -0
  338. metadata +684 -0
@@ -0,0 +1,428 @@
1
+ =begin
2
+ #TransferZero API
3
+
4
+ #Reference documentation for the TransferZero API V1
5
+
6
+ OpenAPI spec version: 1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.0.0-beta3
10
+
11
+ =end
12
+
13
+ require 'uri'
14
+
15
+ module TransferZero
16
+ class TransactionsApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+
23
+
24
+ # Calculates transaction amounts for a transaction payload
25
+ # Calculates the input, output and fee amounts for the recipients in a transaction payload
26
+ # @param transaction_request
27
+ # @param [Hash] opts the optional parameters
28
+ # @return [TransactionResponse]
29
+ def calculate_transactions(transaction_request, opts = {})
30
+ data, _status_code, _headers = calculate_transactions_with_http_info(transaction_request, opts)
31
+ data
32
+ end
33
+
34
+ # Calculates transaction amounts for a transaction payload
35
+ # Calculates the input, output and fee amounts for the recipients in a transaction payload
36
+ # @param transaction_request
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(TransactionResponse, Fixnum, Hash)>] TransactionResponse data, response status code and response headers
39
+ def calculate_transactions_with_http_info(transaction_request, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: TransactionsApi.calculate_transactions ...'
42
+ end
43
+ # verify the required parameter 'transaction_request' is set
44
+ if @api_client.config.client_side_validation && transaction_request.nil?
45
+ fail ArgumentError, "Missing the required parameter 'transaction_request' when calling TransactionsApi.calculate_transactions"
46
+ end
47
+ # resource path
48
+ local_var_path = '/transactions/calculate'
49
+
50
+ # query parameters
51
+ query_params = {}
52
+
53
+ # header parameters
54
+ header_params = {}
55
+ # HTTP header 'Accept' (if needed)
56
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
57
+ # HTTP header 'Content-Type'
58
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
59
+
60
+ # form parameters
61
+ form_params = {}
62
+
63
+ # http body (model)
64
+ post_body = @api_client.object_to_http_body(transaction_request)
65
+ auth_names = ['AuthorizationKey', 'AuthorizationNonce', 'AuthorizationSecret', 'AuthorizationSignature']
66
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
67
+ :header_params => header_params,
68
+ :query_params => query_params,
69
+ :form_params => form_params,
70
+ :body => post_body,
71
+ :auth_names => auth_names,
72
+ :return_type => 'TransactionResponse')
73
+ if @api_client.config.debugging
74
+ @api_client.config.logger.debug "API called: TransactionsApi#calculate_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
75
+ end
76
+ return data, status_code, headers
77
+ end
78
+
79
+
80
+ # Fetch a single transaction
81
+ # Finds and returns a Transaction created by the requesting API key, using the provided Transaction ID.
82
+ # @param transaction_id ID of the transaction. Example: &#x60;/v1/transactions/bf9ff782-e182-45ac-abea-5bce83ad6670&#x60;
83
+ # @param [Hash] opts the optional parameters
84
+ # @return [TransactionResponse]
85
+ def get_transaction(transaction_id, opts = {})
86
+ data, _status_code, _headers = get_transaction_with_http_info(transaction_id, opts)
87
+ data
88
+ end
89
+
90
+ # Fetch a single transaction
91
+ # Finds and returns a Transaction created by the requesting API key, using the provided Transaction ID.
92
+ # @param transaction_id ID of the transaction. Example: &#x60;/v1/transactions/bf9ff782-e182-45ac-abea-5bce83ad6670&#x60;
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [Array<(TransactionResponse, Fixnum, Hash)>] TransactionResponse data, response status code and response headers
95
+ def get_transaction_with_http_info(transaction_id, opts = {})
96
+ if @api_client.config.debugging
97
+ @api_client.config.logger.debug 'Calling API: TransactionsApi.get_transaction ...'
98
+ end
99
+ # verify the required parameter 'transaction_id' is set
100
+ if @api_client.config.client_side_validation && transaction_id.nil?
101
+ fail ArgumentError, "Missing the required parameter 'transaction_id' when calling TransactionsApi.get_transaction"
102
+ end
103
+ # resource path
104
+ local_var_path = '/transactions/{Transaction ID}'.sub('{' + 'Transaction ID' + '}', transaction_id.to_s)
105
+
106
+ # query parameters
107
+ query_params = {}
108
+
109
+ # header parameters
110
+ header_params = {}
111
+ # HTTP header 'Accept' (if needed)
112
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
113
+
114
+ # form parameters
115
+ form_params = {}
116
+
117
+ # http body (model)
118
+ post_body = nil
119
+ auth_names = ['AuthorizationKey', 'AuthorizationNonce', 'AuthorizationSecret', 'AuthorizationSignature']
120
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
121
+ :header_params => header_params,
122
+ :query_params => query_params,
123
+ :form_params => form_params,
124
+ :body => post_body,
125
+ :auth_names => auth_names,
126
+ :return_type => 'TransactionResponse')
127
+ if @api_client.config.debugging
128
+ @api_client.config.logger.debug "API called: TransactionsApi#get_transaction\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
129
+ end
130
+ return data, status_code, headers
131
+ end
132
+
133
+ def get_transactions_all(opts = {})
134
+ result = []
135
+ response = get_transactions(opts)
136
+ result += response["object"]
137
+ while next_page = response["meta"]["pagination"]["next_page"]
138
+ response = get_transactions(opts.merge(page: next_page))
139
+ result += response["object"]
140
+ end
141
+ result
142
+ end
143
+
144
+ # Get a list of transactions
145
+ # Retrieves a paginated list of the Transactions created by your API key.
146
+ # @param [Hash] opts the optional parameters
147
+ # @option opts [Integer] :page The page number to request (defaults to 1)
148
+ # @option opts [Integer] :per The number of results to load per page (defaults to 10)
149
+ # @option opts [String] :external_id Allows filtering results by &#x60;external_id&#x60;. Example: &#x60;/v1/senders?external_id&#x3D;26ec8517-2f0d-48c0-b74f-0bccb9ab3a87&#x60;
150
+ # @return [TransactionListResponse]
151
+ def get_transactions(opts = {})
152
+ data, _status_code, _headers = get_transactions_with_http_info(opts)
153
+ data
154
+ end
155
+
156
+ # Get a list of transactions
157
+ # Retrieves a paginated list of the Transactions created by your API key.
158
+ # @param [Hash] opts the optional parameters
159
+ # @option opts [Integer] :page The page number to request (defaults to 1)
160
+ # @option opts [Integer] :per The number of results to load per page (defaults to 10)
161
+ # @option opts [String] :external_id Allows filtering results by &#x60;external_id&#x60;. Example: &#x60;/v1/senders?external_id&#x3D;26ec8517-2f0d-48c0-b74f-0bccb9ab3a87&#x60;
162
+ # @return [Array<(TransactionListResponse, Fixnum, Hash)>] TransactionListResponse data, response status code and response headers
163
+ def get_transactions_with_http_info(opts = {})
164
+ if @api_client.config.debugging
165
+ @api_client.config.logger.debug 'Calling API: TransactionsApi.get_transactions ...'
166
+ end
167
+ # resource path
168
+ local_var_path = '/transactions'
169
+
170
+ # query parameters
171
+ query_params = {}
172
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
173
+ query_params[:'per'] = opts[:'per'] if !opts[:'per'].nil?
174
+ query_params[:'external_id'] = opts[:'external_id'] if !opts[:'external_id'].nil?
175
+
176
+ # header parameters
177
+ header_params = {}
178
+ # HTTP header 'Accept' (if needed)
179
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
180
+
181
+ # form parameters
182
+ form_params = {}
183
+
184
+ # http body (model)
185
+ post_body = nil
186
+ auth_names = ['AuthorizationKey', 'AuthorizationNonce', 'AuthorizationSecret', 'AuthorizationSignature']
187
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
188
+ :header_params => header_params,
189
+ :query_params => query_params,
190
+ :form_params => form_params,
191
+ :body => post_body,
192
+ :auth_names => auth_names,
193
+ :return_type => 'TransactionListResponse')
194
+ if @api_client.config.debugging
195
+ @api_client.config.logger.debug "API called: TransactionsApi#get_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
196
+ end
197
+ return data, status_code, headers
198
+ end
199
+
200
+
201
+ # Creates a fake payin for transaction
202
+ # This method is available only in sandbox environment and is supposed to be used only for testing integration. It allows you to emulate a payin without paying actual money.
203
+ # @param transaction_id ID of the transaction to payin. Example: &#x60;/v1/transactions/bf9ff782-e182-45ac-abea-5bce83ad6670/payin&#x60;
204
+ # @param payin_method_request
205
+ # @param [Hash] opts the optional parameters
206
+ # @return [TransactionResponse]
207
+ def payin_transaction(transaction_id, payin_method_request, opts = {})
208
+ data, _status_code, _headers = payin_transaction_with_http_info(transaction_id, payin_method_request, opts)
209
+ data
210
+ end
211
+
212
+ # Creates a fake payin for transaction
213
+ # This method is available only in sandbox environment and is supposed to be used only for testing integration. It allows you to emulate a payin without paying actual money.
214
+ # @param transaction_id ID of the transaction to payin. Example: &#x60;/v1/transactions/bf9ff782-e182-45ac-abea-5bce83ad6670/payin&#x60;
215
+ # @param payin_method_request
216
+ # @param [Hash] opts the optional parameters
217
+ # @return [Array<(TransactionResponse, Fixnum, Hash)>] TransactionResponse data, response status code and response headers
218
+ def payin_transaction_with_http_info(transaction_id, payin_method_request, opts = {})
219
+ if @api_client.config.debugging
220
+ @api_client.config.logger.debug 'Calling API: TransactionsApi.payin_transaction ...'
221
+ end
222
+ # verify the required parameter 'transaction_id' is set
223
+ if @api_client.config.client_side_validation && transaction_id.nil?
224
+ fail ArgumentError, "Missing the required parameter 'transaction_id' when calling TransactionsApi.payin_transaction"
225
+ end
226
+ # verify the required parameter 'payin_method_request' is set
227
+ if @api_client.config.client_side_validation && payin_method_request.nil?
228
+ fail ArgumentError, "Missing the required parameter 'payin_method_request' when calling TransactionsApi.payin_transaction"
229
+ end
230
+ # resource path
231
+ local_var_path = '/transactions/{Transaction ID}/payin'.sub('{' + 'Transaction ID' + '}', transaction_id.to_s)
232
+
233
+ # query parameters
234
+ query_params = {}
235
+
236
+ # header parameters
237
+ header_params = {}
238
+ # HTTP header 'Accept' (if needed)
239
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
240
+ # HTTP header 'Content-Type'
241
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
242
+
243
+ # form parameters
244
+ form_params = {}
245
+
246
+ # http body (model)
247
+ post_body = @api_client.object_to_http_body(payin_method_request)
248
+ auth_names = ['AuthorizationKey', 'AuthorizationNonce', 'AuthorizationSecret', 'AuthorizationSignature']
249
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
250
+ :header_params => header_params,
251
+ :query_params => query_params,
252
+ :form_params => form_params,
253
+ :body => post_body,
254
+ :auth_names => auth_names,
255
+ :return_type => 'TransactionResponse')
256
+ if @api_client.config.debugging
257
+ @api_client.config.logger.debug "API called: TransactionsApi#payin_transaction\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
258
+ end
259
+ return data, status_code, headers
260
+ end
261
+
262
+
263
+ # Creates a fake payout for transaction
264
+ # This method is available only in sandbox environment and is supposed to be used only for testing. It allows you to emulate the payout of a transaction after payin.
265
+ # @param transaction_id ID of the transaction to payout. Example: &#x60;/v1/transactions/bf9ff782-e182-45ac-abea-5bce83ad6670/payout&#x60;
266
+ # @param [Hash] opts the optional parameters
267
+ # @return [TransactionResponse]
268
+ def payout_transaction(transaction_id, opts = {})
269
+ data, _status_code, _headers = payout_transaction_with_http_info(transaction_id, opts)
270
+ data
271
+ end
272
+
273
+ # Creates a fake payout for transaction
274
+ # This method is available only in sandbox environment and is supposed to be used only for testing. It allows you to emulate the payout of a transaction after payin.
275
+ # @param transaction_id ID of the transaction to payout. Example: &#x60;/v1/transactions/bf9ff782-e182-45ac-abea-5bce83ad6670/payout&#x60;
276
+ # @param [Hash] opts the optional parameters
277
+ # @return [Array<(TransactionResponse, Fixnum, Hash)>] TransactionResponse data, response status code and response headers
278
+ def payout_transaction_with_http_info(transaction_id, opts = {})
279
+ if @api_client.config.debugging
280
+ @api_client.config.logger.debug 'Calling API: TransactionsApi.payout_transaction ...'
281
+ end
282
+ # verify the required parameter 'transaction_id' is set
283
+ if @api_client.config.client_side_validation && transaction_id.nil?
284
+ fail ArgumentError, "Missing the required parameter 'transaction_id' when calling TransactionsApi.payout_transaction"
285
+ end
286
+ # resource path
287
+ local_var_path = '/transactions/{Transaction ID}/payout'.sub('{' + 'Transaction ID' + '}', transaction_id.to_s)
288
+
289
+ # query parameters
290
+ query_params = {}
291
+
292
+ # header parameters
293
+ header_params = {}
294
+ # HTTP header 'Accept' (if needed)
295
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
296
+
297
+ # form parameters
298
+ form_params = {}
299
+
300
+ # http body (model)
301
+ post_body = nil
302
+ auth_names = ['AuthorizationKey', 'AuthorizationNonce', 'AuthorizationSecret', 'AuthorizationSignature']
303
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
304
+ :header_params => header_params,
305
+ :query_params => query_params,
306
+ :form_params => form_params,
307
+ :body => post_body,
308
+ :auth_names => auth_names,
309
+ :return_type => 'TransactionResponse')
310
+ if @api_client.config.debugging
311
+ @api_client.config.logger.debug "API called: TransactionsApi#payout_transaction\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
312
+ end
313
+ return data, status_code, headers
314
+ end
315
+
316
+
317
+ # Creates a new transaction
318
+ # Transactions are the main objects in the TransferZero API, so it's important to understand how to create and manage them. Transactions facilitate money movement from one Sender in a specific currency to one or multiple Recipients in another currency. The main flow of a successful transaction flow is the following - - Transaction is created linking the Sender to the Recipient(s) with the requested amounts. - Once the sender is KYC'd and approved the transaction can be funded. - Once the transaction is funded, we will initiate the payout to the recipient(s). - After the recipient (or all recipients) has received the money, the transaction is finished.
319
+ # @param transaction_request
320
+ # @param [Hash] opts the optional parameters
321
+ # @return [TransactionResponse]
322
+ def post_transactions(transaction_request, opts = {})
323
+ data, _status_code, _headers = post_transactions_with_http_info(transaction_request, opts)
324
+ data
325
+ end
326
+
327
+ # Creates a new transaction
328
+ # Transactions are the main objects in the TransferZero API, so it&#39;s important to understand how to create and manage them. Transactions facilitate money movement from one Sender in a specific currency to one or multiple Recipients in another currency. The main flow of a successful transaction flow is the following - - Transaction is created linking the Sender to the Recipient(s) with the requested amounts. - Once the sender is KYC&#39;d and approved the transaction can be funded. - Once the transaction is funded, we will initiate the payout to the recipient(s). - After the recipient (or all recipients) has received the money, the transaction is finished.
329
+ # @param transaction_request
330
+ # @param [Hash] opts the optional parameters
331
+ # @return [Array<(TransactionResponse, Fixnum, Hash)>] TransactionResponse data, response status code and response headers
332
+ def post_transactions_with_http_info(transaction_request, opts = {})
333
+ if @api_client.config.debugging
334
+ @api_client.config.logger.debug 'Calling API: TransactionsApi.post_transactions ...'
335
+ end
336
+ # verify the required parameter 'transaction_request' is set
337
+ if @api_client.config.client_side_validation && transaction_request.nil?
338
+ fail ArgumentError, "Missing the required parameter 'transaction_request' when calling TransactionsApi.post_transactions"
339
+ end
340
+ # resource path
341
+ local_var_path = '/transactions'
342
+
343
+ # query parameters
344
+ query_params = {}
345
+
346
+ # header parameters
347
+ header_params = {}
348
+ # HTTP header 'Accept' (if needed)
349
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
350
+ # HTTP header 'Content-Type'
351
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
352
+
353
+ # form parameters
354
+ form_params = {}
355
+
356
+ # http body (model)
357
+ post_body = @api_client.object_to_http_body(transaction_request)
358
+ auth_names = ['AuthorizationKey', 'AuthorizationNonce', 'AuthorizationSecret', 'AuthorizationSignature']
359
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
360
+ :header_params => header_params,
361
+ :query_params => query_params,
362
+ :form_params => form_params,
363
+ :body => post_body,
364
+ :auth_names => auth_names,
365
+ :return_type => 'TransactionResponse')
366
+ if @api_client.config.debugging
367
+ @api_client.config.logger.debug "API called: TransactionsApi#post_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
368
+ end
369
+ return data, status_code, headers
370
+ end
371
+
372
+
373
+ # Validates a transaction payload
374
+ # Validates fields in a transaction payload and displays invalid or missing fields
375
+ # @param transaction_request
376
+ # @param [Hash] opts the optional parameters
377
+ # @return [TransactionResponse]
378
+ def validate_transactions(transaction_request, opts = {})
379
+ data, _status_code, _headers = validate_transactions_with_http_info(transaction_request, opts)
380
+ data
381
+ end
382
+
383
+ # Validates a transaction payload
384
+ # Validates fields in a transaction payload and displays invalid or missing fields
385
+ # @param transaction_request
386
+ # @param [Hash] opts the optional parameters
387
+ # @return [Array<(TransactionResponse, Fixnum, Hash)>] TransactionResponse data, response status code and response headers
388
+ def validate_transactions_with_http_info(transaction_request, opts = {})
389
+ if @api_client.config.debugging
390
+ @api_client.config.logger.debug 'Calling API: TransactionsApi.validate_transactions ...'
391
+ end
392
+ # verify the required parameter 'transaction_request' is set
393
+ if @api_client.config.client_side_validation && transaction_request.nil?
394
+ fail ArgumentError, "Missing the required parameter 'transaction_request' when calling TransactionsApi.validate_transactions"
395
+ end
396
+ # resource path
397
+ local_var_path = '/transactions/validate'
398
+
399
+ # query parameters
400
+ query_params = {}
401
+
402
+ # header parameters
403
+ header_params = {}
404
+ # HTTP header 'Accept' (if needed)
405
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
406
+ # HTTP header 'Content-Type'
407
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
408
+
409
+ # form parameters
410
+ form_params = {}
411
+
412
+ # http body (model)
413
+ post_body = @api_client.object_to_http_body(transaction_request)
414
+ auth_names = ['AuthorizationKey', 'AuthorizationNonce', 'AuthorizationSecret', 'AuthorizationSignature']
415
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
416
+ :header_params => header_params,
417
+ :query_params => query_params,
418
+ :form_params => form_params,
419
+ :body => post_body,
420
+ :auth_names => auth_names,
421
+ :return_type => 'TransactionResponse')
422
+ if @api_client.config.debugging
423
+ @api_client.config.logger.debug "API called: TransactionsApi#validate_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
424
+ end
425
+ return data, status_code, headers
426
+ end
427
+ end
428
+ end
@@ -0,0 +1,299 @@
1
+ =begin
2
+ #TransferZero API
3
+
4
+ #Reference documentation for the TransferZero API V1
5
+
6
+ OpenAPI spec version: 1.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.0.0-beta3
10
+
11
+ =end
12
+
13
+ require 'uri'
14
+
15
+ module TransferZero
16
+ class WebhooksApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+
23
+
24
+ # Unsubscribing from a webhook
25
+ # Unsubscribes from a webhook specified
26
+ # @param webhook_id The ID of webhook to cancel. Example: &#x60;/v1/webhooks/9d4d7b73-a94c-4979-ab57-09074fd55d33&#x60;
27
+ # @param [Hash] opts the optional parameters
28
+ # @return [WebhookDefinitionResponse]
29
+ def delete_webhook(webhook_id, opts = {})
30
+ data, _status_code, _headers = delete_webhook_with_http_info(webhook_id, opts)
31
+ data
32
+ end
33
+
34
+ # Unsubscribing from a webhook
35
+ # Unsubscribes from a webhook specified
36
+ # @param webhook_id The ID of webhook to cancel. Example: &#x60;/v1/webhooks/9d4d7b73-a94c-4979-ab57-09074fd55d33&#x60;
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(WebhookDefinitionResponse, Fixnum, Hash)>] WebhookDefinitionResponse data, response status code and response headers
39
+ def delete_webhook_with_http_info(webhook_id, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: WebhooksApi.delete_webhook ...'
42
+ end
43
+ # verify the required parameter 'webhook_id' is set
44
+ if @api_client.config.client_side_validation && webhook_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'webhook_id' when calling WebhooksApi.delete_webhook"
46
+ end
47
+ # resource path
48
+ local_var_path = '/webhooks/{Webhook ID}'.sub('{' + 'Webhook ID' + '}', webhook_id.to_s)
49
+
50
+ # query parameters
51
+ query_params = {}
52
+
53
+ # header parameters
54
+ header_params = {}
55
+ # HTTP header 'Accept' (if needed)
56
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
57
+
58
+ # form parameters
59
+ form_params = {}
60
+
61
+ # http body (model)
62
+ post_body = nil
63
+ auth_names = ['AuthorizationKey', 'AuthorizationNonce', 'AuthorizationSecret', 'AuthorizationSignature']
64
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
65
+ :header_params => header_params,
66
+ :query_params => query_params,
67
+ :form_params => form_params,
68
+ :body => post_body,
69
+ :auth_names => auth_names,
70
+ :return_type => 'WebhookDefinitionResponse')
71
+ if @api_client.config.debugging
72
+ @api_client.config.logger.debug "API called: WebhooksApi#delete_webhook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
73
+ end
74
+ return data, status_code, headers
75
+ end
76
+
77
+
78
+ # Find a webhook's details
79
+ # Look up a webhook's details with its ID
80
+ # @param webhook_id The ID of the Webhook to look up Example: &#x60;/v1/webhooks/9d4d7b73-a94c-4979-ab57-09074fd55d33&#x60;
81
+ # @param [Hash] opts the optional parameters
82
+ # @return [WebhookDefinitionResponse]
83
+ def get_webhook(webhook_id, opts = {})
84
+ data, _status_code, _headers = get_webhook_with_http_info(webhook_id, opts)
85
+ data
86
+ end
87
+
88
+ # Find a webhook&#39;s details
89
+ # Look up a webhook&#39;s details with its ID
90
+ # @param webhook_id The ID of the Webhook to look up Example: &#x60;/v1/webhooks/9d4d7b73-a94c-4979-ab57-09074fd55d33&#x60;
91
+ # @param [Hash] opts the optional parameters
92
+ # @return [Array<(WebhookDefinitionResponse, Fixnum, Hash)>] WebhookDefinitionResponse data, response status code and response headers
93
+ def get_webhook_with_http_info(webhook_id, opts = {})
94
+ if @api_client.config.debugging
95
+ @api_client.config.logger.debug 'Calling API: WebhooksApi.get_webhook ...'
96
+ end
97
+ # verify the required parameter 'webhook_id' is set
98
+ if @api_client.config.client_side_validation && webhook_id.nil?
99
+ fail ArgumentError, "Missing the required parameter 'webhook_id' when calling WebhooksApi.get_webhook"
100
+ end
101
+ # resource path
102
+ local_var_path = '/webhooks/{Webhook ID}'.sub('{' + 'Webhook ID' + '}', webhook_id.to_s)
103
+
104
+ # query parameters
105
+ query_params = {}
106
+
107
+ # header parameters
108
+ header_params = {}
109
+ # HTTP header 'Accept' (if needed)
110
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
111
+
112
+ # form parameters
113
+ form_params = {}
114
+
115
+ # http body (model)
116
+ post_body = nil
117
+ auth_names = ['AuthorizationKey', 'AuthorizationNonce', 'AuthorizationSecret', 'AuthorizationSignature']
118
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
119
+ :header_params => header_params,
120
+ :query_params => query_params,
121
+ :form_params => form_params,
122
+ :body => post_body,
123
+ :auth_names => auth_names,
124
+ :return_type => 'WebhookDefinitionResponse')
125
+ if @api_client.config.debugging
126
+ @api_client.config.logger.debug "API called: WebhooksApi#get_webhook\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
127
+ end
128
+ return data, status_code, headers
129
+ end
130
+
131
+
132
+ # Find possible webhook events
133
+ # Fetching possible webhook events
134
+ # @param [Hash] opts the optional parameters
135
+ # @return [WebhookDefinitionEventListResponse]
136
+ def get_webhook_events(opts = {})
137
+ data, _status_code, _headers = get_webhook_events_with_http_info(opts)
138
+ data
139
+ end
140
+
141
+ # Find possible webhook events
142
+ # Fetching possible webhook events
143
+ # @param [Hash] opts the optional parameters
144
+ # @return [Array<(WebhookDefinitionEventListResponse, Fixnum, Hash)>] WebhookDefinitionEventListResponse data, response status code and response headers
145
+ def get_webhook_events_with_http_info(opts = {})
146
+ if @api_client.config.debugging
147
+ @api_client.config.logger.debug 'Calling API: WebhooksApi.get_webhook_events ...'
148
+ end
149
+ # resource path
150
+ local_var_path = '/webhooks/events'
151
+
152
+ # query parameters
153
+ query_params = {}
154
+
155
+ # header parameters
156
+ header_params = {}
157
+ # HTTP header 'Accept' (if needed)
158
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
159
+
160
+ # form parameters
161
+ form_params = {}
162
+
163
+ # http body (model)
164
+ post_body = nil
165
+ auth_names = ['AuthorizationKey', 'AuthorizationNonce', 'AuthorizationSecret', 'AuthorizationSignature']
166
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
167
+ :header_params => header_params,
168
+ :query_params => query_params,
169
+ :form_params => form_params,
170
+ :body => post_body,
171
+ :auth_names => auth_names,
172
+ :return_type => 'WebhookDefinitionEventListResponse')
173
+ if @api_client.config.debugging
174
+ @api_client.config.logger.debug "API called: WebhooksApi#get_webhook_events\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
175
+ end
176
+ return data, status_code, headers
177
+ end
178
+
179
+ def get_webhooks_all(opts = {})
180
+ result = []
181
+ response = get_webhooks(opts)
182
+ result += response["object"]
183
+ while next_page = response["meta"]["pagination"]["next_page"]
184
+ response = get_webhooks(opts.merge(page: next_page))
185
+ result += response["object"]
186
+ end
187
+ result
188
+ end
189
+
190
+ # Listing webhooks
191
+ # Get a list of created webhooks
192
+ # @param [Hash] opts the optional parameters
193
+ # @option opts [Integer] :page The page number to request (defaults to 1)
194
+ # @option opts [Integer] :per The number of results to load per page (defaults to 10)
195
+ # @return [WebhookDefinitionListResponse]
196
+ def get_webhooks(opts = {})
197
+ data, _status_code, _headers = get_webhooks_with_http_info(opts)
198
+ data
199
+ end
200
+
201
+ # Listing webhooks
202
+ # Get a list of created webhooks
203
+ # @param [Hash] opts the optional parameters
204
+ # @option opts [Integer] :page The page number to request (defaults to 1)
205
+ # @option opts [Integer] :per The number of results to load per page (defaults to 10)
206
+ # @return [Array<(WebhookDefinitionListResponse, Fixnum, Hash)>] WebhookDefinitionListResponse data, response status code and response headers
207
+ def get_webhooks_with_http_info(opts = {})
208
+ if @api_client.config.debugging
209
+ @api_client.config.logger.debug 'Calling API: WebhooksApi.get_webhooks ...'
210
+ end
211
+ # resource path
212
+ local_var_path = '/webhooks'
213
+
214
+ # query parameters
215
+ query_params = {}
216
+ query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
217
+ query_params[:'per'] = opts[:'per'] if !opts[:'per'].nil?
218
+
219
+ # header parameters
220
+ header_params = {}
221
+ # HTTP header 'Accept' (if needed)
222
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
223
+
224
+ # form parameters
225
+ form_params = {}
226
+
227
+ # http body (model)
228
+ post_body = nil
229
+ auth_names = ['AuthorizationKey', 'AuthorizationNonce', 'AuthorizationSecret', 'AuthorizationSignature']
230
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path,
231
+ :header_params => header_params,
232
+ :query_params => query_params,
233
+ :form_params => form_params,
234
+ :body => post_body,
235
+ :auth_names => auth_names,
236
+ :return_type => 'WebhookDefinitionListResponse')
237
+ if @api_client.config.debugging
238
+ @api_client.config.logger.debug "API called: WebhooksApi#get_webhooks\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
239
+ end
240
+ return data, status_code, headers
241
+ end
242
+
243
+
244
+ # Creating a webhook
245
+ # Creates a new webhook, subscribing the provided endpoint to the specified event(s)
246
+ # @param webhook_definition_request
247
+ # @param [Hash] opts the optional parameters
248
+ # @return [WebhookDefinitionResponse]
249
+ def post_webhooks(webhook_definition_request, opts = {})
250
+ data, _status_code, _headers = post_webhooks_with_http_info(webhook_definition_request, opts)
251
+ data
252
+ end
253
+
254
+ # Creating a webhook
255
+ # Creates a new webhook, subscribing the provided endpoint to the specified event(s)
256
+ # @param webhook_definition_request
257
+ # @param [Hash] opts the optional parameters
258
+ # @return [Array<(WebhookDefinitionResponse, Fixnum, Hash)>] WebhookDefinitionResponse data, response status code and response headers
259
+ def post_webhooks_with_http_info(webhook_definition_request, opts = {})
260
+ if @api_client.config.debugging
261
+ @api_client.config.logger.debug 'Calling API: WebhooksApi.post_webhooks ...'
262
+ end
263
+ # verify the required parameter 'webhook_definition_request' is set
264
+ if @api_client.config.client_side_validation && webhook_definition_request.nil?
265
+ fail ArgumentError, "Missing the required parameter 'webhook_definition_request' when calling WebhooksApi.post_webhooks"
266
+ end
267
+ # resource path
268
+ local_var_path = '/webhooks'
269
+
270
+ # query parameters
271
+ query_params = {}
272
+
273
+ # header parameters
274
+ header_params = {}
275
+ # HTTP header 'Accept' (if needed)
276
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
277
+ # HTTP header 'Content-Type'
278
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
279
+
280
+ # form parameters
281
+ form_params = {}
282
+
283
+ # http body (model)
284
+ post_body = @api_client.object_to_http_body(webhook_definition_request)
285
+ auth_names = ['AuthorizationKey', 'AuthorizationNonce', 'AuthorizationSecret', 'AuthorizationSignature']
286
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
287
+ :header_params => header_params,
288
+ :query_params => query_params,
289
+ :form_params => form_params,
290
+ :body => post_body,
291
+ :auth_names => auth_names,
292
+ :return_type => 'WebhookDefinitionResponse')
293
+ if @api_client.config.debugging
294
+ @api_client.config.logger.debug "API called: WebhooksApi#post_webhooks\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
295
+ end
296
+ return data, status_code, headers
297
+ end
298
+ end
299
+ end