square.rb 6.1.0.20200722 → 7.0.0.20201118

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +38 -31
  3. data/lib/square.rb +62 -61
  4. data/lib/square/api/apple_pay_api.rb +5 -3
  5. data/lib/square/api/bank_accounts_api.rb +16 -19
  6. data/lib/square/api/base_api.rb +1 -1
  7. data/lib/square/api/bookings_api.rb +266 -0
  8. data/lib/square/api/cash_drawers_api.rb +13 -6
  9. data/lib/square/api/catalog_api.rb +50 -28
  10. data/lib/square/api/checkout_api.rb +4 -2
  11. data/lib/square/api/customer_groups_api.rb +18 -8
  12. data/lib/square/api/customer_segments_api.rb +9 -5
  13. data/lib/square/api/customers_api.rb +47 -27
  14. data/lib/square/api/devices_api.rb +17 -6
  15. data/lib/square/api/disputes_api.rb +39 -34
  16. data/lib/square/api/employees_api.rb +10 -5
  17. data/lib/square/api/inventory_api.rb +30 -15
  18. data/lib/square/api/invoices_api.rb +31 -30
  19. data/lib/square/api/labor_api.rb +131 -22
  20. data/lib/square/api/locations_api.rb +16 -13
  21. data/lib/square/api/loyalty_api.rb +60 -66
  22. data/lib/square/api/merchants_api.rb +7 -3
  23. data/lib/square/api/mobile_authorization_api.rb +5 -3
  24. data/lib/square/api/o_auth_api.rb +11 -8
  25. data/lib/square/api/orders_api.rb +111 -90
  26. data/lib/square/api/payments_api.rb +75 -65
  27. data/lib/square/api/refunds_api.rb +37 -27
  28. data/lib/square/api/subscriptions_api.rb +263 -0
  29. data/lib/square/api/team_api.rb +46 -30
  30. data/lib/square/api/terminal_api.rb +156 -7
  31. data/lib/square/api/transactions_api.rb +32 -18
  32. data/lib/square/api/v1_employees_api.rb +59 -27
  33. data/lib/square/api/v1_items_api.rb +195 -115
  34. data/lib/square/api/v1_locations_api.rb +6 -2
  35. data/lib/square/api/v1_transactions_api.rb +49 -27
  36. data/lib/square/api_helper.rb +14 -9
  37. data/lib/square/client.rb +20 -14
  38. data/lib/square/configuration.rb +2 -2
  39. data/lib/square/http/api_response.rb +2 -0
  40. data/lib/square/http/faraday_client.rb +9 -2
  41. data/spec/user_journey_spec.rb +2 -5
  42. data/test/api/api_test_base.rb +1 -6
  43. data/test/api/test_catalog_api.rb +1 -4
  44. data/test/api/test_customers_api.rb +1 -4
  45. data/test/api/test_employees_api.rb +1 -4
  46. data/test/api/test_labor_api.rb +2 -6
  47. data/test/api/test_locations_api.rb +22 -33
  48. data/test/api/test_merchants_api.rb +1 -4
  49. data/test/api/test_payments_api.rb +3 -6
  50. data/test/api/test_refunds_api.rb +3 -6
  51. data/test/http_response_catcher.rb +0 -5
  52. data/test/test_helper.rb +0 -5
  53. metadata +34 -15
  54. data/lib/square/api/reporting_api.rb +0 -138
@@ -16,10 +16,14 @@ module Square
16
16
  # @param [ProductType] product_type Optional parameter: If specified, only
17
17
  # returns DeviceCodes targeting the specified product type. Returns
18
18
  # DeviceCodes of all product types if empty.
19
+ # @param [DeviceCodeStatus] status Optional parameter: If specified, returns
20
+ # DeviceCodes with the specified statuses. Returns DeviceCodes of status
21
+ # `PAIRED` and `UNPAIRED` if empty.
19
22
  # @return [ListDeviceCodesResponse Hash] response from the API call
20
23
  def list_device_codes(cursor: nil,
21
24
  location_id: nil,
22
- product_type: nil)
25
+ product_type: nil,
26
+ status: nil)
23
27
  # Prepare query url.
24
28
  _query_builder = config.get_base_uri
25
29
  _query_builder << '/v2/devices/codes'
@@ -27,7 +31,8 @@ module Square
27
31
  _query_builder,
28
32
  'cursor' => cursor,
29
33
  'location_id' => location_id,
30
- 'product_type' => product_type
34
+ 'product_type' => product_type,
35
+ 'status' => status
31
36
  )
