square.rb 6.1.0.20200722 → 7.0.0.20201118

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 (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