mundi_api 0.9.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 (123) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +2186 -0
  4. data/lib/mundi_api.rb +137 -0
  5. data/lib/mundi_api/api_helper.rb +209 -0
  6. data/lib/mundi_api/configuration.rb +25 -0
  7. data/lib/mundi_api/controllers/base_controller.rb +61 -0
  8. data/lib/mundi_api/controllers/charges_controller.rb +359 -0
  9. data/lib/mundi_api/controllers/customers_controller.rb +758 -0
  10. data/lib/mundi_api/controllers/invoices_controller.rb +184 -0
  11. data/lib/mundi_api/controllers/orders_controller.rb +171 -0
  12. data/lib/mundi_api/controllers/plans_controller.rb +387 -0
  13. data/lib/mundi_api/controllers/subscriptions_controller.rb +648 -0
  14. data/lib/mundi_api/controllers/tokens_controller.rb +87 -0
  15. data/lib/mundi_api/exceptions/api_exception.rb +18 -0
  16. data/lib/mundi_api/exceptions/error_exception.rb +37 -0
  17. data/lib/mundi_api/http/auth/basic_auth.rb +20 -0
  18. data/lib/mundi_api/http/faraday_client.rb +55 -0
  19. data/lib/mundi_api/http/http_call_back.rb +22 -0
  20. data/lib/mundi_api/http/http_client.rb +92 -0
  21. data/lib/mundi_api/http/http_context.rb +18 -0
  22. data/lib/mundi_api/http/http_method_enum.rb +11 -0
  23. data/lib/mundi_api/http/http_request.rb +48 -0
  24. data/lib/mundi_api/http/http_response.rb +21 -0
  25. data/lib/mundi_api/models/base_model.rb +34 -0
  26. data/lib/mundi_api/models/create_access_token_request.rb +35 -0
  27. data/lib/mundi_api/models/create_address_request.rb +108 -0
  28. data/lib/mundi_api/models/create_bank_transfer_payment_request.rb +44 -0
  29. data/lib/mundi_api/models/create_boleto_payment_request.rb +83 -0
  30. data/lib/mundi_api/models/create_cancel_charge_request.rb +35 -0
  31. data/lib/mundi_api/models/create_cancel_subscription_request.rb +35 -0
  32. data/lib/mundi_api/models/create_capture_charge_request.rb +45 -0
  33. data/lib/mundi_api/models/create_card_options_request.rb +36 -0
  34. data/lib/mundi_api/models/create_card_request.rb +136 -0
  35. data/lib/mundi_api/models/create_card_token_request.rb +80 -0
  36. data/lib/mundi_api/models/create_charge_request.rb +92 -0
  37. data/lib/mundi_api/models/create_checkout_boleto_payment_request.rb +54 -0
  38. data/lib/mundi_api/models/create_checkout_card_installment_option_request.rb +44 -0
  39. data/lib/mundi_api/models/create_checkout_card_payment_request.rb +51 -0
  40. data/lib/mundi_api/models/create_checkout_payment_request.rb +82 -0
  41. data/lib/mundi_api/models/create_credit_card_payment_request.rb +108 -0
  42. data/lib/mundi_api/models/create_customer_request.rb +108 -0
  43. data/lib/mundi_api/models/create_discount_request.rb +62 -0
  44. data/lib/mundi_api/models/create_order_item_request.rb +71 -0
  45. data/lib/mundi_api/models/create_order_request.rb +114 -0
  46. data/lib/mundi_api/models/create_payment_request.rb +121 -0
  47. data/lib/mundi_api/models/create_phone_request.rb +53 -0
  48. data/lib/mundi_api/models/create_phones_request.rb +46 -0
  49. data/lib/mundi_api/models/create_plan_item_request.rb +81 -0
  50. data/lib/mundi_api/models/create_plan_request.rb +199 -0
  51. data/lib/mundi_api/models/create_price_bracket_request.rb +62 -0
  52. data/lib/mundi_api/models/create_pricing_scheme_request.rb +69 -0
  53. data/lib/mundi_api/models/create_seller_request.rb +90 -0
  54. data/lib/mundi_api/models/create_setup_request.rb +55 -0
  55. data/lib/mundi_api/models/create_shipping_request.rb +81 -0
  56. data/lib/mundi_api/models/create_subscription_item_request.rb +106 -0
  57. data/lib/mundi_api/models/create_subscription_request.rb +269 -0
  58. data/lib/mundi_api/models/create_token_request.rb +44 -0
  59. data/lib/mundi_api/models/create_usage_request.rb +54 -0
  60. data/lib/mundi_api/models/create_voucher_payment_request.rb +72 -0
  61. data/lib/mundi_api/models/get_access_token_response.rb +73 -0
  62. data/lib/mundi_api/models/get_address_response.rb +163 -0
  63. data/lib/mundi_api/models/get_bank_transfer_transaction_response.rb +118 -0
  64. data/lib/mundi_api/models/get_billing_address_response.rb +98 -0
  65. data/lib/mundi_api/models/get_boleto_transaction_response.rb +137 -0
  66. data/lib/mundi_api/models/get_card_response.rb +164 -0
  67. data/lib/mundi_api/models/get_card_token_response.rb +89 -0
  68. data/lib/mundi_api/models/get_charge_response.rb +184 -0
  69. data/lib/mundi_api/models/get_checkout_payment_settings_response.rb +99 -0
  70. data/lib/mundi_api/models/get_credit_card_transaction_response.rb +163 -0
  71. data/lib/mundi_api/models/get_customer_response.rb +145 -0
  72. data/lib/mundi_api/models/get_discount_response.rb +100 -0
  73. data/lib/mundi_api/models/get_invoice_item_response.rb +73 -0
  74. data/lib/mundi_api/models/get_invoice_response.rb +210 -0
  75. data/lib/mundi_api/models/get_order_item_response.rb +63 -0
  76. data/lib/mundi_api/models/get_order_response.rb +167 -0
  77. data/lib/mundi_api/models/get_period_response.rb +73 -0
  78. data/lib/mundi_api/models/get_phone_response.rb +53 -0
  79. data/lib/mundi_api/models/get_phones_response.rb +46 -0
  80. data/lib/mundi_api/models/get_plan_item_response.rb +127 -0
  81. data/lib/mundi_api/models/get_plan_response.rb +223 -0
  82. data/lib/mundi_api/models/get_price_bracket_response.rb +62 -0
  83. data/lib/mundi_api/models/get_pricing_scheme_response.rb +69 -0
  84. data/lib/mundi_api/models/get_safety_pay_transaction_response.rb +109 -0
  85. data/lib/mundi_api/models/get_seller_response.rb +126 -0
  86. data/lib/mundi_api/models/get_setup_response.rb +62 -0
  87. data/lib/mundi_api/models/get_shipping_response.rb +72 -0
  88. data/lib/mundi_api/models/get_subscription_item_response.rb +135 -0
  89. data/lib/mundi_api/models/get_subscription_response.rb +261 -0
  90. data/lib/mundi_api/models/get_token_response.rb +72 -0
  91. data/lib/mundi_api/models/get_transaction_response.rb +136 -0
  92. data/lib/mundi_api/models/get_usage_response.rb +82 -0
  93. data/lib/mundi_api/models/get_voucher_transaction_response.rb +163 -0
  94. data/lib/mundi_api/models/list_access_tokens_response.rb +51 -0
  95. data/lib/mundi_api/models/list_addresses_response.rb +51 -0
  96. data/lib/mundi_api/models/list_cards_response.rb +51 -0
  97. data/lib/mundi_api/models/list_charges_response.rb +51 -0
  98. data/lib/mundi_api/models/list_customers_response.rb +51 -0
  99. data/lib/mundi_api/models/list_invoices_response.rb +51 -0
  100. data/lib/mundi_api/models/list_order_response.rb +51 -0
  101. data/lib/mundi_api/models/list_plans_response.rb +51 -0
  102. data/lib/mundi_api/models/list_subscription_items_response.rb +51 -0
  103. data/lib/mundi_api/models/list_subscriptions_response.rb +51 -0
  104. data/lib/mundi_api/models/list_transactions_response.rb +51 -0
  105. data/lib/mundi_api/models/list_usages_response.rb +51 -0
  106. data/lib/mundi_api/models/paging_response.rb +53 -0
  107. data/lib/mundi_api/models/update_address_request.rb +53 -0
  108. data/lib/mundi_api/models/update_card_request.rb +81 -0
  109. data/lib/mundi_api/models/update_charge_card_request.rb +62 -0
  110. data/lib/mundi_api/models/update_charge_due_date_request.rb +36 -0
  111. data/lib/mundi_api/models/update_charge_payment_method_request.rb +74 -0
  112. data/lib/mundi_api/models/update_customer_request.rb +90 -0
  113. data/lib/mundi_api/models/update_metadata_request.rb +35 -0
  114. data/lib/mundi_api/models/update_plan_item_request.rb +81 -0
  115. data/lib/mundi_api/models/update_plan_request.rb +161 -0
  116. data/lib/mundi_api/models/update_price_bracket_request.rb +62 -0
  117. data/lib/mundi_api/models/update_pricing_scheme_request.rb +69 -0
  118. data/lib/mundi_api/models/update_subscription_billing_date_request.rb +37 -0
  119. data/lib/mundi_api/models/update_subscription_card_request.rb +44 -0
  120. data/lib/mundi_api/models/update_subscription_item_request.rb +81 -0
  121. data/lib/mundi_api/models/update_subscription_payment_method_request.rb +53 -0
  122. data/lib/mundi_api/mundi_api_client.rb +63 -0
  123. metadata +246 -0
