square.rb 26.0.0.20221214 → 26.2.0.20230315

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/lib/square/api/apple_pay_api.rb +14 -30
  4. data/lib/square/api/bank_accounts_api.rb +40 -90
  5. data/lib/square/api/base_api.rb +42 -42
  6. data/lib/square/api/booking_custom_attributes_api.rb +164 -329
  7. data/lib/square/api/bookings_api.rb +135 -260
  8. data/lib/square/api/cards_api.rb +56 -118
  9. data/lib/square/api/cash_drawers_api.rb +47 -103
  10. data/lib/square/api/catalog_api.rb +197 -423
  11. data/lib/square/api/checkout_api.rb +85 -175
  12. data/lib/square/api/customer_custom_attributes_api.rb +150 -303
  13. data/lib/square/api/customer_groups_api.rb +69 -145
  14. data/lib/square/api/customer_segments_api.rb +26 -61
  15. data/lib/square/api/customers_api.rb +147 -294
  16. data/lib/square/api/devices_api.rb +42 -89
  17. data/lib/square/api/disputes_api.rb +130 -288
  18. data/lib/square/api/employees_api.rb +28 -63
  19. data/lib/square/api/gift_card_activities_api.rb +33 -65
  20. data/lib/square/api/gift_cards_api.rb +103 -202
  21. data/lib/square/api/inventory_api.rb +179 -366
  22. data/lib/square/api/invoices_api.rb +118 -237
  23. data/lib/square/api/labor_api.rb +223 -459
  24. data/lib/square/api/location_custom_attributes_api.rb +419 -0
  25. data/lib/square/api/locations_api.rb +54 -112
  26. data/lib/square/api/loyalty_api.rb +259 -512
  27. data/lib/square/api/merchants_api.rb +25 -60
  28. data/lib/square/api/mobile_authorization_api.rb +14 -30
  29. data/lib/square/api/o_auth_api.rb +54 -109
  30. data/lib/square/api/order_custom_attributes_api.rb +168 -333
  31. data/lib/square/api/orders_api.rb +115 -222
  32. data/lib/square/api/payments_api.rb +106 -208
  33. data/lib/square/api/payouts_api.rb +47 -100
  34. data/lib/square/api/refunds_api.rb +46 -93
  35. data/lib/square/api/sites_api.rb +11 -28
  36. data/lib/square/api/snippets_api.rb +42 -90
  37. data/lib/square/api/subscriptions_api.rb +150 -299
  38. data/lib/square/api/team_api.rb +114 -224
  39. data/lib/square/api/terminal_api.rb +162 -328
  40. data/lib/square/api/transactions_api.rb +62 -126
  41. data/lib/square/api/v1_transactions_api.rb +155 -296
  42. data/lib/square/api/vendors_api.rb +99 -192
  43. data/lib/square/api/webhook_subscriptions_api.rb +115 -235
  44. data/lib/square/api_helper.rb +1 -437
  45. data/lib/square/client.rb +82 -46
  46. data/lib/square/configuration.rb +28 -53
  47. data/lib/square/exceptions/api_exception.rb +1 -11
  48. data/lib/square/http/api_response.rb +13 -19
  49. data/lib/square/http/auth/o_auth2.rb +14 -7
  50. data/lib/square/http/http_call_back.rb +1 -15
  51. data/lib/square/http/http_method_enum.rb +1 -4
  52. data/lib/square/http/http_request.rb +1 -45
  53. data/lib/square/http/http_response.rb +1 -20
  54. data/lib/square/utilities/date_time_helper.rb +1 -146
  55. data/lib/square/utilities/file_wrapper.rb +5 -5
  56. data/lib/square.rb +7 -6
  57. data/spec/user_journey_spec.rb +2 -2
  58. data/test/api/api_test_base.rb +13 -5
  59. data/test/api/test_catalog_api.rb +5 -4
  60. data/test/api/test_customers_api.rb +3 -2
  61. data/test/api/test_employees_api.rb +4 -3
  62. data/test/api/test_labor_api.rb +6 -5
  63. data/test/api/test_locations_api.rb +3 -2
  64. data/test/api/test_merchants_api.rb +4 -3
  65. data/test/api/test_payments_api.rb +4 -3
  66. data/test/api/test_refunds_api.rb +4 -3
  67. metadata +12 -111
  68. data/lib/square/exceptions/validation_exception.rb +0 -13
  69. data/lib/square/http/faraday_client.rb +0 -93
  70. data/lib/square/http/http_client.rb +0 -118
  71. data/test/test_helper.rb +0 -89
