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,184 @@
1
+ # This file was automatically generated by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
3
+
4
+ module MundiApi
5
+ # InvoicesController
6
+ class InvoicesController < BaseController
7
+ @instance = InvoicesController.new
8
+
9
+ class << self
10
+ attr_accessor :instance
11
+ end
12
+
13
+ def instance
14
+ self.class.instance
15
+ end
16
+
17
+ # Gets an invoice
18
+ # @param [String] invoice_id Required parameter: Invoice Id
19
+ # @return GetInvoiceResponse response from the API call
20
+ def get_invoice(invoice_id)
21
+ # Prepare query url.
22
+ _query_builder = Configuration.base_uri.dup
23
+ _query_builder << '/invoices/{invoice_id}'
24
+ _query_builder = APIHelper.append_url_with_template_parameters(
25
+ _query_builder,
26
+ 'invoice_id' => invoice_id
27
+ )
28
+ _query_url = APIHelper.clean_url _query_builder
29
+
30
+ # Prepare headers.
31
+ _headers = {
32
+ 'accept' => 'application/json'
33
+ }
34
+
35
+ # Prepare and execute HttpRequest.
36
+ _request = @http_client.get(
37
+ _query_url,
38
+ headers: _headers
39
+ )
40
+ BasicAuth.apply(_request)
41
+ _context = execute_request(_request)
42
+ validate_response(_context)
43
+
44
+ # Return appropriate response type.
45
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
46
+ GetInvoiceResponse.from_hash(decoded)
47
+ end
48
+
49
+ # Cancels an invoice
50
+ # @param [String] invoice_id Required parameter: Invoice id
51
+ # @return GetInvoiceResponse response from the API call
52
+ def cancel_invoice(invoice_id)
53
+ # Prepare query url.
54
+ _query_builder = Configuration.base_uri.dup
55
+ _query_builder << '/invoices/{invoice_id}'
56
+ _query_builder = APIHelper.append_url_with_template_parameters(
57
+ _query_builder,
58
+ 'invoice_id' => invoice_id
59
+ )
60
+ _query_url = APIHelper.clean_url _query_builder
61
+
62
+ # Prepare headers.
63
+ _headers = {
64
+ 'accept' => 'application/json'
65
+ }
66
+
67
+ # Prepare and execute HttpRequest.
68
+ _request = @http_client.delete(
69
+ _query_url,
70
+ headers: _headers
71
+ )
72
+ BasicAuth.apply(_request)
73
+ _context = execute_request(_request)
74
+ validate_response(_context)
75
+
76
+ # Return appropriate response type.
77
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
78
+ GetInvoiceResponse.from_hash(decoded)
79
+ end
80
+
81
+ # Updates the metadata from an invoice
82
+ # @param [String] invoice_id Required parameter: The invoice id
83
+ # @param [UpdateMetadataRequest] request Required parameter: Request for
84
+ # updating the invoice metadata
85
+ # @return GetInvoiceResponse response from the API call
86
+ def update_invoice_metadata(invoice_id,
87
+ request)
88
+ # Prepare query url.
89
+ _query_builder = Configuration.base_uri.dup
90
+ _query_builder << '/invoices/{invoice_id}/metadata'
91
+ _query_builder = APIHelper.append_url_with_template_parameters(
92
+ _query_builder,
93
+ 'invoice_id' => invoice_id
94
+ )
95
+ _query_url = APIHelper.clean_url _query_builder
96
+
97
+ # Prepare headers.
98
+ _headers = {
99
+ 'accept' => 'application/json',
100
+ 'content-type' => 'application/json; charset=utf-8'
101
+ }
102
+
103
+ # Prepare and execute HttpRequest.
104
+ _request = @http_client.patch(
105
+ _query_url,
106
+ headers: _headers,
107
+ parameters: request.to_json
108
+ )
109
+ BasicAuth.apply(_request)
110
+ _context = execute_request(_request)
111
+ validate_response(_context)
112
+
113
+ # Return appropriate response type.
114
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
115
+ GetInvoiceResponse.from_hash(decoded)
116
+ end
117
+
118
+ # Gets all invoices
119
+ # @param [Integer] page Optional parameter: Page number
120
+ # @param [Integer] size Optional parameter: Page size
121
+ # @param [String] code Optional parameter: Filter for Invoice's code
122
+ # @param [String] customer_id Optional parameter: Filter for Invoice's
123
+ # customer id
124
+ # @param [String] subscription_id Optional parameter: Filter for Invoice's
125
+ # subscription id
126
+ # @param [DateTime] created_since Optional parameter: Filter for Invoice's
127
+ # creation date start range
128
+ # @param [DateTime] created_until Optional parameter: Filter for Invoices
129
+ # creation date end range
130
+ # @param [String] status Optional parameter: Filter for Invoice's status
131
+ # @param [DateTime] due_since Optional parameter: Filter for Invoice's due
132
+ # date start range
133
+ # @param [DateTime] due_until Optional parameter: Filter for Invoice's due
134
+ # date end range
135
+ # @return ListInvoicesResponse response from the API call
136
+ def get_invoices(page = nil,
137
+ size = nil,
138
+ code = nil,
139
+ customer_id = nil,
140
+ subscription_id = nil,
141
+ created_since = nil,
142
+ created_until = nil,
143
+ status = nil,
144
+ due_since = nil,
145
+ due_until = nil)
146
+ # Prepare query url.
147
+ _query_builder = Configuration.base_uri.dup
148
+ _query_builder << '/invoices'
149
+ _query_builder = APIHelper.append_url_with_query_parameters(
150
+ _query_builder,
151
+ 'page' => page,
152
+ 'size' => size,
153
+ 'code' => code,
154
+ 'customer_id' => customer_id,
155
+ 'subscription_id' => subscription_id,
156
+ 'created_since' => created_since,
157
+ 'created_until' => created_until,
158
+ 'status' => status,
159
+ 'due_since' => due_since,
160
+ 'due_until' => due_until,
161
+ array_serialization: Configuration.array_serialization
162
+ )
163
+ _query_url = APIHelper.clean_url _query_builder
164
+
165
+ # Prepare headers.
166
+ _headers = {
167
+ 'accept' => 'application/json'
168
+ }
169
+
170
+ # Prepare and execute HttpRequest.
171
+ _request = @http_client.get(
172
+ _query_url,
173
+ headers: _headers
174
+ )
175
+ BasicAuth.apply(_request)
176
+ _context = execute_request(_request)
177
+ validate_response(_context)
178
+
179
+ # Return appropriate response type.
180
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
181
+ ListInvoicesResponse.from_hash(decoded)
182
+ end
183
+ end
184
+ end
@@ -0,0 +1,171 @@
1
+ # This file was automatically generated by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
3
+
4
+ module MundiApi
5
+ # OrdersController
6
+ class OrdersController < BaseController
7
+ @instance = OrdersController.new
8
+
9
+ class << self
10
+ attr_accessor :instance
11
+ end
12
+
13
+ def instance
14
+ self.class.instance
15
+ end
16
+
17
+ # Gets an order
18
+ # @param [String] order_id Required parameter: Order id
19
+ # @return GetOrderResponse response from the API call
20
+ def get_order(order_id)
21
+ # Prepare query url.
22
+ _query_builder = Configuration.base_uri.dup
23
+ _query_builder << '/orders/{order_id}'
24
+ _query_builder = APIHelper.append_url_with_template_parameters(
25
+ _query_builder,
26
+ 'order_id' => order_id
27
+ )
28
+ _query_url = APIHelper.clean_url _query_builder
29
+
30
+ # Prepare headers.
31
+ _headers = {
32
+ 'accept' => 'application/json'
33
+ }
34
+
35
+ # Prepare and execute HttpRequest.
36
+ _request = @http_client.get(
37
+ _query_url,
38
+ headers: _headers
39
+ )
40
+ BasicAuth.apply(_request)
41
+ _context = execute_request(_request)
42
+ validate_response(_context)
43
+
44
+ # Return appropriate response type.
45
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
46
+ GetOrderResponse.from_hash(decoded)
47
+ end
48
+
49
+ # Creates a new Order
50
+ # @param [CreateOrderRequest] body Required parameter: Request for creating
51
+ # an order
52
+ # @return GetOrderResponse response from the API call
53
+ def create_order(body)
54
+ # Prepare query url.
55
+ _query_builder = Configuration.base_uri.dup
56
+ _query_builder << '/orders'
57
+ _query_url = APIHelper.clean_url _query_builder
58
+
59
+ # Prepare headers.
60
+ _headers = {
61
+ 'accept' => 'application/json',
62
+ 'content-type' => 'application/json; charset=utf-8'
63
+ }
64
+
65
+ # Prepare and execute HttpRequest.
66
+ _request = @http_client.post(
67
+ _query_url,
68
+ headers: _headers,
69
+ parameters: body.to_json
70
+ )
71
+ BasicAuth.apply(_request)
72
+ _context = execute_request(_request)
73
+ validate_response(_context)
74
+
75
+ # Return appropriate response type.
76
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
77
+ GetOrderResponse.from_hash(decoded)
78
+ end
79
+
80
+ # Updates the metadata from an order
81
+ # @param [String] order_id Required parameter: The order id
82
+ # @param [UpdateMetadataRequest] request Required parameter: Request for
83
+ # updating the order metadata
84
+ # @return GetOrderResponse response from the API call
85
+ def update_order_metadata(order_id,
86
+ request)
87
+ # Prepare query url.
88
+ _query_builder = Configuration.base_uri.dup
89
+ _query_builder << '/Orders/{order_id}/metadata'
90
+ _query_builder = APIHelper.append_url_with_template_parameters(
91
+ _query_builder,
92
+ 'order_id' => order_id
93
+ )
94
+ _query_url = APIHelper.clean_url _query_builder
95
+
96
+ # Prepare headers.
97
+ _headers = {
98
+ 'accept' => 'application/json',
99
+ 'content-type' => 'application/json; charset=utf-8'
100
+ }
101
+
102
+ # Prepare and execute HttpRequest.
103
+ _request = @http_client.patch(
104
+ _query_url,
105
+ headers: _headers,
106
+ parameters: request.to_json
107
+ )
108
+ BasicAuth.apply(_request)
109
+ _context = execute_request(_request)
110
+ validate_response(_context)
111
+
112
+ # Return appropriate response type.
113
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
114
+ GetOrderResponse.from_hash(decoded)
115
+ end
116
+
117
+ # Gets all orders
118
+ # @param [Integer] page Optional parameter: Page number
119
+ # @param [Integer] size Optional parameter: Page size
120
+ # @param [String] code Optional parameter: Filter for order's code
121
+ # @param [String] status Optional parameter: Filter for order's status
122
+ # @param [DateTime] created_since Optional parameter: Filter for order's
123
+ # creation date start range
124
+ # @param [DateTime] created_until Optional parameter: Filter for order's
125
+ # creation date end range
126
+ # @param [String] customer_id Optional parameter: Filter for order's
127
+ # customer id
128
+ # @return ListOrderResponse response from the API call
129
+ def get_orders(page = nil,
130
+ size = nil,
131
+ code = nil,
132
+ status = nil,
133
+ created_since = nil,
134
+ created_until = nil,
135
+ customer_id = nil)
136
+ # Prepare query url.
137
+ _query_builder = Configuration.base_uri.dup
138
+ _query_builder << '/orders'
139
+ _query_builder = APIHelper.append_url_with_query_parameters(
140
+ _query_builder,
141
+ 'page' => page,
142
+ 'size' => size,
143
+ 'code' => code,
144
+ 'status' => status,
145
+ 'created_since' => created_since,
146
+ 'created_until' => created_until,
147
+ 'customer_id' => customer_id,
148
+ array_serialization: Configuration.array_serialization
149
+ )
150
+ _query_url = APIHelper.clean_url _query_builder
151
+
152
+ # Prepare headers.
153
+ _headers = {
154
+ 'accept' => 'application/json'
155
+ }
156
+
157
+ # Prepare and execute HttpRequest.
158
+ _request = @http_client.get(
159
+ _query_url,
160
+ headers: _headers
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
+ ListOrderResponse.from_hash(decoded)
169
+ end
170
+ end
171
+ end
@@ -0,0 +1,387 @@
1
+ # This file was automatically generated by APIMATIC v2.0
2
+ # ( https://apimatic.io ).
3
+
4
+ module MundiApi
5
+ # PlansController
6
+ class PlansController < BaseController
7
+ @instance = PlansController.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 plan item
18
+ # @param [String] plan_id Required parameter: Plan id
19
+ # @param [String] plan_item_id Required parameter: Plan item id
20
+ # @param [UpdatePlanItemRequest] body Required parameter: Request for
21
+ # updating the plan item
22
+ # @return GetPlanItemResponse response from the API call
23
+ def update_plan_item(plan_id,
24
+ plan_item_id,
25
+ body)
26
+ # Prepare query url.
27
+ _query_builder = Configuration.base_uri.dup
28
+ _query_builder << '/plans/{plan_id}/items/{plan_item_id}'
29
+ _query_builder = APIHelper.append_url_with_template_parameters(
30
+ _query_builder,
31
+ 'plan_id' => plan_id,
32
+ 'plan_item_id' => plan_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
+ GetPlanItemResponse.from_hash(decoded)
55
+ end
56
+
57
+ # Gets a plan
58
+ # @param [String] plan_id Required parameter: Plan id
59
+ # @return GetPlanResponse response from the API call
60
+ def get_plan(plan_id)
61
+ # Prepare query url.
62
+ _query_builder = Configuration.base_uri.dup
63
+ _query_builder << '/plans/{plan_id}'
64
+ _query_builder = APIHelper.append_url_with_template_parameters(
65
+ _query_builder,
66
+ 'plan_id' => plan_id
67
+ )
68
+ _query_url = APIHelper.clean_url _query_builder
69
+
70
+ # Prepare headers.
71
+ _headers = {
72
+ 'accept' => 'application/json'
73
+ }
74
+
75
+ # Prepare and execute HttpRequest.
76
+ _request = @http_client.get(
77
+ _query_url,
78
+ headers: _headers
79
+ )
80
+ BasicAuth.apply(_request)
81
+ _context = execute_request(_request)
82
+ validate_response(_context)
83
+
84
+ # Return appropriate response type.
85
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
86
+ GetPlanResponse.from_hash(decoded)
87
+ end
88
+
89
+ # Adds a new item to a plan
90
+ # @param [String] plan_id Required parameter: Plan id
91
+ # @param [CreatePlanItemRequest] request Required parameter: Request for
92
+ # creating a plan item
93
+ # @return GetPlanItemResponse response from the API call
94
+ def create_plan_item(plan_id,
95
+ request)
96
+ # Prepare query url.
97
+ _query_builder = Configuration.base_uri.dup
98
+ _query_builder << '/plans/{plan_id}/items'
99
+ _query_builder = APIHelper.append_url_with_template_parameters(
100
+ _query_builder,
101
+ 'plan_id' => plan_id
102
+ )
103
+ _query_url = APIHelper.clean_url _query_builder
104
+
105
+ # Prepare headers.
106
+ _headers = {
107
+ 'accept' => 'application/json',
108
+ 'content-type' => 'application/json; charset=utf-8'
109
+ }
110
+
111
+ # Prepare and execute HttpRequest.
112
+ _request = @http_client.post(
113
+ _query_url,
114
+ headers: _headers,
115
+ parameters: request.to_json
116
+ )
117
+ BasicAuth.apply(_request)
118
+ _context = execute_request(_request)
119
+ validate_response(_context)
120
+
121
+ # Return appropriate response type.
122
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
123
+ GetPlanItemResponse.from_hash(decoded)
124
+ end
125
+
126
+ # Updates a plan
127
+ # @param [String] plan_id Required parameter: Plan id
128
+ # @param [UpdatePlanRequest] request Required parameter: Request for
129
+ # updating a plan
130
+ # @return GetPlanResponse response from the API call
131
+ def update_plan(plan_id,
132
+ request)
133
+ # Prepare query url.
134
+ _query_builder = Configuration.base_uri.dup
135
+ _query_builder << '/plans/{plan_id}'
136
+ _query_builder = APIHelper.append_url_with_template_parameters(
137
+ _query_builder,
138
+ 'plan_id' => plan_id
139
+ )
140
+ _query_url = APIHelper.clean_url _query_builder
141
+
142
+ # Prepare headers.
143
+ _headers = {
144
+ 'accept' => 'application/json',
145
+ 'content-type' => 'application/json; charset=utf-8'
146
+ }
147
+
148
+ # Prepare and execute HttpRequest.
149
+ _request = @http_client.put(
150
+ _query_url,
151
+ headers: _headers,
152
+ parameters: request.to_json
153
+ )
154
+ BasicAuth.apply(_request)
155
+ _context = execute_request(_request)
156
+ validate_response(_context)
157
+
158
+ # Return appropriate response type.
159
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
160
+ GetPlanResponse.from_hash(decoded)
161
+ end
162
+
163
+ # Creates a new plan
164
+ # @param [CreatePlanRequest] body Required parameter: Request for creating a
165
+ # plan
166
+ # @return GetPlanResponse response from the API call
167
+ def create_plan(body)
168
+ # Prepare query url.
169
+ _query_builder = Configuration.base_uri.dup
170
+ _query_builder << '/plans'
171
+ _query_url = APIHelper.clean_url _query_builder
172
+
173
+ # Prepare headers.
174
+ _headers = {
175
+ 'accept' => 'application/json',
176
+ 'content-type' => 'application/json; charset=utf-8'
177
+ }
178
+
179
+ # Prepare and execute HttpRequest.
180
+ _request = @http_client.post(
181
+ _query_url,
182
+ headers: _headers,
183
+ parameters: body.to_json
184
+ )
185
+ BasicAuth.apply(_request)
186
+ _context = execute_request(_request)
187
+ validate_response(_context)
188
+
189
+ # Return appropriate response type.
190
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
191
+ GetPlanResponse.from_hash(decoded)
192
+ end
193
+
194
+ # Deletes a plan
195
+ # @param [String] plan_id Required parameter: Plan id
196
+ # @return GetPlanResponse response from the API call
197
+ def delete_plan(plan_id)
198
+ # Prepare query url.
199
+ _query_builder = Configuration.base_uri.dup
200
+ _query_builder << '/plans/{plan_id}'
201
+ _query_builder = APIHelper.append_url_with_template_parameters(
202
+ _query_builder,
203
+ 'plan_id' => plan_id
204
+ )
205
+ _query_url = APIHelper.clean_url _query_builder
206
+
207
+ # Prepare headers.
208
+ _headers = {
209
+ 'accept' => 'application/json'
210
+ }
211
+
212
+ # Prepare and execute HttpRequest.
213
+ _request = @http_client.delete(
214
+ _query_url,
215
+ headers: _headers
216
+ )
217
+ BasicAuth.apply(_request)
218
+ _context = execute_request(_request)
219
+ validate_response(_context)
220
+
221
+ # Return appropriate response type.
222
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
223
+ GetPlanResponse.from_hash(decoded)
224
+ end
225
+
226
+ # Gets a plan item
227
+ # @param [String] plan_id Required parameter: Plan id
228
+ # @param [String] plan_item_id Required parameter: Plan item id
229
+ # @return GetPlanItemResponse response from the API call
230
+ def get_plan_item(plan_id,
231
+ plan_item_id)
232
+ # Prepare query url.
233
+ _query_builder = Configuration.base_uri.dup
234
+ _query_builder << '/plans/{plan_id}/items/{plan_item_id}'
235
+ _query_builder = APIHelper.append_url_with_template_parameters(
236
+ _query_builder,
237
+ 'plan_id' => plan_id,
238
+ 'plan_item_id' => plan_item_id
239
+ )
240
+ _query_url = APIHelper.clean_url _query_builder
241
+
242
+ # Prepare headers.
243
+ _headers = {
244
+ 'accept' => 'application/json'
245
+ }
246
+
247
+ # Prepare and execute HttpRequest.
248
+ _request = @http_client.get(
249
+ _query_url,
250
+ headers: _headers
251
+ )
252
+ BasicAuth.apply(_request)
253
+ _context = execute_request(_request)
254
+ validate_response(_context)
255
+
256
+ # Return appropriate response type.
257
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
258
+ GetPlanItemResponse.from_hash(decoded)
259
+ end
260
+
261
+ # Removes an item from a plan
262
+ # @param [String] plan_id Required parameter: Plan id
263
+ # @param [String] plan_item_id Required parameter: Plan item id
264
+ # @return GetPlanItemResponse response from the API call
265
+ def delete_plan_item(plan_id,
266
+ plan_item_id)
267
+ # Prepare query url.
268
+ _query_builder = Configuration.base_uri.dup
269
+ _query_builder << '/plans/{plan_id}/items/{plan_item_id}'
270
+ _query_builder = APIHelper.append_url_with_template_parameters(
271
+ _query_builder,
272
+ 'plan_id' => plan_id,
273
+ 'plan_item_id' => plan_item_id
274
+ )
275
+ _query_url = APIHelper.clean_url _query_builder
276
+
277
+ # Prepare headers.
278
+ _headers = {
279
+ 'accept' => 'application/json'
280
+ }
281
+
282
+ # Prepare and execute HttpRequest.
283
+ _request = @http_client.delete(
284
+ _query_url,
285
+ headers: _headers
286
+ )
287
+ BasicAuth.apply(_request)
288
+ _context = execute_request(_request)
289
+ validate_response(_context)
290
+
291
+ # Return appropriate response type.
292
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
293
+ GetPlanItemResponse.from_hash(decoded)
294
+ end
295
+
296
+ # Updates the metadata from a plan
297
+ # @param [String] plan_id Required parameter: The plan id
298
+ # @param [UpdateMetadataRequest] request Required parameter: Request for
299
+ # updating the plan metadata
300
+ # @return GetPlanResponse response from the API call
301
+ def update_plan_metadata(plan_id,
302
+ request)
303
+ # Prepare query url.
304
+ _query_builder = Configuration.base_uri.dup
305
+ _query_builder << '/Plans/{plan_id}/metadata'
306
+ _query_builder = APIHelper.append_url_with_template_parameters(
307
+ _query_builder,
308
+ 'plan_id' => plan_id
309
+ )
310
+ _query_url = APIHelper.clean_url _query_builder
311
+
312
+ # Prepare headers.
313
+ _headers = {
314
+ 'accept' => 'application/json',
315
+ 'content-type' => 'application/json; charset=utf-8'
316
+ }
317
+
318
+ # Prepare and execute HttpRequest.
319
+ _request = @http_client.patch(
320
+ _query_url,
321
+ headers: _headers,
322
+ parameters: request.to_json
323
+ )
324
+ BasicAuth.apply(_request)
325
+ _context = execute_request(_request)
326
+ validate_response(_context)
327
+
328
+ # Return appropriate response type.
329
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
330
+ GetPlanResponse.from_hash(decoded)
331
+ end
332
+
333
+ # Gets all plans
334
+ # @param [Integer] page Optional parameter: Page number
335
+ # @param [Integer] size Optional parameter: Page size
336
+ # @param [String] name Optional parameter: Filter for Plan's name
337
+ # @param [String] status Optional parameter: Filter for Plan's status
338
+ # @param [String] billing_type Optional parameter: Filter for plan's billing
339
+ # type
340
+ # @param [DateTime] created_since Optional parameter: Filter for plan's
341
+ # creation date start range
342
+ # @param [DateTime] created_until Optional parameter: Filter for plan's
343
+ # creation date end range
344
+ # @return ListPlansResponse response from the API call
345
+ def get_plans(page = nil,
346
+ size = nil,
347
+ name = nil,
348
+ status = nil,
349
+ billing_type = nil,
350
+ created_since = nil,
351
+ created_until = nil)
352
+ # Prepare query url.
353
+ _query_builder = Configuration.base_uri.dup
354
+ _query_builder << '/plans'
355
+ _query_builder = APIHelper.append_url_with_query_parameters(
356
+ _query_builder,
357
+ 'page' => page,
358
+ 'size' => size,
359
+ 'name' => name,
360
+ 'status' => status,
361
+ 'billing_type' => billing_type,
362
+ 'created_since' => created_since,
363
+ 'created_until' => created_until,
364
+ array_serialization: Configuration.array_serialization
365
+ )
366
+ _query_url = APIHelper.clean_url _query_builder
367
+
368
+ # Prepare headers.
369
+ _headers = {
370
+ 'accept' => 'application/json'
371
+ }
372
+
373
+ # Prepare and execute HttpRequest.
374
+ _request = @http_client.get(
375
+ _query_url,
376
+ headers: _headers
377
+ )
378
+ BasicAuth.apply(_request)
379
+ _context = execute_request(_request)
380
+ validate_response(_context)
381
+
382
+ # Return appropriate response type.
383
+ decoded = APIHelper.json_deserialize(_context.response.raw_body)
384
+ ListPlansResponse.from_hash(decoded)
385
+ end
386
+ end
387
+ end