32
37
  _query_url = APIHelper.clean_url _query_builder
33
38
 
@@ -47,7 +52,9 @@ module Square
47
52
  # Return appropriate response type.
48
53
  decoded = APIHelper.json_deserialize(_response.raw_body)
49
54
  _errors = APIHelper.map_response(decoded, ['errors'])
50
- ApiResponse.new(_response, data: decoded, errors: _errors)
55
+ ApiResponse.new(
56
+ _response, data: decoded, errors: _errors
57
+ )
51
58
  end
52
59
 
53
60
  # Creates a DeviceCode that can be used to login to a Square Terminal device
@@ -81,7 +88,9 @@ module Square
81
88
  # Return appropriate response type.
82
89
  decoded = APIHelper.json_deserialize(_response.raw_body)
83
90
  _errors = APIHelper.map_response(decoded, ['errors'])
84
- ApiResponse.new(_response, data: decoded, errors: _errors)
91
+ ApiResponse.new(
92
+ _response, data: decoded, errors: _errors
93
+ )
85
94
  end
86
95
 
87
96
  # Retrieves DeviceCode with the associated ID.
@@ -94,7 +103,7 @@ module Square
94
103
  _query_builder << '/v2/devices/codes/{id}'
95
104
  _query_builder = APIHelper.append_url_with_template_parameters(
96
105
  _query_builder,
97
- 'id' => id
106
+ 'id' => { 'value' => id, 'encode' => true }
98
107
  )
99
108
  _query_url = APIHelper.clean_url _query_builder
100
109
 
@@ -114,7 +123,9 @@ module Square
114
123
  # Return appropriate response type.
115
124
  decoded = APIHelper.json_deserialize(_response.raw_body)
116
125
  _errors = APIHelper.map_response(decoded, ['errors'])
117
- ApiResponse.new(_response, data: decoded, errors: _errors)
126
+ ApiResponse.new(
127
+ _response, data: decoded, errors: _errors
128
+ )
118
129
  end
119
130
  end
120
131
  end
@@ -50,7 +50,9 @@ module Square
50
50
  # Return appropriate response type.
51
51
  decoded = APIHelper.json_deserialize(_response.raw_body)
52
52
  _errors = APIHelper.map_response(decoded, ['errors'])
53
- ApiResponse.new(_response, data: decoded, errors: _errors)
53
+ ApiResponse.new(
54
+ _response, data: decoded, errors: _errors
55
+ )
54
56
  end
55
57
 
56
58
  # Returns details of a specific dispute.
@@ -63,7 +65,7 @@ module Square
63
65
  _query_builder << '/v2/disputes/{dispute_id}'
64
66
  _query_builder = APIHelper.append_url_with_template_parameters(
65
67
  _query_builder,
66
- 'dispute_id' => dispute_id
68
+ 'dispute_id' => { 'value' => dispute_id, 'encode' => true }
67
69
  )
68
70
  _query_url = APIHelper.clean_url _query_builder
69
71
 
@@ -83,7 +85,9 @@ module Square
83
85
  # Return appropriate response type.
84
86
  decoded = APIHelper.json_deserialize(_response.raw_body)
85
87
  _errors = APIHelper.map_response(decoded, ['errors'])
86
- ApiResponse.new(_response, data: decoded, errors: _errors)
88
+ ApiResponse.new(
89
+ _response, data: decoded, errors: _errors
90
+ )
87
91
  end
88
92
 
89
93
  # Accepts loss on a dispute. Square returns
@@ -92,9 +96,6 @@ module Square
92
96
  # Square debits the disputed amount from the seller’s Square
93
97
  # account. If the Square account balance does not have
94
98
  # sufficient funds, Square debits the associated bank account.
95
- # For an overview of the Disputes API, see
96
- # [Overview](https://developer.squareup.com/docs/docs/disputes-api/overview)
97
- # .
98
99
  # @param [String] dispute_id Required parameter: ID of the dispute you want
99
100
  # to accept.
100
101
  # @return [AcceptDisputeResponse Hash] response from the API call
@@ -104,7 +105,7 @@ module Square
104
105
  _query_builder << '/v2/disputes/{dispute_id}/accept'
105
106
  _query_builder = APIHelper.append_url_with_template_parameters(
106
107
  _query_builder,
107
- 'dispute_id' => dispute_id
108
+ 'dispute_id' => { 'value' => dispute_id, 'encode' => true }
108
109
  )