@@ -1,10 +1,6 @@
1
1
  module Square
2
2
  # InventoryApi
3
3
  class InventoryApi < BaseApi
4
- def initialize(config, http_call_back: nil)
5
- super(config, http_call_back: http_call_back)
6
- end
7
-
8
4
  # Deprecated version of
9
5
  # [RetrieveInventoryAdjustment]($e/Inventory/RetrieveInventoryAdjustment)
10
6
  # after the endpoint URL
@@ -15,34 +11,19 @@ module Square
15
11
  def deprecated_retrieve_inventory_adjustment(adjustment_id:)
16
12
  warn 'Endpoint deprecated_retrieve_inventory_adjustment in InventoryApi '\
17
13
  'is deprecated'
18
- # Prepare query url.
19
- _query_builder = config.get_base_uri
20
- _query_builder << '/v2/inventory/adjustment/{adjustment_id}'
21
- _query_builder = APIHelper.append_url_with_template_parameters(
22
- _query_builder,
23
- 'adjustment_id' => { 'value' => adjustment_id, 'encode' => true }
24
- )
25
- _query_url = APIHelper.clean_url _query_builder
26
-
27
- # Prepare headers.
28
- _headers = {
29
- 'accept' => 'application/json'
30
- }
31
-
32
- # Prepare and execute HttpRequest.
33
- _request = config.http_client.get(
34
- _query_url,
35
- headers: _headers
36
- )
37
- OAuth2.apply(config, _request)
38
- _response = execute_request(_request)
39
-
40
- # Return appropriate response type.
41
- decoded = APIHelper.json_deserialize(_response.raw_body)
42
- _errors = APIHelper.map_response(decoded, ['errors'])
43
- ApiResponse.new(
44
- _response, data: decoded, errors: _errors
45
- )
14
+ new_api_call_builder
15
+ .request(new_request_builder(HttpMethodEnum::GET,
16
+ '/v2/inventory/adjustment/{adjustment_id}',
17
+ 'default')
18
+ .template_param(new_parameter(adjustment_id, key: 'adjustment_id')
19
+ .should_encode(true))
20
+ .header_param(new_parameter('application/json', key: 'accept'))
21
+ .auth(Single.new('global')))
22
+ .response(new_response_handler
23
+ .deserializer(APIHelper.method(:json_deserialize))
24
+ .is_api_response(true)
25
+ .convertor(ApiResponse.method(:create)))
26
+ .execute
46
27
  end
47
28
 
48
29
  # Returns the [InventoryAdjustment]($m/InventoryAdjustment) object
@@ -51,34 +32,19 @@ module Square
51
32
  # [InventoryAdjustment]($m/InventoryAdjustment) to retrieve.
52
33
  # @return [RetrieveInventoryAdjustmentResponse Hash] response from the API call
53
34
  def retrieve_inventory_adjustment(adjustment_id:)