@@ -0,0 +1,648 @@
1
+ # This file was automatically generated by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
3
+
4
+ module MundiApi
5
+ # SubscriptionsController
6
+ class SubscriptionsController < BaseController
7
+ @instance = SubscriptionsController.new
8
+
9
+ class << self
10
+ attr_accessor :instance
11
+ end
12
+
13
+ def instance
14
+ self.class.instance
15
+ end
16
+
17
+ # Updates a subscription item
18
+ # @param [String] subscription_id Required parameter: Subscription Id
19
+ # @param [String] item_id Required parameter: Item id
20
+ # @param [UpdateSubscriptionItemRequest] body Required parameter: Request
21
+ # for updating a subscription item
22
+ # @return GetSubscriptionItemResponse response from the API call
23
+ def update_subscription_item(subscription_id,
24
+ item_id,
25
+ body)
26
+ # Prepare query url.
27
+ _query_builder = Configuration.base_uri.dup
28
+ _query_builder << '/subscriptions/{subscription_id}/items/{item_id}'
29
+ _query_builder = APIHelper.append_url_with_template_parameters(
30
+ _query_builder,
31
+ 'subscription_id' => subscription_id,
32
+ 'item_id' => item_id
33
+ )
34
+ _query_url = APIHelper.clean_url _query_builder
35
+
36
+ # Prepare headers.
37
+ _headers = {
38
+ 'accept' => 'application/json',
39
+ 'content-type' => 'application/json; charset=utf-8'
40
+ }
41
+
42
+ # Prepare and execute HttpRequest.
43
+ _request = @http_client.put(
44
+ _query_url,
45
+ headers: _headers,
46
+ parameters: body.to_json
47
+ )
48
+ BasicAuth.apply(_request)
49
+ _context = execute_request(_request)
50
+ validate_response(_context)
51
+
52
+ # Return appropriate response type.
53
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
54
+ GetSubscriptionItemResponse.from_hash(decoded)
55
+ end
56
+
57
+ # Creates a usage
58
+ # @param [String] subscription_id Required parameter: Subscription Id
59
+ # @param [String] item_id Required parameter: Item id
60
+ # @param [CreateUsageRequest] body Required parameter: Request for creating
61
+ # a usage
62
+ # @return GetUsageResponse response from the API call
63
+ def create_usage(subscription_id,
64
+ item_id,
65
+ body)
66
+ # Prepare query url.
67
+ _query_builder = Configuration.base_uri.dup
68
+ _query_builder << '/subscriptions/{subscription_id}/items/{item_id}/usages'
69
+ _query_builder = APIHelper.append_url_with_template_parameters(
70
+ _query_builder,
71
+ 'subscription_id' => subscription_id,
72
+ 'item_id' => item_id
73
+ )
74
+ _query_url = APIHelper.clean_url _query_builder
75
+
76
+ # Prepare headers.
77
+ _headers = {
78
+ 'accept' => 'application/json',
79
+ 'content-type' => 'application/json; charset=utf-8'
80
+ }
81
+
82
+ # Prepare and execute HttpRequest.
83
+ _request = @http_client.post(
84
+ _query_url,
85
+ headers: _headers,
86
+ parameters: body.to_json
87
+ )
88
+ BasicAuth.apply(_request)
89
+ _context = execute_request(_request)
90
+ validate_response(_context)
91
+
92
+ # Return appropriate response type.
93
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
94
+ GetUsageResponse.from_hash(decoded)
95
+ end
96
+
97
+ # Updates the billing date from a subscription
98
+ # @param [String] subscription_id Required parameter: The subscription id
99
+ # @param [UpdateSubscriptionBillingDateRequest] request Required parameter:
100
+ # Request for updating the subscription billing date
101
+ # @return GetSubscriptionResponse response from the API call
102
+ def update_subscription_billing_date(subscription_id,
103
+ request)
104
+ # Prepare query url.
105
+ _query_builder = Configuration.base_uri.dup
106
+ _query_builder << '/subscriptions/{subscription_id}/billing-date'
107
+ _query_builder = APIHelper.append_url_with_template_parameters(
108
+ _query_builder,
109
+ 'subscription_id' => subscription_id
110
+ )
111
+ _query_url = APIHelper.clean_url _query_builder
112
+
113
+ # Prepare headers.
114
+ _headers = {
115
+ 'accept' => 'application/json',
116
+ 'content-type' => 'application/json; charset=utf-8'
117
+ }
118
+
119
+ # Prepare and execute HttpRequest.
120
+ _request = @http_client.patch(
121
+ _query_url,
122
+ headers: _headers,
123
+ parameters: request.to_json
124
+ )
125
+ BasicAuth.apply(_request)
126
+ _context = execute_request(_request)
127
+ validate_response(_context)
128
+
129
+ # Return appropriate response type.
130
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
131
+ GetSubscriptionResponse.from_hash(decoded)
132
+ end
133
+
134
+ # Updates the credit card from a subscription
135
+ # @param [String] subscription_id Required parameter: Subscription id
136
+ # @param [UpdateSubscriptionCardRequest] request Required parameter: Request
137
+ # for updating a card
138
+ # @return GetSubscriptionResponse response from the API call
139
+ def update_subscription_card(subscription_id,
140
+ request)
141
+ # Prepare query url.
142
+ _query_builder = Configuration.base_uri.dup
143
+ _query_builder << '/subscriptions/{subscription_id}/card'
144
+ _query_builder = APIHelper.append_url_with_template_parameters(
145
+ _query_builder,
146
+ 'subscription_id' => subscription_id
147
+ )
148
+ _query_url = APIHelper.clean_url _query_builder
149
+
150
+ # Prepare headers.
151
+ _headers = {
152
+ 'accept' => 'application/json',
153
+ 'content-type' => 'application/json; charset=utf-8'
154
+ }
155
+
156
+ # Prepare and execute HttpRequest.
157
+ _request = @http_client.patch(
158
+ _query_url,
159
+ headers: _headers,
160
+ parameters: request.to_json
161
+ )
162
+ BasicAuth.apply(_request)
163
+ _context = execute_request(_request)
164
+ validate_response(_context)
165
+
166
+ # Return appropriate response type.
167
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
168
+ GetSubscriptionResponse.from_hash(decoded)
169
+ end
170
+
171
+ # Creates a new subscription
172
+ # @param [CreateSubscriptionRequest] body Required parameter: Request for
173
+ # creating a subscription
174
+ # @return GetSubscriptionResponse response from the API call
175
+ def create_subscription(body)
176
+ # Prepare query url.
177
+ _query_builder = Configuration.base_uri.dup
178
+ _query_builder << '/subscriptions'
179
+ _query_url = APIHelper.clean_url _query_builder
180
+
181
+ # Prepare headers.
182
+ _headers = {
183
+ 'accept' => 'application/json',
184
+ 'content-type' => 'application/json; charset=utf-8'
185
+ }
186
+
187
+ # Prepare and execute HttpRequest.
188
+ _request = @http_client.post(
189
+ _query_url,
190
+ headers: _headers,
191
+ parameters: body.to_json
192
+ )
193
+ BasicAuth.apply(_request)
194
+ _context = execute_request(_request)
195
+ validate_response(_context)
196
+
197
+ # Return appropriate response type.
198
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
199
+ GetSubscriptionResponse.from_hash(decoded)
200
+ end
201
+
202
+ # Creates a new Subscription item
203
+ # @param [String] subscription_id Required parameter: Subscription id
204
+ # @param [CreateSubscriptionItemRequest] request Required parameter: Request
205
+ # for creating a subscription item
206
+ # @return GetSubscriptionItemResponse response from the API call
207
+ def create_subscription_item(subscription_id,
208
+ request)
209
+ # Prepare query url.
210
+ _query_builder = Configuration.base_uri.dup
211
+ _query_builder << '/subscriptions/{subscription_id}/items'
212
+ _query_builder = APIHelper.append_url_with_template_parameters(
213
+ _query_builder,
214
+ 'subscription_id' => subscription_id
215
+ )
216
+ _query_url = APIHelper.clean_url _query_builder
217
+
218
+ # Prepare headers.
219
+ _headers = {
220
+ 'accept' => 'application/json',
221
+ 'content-type' => 'application/json; charset=utf-8'
222
+ }
223
+
224
+ # Prepare and execute HttpRequest.
225
+ _request = @http_client.post(
226
+ _query_url,
227
+ headers: _headers,
228
+ parameters: request.to_json
229
+ )
230
+ BasicAuth.apply(_request)
231
+ _context = execute_request(_request)
232
+ validate_response(_context)
233
+
234
+ # Return appropriate response type.
235
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
236
+ GetSubscriptionItemResponse.from_hash(decoded)
237
+ end
238
+
239
+ # Creates a discount
240
+ # @param [String] subscription_id Required parameter: Subscription id
241
+ # @param [CreateDiscountRequest] request Required parameter: Request for
242
+ # creating a discount
243
+ # @return GetDiscountResponse response from the API call
244
+ def create_discount(subscription_id,
245
+ request)
246
+ # Prepare query url.
247
+ _query_builder = Configuration.base_uri.dup
248
+ _query_builder << '/subscriptions/{subscription_id}/discounts'
249
+ _query_builder = APIHelper.append_url_with_template_parameters(
250
+ _query_builder,
251
+ 'subscription_id' => subscription_id
252
+ )
253
+ _query_url = APIHelper.clean_url _query_builder
254
+
255
+ # Prepare headers.
256
+ _headers = {
257
+ 'accept' => 'application/json',
258
+ 'content-type' => 'application/json; charset=utf-8'
259
+ }
260
+
261
+ # Prepare and execute HttpRequest.
262
+ _request = @http_client.post(
263
+ _query_url,
264
+ headers: _headers,
265
+ parameters: request.to_json
266
+ )
267
+ BasicAuth.apply(_request)
268
+ _context = execute_request(_request)
269
+ validate_response(_context)
270
+
271
+ # Return appropriate response type.
272
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
273
+ GetDiscountResponse.from_hash(decoded)
274
+ end
275
+
276
+ # Gets a subscription
277
+ # @param [String] subscription_id Required parameter: Subscription id
278
+ # @return GetSubscriptionResponse response from the API call
279
+ def get_subscription(subscription_id)
280
+ # Prepare query url.
281
+ _query_builder = Configuration.base_uri.dup
282
+ _query_builder << '/subscriptions/{subscription_id}'
283
+ _query_builder = APIHelper.append_url_with_template_parameters(
284
+ _query_builder,
285
+ 'subscription_id' => subscription_id
286
+ )
287
+ _query_url = APIHelper.clean_url _query_builder
288
+
289
+ # Prepare headers.
290
+ _headers = {
291
+ 'accept' => 'application/json'
292
+ }
293
+
294
+ # Prepare and execute HttpRequest.
295
+ _request = @http_client.get(
296
+ _query_url,
297
+ headers: _headers
298
+ )
299
+ BasicAuth.apply(_request)
300
+ _context = execute_request(_request)
301
+ validate_response(_context)
302
+
303
+ # Return appropriate response type.
304
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
305
+ GetSubscriptionResponse.from_hash(decoded)
306
+ end
307
+
308
+ # Updates the payment method from a subscription
309
+ # @param [String] subscription_id Required parameter: Subscription id
310
+ # @param [UpdateSubscriptionPaymentMethodRequest] request Required
311
+ # parameter: Request for updating the paymentmethod from a subscription
312
+ # @return GetSubscriptionResponse response from the API call
313
+ def update_subscription_payment_method(subscription_id,
314
+ request)
315
+ # Prepare query url.
316
+ _query_builder = Configuration.base_uri.dup
317
+ _query_builder << '/subscriptions/{subscription_id}/payment-method'
318
+ _query_builder = APIHelper.append_url_with_template_parameters(
319
+ _query_builder,
320
+ 'subscription_id' => subscription_id
321
+ )
322
+ _query_url = APIHelper.clean_url _query_builder
323
+
324
+ # Prepare headers.
325
+ _headers = {
326
+ 'accept' => 'application/json',
327
+ 'content-type' => 'application/json; charset=utf-8'
328
+ }
329
+
330
+ # Prepare and execute HttpRequest.
331
+ _request = @http_client.patch(
332
+ _query_url,
333
+ headers: _headers,
334
+ parameters: request.to_json
335
+ )
336
+ BasicAuth.apply(_request)
337
+ _context = execute_request(_request)
338
+ validate_response(_context)
339
+
340
+ # Return appropriate response type.
341
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
342
+ GetSubscriptionResponse.from_hash(decoded)
343
+ end
344
+
345
+ # Deletes a discount
346
+ # @param [String] subscription_id Required parameter: Subscription id
347
+ # @param [String] discount_id Required parameter: Discount Id
348
+ # @return GetDiscountResponse response from the API call
349
+ def delete_discount(subscription_id,
350
+ discount_id)
351
+ # Prepare query url.
352
+ _query_builder = Configuration.base_uri.dup
353
+ _query_builder << '/subscriptions/{subscription_id}/discounts/{discount_id}'
354
+ _query_builder = APIHelper.append_url_with_template_parameters(
355
+ _query_builder,
356
+ 'subscription_id' => subscription_id,
357
+ 'discount_id' => discount_id
358
+ )
359
+ _query_url = APIHelper.clean_url _query_builder
360
+
361
+ # Prepare headers.
362
+ _headers = {
363
+ 'accept' => 'application/json'
364
+ }
365
+
366
+ # Prepare and execute HttpRequest.
367
+ _request = @http_client.delete(
368
+ _query_url,
369
+ headers: _headers
370
+ )
371
+ BasicAuth.apply(_request)
372
+ _context = execute_request(_request)
373
+ validate_response(_context)
374
+
375
+ # Return appropriate response type.
376
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
377
+ GetDiscountResponse.from_hash(decoded)
378
+ end
379
+
380
+ # Cancels a subscription
381
+ # @param [String] subscription_id Required parameter: Subscription id
382
+ # @param [CreateCancelSubscriptionRequest] request Optional parameter:
383
+ # Request for cancelling a subscription
384
+ # @return GetSubscriptionResponse response from the API call
385
+ def cancel_subscription(subscription_id,
386
+ request = nil)
387
+ # Prepare query url.
388
+ _query_builder = Configuration.base_uri.dup
389
+ _query_builder << '/subscriptions/{subscription_id}'
390
+ _query_builder = APIHelper.append_url_with_template_parameters(
391
+ _query_builder,
392
+ 'subscription_id' => subscription_id
393
+ )
394
+ _query_url = APIHelper.clean_url _query_builder
395
+
396
+ # Prepare headers.
397
+ _headers = {
398
+ 'accept' => 'application/json',
399
+ 'content-type' => 'application/json; charset=utf-8'
400
+ }
401
+
402
+ # Prepare and execute HttpRequest.
403
+ _request = @http_client.delete(
404
+ _query_url,
405
+ headers: _headers,
406
+ parameters: request.to_json
407
+ )
408
+ BasicAuth.apply(_request)
409
+ _context = execute_request(_request)
410
+ validate_response(_context)
411
+
412
+ # Return appropriate response type.
413
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
414
+ GetSubscriptionResponse.from_hash(decoded)
415
+ end
416
+
417
+ # Deletes a subscription item
418
+ # @param [String] subscription_id Required parameter: Subscription id
419
+ # @param [String] subscription_item_id Required parameter: Subscription item
420
+ # id
421
+ # @return GetSubscriptionItemResponse response from the API call
422
+ def delete_subscription_item(subscription_id,
423
+ subscription_item_id)
424
+ # Prepare query url.
425
+ _query_builder = Configuration.base_uri.dup
426
+ _query_builder << '/subscriptions/{subscription_id}/items/{subscription_item_id}'
427
+ _query_builder = APIHelper.append_url_with_template_parameters(
428
+ _query_builder,
429
+ 'subscription_id' => subscription_id,
430
+ 'subscription_item_id' => subscription_item_id
431
+ )
432
+ _query_url = APIHelper.clean_url _query_builder
433
+
434
+ # Prepare headers.
435
+ _headers = {
436
+ 'accept' => 'application/json'
437
+ }
438
+
439
+ # Prepare and execute HttpRequest.
440
+ _request = @http_client.delete(
441
+ _query_url,
442
+ headers: _headers
443
+ )
444
+ BasicAuth.apply(_request)
445
+ _context = execute_request(_request)
446
+ validate_response(_context)
447
+
448
+ # Return appropriate response type.
449
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
450
+ GetSubscriptionItemResponse.from_hash(decoded)
451
+ end
452
+
453
+ # Deletes a usage
454
+ # @param [String] subscription_id Required parameter: The subscription id
455
+ # @param [String] item_id Required parameter: The subscription item id
456
+ # @param [String] usage_id Required parameter: The usage id
457
+ # @return GetUsageResponse response from the API call
458
+ def delete_usage(subscription_id,
459
+ item_id,
460
+ usage_id)
461
+ # Prepare query url.
462
+ _query_builder = Configuration.base_uri.dup
463
+ _query_builder << '/subscriptions/{subscription_id}/items/{item_id}/usages/{usage_id}'
464
+ _query_builder = APIHelper.append_url_with_template_parameters(
465
+ _query_builder,
466
+ 'subscription_id' => subscription_id,
467
+ 'item_id' => item_id,
468
+ 'usage_id' => usage_id
469
+ )
470
+ _query_url = APIHelper.clean_url _query_builder
471
+
472
+ # Prepare headers.
473
+ _headers = {
474
+ 'accept' => 'application/json'
475
+ }
476
+
477
+ # Prepare and execute HttpRequest.
478
+ _request = @http_client.delete(
479
+ _query_url,
480
+ headers: _headers
481
+ )
482
+ BasicAuth.apply(_request)
483
+ _context = execute_request(_request)
484
+ validate_response(_context)
485
+
486
+ # Return appropriate response type.
487
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
488
+ GetUsageResponse.from_hash(decoded)
489
+ end
490
+
491
+ # Lists all usages from a subscription item
492
+ # @param [String] subscription_id Required parameter: The subscription id
493
+ # @param [String] item_id Required parameter: The subscription item id
494
+ # @param [Integer] page Optional parameter: Page number
495
+ # @param [Integer] size Optional parameter: Page size
496
+ # @return ListUsagesResponse response from the API call
497
+ def get_usages(subscription_id,
498
+ item_id,
499
+ page = nil,
500
+ size = nil)
501
+ # Prepare query url.
502
+ _query_builder = Configuration.base_uri.dup
503
+ _query_builder << '/subscriptions/{subscription_id}/items/{item_id}/usages'
504
+ _query_builder = APIHelper.append_url_with_template_parameters(
505
+ _query_builder,
506
+ 'subscription_id' => subscription_id,
507
+ 'item_id' => item_id
508
+ )
509
+ _query_builder = APIHelper.append_url_with_query_parameters(
510
+ _query_builder,
511
+ 'page' => page,
512
+ 'size' => size,
513
+ array_serialization: Configuration.array_serialization
514
+ )
515
+ _query_url = APIHelper.clean_url _query_builder
516
+
517
+ # Prepare headers.
518
+ _headers = {
519
+ 'accept' => 'application/json'
520
+ }
521
+
522
+ # Prepare and execute HttpRequest.
523
+ _request = @http_client.get(
524
+ _query_url,
525
+ headers: _headers
526
+ )
527
+ BasicAuth.apply(_request)
528
+ _context = execute_request(_request)
529
+ validate_response(_context)
530
+
531
+ # Return appropriate response type.
532
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
533
+ ListUsagesResponse.from_hash(decoded)
534
+ end
535
+
536
+ # Updates the metadata from a subscription
537
+ # @param [String] subscription_id Required parameter: The subscription id
538
+ # @param [UpdateMetadataRequest] request Required parameter: Request for
539
+ # updating the subscrption metadata
540
+ # @return GetSubscriptionResponse response from the API call
541
+ def update_subscription_metadata(subscription_id,
542
+ request)
543
+ # Prepare query url.
544
+ _query_builder = Configuration.base_uri.dup
545
+ _query_builder << '/Subscriptions/{subscription_id}/metadata'
546
+ _query_builder = APIHelper.append_url_with_template_parameters(
547
+ _query_builder,
548
+ 'subscription_id' => subscription_id
549
+ )
550
+ _query_url = APIHelper.clean_url _query_builder
551
+
552
+ # Prepare headers.
553
+ _headers = {
554
+ 'accept' => 'application/json',
555
+ 'content-type' => 'application/json; charset=utf-8'
556
+ }
557
+
558
+ # Prepare and execute HttpRequest.
559
+ _request = @http_client.patch(
560
+ _query_url,
561
+ headers: _headers,
562
+ parameters: request.to_json
563
+ )
564
+ BasicAuth.apply(_request)
565
+ _context = execute_request(_request)
566
+ validate_response(_context)
567
+
568
+ # Return appropriate response type.
569
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
570
+ GetSubscriptionResponse.from_hash(decoded)
571
+ end
572
+
573
+ # Gets all subscriptions
574
+ # @param [Integer] page Optional parameter: Page number
575
+ # @param [Integer] size Optional parameter: Page size
576
+ # @param [String] code Optional parameter: Filter for subscription's code
577
+ # @param [String] billing_type Optional parameter: Filter for subscription's
578
+ # billing type
579
+ # @param [String] customer_id Optional parameter: Filter for subscription's
580
+ # customer id
581
+ # @param [String] plan_id Optional parameter: Filter for subscription's plan
582
+ # id
583
+ # @param [String] card_id Optional parameter: Filter for subscription's card
584
+ # id
585
+ # @param [String] status Optional parameter: Filter for subscription's
586
+ # status
587
+ # @param [DateTime] next_billing_since Optional parameter: Filter for
588
+ # subscription's next billing date start range
589
+ # @param [DateTime] next_billing_until Optional parameter: Filter for
590
+ # subscription's next billing date end range
591
+ # @param [DateTime] created_since Optional parameter: Filter for
592
+ # subscription's creation date start range
593
+ # @param [DateTime] created_until Optional parameter: Filter for
594
+ # subscriptions creation date end range
595
+ # @return ListSubscriptionsResponse response from the API call
596
+ def get_subscriptions(page = nil,
597
+ size = nil,
598
+ code = nil,
599
+ billing_type = nil,
600
+ customer_id = nil,
601
+ plan_id = nil,
602
+ card_id = nil,
603
+ status = nil,
604
+ next_billing_since = nil,
605
+ next_billing_until = nil,
606
+ created_since = nil,
607
+ created_until = nil)
608
+ # Prepare query url.
609
+ _query_builder = Configuration.base_uri.dup
610
+ _query_builder << '/subscriptions'
611
+ _query_builder = APIHelper.append_url_with_query_parameters(
612
+ _query_builder,
613
+ 'page' => page,
614
+ 'size' => size,
615
+ 'code' => code,
616
+ 'billing_type' => billing_type,
617
+ 'customer_id' => customer_id,
618
+ 'plan_id' => plan_id,
619
+ 'card_id' => card_id,
620
+ 'status' => status,
621
+ 'next_billing_since' => next_billing_since,
622
+ 'next_billing_until' => next_billing_until,
623
+ 'created_since' => created_since,
624
+ 'created_until' => created_until,
625
+ array_serialization: Configuration.array_serialization
626
+ )
627
+ _query_url = APIHelper.clean_url _query_builder
628
+
629
+ # Prepare headers.
630
+ _headers = {
631
+ 'accept' => 'application/json'
632
+ }
633
+
634
+ # Prepare and execute HttpRequest.
635
+ _request = @http_client.get(
636
+ _query_url,
637
+ headers: _headers
638
+ )
639
+ BasicAuth.apply(_request)
640
+ _context = execute_request(_request)
641
+ validate_response(_context)
642
+
643
+ # Return appropriate response type.
644
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
645
+ ListSubscriptionsResponse.from_hash(decoded)
646
+ end
647
+ end
648
+ end