109
110
  _query_url = APIHelper.clean_url _query_builder
110
111
 
@@ -124,7 +125,9 @@ module Square
124
125
  # Return appropriate response type.
125
126
  decoded = APIHelper.json_deserialize(_response.raw_body)
126
127
  _errors = APIHelper.map_response(decoded, ['errors'])
127
- ApiResponse.new(_response, data: decoded, errors: _errors)
128
+ ApiResponse.new(
129
+ _response, data: decoded, errors: _errors
130
+ )
128
131
  end
129
132
 
130
133
  # Returns a list of evidence associated with a dispute.
@@ -136,7 +139,7 @@ module Square
136
139
  _query_builder << '/v2/disputes/{dispute_id}/evidence'
137
140
  _query_builder = APIHelper.append_url_with_template_parameters(
138
141
  _query_builder,
139
- 'dispute_id' => dispute_id
142
+ 'dispute_id' => { 'value' => dispute_id, 'encode' => true }
140
143
  )
141
144
  _query_url = APIHelper.clean_url _query_builder
142
145
 
@@ -156,7 +159,9 @@ module Square
156
159
  # Return appropriate response type.
157
160
  decoded = APIHelper.json_deserialize(_response.raw_body)
158
161
  _errors = APIHelper.map_response(decoded, ['errors'])
159
- ApiResponse.new(_response, data: decoded, errors: _errors)
162
+ ApiResponse.new(
163
+ _response, data: decoded, errors: _errors
164
+ )
160
165
  end
161
166
 
162
167
  # Removes specified evidence from a dispute.
@@ -177,8 +182,8 @@ module Square
177
182
  _query_builder << '/v2/disputes/{dispute_id}/evidence/{evidence_id}'
178
183
  _query_builder = APIHelper.append_url_with_template_parameters(
179
184
  _query_builder,
180
- 'dispute_id' => dispute_id,
181
- 'evidence_id' => evidence_id
185
+ 'dispute_id' => { 'value' => dispute_id, 'encode' => true },
186
+ 'evidence_id' => { 'value' => evidence_id, 'encode' => true }
182
187
  )
183
188
  _query_url = APIHelper.clean_url _query_builder
184
189
 
@@ -198,7 +203,9 @@ module Square
198
203
  # Return appropriate response type.
199
204
  decoded = APIHelper.json_deserialize(_response.raw_body)
200
205
  _errors = APIHelper.map_response(decoded, ['errors'])
201
- ApiResponse.new(_response, data: decoded, errors: _errors)
206
+ ApiResponse.new(
207
+ _response, data: decoded, errors: _errors
208
+ )
202
209
  end
203
210
 
204
211
  # Returns the specific evidence metadata associated with a specific dispute.
@@ -217,8 +224,8 @@ module Square
217
224
  _query_builder << '/v2/disputes/{dispute_id}/evidence/{evidence_id}'
218
225
  _query_builder = APIHelper.append_url_with_template_parameters(
219
226
  _query_builder,
220
- 'dispute_id' => dispute_id,
221
- 'evidence_id' => evidence_id
227
+ 'dispute_id' => { 'value' => dispute_id, 'encode' => true },
228
+ 'evidence_id' => { 'value' => evidence_id, 'encode' => true }
222
229
  )
223
230
  _query_url = APIHelper.clean_url _query_builder
224
231
 
@@ -238,16 +245,15 @@ module Square
238
245
  # Return appropriate response type.
239
246
  decoded = APIHelper.json_deserialize(_response.raw_body)
240
247
  _errors = APIHelper.map_response(decoded, ['errors'])
241
- ApiResponse.new(_response, data: decoded, errors: _errors)
248
+ ApiResponse.new(
249
+ _response, data: decoded, errors: _errors
250
+ )
242
251
  end
243
252
 
244
253
  # Uploads a file to use as evidence in a dispute challenge. The endpoint
245
254
  # accepts
246
255
  # HTTP multipart/form-data file uploads in HEIC, HEIF, JPEG, PDF, PNG,
247
256
  # and TIFF formats.
248
- # For more information, see [Challenge a
249
- # Dispute](https://developer.squareup.com/docs/docs/disputes-api/process-dis
250
- # putes#challenge-a-dispute).
251
257
  # @param [String] dispute_id Required parameter: ID of the dispute you want
252
258
  # to upload evidence for.
253
259
  # @param [CreateDisputeEvidenceFileRequest] request Optional parameter:
@@ -262,7 +268,7 @@ module Square
262
268
  _query_builder << '/v2/disputes/{dispute_id}/evidence_file'