54
- # Prepare query url.
55
- _query_builder = config.get_base_uri
56
- _query_builder << '/v2/inventory/adjustments/{adjustment_id}'
57
- _query_builder = APIHelper.append_url_with_template_parameters(
58
- _query_builder,
59
- 'adjustment_id' => { 'value' => adjustment_id, 'encode' => true }
60
- )
61
- _query_url = APIHelper.clean_url _query_builder
62
-
63
- # Prepare headers.
64
- _headers = {
65
- 'accept' => 'application/json'
66
- }
67
-
68
- # Prepare and execute HttpRequest.
69
- _request = config.http_client.get(
70
- _query_url,
71
- headers: _headers
72
- )
73
- OAuth2.apply(config, _request)
74
- _response = execute_request(_request)
75
-
76
- # Return appropriate response type.
77
- decoded = APIHelper.json_deserialize(_response.raw_body)
78
- _errors = APIHelper.map_response(decoded, ['errors'])
79
- ApiResponse.new(
80
- _response, data: decoded, errors: _errors
81
- )
35
+ new_api_call_builder
36
+ .request(new_request_builder(HttpMethodEnum::GET,
37
+ '/v2/inventory/adjustments/{adjustment_id}',
38
+ 'default')
39
+ .template_param(new_parameter(adjustment_id, key: 'adjustment_id')
40
+ .should_encode(true))
41
+ .header_param(new_parameter('application/json', key: 'accept'))
42
+ .auth(Single.new('global')))
43
+ .response(new_response_handler
44
+ .deserializer(APIHelper.method(:json_deserialize))
45
+ .is_api_response(true)
46
+ .convertor(ApiResponse.method(:create)))
47
+ .execute
82
48
  end
83
49
 
84
50
  # Deprecated version of
@@ -92,32 +58,20 @@ module Square
92
58
  def deprecated_batch_change_inventory(body:)
93
59
  warn 'Endpoint deprecated_batch_change_inventory in InventoryApi is depr'\
94
60
  'ecated'
95
- # Prepare query url.
96
- _query_builder = config.get_base_uri
97
- _query_builder << '/v2/inventory/batch-change'
98
- _query_url = APIHelper.clean_url _query_builder
99
-
100
- # Prepare headers.
101
- _headers = {
102
- 'accept' => 'application/json',
103
- 'Content-Type' => 'application/json'
104
- }
105
-
106
- # Prepare and execute HttpRequest.
107
- _request = config.http_client.post(
108
- _query_url,
109
- headers: _headers,
110
- parameters: body.to_json
111
- )
112
- OAuth2.apply(config, _request)
113
- _response = execute_request(_request)
114
-
115
- # Return appropriate response type.
116
- decoded = APIHelper.json_deserialize(_response.raw_body)
117
- _errors = APIHelper.map_response(decoded, ['errors'])
118
- ApiResponse.new(
119
- _response, data: decoded, errors: _errors
120
- )
61
+ new_api_call_builder
62
+ .request(new_request_builder(HttpMethodEnum::POST,
63
+ '/v2/inventory/batch-change',
64
+ 'default')
65
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
66
+ .body_param(new_parameter(body))
67
+ .header_param(new_parameter('application/json', key: 'accept'))
68
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
69
+ .auth(Single.new('global')))
70
+ .response(new_response_handler
71
+ .deserializer(APIHelper.method(:json_deserialize))
72
+ .is_api_response(true)
73
+ .convertor(ApiResponse.method(:create)))
74
+ .execute
121
75
  end
122
76
 
123
77
  # Deprecated version of
@@ -131,32 +85,20 @@ module Square
131
85
  def deprecated_batch_retrieve_inventory_changes(body:)
132
86
  warn 'Endpoint deprecated_batch_retrieve_inventory_changes in InventoryA'\
133
87
  'pi is deprecated'
