square.rb 6.2.0.20200812 → 8.0.0.20201216

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 +34 -33
  3. data/lib/square.rb +61 -62
  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 +308 -0
  8. data/lib/square/api/cash_drawers_api.rb +13 -6
  9. data/lib/square/api/catalog_api.rb +68 -32
  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 +71 -68
  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 +42 -38
  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 +29 -28
  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 -31
  33. data/lib/square/api/v1_items_api.rb +195 -115
  34. data/lib/square/api/v1_transactions_api.rb +49 -27
  35. data/lib/square/api_helper.rb +14 -9
  36. data/lib/square/client.rb +14 -20
  37. data/lib/square/configuration.rb +2 -2
  38. data/lib/square/http/api_response.rb +2 -0
  39. data/lib/square/http/faraday_client.rb +9 -2
  40. data/spec/user_journey_spec.rb +2 -5
  41. data/test/api/api_test_base.rb +1 -6
  42. data/test/api/test_catalog_api.rb +1 -4
  43. data/test/api/test_customers_api.rb +1 -4
  44. data/test/api/test_employees_api.rb +1 -4
  45. data/test/api/test_labor_api.rb +2 -6
  46. data/test/api/test_locations_api.rb +22 -33
  47. data/test/api/test_merchants_api.rb +1 -4
  48. data/test/api/test_payments_api.rb +3 -6
  49. data/test/api/test_refunds_api.rb +3 -6
  50. data/test/http_response_catcher.rb +0 -5
  51. data/test/test_helper.rb +0 -5
  52. metadata +33 -16
  53. data/lib/square/api/reporting_api.rb +0 -138
  54. data/lib/square/api/v1_locations_api.rb +0 -65
@@ -8,16 +8,13 @@ module Square
8
8
  # Returns a list of invoices for a given location. The response
9
9
  # is paginated. If truncated, the response includes a `cursor` that you
10
10
  # use in a subsequent request to fetch the next set of invoices.
11
- # For more information about retrieving invoices, see [Retrieve
12
- # invoices](https://developer.squareup.com/docs/docs/invoices-api/overview#r
13
- # etrieve-invoices).
14
11
  # @param [String] location_id Required parameter: The ID of the location for
15
12
  # which to list invoices.
16
13
  # @param [String] cursor Optional parameter: A pagination cursor returned by
17
14
  # a previous call to this endpoint. Provide this cursor to retrieve the
18
15
  # next set of results for your original query. For more information, see
19
- # [Pagination](https://developer.squareup.com/docs/docs/working-with-apis/pa
20
- # gination).
16
+ # [Pagination](https://developer.squareup.com/docs/working-with-apis/paginat
17
+ # ion).
21
18
  # @param [Integer] limit Optional parameter: The maximum number of invoices
22
19
  # to return (200 is the maximum `limit`). If not provided, the server uses
23
20
  # a default limit of 100 invoices.
@@ -52,7 +49,9 @@ module Square
52
49
  # Return appropriate response type.
53
50
  decoded = APIHelper.json_deserialize(_response.raw_body)
54
51
  _errors = APIHelper.map_response(decoded, ['errors'])
55
- ApiResponse.new(_response, data: decoded, errors: _errors)
52
+ ApiResponse.new(
53
+ _response, data: decoded, errors: _errors
54
+ )
56
55
  end
57
56
 
58
57
  # Creates a draft [invoice](#type-invoice)
@@ -60,8 +59,6 @@ module Square
60
59
  # A draft invoice remains in your account and no action is taken.
61
60
  # You must publish the invoice before Square can process it (send it to the
62
61
  # customer's email address or charge the customer’s card on file).
63
- # For more information, see [Manage Invoices Using the Invoices
64
- # API](https://developer.squareup.com/docs/docs/invoices-api/overview).
65
62
  # @param [CreateInvoiceRequest] body Required parameter: An object
66
63
  # containing the fields to POST for the request. See the corresponding
67
64
  # object definition for field details.
@@ -90,7 +87,9 @@ module Square
90
87
  # Return appropriate response type.
91
88
  decoded = APIHelper.json_deserialize(_response.raw_body)
92
89
  _errors = APIHelper.map_response(decoded, ['errors'])
93
- ApiResponse.new(_response, data: decoded, errors: _errors)
90
+ ApiResponse.new(
91
+ _response, data: decoded, errors: _errors
92
+ )
94
93
  end
95
94
 
96
95
  # Searches for invoices from a location specified in