263
269
  _query_builder = APIHelper.append_url_with_template_parameters(
264
270
  _query_builder,
265
- 'dispute_id' => dispute_id
271
+ 'dispute_id' => { 'value' => dispute_id, 'encode' => true }
266
272
  )
267
273
  _query_url = APIHelper.clean_url _query_builder
268
274
 
@@ -304,14 +310,12 @@ module Square
304
310
  # Return appropriate response type.
305
311
  decoded = APIHelper.json_deserialize(_response.raw_body)
306
312
  _errors = APIHelper.map_response(decoded, ['errors'])
307
- ApiResponse.new(_response, data: decoded, errors: _errors)
313
+ ApiResponse.new(
314
+ _response, data: decoded, errors: _errors
315
+ )
308
316
  end
309
317
 
310
- # Uploads text to use as evidence for a dispute challenge. For more
311
- # information, see
312
- # [Challenge a
313
- # Dispute](https://developer.squareup.com/docs/docs/disputes-api/process-dis
314
- # putes#challenge-a-dispute).
318
+ # Uploads text to use as evidence for a dispute challenge.
315
319
  # @param [String] dispute_id Required parameter: The ID of the dispute you
316
320
  # want to upload evidence for.
317
321
  # @param [CreateDisputeEvidenceTextRequest] body Required parameter: An
@@ -325,7 +329,7 @@ module Square
325
329
  _query_builder << '/v2/disputes/{dispute_id}/evidence_text'
326
330
  _query_builder = APIHelper.append_url_with_template_parameters(
327
331
  _query_builder,
328
- 'dispute_id' => dispute_id
332
+ 'dispute_id' => { 'value' => dispute_id, 'encode' => true }
329
333
  )
330
334
  _query_url = APIHelper.clean_url _query_builder
331
335
 
@@ -347,7 +351,9 @@ module Square
347
351
  # Return appropriate response type.
348
352
  decoded = APIHelper.json_deserialize(_response.raw_body)
349
353
  _errors = APIHelper.map_response(decoded, ['errors'])
350
- ApiResponse.new(_response, data: decoded, errors: _errors)
354
+ ApiResponse.new(
355
+ _response, data: decoded, errors: _errors
356
+ )
351
357
  end
352
358
 
353
359
  # Submits evidence to the cardholder's bank.
@@ -359,10 +365,7 @@ module Square
359
365
  # [CreateDisputeEvidenceText](https://developer.squareup.com/docs/reference/
360
366
  # square/disputes-api/create-dispute-evidence-text) endpoints,
361
367
  # and evidence automatically provided by Square, when
362
- # available. For more information, see
363
- # [Challenge a
364
- # Dispute](https://developer.squareup.com/docs/docs/disputes-api/process-dis
365
- # putes#challenge-a-dispute).
368
+ # available.
366
369
  # @param [String] dispute_id Required parameter: The ID of the dispute you
367
370
  # want to submit evidence for.
368
371
  # @return [SubmitEvidenceResponse Hash] response from the API call
@@ -372,7 +375,7 @@ module Square
372
375
  _query_builder << '/v2/disputes/{dispute_id}/submit-evidence'
373
376
  _query_builder = APIHelper.append_url_with_template_parameters(
374
377
  _query_builder,
375
- 'dispute_id' => dispute_id
378
+ 'dispute_id' => { 'value' => dispute_id, 'encode' => true }
376
379
  )
377
380
  _query_url = APIHelper.clean_url _query_builder
378
381
 
@@ -392,7 +395,9 @@ module Square
392
395
  # Return appropriate response type.
393
396
  decoded = APIHelper.json_deserialize(_response.raw_body)
394
397
  _errors = APIHelper.map_response(decoded, ['errors'])
395
- ApiResponse.new(_response, data: decoded, errors: _errors)
398
+ ApiResponse.new(
399
+ _response, data: decoded, errors: _errors
400
+ )
396
401
  end
397
402
  end
398
403
  end
@@ -6,8 +6,7 @@ module Square
6
6
  end
7
7
 
8
8
  # ListEmployees
9
- # @param [String] location_id Optional parameter: Filter employees returned
10
- # to only those that are associated with the specified location.
9
+ # @param [String] location_id Optional parameter: Example:
11
10
  # @param [EmployeeStatus] status Optional parameter: Specifies the
12
11
  # EmployeeStatus to filter the employee by.
13
12
  # @param [Integer] limit Optional parameter: The number of employees to be