134
- # Prepare query url.
135
- _query_builder = config.get_base_uri
136
- _query_builder << '/v2/inventory/batch-retrieve-changes'
137
- _query_url = APIHelper.clean_url _query_builder
138
-
139
- # Prepare headers.
140
- _headers = {
141
- 'accept' => 'application/json',
142
- 'Content-Type' => 'application/json'
143
- }
144
-
145
- # Prepare and execute HttpRequest.
146
- _request = config.http_client.post(
147
- _query_url,
148
- headers: _headers,
149
- parameters: body.to_json
150
- )
151
- OAuth2.apply(config, _request)
152
- _response = execute_request(_request)
153
-
154
- # Return appropriate response type.
155
- decoded = APIHelper.json_deserialize(_response.raw_body)
156
- _errors = APIHelper.map_response(decoded, ['errors'])
157
- ApiResponse.new(
158
- _response, data: decoded, errors: _errors
159
- )
88
+ new_api_call_builder
89
+ .request(new_request_builder(HttpMethodEnum::POST,
90
+ '/v2/inventory/batch-retrieve-changes',
91
+ 'default')
92
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
93
+ .body_param(new_parameter(body))
94
+ .header_param(new_parameter('application/json', key: 'accept'))
95
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
96
+ .auth(Single.new('global')))
97
+ .response(new_response_handler
98
+ .deserializer(APIHelper.method(:json_deserialize))
99
+ .is_api_response(true)
100
+ .convertor(ApiResponse.method(:create)))
101
+ .execute
160
102
  end
161
103
 
162
104
  # Deprecated version of
@@ -170,32 +112,20 @@ module Square
170
112
  def deprecated_batch_retrieve_inventory_counts(body:)
171
113
  warn 'Endpoint deprecated_batch_retrieve_inventory_counts in InventoryAp'\
172
114
  'i is deprecated'
173
- # Prepare query url.
174
- _query_builder = config.get_base_uri
175
- _query_builder << '/v2/inventory/batch-retrieve-counts'
176
- _query_url = APIHelper.clean_url _query_builder
177
-
178
- # Prepare headers.
179
- _headers = {
180
- 'accept' => 'application/json',
181
- 'Content-Type' => 'application/json'
182
- }
183
-
184
- # Prepare and execute HttpRequest.
185
- _request = config.http_client.post(
186
- _query_url,
187
- headers: _headers,
188
- parameters: body.to_json
189
- )
190
- OAuth2.apply(config, _request)
191
- _response = execute_request(_request)
192
-
193
- # Return appropriate response type.
194
- decoded = APIHelper.json_deserialize(_response.raw_body)
195
- _errors = APIHelper.map_response(decoded, ['errors'])
196
- ApiResponse.new(
197
- _response, data: decoded, errors: _errors
198
- )
115
+ new_api_call_builder
116
+ .request(new_request_builder(HttpMethodEnum::POST,
117
+ '/v2/inventory/batch-retrieve-counts',
118
+ 'default')
119
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
120
+ .body_param(new_parameter(body))
121
+ .header_param(new_parameter('application/json', key: 'accept'))
122
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
123
+ .auth(Single.new('global')))
124
+ .response(new_response_handler
125
+ .deserializer(APIHelper.method(:json_deserialize))
126
+ .is_api_response(true)
127
+ .convertor(ApiResponse.method(:create)))
128
+ .execute
199
129
  end
200
130
 
201
131
  # Applies adjustments and counts to the provided item quantities.
@@ -207,32 +137,20 @@ module Square
207
137
  # object definition for field details.
208
138
  # @return [BatchChangeInventoryResponse Hash] response from the API call
209
139
  def batch_change_inventory(body:)