@@ -100,9 +99,6 @@ module Square
100
99
  # optionally one customer.
101
100
  # The response is paginated. If truncated, the response includes a `cursor`
102
101
  # that you use in a subsequent request to fetch the next set of invoices.
103
- # For more information about retrieving invoices, see [Retrieve
104
- # invoices](https://developer.squareup.com/docs/docs/invoices-api/overview#r
105
- # etrieve-invoices).
106
102
  # @param [SearchInvoicesRequest] body Required parameter: An object
107
103
  # containing the fields to POST for the request. See the corresponding
108
104
  # object definition for field details.
@@ -131,13 +127,15 @@ module Square
131
127
  # Return appropriate response type.
132
128
  decoded = APIHelper.json_deserialize(_response.raw_body)
133
129
  _errors = APIHelper.map_response(decoded, ['errors'])
134
- ApiResponse.new(_response, data: decoded, errors: _errors)
130
+ ApiResponse.new(
131
+ _response, data: decoded, errors: _errors
132
+ )
135
133
  end
136
134
 
137
135
  # Deletes the specified invoice. When an invoice is deleted, the
138
136
  # associated Order status changes to CANCELED. You can only delete a draft
139
- # invoice (you cannot delete an invoice scheduled for publication, or a
140
- # published invoice).
137
+ # invoice (you cannot delete a published invoice, including one that is
138
+ # scheduled for processing).
141
139
  # @param [String] invoice_id Required parameter: The ID of the invoice to
142
140
  # delete.
143
141
  # @param [Integer] version Optional parameter: The version of the
@@ -152,7 +150,7 @@ module Square
152
150
  _query_builder << '/v2/invoices/{invoice_id}'
153
151
  _query_builder = APIHelper.append_url_with_template_parameters(
154
152
  _query_builder,
155
- 'invoice_id' => invoice_id
153
+ 'invoice_id' => { 'value' => invoice_id, 'encode' => true }
156
154
  )