@@ -19,6 +18,7 @@ module Square
19
18
  status: nil,
20
19
  limit: nil,
21
20
  cursor: nil)
21
+ warn 'Endpoint list_employees in EmployeesApi is deprecated'
22
22
  # Prepare query url.
23
23
  _query_builder = config.get_base_uri
24
24
  _query_builder << '/v2/employees'
@@ -47,7 +47,9 @@ module Square
47
47
  # Return appropriate response type.
48
48
  decoded = APIHelper.json_deserialize(_response.raw_body)
49
49
  _errors = APIHelper.map_response(decoded, ['errors'])
50
- ApiResponse.new(_response, data: decoded, errors: _errors)
50
+ ApiResponse.new(
51
+ _response, data: decoded, errors: _errors
52
+ )
51
53
  end
52
54
 
53
55
  # RetrieveEmployee
@@ -55,12 +57,13 @@ module Square
55
57
  # requested.
56
58
  # @return [RetrieveEmployeeResponse Hash] response from the API call
57
59
  def retrieve_employee(id:)
60
+ warn 'Endpoint retrieve_employee in EmployeesApi is deprecated'
58
61
  # Prepare query url.
59
62
  _query_builder = config.get_base_uri
60
63
  _query_builder << '/v2/employees/{id}'
61
64
  _query_builder = APIHelper.append_url_with_template_parameters(
62
65
  _query_builder,
63
- 'id' => id
66
+ 'id' => { 'value' => id, 'encode' => true }
64
67
  )
65
68
  _query_url = APIHelper.clean_url _query_builder
66
69
 
@@ -80,7 +83,9 @@ module Square
80
83
  # Return appropriate response type.
81
84
  decoded = APIHelper.json_deserialize(_response.raw_body)
82
85
  _errors = APIHelper.map_response(decoded, ['errors'])
83
- ApiResponse.new(_response, data: decoded, errors: _errors)
86
+ ApiResponse.new(
87
+ _response, data: decoded, errors: _errors
88
+ )
84
89
  end
85
90
  end
86
91
  end
@@ -16,7 +16,7 @@ module Square
16
16
  _query_builder << '/v2/inventory/adjustment/{adjustment_id}'
17
17
  _query_builder = APIHelper.append_url_with_template_parameters(
18
18
  _query_builder,
19
- 'adjustment_id' => adjustment_id
19
+ 'adjustment_id' => { 'value' => adjustment_id, 'encode' => true }
20
20
  )
21
21
  _query_url = APIHelper.clean_url _query_builder
22
22
 
@@ -36,7 +36,9 @@ module Square
36
36
  # Return appropriate response type.
37
37
  decoded = APIHelper.json_deserialize(_response.raw_body)
38
38
  _errors = APIHelper.map_response(decoded, ['errors'])
39
- ApiResponse.new(_response, data: decoded, errors: _errors)
39
+ ApiResponse.new(
40
+ _response, data: decoded, errors: _errors
41
+ )
40
42
  end
41
43
 
42
44
  # Applies adjustments and counts to the provided item quantities.
@@ -71,7 +73,9 @@ module Square
71
73
  # Return appropriate response type.
72
74
  decoded = APIHelper.json_deserialize(_response.raw_body)
73
75
  _errors = APIHelper.map_response(decoded, ['errors'])
74
- ApiResponse.new(_response, data: decoded, errors: _errors)
76
+ ApiResponse.new(
77
+ _response, data: decoded, errors: _errors
78
+ )
75
79
  end
76
80
 
77
81
  # Returns historical physical counts and adjustments based on the
@@ -108,7 +112,9 @@ module Square
108
112
  # Return appropriate response type.
109
113
  decoded = APIHelper.json_deserialize(_response.raw_body)
110
114
  _errors = APIHelper.map_response(decoded, ['errors'])
111
- ApiResponse.new(_response, data: decoded, errors: _errors)
115
+ ApiResponse.new(
116
+ _response, data: decoded, errors: _errors
117
+ )
112
118
  end
113
119
 
114
120
  # Returns current counts for the provided
@@ -149,7 +155,9 @@ module Square
149
155
  # Return appropriate response type.
150
156
  decoded = APIHelper.json_deserialize(_response.raw_body)
151
157
  _errors = APIHelper.map_response(decoded, ['errors'])
152
- ApiResponse.new(_response, data: decoded, errors: _errors)
158
+ ApiResponse.new(
159
+ _response, data: decoded, errors: _errors
160
+ )
153
161
  end