210
- # Prepare query url.
211
- _query_builder = config.get_base_uri
212
- _query_builder << '/v2/inventory/changes/batch-create'
213
- _query_url = APIHelper.clean_url _query_builder
214
-
215
- # Prepare headers.
216
- _headers = {
217
- 'accept' => 'application/json',
218
- 'Content-Type' => 'application/json'
219
- }
220
-
221
- # Prepare and execute HttpRequest.
222
- _request = config.http_client.post(
223
- _query_url,
224
- headers: _headers,
225
- parameters: body.to_json
226
- )
227
- OAuth2.apply(config, _request)
228
- _response = execute_request(_request)
229
-
230
- # Return appropriate response type.
231
- decoded = APIHelper.json_deserialize(_response.raw_body)
232
- _errors = APIHelper.map_response(decoded, ['errors'])
233
- ApiResponse.new(
234
- _response, data: decoded, errors: _errors
235
- )
140
+ new_api_call_builder
141
+ .request(new_request_builder(HttpMethodEnum::POST,
142
+ '/v2/inventory/changes/batch-create',
143
+ 'default')
144
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
145
+ .body_param(new_parameter(body))
146
+ .header_param(new_parameter('application/json', key: 'accept'))
147
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
148
+ .auth(Single.new('global')))
149
+ .response(new_response_handler
150
+ .deserializer(APIHelper.method(:json_deserialize))
151
+ .is_api_response(true)
152
+ .convertor(ApiResponse.method(:create)))
153
+ .execute
236
154
  end
237
155
 
238
156
  # Returns historical physical counts and adjustments based on the
@@ -246,32 +164,20 @@ module Square
246
164
  # corresponding object definition for field details.
247
165
  # @return [BatchRetrieveInventoryChangesResponse Hash] response from the API call
248
166
  def batch_retrieve_inventory_changes(body:)
249
- # Prepare query url.
250
- _query_builder = config.get_base_uri
251
- _query_builder << '/v2/inventory/changes/batch-retrieve'
252
- _query_url = APIHelper.clean_url _query_builder
253
-
254
- # Prepare headers.
255
- _headers = {
256
- 'accept' => 'application/json',
257
- 'Content-Type' => 'application/json'
258
- }
259
-
260
- # Prepare and execute HttpRequest.
261
- _request = config.http_client.post(
262
- _query_url,
263
- headers: _headers,
264
- parameters: body.to_json
265
- )
266
- OAuth2.apply(config, _request)
267
- _response = execute_request(_request)
268
-
269
- # Return appropriate response type.
270
- decoded = APIHelper.json_deserialize(_response.raw_body)
271
- _errors = APIHelper.map_response(decoded, ['errors'])
272
- ApiResponse.new(
273
- _response, data: decoded, errors: _errors
274
- )
167
+ new_api_call_builder
168
+ .request(new_request_builder(HttpMethodEnum::POST,
169
+ '/v2/inventory/changes/batch-retrieve',
170
+ 'default')
171
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
172
+ .body_param(new_parameter(body))
173
+ .header_param(new_parameter('application/json', key: 'accept'))
174
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
175
+ .auth(Single.new('global')))
176
+ .response(new_response_handler
177
+ .deserializer(APIHelper.method(:json_deserialize))
178
+ .is_api_response(true)
179
+ .convertor(ApiResponse.method(:create)))
180
+ .execute
275
181
  end
276
182
 
277
183
  # Returns current counts for the provided
@@ -289,32 +195,20 @@ module Square
289
195
  # corresponding object definition for field details.
290
196
  # @return [BatchRetrieveInventoryCountsResponse Hash] response from the API call
291
197
  def batch_retrieve_inventory_counts(body:)
292
- # Prepare query url.
293
- _query_builder = config.get_base_uri
294
- _query_builder << '/v2/inventory/counts/batch-retrieve'
295
- _query_url = APIHelper.clean_url _query_builder
296
-
297
- # Prepare headers.
298
- _headers = {
299
- 'accept' => 'application/json',
300
- 'Content-Type' => 'application/json'
301
- }
302
-
303
- # Prepare and execute HttpRequest.
304
- _request = config.http_client.post(
305
- _query_url,
306
- headers: _headers,
307
- parameters: body.to_json
308
- )
309
- OAuth2.apply(config, _request)
310
- _response = execute_request(_request)
311
-
312
- # Return appropriate response type.
313
- decoded = APIHelper.json_deserialize(_response.raw_body)
314
- _errors = APIHelper.map_response(decoded, ['errors'])
315
- ApiResponse.new(
316
- _response, data: decoded, errors: _errors
317
- )
198
+ new_api_call_builder
199
+ .request(new_request_builder(HttpMethodEnum::POST,
200
+ '/v2/inventory/counts/batch-retrieve',
201
+ 'default')
202
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
203
+ .body_param(new_parameter(body))
204
+ .header_param(new_parameter('application/json', key: 'accept'))
205
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
206
+ .auth(Single.new('global')))
207
+ .response(new_response_handler
208
+ .deserializer(APIHelper.method(:json_deserialize))
209
+ .is_api_response(true)
210
+ .convertor(ApiResponse.method(:create)))
211
+ .execute
318
212
  end