157
155
  _query_builder = APIHelper.append_url_with_query_parameters(
158
156
  _query_builder,
@@ -176,7 +174,9 @@ module Square
176
174
  # Return appropriate response type.
177
175
  decoded = APIHelper.json_deserialize(_response.raw_body)
178
176
  _errors = APIHelper.map_response(decoded, ['errors'])
179
- ApiResponse.new(_response, data: decoded, errors: _errors)
177
+ ApiResponse.new(
178
+ _response, data: decoded, errors: _errors
179
+ )
180
180
  end
181
181
 
182
182
  # Retrieves an invoice by invoice ID.
@@ -189,7 +189,7 @@ module Square
189
189
  _query_builder << '/v2/invoices/{invoice_id}'
190
190
  _query_builder = APIHelper.append_url_with_template_parameters(
191
191
  _query_builder,
192
- 'invoice_id' => invoice_id
192
+ 'invoice_id' => { 'value' => invoice_id, 'encode' => true }
193
193
  )
194
194
  _query_url = APIHelper.clean_url _query_builder
195
195
 
@@ -209,18 +209,20 @@ module Square
209
209
  # Return appropriate response type.
210
210
  decoded = APIHelper.json_deserialize(_response.raw_body)
211
211
  _errors = APIHelper.map_response(decoded, ['errors'])
212
- ApiResponse.new(_response, data: decoded, errors: _errors)
212
+ ApiResponse.new(
213
+ _response, data: decoded, errors: _errors
214
+ )
213
215
  end
214
216
 
215
- # Updates an invoice by modifying field values, clearing field values, or
216
- # both
217
- # as specified in the request.
218
- # There are no restrictions to updating an invoice in a draft state.
219
- # However, there are guidelines for updating a published invoice.
220
- # For more information, see [Update an
221
- # invoice](https://developer.squareup.com/docs/docs/invoices-api/overview#up
222
- # date-an-invoice).
223
- # @param [String] invoice_id Required parameter: The id of the invoice to
217
+ # Updates an invoice by modifying fields, clearing fields, or both. For most
218
+ # updates, you can use a sparse
219
+ # `Invoice` object to add fields or change values, and use the
220
+ # `fields_to_clear` field to specify fields to clear.
221
+ # However, some restrictions apply. For example, you cannot change the
222
+ # `order_id` or `location_id` field, and you
223
+ # must provide the complete `custom_fields` list to update a custom field.
224
+ # Published invoices have additional restrictions.
225
+ # @param [String] invoice_id Required parameter: The ID of the invoice to
224
226
  # update.
225
227
  # @param [UpdateInvoiceRequest] body Required parameter: An object
226
228
  # containing the fields to POST for the request. See the corresponding
@@ -233,7 +235,7 @@ module Square
233
235
  _query_builder << '/v2/invoices/{invoice_id}'
234
236
  _query_builder = APIHelper.append_url_with_template_parameters(
235
237
  _query_builder,
236
- 'invoice_id' => invoice_id
238
+ 'invoice_id' => { 'value' => invoice_id, 'encode' => true }
237
239
  )
238
240
  _query_url = APIHelper.clean_url _query_builder
239
241
 
@@ -255,7 +257,9 @@ module Square
255
257
  # Return appropriate response type.
256
258
  decoded = APIHelper.json_deserialize(_response.raw_body)
257
259
  _errors = APIHelper.map_response(decoded, ['errors'])
258
- ApiResponse.new(_response, data: decoded, errors: _errors)
260
+ ApiResponse.new(
261
+ _response, data: decoded, errors: _errors
262
+ )
259
263
  end
260
264
 
261
265
  # Cancels an invoice. The seller cannot collect payments for
@@ -275,7 +279,7 @@ module Square
275
279
  _query_builder << '/v2/invoices/{invoice_id}/cancel'
276
280
  _query_builder = APIHelper.append_url_with_template_parameters(
277
281
  _query_builder,
278
- 'invoice_id' => invoice_id
282
+ 'invoice_id' => { 'value' => invoice_id, 'encode' => true }
279
283
  )
280
284
  _query_url = APIHelper.clean_url _query_builder
281
285
 
@@ -297,7 +301,9 @@ module Square
297
301
  # Return appropriate response type.
298
302
  decoded = APIHelper.json_deserialize(_response.raw_body)
299
303
  _errors = APIHelper.map_response(decoded, ['errors'])
300
- ApiResponse.new(_response, data: decoded, errors: _errors)
304
+ ApiResponse.new(
305
+ _response, data: decoded, errors: _errors
306
+ )
301
307
  end
302
308
 
303
309
  # Publishes the specified draft invoice.
@@ -313,10 +319,6 @@ module Square
313
319
  # Square emails the invoice or `PARTIALLY_PAID` if Square charge a card on
314
320
  # file for a portion of the
315
321
  # invoice amount).
316
- # For more information, see
317
- # [Create and publish an
318
- # invoice](https://developer.squareup.com/docs/docs/invoices-api/overview#cr
319
- # eate-and-publish-an-invoice).
320
322
  # @param [String] invoice_id Required parameter: The id of the invoice to
321
323
  # publish.
322
324
  # @param [PublishInvoiceRequest] body Required parameter: An object
@@ -330,7 +332,7 @@ module Square
330
332
  _query_builder << '/v2/invoices/{invoice_id}/publish'
331
333
  _query_builder = APIHelper.append_url_with_template_parameters(
332
334
  _query_builder,
333
- 'invoice_id' => invoice_id
335
+ 'invoice_id' => { 'value' => invoice_id, 'encode' => true }
334
336
  )
335
337
  _query_url = APIHelper.clean_url _query_builder
336
338
 
@@ -352,7 +354,9 @@ module Square
352
354
  # Return appropriate response type.
353
355
  decoded = APIHelper.json_deserialize(_response.raw_body)
354
356
  _errors = APIHelper.map_response(decoded, ['errors'])
355
- ApiResponse.new(_response, data: decoded, errors: _errors)
357
+ ApiResponse.new(
358
+ _response, data: decoded, errors: _errors
359
+ )
356
360
  end
357
361
  end
358
362
  end
@@ -44,7 +44,9 @@ module Square
44
44
  # Return appropriate response type.
45
45
  decoded = APIHelper.json_deserialize(_response.raw_body)
46
46
  _errors = APIHelper.map_response(decoded, ['errors'])
47
- ApiResponse.new(_response, data: decoded, errors: _errors)
47
+ ApiResponse.new(
48
+ _response, data: decoded, errors: _errors
49
+ )
48
50
  end
49
51
 
50
52
  # Creates a new `BreakType`.
@@ -88,7 +90,9 @@ module Square
88
90
  # Return appropriate response type.
89
91
  decoded = APIHelper.json_deserialize(_response.raw_body)
90
92
  _errors = APIHelper.map_response(decoded, ['errors'])
91
- ApiResponse.new(_response, data: decoded, errors: _errors)
93
+ ApiResponse.new(
94
+ _response, data: decoded, errors: _errors
95
+ )
92
96
  end
93
97
 
94
98
  # Deletes an existing `BreakType`.
@@ -102,7 +106,7 @@ module Square
102
106
  _query_builder << '/v2/labor/break-types/{id}'
103
107
  _query_builder = APIHelper.append_url_with_template_parameters(
104
108
  _query_builder,
105
- 'id' => id
109
+ 'id' => { 'value' => id, 'encode' => true }
106
110
  )
107
111
  _query_url = APIHelper.clean_url _query_builder
108
112
 
@@ -122,7 +126,9 @@ module Square
122
126
  # Return appropriate response type.
123
127
  decoded = APIHelper.json_deserialize(_response.raw_body)
124
128
  _errors = APIHelper.map_response(decoded, ['errors'])
125
- ApiResponse.new(_response, data: decoded, errors: _errors)
129
+ ApiResponse.new(
130
+ _response, data: decoded, errors: _errors
131
+ )
126
132
  end
127
133
 
128
134
  # Returns a single `BreakType` specified by id.
@@ -135,7 +141,7 @@ module Square
135
141
  _query_builder << '/v2/labor/break-types/{id}'
136
142
  _query_builder = APIHelper.append_url_with_template_parameters(
137
143
  _query_builder,
138
- 'id' => id
144
+ 'id' => { 'value' => id, 'encode' => true }
139
145
  )
140
146
  _query_url = APIHelper.clean_url _query_builder
141
147
 
@@ -155,7 +161,9 @@ module Square
155
161
  # Return appropriate response type.
156
162
  decoded = APIHelper.json_deserialize(_response.raw_body)
157
163
  _errors = APIHelper.map_response(decoded, ['errors'])
158
- ApiResponse.new(_response, data: decoded, errors: _errors)
164
+ ApiResponse.new(
165
+ _response, data: decoded, errors: _errors
166
+ )
159
167
  end
160
168
 
161
169
  # Updates an existing `BreakType`.
@@ -172,7 +180,7 @@ module Square
172
180
  _query_builder << '/v2/labor/break-types/{id}'
173
181
  _query_builder = APIHelper.append_url_with_template_parameters(
174
182
  _query_builder,
175
- 'id' => id
183
+ 'id' => { 'value' => id, 'encode' => true }
176
184
  )
177
185
  _query_url = APIHelper.clean_url _query_builder
178
186
 
@@ -194,7 +202,9 @@ module Square
194
202
  # Return appropriate response type.
195
203
  decoded = APIHelper.json_deserialize(_response.raw_body)
196
204
  _errors = APIHelper.map_response(decoded, ['errors'])
197
- ApiResponse.new(_response, data: decoded, errors: _errors)
205
+ ApiResponse.new(
206
+ _response, data: decoded, errors: _errors
207
+ )
198
208
  end
199
209
 
200
210
  # Returns a paginated list of `EmployeeWage` instances for a business.
@@ -209,6 +219,7 @@ module Square
209
219
  def list_employee_wages(employee_id: nil,
210
220
  limit: nil,
211
221
  cursor: nil)
222
+ warn 'Endpoint list_employee_wages in LaborApi is deprecated'
212
223
  # Prepare query url.
213
224
  _query_builder = config.get_base_uri
214
225
  _query_builder << '/v2/labor/employee-wages'
@@ -236,7 +247,9 @@ module Square
236
247
  # Return appropriate response type.
237
248
  decoded = APIHelper.json_deserialize(_response.raw_body)
238
249
  _errors = APIHelper.map_response(decoded, ['errors'])
239
- ApiResponse.new(_response, data: decoded, errors: _errors)
250
+ ApiResponse.new(
251
+ _response, data: decoded, errors: _errors
252
+ )
240
253
  end
241
254
 
242
255
  # Returns a single `EmployeeWage` specified by id.
@@ -244,12 +257,13 @@ module Square
244
257
  # retrieved.
245
258
  # @return [GetEmployeeWageResponse Hash] response from the API call
246
259
  def get_employee_wage(id:)
260
+ warn 'Endpoint get_employee_wage in LaborApi is deprecated'
247
261
  # Prepare query url.
248
262
  _query_builder = config.get_base_uri
249
263
  _query_builder << '/v2/labor/employee-wages/{id}'
250
264
  _query_builder = APIHelper.append_url_with_template_parameters(
251
265
  _query_builder,
252
- 'id' => id
266
+ 'id' => { 'value' => id, 'encode' => true }
253
267
  )
254
268
  _query_url = APIHelper.clean_url _query_builder
255
269
 
@@ -269,7 +283,9 @@ module Square
269
283
  # Return appropriate response type.
270
284
  decoded = APIHelper.json_deserialize(_response.raw_body)
271
285
  _errors = APIHelper.map_response(decoded, ['errors'])
272
- ApiResponse.new(_response, data: decoded, errors: _errors)
286
+ ApiResponse.new(
287
+ _response, data: decoded, errors: _errors
288
+ )
273
289
  end
274
290
 
275
291
  # Creates a new `Shift`.
@@ -317,7 +333,9 @@ module Square
317
333
  # Return appropriate response type.
318
334
  decoded = APIHelper.json_deserialize(_response.raw_body)
319
335
  _errors = APIHelper.map_response(decoded, ['errors'])
320
- ApiResponse.new(_response, data: decoded, errors: _errors)
336
+ ApiResponse.new(
337
+ _response, data: decoded, errors: _errors
338
+ )
321
339
  end
322
340
 
323
341
  # Returns a paginated list of `Shift` records for a business.
@@ -361,7 +379,9 @@ module Square
361
379
  # Return appropriate response type.
362
380
  decoded = APIHelper.json_deserialize(_response.raw_body)
363
381
  _errors = APIHelper.map_response(decoded, ['errors'])
364
- ApiResponse.new(_response, data: decoded, errors: _errors)
382
+ ApiResponse.new(
383
+ _response, data: decoded, errors: _errors
384
+ )
365
385
  end
366
386
 
367
387
  # Deletes a `Shift`.
@@ -374,7 +394,7 @@ module Square
374
394
  _query_builder << '/v2/labor/shifts/{id}'
375
395
  _query_builder = APIHelper.append_url_with_template_parameters(
376
396
  _query_builder,
377
- 'id' => id
397
+ 'id' => { 'value' => id, 'encode' => true }
378
398
  )
379
399
  _query_url = APIHelper.clean_url _query_builder
380
400
 
@@ -394,7 +414,9 @@ module Square
394
414
  # Return appropriate response type.
395
415
  decoded = APIHelper.json_deserialize(_response.raw_body)
396
416
  _errors = APIHelper.map_response(decoded, ['errors'])
397
- ApiResponse.new(_response, data: decoded, errors: _errors)
417
+ ApiResponse.new(
418
+ _response, data: decoded, errors: _errors
419
+ )
398
420
  end
399
421
 
400
422
  # Returns a single `Shift` specified by id.
@@ -407,7 +429,7 @@ module Square
407
429
  _query_builder << '/v2/labor/shifts/{id}'
408
430
  _query_builder = APIHelper.append_url_with_template_parameters(
409
431
  _query_builder,
410
- 'id' => id
432
+ 'id' => { 'value' => id, 'encode' => true }
411
433
  )
412
434
  _query_url = APIHelper.clean_url _query_builder
413
435
 
@@ -427,7 +449,9 @@ module Square
427
449
  # Return appropriate response type.
428
450
  decoded = APIHelper.json_deserialize(_response.raw_body)
429
451
  _errors = APIHelper.map_response(decoded, ['errors'])
430
- ApiResponse.new(_response, data: decoded, errors: _errors)
452
+ ApiResponse.new(
453
+ _response, data: decoded, errors: _errors
454
+ )
431
455
  end
432
456
 
433
457
  # Updates an existing `Shift`.
@@ -449,7 +473,7 @@ module Square
449
473
  _query_builder << '/v2/labor/shifts/{id}'
450
474
  _query_builder = APIHelper.append_url_with_template_parameters(
451
475
  _query_builder,
452
- 'id' => id
476
+ 'id' => { 'value' => id, 'encode' => true }
453
477
  )
454
478
  _query_url = APIHelper.clean_url _query_builder
455
479
 
@@ -471,7 +495,88 @@ module Square
471
495
  # Return appropriate response type.
472
496
  decoded = APIHelper.json_deserialize(_response.raw_body)
473
497
  _errors = APIHelper.map_response(decoded, ['errors'])
474
- ApiResponse.new(_response, data: decoded, errors: _errors)
498
+ ApiResponse.new(
499
+ _response, data: decoded, errors: _errors
500
+ )
501
+ end
502
+
503
+ # Returns a paginated list of `TeamMemberWage` instances for a business.
504
+ # @param [String] team_member_id Optional parameter: Filter wages returned
505
+ # to only those that are associated with the specified team member.
506
+ # @param [Integer] limit Optional parameter: Maximum number of Team Member
507
+ # Wages to return per page. Can range between 1 and 200. The default is the
508
+ # maximum at 200.
509
+ # @param [String] cursor Optional parameter: Pointer to the next page of
510
+ # Employee Wage results to fetch.
511
+ # @return [ListTeamMemberWagesResponse Hash] response from the API call
512
+ def list_team_member_wages(team_member_id: nil,
513
+ limit: nil,
514
+ cursor: nil)
515
+ # Prepare query url.
516
+ _query_builder = config.get_base_uri
517
+ _query_builder << '/v2/labor/team-member-wages'
518
+ _query_builder = APIHelper.append_url_with_query_parameters(
519
+ _query_builder,
520
+ 'team_member_id' => team_member_id,
521
+ 'limit' => limit,
522
+ 'cursor' => cursor
523
+ )
524
+ _query_url = APIHelper.clean_url _query_builder
525
+
526
+ # Prepare headers.
527
+ _headers = {
528
+ 'accept' => 'application/json'
529
+ }
530
+
531
+ # Prepare and execute HttpRequest.
532
+ _request = config.http_client.get(
533
+ _query_url,
534
+ headers: _headers
535
+ )
536
+ OAuth2.apply(config, _request)
537
+ _response = execute_request(_request)
538
+
539
+ # Return appropriate response type.
540
+ decoded = APIHelper.json_deserialize(_response.raw_body)
541
+ _errors = APIHelper.map_response(decoded, ['errors'])
542
+ ApiResponse.new(
543
+ _response, data: decoded, errors: _errors
544
+ )
545
+ end
546
+
547
+ # Returns a single `TeamMemberWage` specified by id.
548
+ # @param [String] id Required parameter: UUID for the `TeamMemberWage` being
549
+ # retrieved.
550
+ # @return [GetTeamMemberWageResponse Hash] response from the API call
551
+ def get_team_member_wage(id:)
552
+ # Prepare query url.
553
+ _query_builder = config.get_base_uri
554
+ _query_builder << '/v2/labor/team-member-wages/{id}'
555
+ _query_builder = APIHelper.append_url_with_template_parameters(
556
+ _query_builder,
557
+ 'id' => { 'value' => id, 'encode' => true }
558
+ )
559
+ _query_url = APIHelper.clean_url _query_builder
560
+
561
+ # Prepare headers.
562
+ _headers = {
563
+ 'accept' => 'application/json'
564
+ }
565
+
566
+ # Prepare and execute HttpRequest.
567
+ _request = config.http_client.get(
568
+ _query_url,
569
+ headers: _headers
570
+ )
571
+ OAuth2.apply(config, _request)
572
+ _response = execute_request(_request)
573
+
574
+ # Return appropriate response type.
575
+ decoded = APIHelper.json_deserialize(_response.raw_body)
576
+ _errors = APIHelper.map_response(decoded, ['errors'])
577
+ ApiResponse.new(
578
+ _response, data: decoded, errors: _errors
579
+ )
475
580
  end
476
581
 
477
582
  # Returns a list of `WorkweekConfig` instances for a business.
@@ -508,7 +613,9 @@ module Square
508
613
  # Return appropriate response type.
509
614
  decoded = APIHelper.json_deserialize(_response.raw_body)
510
615
  _errors = APIHelper.map_response(decoded, ['errors'])
511
- ApiResponse.new(_response, data: decoded, errors: _errors)
616
+ ApiResponse.new(
617
+ _response, data: decoded, errors: _errors
618
+ )
512
619
  end
513
620
 
514
621
  # Updates a `WorkweekConfig`.
@@ -525,7 +632,7 @@ module Square
525
632
  _query_builder << '/v2/labor/workweek-configs/{id}'
526
633
  _query_builder = APIHelper.append_url_with_template_parameters(
527
634
  _query_builder,
528
- 'id' => id
635
+ 'id' => { 'value' => id, 'encode' => true }
529
636
  )
530
637
  _query_url = APIHelper.clean_url _query_builder
531
638
 
@@ -547,7 +654,9 @@ module Square
547
654
  # Return appropriate response type.
548
655
  decoded = APIHelper.json_deserialize(_response.raw_body)
549
656
  _errors = APIHelper.map_response(decoded, ['errors'])
550
- ApiResponse.new(_response, data: decoded, errors: _errors)
657
+ ApiResponse.new(
658
+ _response, data: decoded, errors: _errors
659
+ )
551
660
  end
552
661
  end
553
662
  end