154
162
 
155
163
  # Returns the [InventoryPhysicalCount](#type-inventoryphysicalcount)
@@ -163,7 +171,7 @@ module Square
163
171
  _query_builder << '/v2/inventory/physical-count/{physical_count_id}'
164
172
  _query_builder = APIHelper.append_url_with_template_parameters(
165
173
  _query_builder,
166
- 'physical_count_id' => physical_count_id
174
+ 'physical_count_id' => { 'value' => physical_count_id, 'encode' => true }
167
175
  )
168
176
  _query_url = APIHelper.clean_url _query_builder
169
177
 
@@ -183,7 +191,9 @@ module Square
183
191
  # Return appropriate response type.
184
192
  decoded = APIHelper.json_deserialize(_response.raw_body)
185
193
  _errors = APIHelper.map_response(decoded, ['errors'])
186
- ApiResponse.new(_response, data: decoded, errors: _errors)
194
+ ApiResponse.new(
195
+ _response, data: decoded, errors: _errors
196
+ )
187
197
  end
188
198
 
189
199
  # Retrieves the current calculated stock count for a given
@@ -198,8 +208,8 @@ module Square
198
208
  # @param [String] cursor Optional parameter: A pagination cursor returned by
199
209
  # a previous call to this endpoint. Provide this to retrieve the next set of
200
210
  # results for the original query. See the
201
- # [Pagination](https://developer.squareup.com/docs/docs/working-with-apis/pa
202
- # gination) guide for more information.
211
+ # [Pagination](https://developer.squareup.com/docs/working-with-apis/paginat
212
+ # ion) guide for more information.
203
213
  # @return [RetrieveInventoryCountResponse Hash] response from the API call
204
214
  def retrieve_inventory_count(catalog_object_id:,
205
215
  location_ids: nil,
@@ -209,7 +219,7 @@ module Square
209
219
  _query_builder << '/v2/inventory/{catalog_object_id}'
210
220
  _query_builder = APIHelper.append_url_with_template_parameters(
211
221
  _query_builder,
212
- 'catalog_object_id' => catalog_object_id
222
+ 'catalog_object_id' => { 'value' => catalog_object_id, 'encode' => true }
213
223
  )
214
224
  _query_builder = APIHelper.append_url_with_query_parameters(
215
225
  _query_builder,
@@ -234,7 +244,9 @@ module Square
234
244
  # Return appropriate response type.
235
245
  decoded = APIHelper.json_deserialize(_response.raw_body)
236
246
  _errors = APIHelper.map_response(decoded, ['errors'])
237
- ApiResponse.new(_response, data: decoded, errors: _errors)
247
+ ApiResponse.new(
248
+ _response, data: decoded, errors: _errors
249
+ )
238
250
  end
239
251
 
240
252
  # Returns a set of physical counts and inventory adjustments for the
@@ -242,8 +254,9 @@ module Square
242
254
  # [Location](#type-location)s.
243
255
  # Results are paginated and sorted in descending order according to their
244
256
  # `occurred_at` timestamp (newest first).
245
- # There are no limits on how far back the caller can page. This endpoint is
246
- # useful when displaying recent changes for a specific item. For more
257
+ # There are no limits on how far back the caller can page. This endpoint can
258
+ # be
259
+ # used to display recent changes for a specific item. For more
247
260
  # sophisticated queries, use a batch endpoint.
248
261
  # @param [String] catalog_object_id Required parameter: ID of the
249
262
  # [CatalogObject](#type-catalogobject) to retrieve.
@@ -264,7 +277,7 @@ module Square
264
277
  _query_builder << '/v2/inventory/{catalog_object_id}/changes'
265
278
  _query_builder = APIHelper.append_url_with_template_parameters(
266
279
  _query_builder,
267
- 'catalog_object_id' => catalog_object_id
280
+ 'catalog_object_id' => { 'value' => catalog_object_id, 'encode' => true }
268
281
  )
269
282
  _query_builder = APIHelper.append_url_with_query_parameters(
270
283
  _query_builder,
@@ -289,7 +302,9 @@ module Square
289
302
  # Return appropriate response type.
290
303
  decoded = APIHelper.json_deserialize(_response.raw_body)
291
304
  _errors = APIHelper.map_response(decoded, ['errors'])
292
- ApiResponse.new(_response, data: decoded, errors: _errors)
305
+ ApiResponse.new(
306
+ _response, data: decoded, errors: _errors
307
+ )
293
308
  end
294
309
  end
295
310
  end