319
213
 
320
214
  # Deprecated version of
@@ -327,34 +221,19 @@ module Square
327
221
  def deprecated_retrieve_inventory_physical_count(physical_count_id:)
328
222
  warn 'Endpoint deprecated_retrieve_inventory_physical_count in Inventory'\
329
223
  'Api is deprecated'
330
- # Prepare query url.
331
- _query_builder = config.get_base_uri
332
- _query_builder << '/v2/inventory/physical-count/{physical_count_id}'
333
- _query_builder = APIHelper.append_url_with_template_parameters(
334
- _query_builder,
335
- 'physical_count_id' => { 'value' => physical_count_id, 'encode' => true }
336
- )
337
- _query_url = APIHelper.clean_url _query_builder
338
-
339
- # Prepare headers.
340
- _headers = {
341
- 'accept' => 'application/json'
342
- }
343
-
344
- # Prepare and execute HttpRequest.
345
- _request = config.http_client.get(
346
- _query_url,
347
- headers: _headers
348
- )
349
- OAuth2.apply(config, _request)
350
- _response = execute_request(_request)
351
-
352
- # Return appropriate response type.
353
- decoded = APIHelper.json_deserialize(_response.raw_body)
354
- _errors = APIHelper.map_response(decoded, ['errors'])
355
- ApiResponse.new(
356
- _response, data: decoded, errors: _errors
357
- )
224
+ new_api_call_builder
225
+ .request(new_request_builder(HttpMethodEnum::GET,
226
+ '/v2/inventory/physical-count/{physical_count_id}',
227
+ 'default')
228
+ .template_param(new_parameter(physical_count_id, key: 'physical_count_id')
229
+ .should_encode(true))
230
+ .header_param(new_parameter('application/json', key: 'accept'))
231
+ .auth(Single.new('global')))
232
+ .response(new_response_handler
233
+ .deserializer(APIHelper.method(:json_deserialize))
234
+ .is_api_response(true)
235
+ .convertor(ApiResponse.method(:create)))
236
+ .execute
358
237
  end
359
238
 
360
239
  # Returns the [InventoryPhysicalCount]($m/InventoryPhysicalCount)
@@ -363,34 +242,19 @@ module Square
363
242
  # [InventoryPhysicalCount]($m/InventoryPhysicalCount) to retrieve.
364
243
  # @return [RetrieveInventoryPhysicalCountResponse Hash] response from the API call
365
244
  def retrieve_inventory_physical_count(physical_count_id:)
366
- # Prepare query url.
367
- _query_builder = config.get_base_uri
368
- _query_builder << '/v2/inventory/physical-counts/{physical_count_id}'
369
- _query_builder = APIHelper.append_url_with_template_parameters(
370
- _query_builder,
371
- 'physical_count_id' => { 'value' => physical_count_id, 'encode' => true }
372
- )
373
- _query_url = APIHelper.clean_url _query_builder
374
-
375
- # Prepare headers.
376
- _headers = {
377
- 'accept' => 'application/json'
378
- }
379
-
380
- # Prepare and execute HttpRequest.
381
- _request = config.http_client.get(
382
- _query_url,
383
- headers: _headers
384
- )
385
- OAuth2.apply(config, _request)
386
- _response = execute_request(_request)
387
-
388
- # Return appropriate response type.
389
- decoded = APIHelper.json_deserialize(_response.raw_body)
390
- _errors = APIHelper.map_response(decoded, ['errors'])
391
- ApiResponse.new(
392
- _response, data: decoded, errors: _errors
393
- )
245
+ new_api_call_builder
246
+ .request(new_request_builder(HttpMethodEnum::GET,
247
+ '/v2/inventory/physical-counts/{physical_count_id}',
248
+ 'default')
249
+ .template_param(new_parameter(physical_count_id, key: 'physical_count_id')
250
+ .should_encode(true))
251
+ .header_param(new_parameter('application/json', key: 'accept'))
252
+ .auth(Single.new('global')))
253
+ .response(new_response_handler
254
+ .deserializer(APIHelper.method(:json_deserialize))
255
+ .is_api_response(true)
256
+ .convertor(ApiResponse.method(:create)))
257
+ .execute
394
258
  end
395
259
 
396
260
  # Returns the [InventoryTransfer]($m/InventoryTransfer) object
@@ -399,34 +263,19 @@ module Square
399
263
  # [InventoryTransfer]($m/InventoryTransfer) to retrieve.
400
264
  # @return [RetrieveInventoryTransferResponse Hash] response from the API call
401
265
  def retrieve_inventory_transfer(transfer_id:)
402
- # Prepare query url.
403
- _query_builder = config.get_base_uri
404
- _query_builder << '/v2/inventory/transfers/{transfer_id}'
405
- _query_builder = APIHelper.append_url_with_template_parameters(
406
- _query_builder,
407
- 'transfer_id' => { 'value' => transfer_id, 'encode' => true }
408
- )
409
- _query_url = APIHelper.clean_url _query_builder
410
-
411
- # Prepare headers.
412
- _headers = {
413
- 'accept' => 'application/json'
414
- }
415
-
416
- # Prepare and execute HttpRequest.
417
- _request = config.http_client.get(
418
- _query_url,
419
- headers: _headers
420
- )
421
- OAuth2.apply(config, _request)
422
- _response = execute_request(_request)
423
-
424
- # Return appropriate response type.
425
- decoded = APIHelper.json_deserialize(_response.raw_body)
426
- _errors = APIHelper.map_response(decoded, ['errors'])
427
- ApiResponse.new(
428
- _response, data: decoded, errors: _errors
429
- )
266
+ new_api_call_builder
267
+ .request(new_request_builder(HttpMethodEnum::GET,
268
+ '/v2/inventory/transfers/{transfer_id}',
269
+ 'default')
270
+ .template_param(new_parameter(transfer_id, key: 'transfer_id')
271
+ .should_encode(true))
272
+ .header_param(new_parameter('application/json', key: 'accept'))
273
+ .auth(Single.new('global')))
274
+ .response(new_response_handler
275
+ .deserializer(APIHelper.method(:json_deserialize))
276
+ .is_api_response(true)
277
+ .convertor(ApiResponse.method(:create)))
278
+ .execute
430
279
  end
431
280
 
432
281
  # Retrieves the current calculated stock count for a given
@@ -447,39 +296,21 @@ module Square
447
296
  def retrieve_inventory_count(catalog_object_id:,
448
297
  location_ids: nil,
449
298
  cursor: nil)
450
- # Prepare query url.
451
- _query_builder = config.get_base_uri
452
- _query_builder << '/v2/inventory/{catalog_object_id}'
453
- _query_builder = APIHelper.append_url_with_template_parameters(
454
- _query_builder,
455
- 'catalog_object_id' => { 'value' => catalog_object_id, 'encode' => true }
456
- )
457
- _query_builder = APIHelper.append_url_with_query_parameters(
458
- _query_builder,
459
- 'location_ids' => location_ids,
460
- 'cursor' => cursor
461
- )
462
- _query_url = APIHelper.clean_url _query_builder
463
-
464
- # Prepare headers.
465
- _headers = {
466
- 'accept' => 'application/json'
467
- }
468
-
469
- # Prepare and execute HttpRequest.
470
- _request = config.http_client.get(
471
- _query_url,
472
- headers: _headers
473
- )
474
- OAuth2.apply(config, _request)
475
- _response = execute_request(_request)
476
-
477
- # Return appropriate response type.
478
- decoded = APIHelper.json_deserialize(_response.raw_body)
479
- _errors = APIHelper.map_response(decoded, ['errors'])
480
- ApiResponse.new(
481
- _response, data: decoded, errors: _errors
482
- )
299
+ new_api_call_builder
300
+ .request(new_request_builder(HttpMethodEnum::GET,
301
+ '/v2/inventory/{catalog_object_id}',
302
+ 'default')
303
+ .template_param(new_parameter(catalog_object_id, key: 'catalog_object_id')
304
+ .should_encode(true))
305
+ .query_param(new_parameter(location_ids, key: 'location_ids'))
306
+ .query_param(new_parameter(cursor, key: 'cursor'))
307
+ .header_param(new_parameter('application/json', key: 'accept'))
308
+ .auth(Single.new('global')))
309
+ .response(new_response_handler
310
+ .deserializer(APIHelper.method(:json_deserialize))
311
+ .is_api_response(true)
312
+ .convertor(ApiResponse.method(:create)))
313
+ .execute
483
314
  end
484
315
 
485
316
  # Returns a set of physical counts and inventory adjustments for the
@@ -511,39 +342,21 @@ module Square
511
342
  location_ids: nil,
512
343
  cursor: nil)
513
344
  warn 'Endpoint retrieve_inventory_changes in InventoryApi is deprecated'
514
- # Prepare query url.
515
- _query_builder = config.get_base_uri
516
- _query_builder << '/v2/inventory/{catalog_object_id}/changes'
517
- _query_builder = APIHelper.append_url_with_template_parameters(
518
- _query_builder,
519
- 'catalog_object_id' => { 'value' => catalog_object_id, 'encode' => true }
520
- )
521
- _query_builder = APIHelper.append_url_with_query_parameters(
522
- _query_builder,
523
- 'location_ids' => location_ids,
524
- 'cursor' => cursor
525
- )
526
- _query_url = APIHelper.clean_url _query_builder
527
-
528
- # Prepare headers.
529
- _headers = {
530
- 'accept' => 'application/json'
531
- }
532
-
533
- # Prepare and execute HttpRequest.
534
- _request = config.http_client.get(
535
- _query_url,
536
- headers: _headers
537
- )
538
- OAuth2.apply(config, _request)
539
- _response = execute_request(_request)
540
-
541
- # Return appropriate response type.
542
- decoded = APIHelper.json_deserialize(_response.raw_body)
543
- _errors = APIHelper.map_response(decoded, ['errors'])
544
- ApiResponse.new(
545
- _response, data: decoded, errors: _errors
546
- )
345
+ new_api_call_builder
346
+ .request(new_request_builder(HttpMethodEnum::GET,
347
+ '/v2/inventory/{catalog_object_id}/changes',
348
+ 'default')
349
+ .template_param(new_parameter(catalog_object_id, key: 'catalog_object_id')
350
+ .should_encode(true))
351
+ .query_param(new_parameter(location_ids, key: 'location_ids'))
352
+ .query_param(new_parameter(cursor, key: 'cursor'))
353
+ .header_param(new_parameter('application/json', key: 'accept'))
354
+ .auth(Single.new('global')))
355
+ .response(new_response_handler
356
+ .deserializer(APIHelper.method(:json_deserialize))
357
+ .is_api_response(true)
358
+ .convertor(ApiResponse.method(:create)))
359
+ .execute
547
360
  end
548
361
  end
549
362
  end