square.rb 5.3.0.20200528 → 6.4.0.20200923

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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +317 -285
  3. data/lib/square.rb +4 -2
  4. data/lib/square/api/base_api.rb +2 -2
  5. data/lib/square/api/catalog_api.rb +76 -57
  6. data/lib/square/api/disputes_api.rb +3 -26
  7. data/lib/square/api/employees_api.rb +3 -2
  8. data/lib/square/api/inventory_api.rb +5 -4
  9. data/lib/square/api/invoices_api.rb +343 -0
  10. data/lib/square/api/labor_api.rb +77 -0
  11. data/lib/square/api/locations_api.rb +7 -2
  12. data/lib/square/api/merchants_api.rb +2 -1
  13. data/lib/square/api/orders_api.rb +59 -85
  14. data/lib/square/api/payments_api.rb +15 -24
  15. data/lib/square/api/refunds_api.rb +12 -7
  16. data/lib/square/api/subscriptions_api.rb +251 -0
  17. data/lib/square/api/team_api.rb +326 -0
  18. data/lib/square/api/transactions_api.rb +0 -71
  19. data/lib/square/api/v1_employees_api.rb +3 -76
  20. data/lib/square/api/v1_items_api.rb +0 -360
  21. data/lib/square/api/v1_locations_api.rb +0 -18
  22. data/lib/square/api/v1_transactions_api.rb +1 -19
  23. data/lib/square/client.rb +29 -16
  24. data/lib/square/configuration.rb +12 -4
  25. data/test/api/api_test_base.rb +1 -6
  26. data/test/api/test_catalog_api.rb +1 -4
  27. data/test/api/test_customers_api.rb +1 -4
  28. data/test/api/test_employees_api.rb +1 -4
  29. data/test/api/test_labor_api.rb +2 -6
  30. data/test/api/test_locations_api.rb +21 -32
  31. data/test/api/test_merchants_api.rb +1 -4
  32. data/test/api/test_payments_api.rb +3 -6
  33. data/test/api/test_refunds_api.rb +3 -6
  34. data/test/http_response_catcher.rb +0 -5
  35. data/test/test_helper.rb +0 -5
  36. metadata +33 -13
  37. data/lib/square/api/reporting_api.rb +0 -138
@@ -0,0 +1,251 @@
1
+ module Square
2
+ # SubscriptionsApi
3
+ class SubscriptionsApi < BaseApi
4
+ def initialize(config, http_call_back: nil)
5
+ super(config, http_call_back: http_call_back)
6
+ end
7
+
8
+ # Creates a subscription for a customer to a subscription plan.
9
+ # If you provide a card on file in the request, Square charges the card for
10
+ # the subscription. Otherwise, Square bills an invoice to the customer's
11
+ # email
12
+ # address. The subscription starts immediately, unless the request includes
13
+ # the optional `start_date`. Each individual subscription is associated with
14
+ # a particular location.
15
+ # @param [CreateSubscriptionRequest] body Required parameter: An object
16
+ # containing the fields to POST for the request. See the corresponding
17
+ # object definition for field details.
18
+ # @return [CreateSubscriptionResponse Hash] response from the API call
19
+ def create_subscription(body:)
20
+ # Prepare query url.
21
+ _query_builder = config.get_base_uri
22
+ _query_builder << '/v2/subscriptions'
23
+ _query_url = APIHelper.clean_url _query_builder
24
+
25
+ # Prepare headers.
26
+ _headers = {
27
+ 'accept' => 'application/json',
28
+ 'content-type' => 'application/json; charset=utf-8'
29
+ }
30
+
31
+ # Prepare and execute HttpRequest.
32
+ _request = config.http_client.post(
33
+ _query_url,
34
+ headers: _headers,
35
+ parameters: body.to_json
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(_response, data: decoded, errors: _errors)
44
+ end
45
+
46
+ # Searches for subscriptions.
47
+ # Results are ordered chronologically by subscription creation date. If
48
+ # the request specifies more than one location ID,
49
+ # the endpoint orders the result
50
+ # by location ID, and then by creation date within each location. If no
51
+ # locations are given
52
+ # in the query, all locations are searched.
53
+ # You can also optionally specify `customer_ids` to search by customer.
54
+ # If left unset, all customers
55
+ # associated with the specified locations are returned.
56
+ # If the request specifies customer IDs, the endpoint orders results
57
+ # first by location, within location by customer ID, and within
58
+ # customer by subscription creation date.
59
+ # For more information, see
60
+ # [Retrieve
61
+ # subscriptions](https://developer.squareup.com/docs/docs/subscriptions-api/
62
+ # overview#retrieve-subscriptions).
63
+ # @param [SearchSubscriptionsRequest] body Required parameter: An object
64
+ # containing the fields to POST for the request. See the corresponding
65
+ # object definition for field details.
66
+ # @return [SearchSubscriptionsResponse Hash] response from the API call
67
+ def search_subscriptions(body:)
68
+ # Prepare query url.
69
+ _query_builder = config.get_base_uri
70
+ _query_builder << '/v2/subscriptions/search'
71
+ _query_url = APIHelper.clean_url _query_builder
72
+
73
+ # Prepare headers.
74
+ _headers = {
75
+ 'accept' => 'application/json',
76
+ 'content-type' => 'application/json; charset=utf-8'
77
+ }
78
+
79
+ # Prepare and execute HttpRequest.
80
+ _request = config.http_client.post(
81
+ _query_url,
82
+ headers: _headers,
83
+ parameters: body.to_json
84
+ )
85
+ OAuth2.apply(config, _request)
86
+ _response = execute_request(_request)
87
+
88
+ # Return appropriate response type.
89
+ decoded = APIHelper.json_deserialize(_response.raw_body)
90
+ _errors = APIHelper.map_response(decoded, ['errors'])
91
+ ApiResponse.new(_response, data: decoded, errors: _errors)
92
+ end
93
+
94
+ # Retrieves a subscription.
95
+ # @param [String] subscription_id Required parameter: The ID of the
96
+ # subscription to retrieve.
97
+ # @return [RetrieveSubscriptionResponse Hash] response from the API call
98
+ def retrieve_subscription(subscription_id:)
99
+ # Prepare query url.
100
+ _query_builder = config.get_base_uri
101
+ _query_builder << '/v2/subscriptions/{subscription_id}'
102
+ _query_builder = APIHelper.append_url_with_template_parameters(
103
+ _query_builder,
104
+ 'subscription_id' => subscription_id
105
+ )
106
+ _query_url = APIHelper.clean_url _query_builder
107
+
108
+ # Prepare headers.
109
+ _headers = {
110
+ 'accept' => 'application/json'
111
+ }
112
+
113
+ # Prepare and execute HttpRequest.
114
+ _request = config.http_client.get(
115
+ _query_url,
116
+ headers: _headers
117
+ )
118
+ OAuth2.apply(config, _request)
119
+ _response = execute_request(_request)
120
+
121
+ # Return appropriate response type.
122
+ decoded = APIHelper.json_deserialize(_response.raw_body)
123
+ _errors = APIHelper.map_response(decoded, ['errors'])
124
+ ApiResponse.new(_response, data: decoded, errors: _errors)
125
+ end
126
+
127
+ # Updates a subscription. You can set, modify, and clear the
128
+ # `subscription` field values.
129
+ # @param [String] subscription_id Required parameter: The ID for the
130
+ # subscription to update.
131
+ # @param [UpdateSubscriptionRequest] body Required parameter: An object
132
+ # containing the fields to POST for the request. See the corresponding
133
+ # object definition for field details.
134
+ # @return [UpdateSubscriptionResponse Hash] response from the API call
135
+ def update_subscription(subscription_id:,
136
+ body:)
137
+ # Prepare query url.
138
+ _query_builder = config.get_base_uri
139
+ _query_builder << '/v2/subscriptions/{subscription_id}'
140
+ _query_builder = APIHelper.append_url_with_template_parameters(
141
+ _query_builder,
142
+ 'subscription_id' => subscription_id
143
+ )
144
+ _query_url = APIHelper.clean_url _query_builder
145
+
146
+ # Prepare headers.
147
+ _headers = {
148
+ 'accept' => 'application/json',
149
+ 'content-type' => 'application/json; charset=utf-8'
150
+ }
151
+
152
+ # Prepare and execute HttpRequest.
153
+ _request = config.http_client.put(
154
+ _query_url,
155
+ headers: _headers,
156
+ parameters: body.to_json
157
+ )
158
+ OAuth2.apply(config, _request)
159
+ _response = execute_request(_request)
160
+
161
+ # Return appropriate response type.
162
+ decoded = APIHelper.json_deserialize(_response.raw_body)
163
+ _errors = APIHelper.map_response(decoded, ['errors'])
164
+ ApiResponse.new(_response, data: decoded, errors: _errors)
165
+ end
166
+
167
+ # Sets the `canceled_date` field to the end of the active billing period.
168
+ # After this date, the status changes from ACTIVE to CANCELED.
169
+ # @param [String] subscription_id Required parameter: The ID of the
170
+ # subscription to cancel.
171
+ # @return [CancelSubscriptionResponse Hash] response from the API call
172
+ def cancel_subscription(subscription_id:)
173
+ # Prepare query url.
174
+ _query_builder = config.get_base_uri
175
+ _query_builder << '/v2/subscriptions/{subscription_id}/cancel'
176
+ _query_builder = APIHelper.append_url_with_template_parameters(
177
+ _query_builder,
178
+ 'subscription_id' => subscription_id
179
+ )
180
+ _query_url = APIHelper.clean_url _query_builder
181
+
182
+ # Prepare headers.
183
+ _headers = {
184
+ 'accept' => 'application/json'
185
+ }
186
+
187
+ # Prepare and execute HttpRequest.
188
+ _request = config.http_client.post(
189
+ _query_url,
190
+ headers: _headers
191
+ )
192
+ OAuth2.apply(config, _request)
193
+ _response = execute_request(_request)
194
+
195
+ # Return appropriate response type.
196
+ decoded = APIHelper.json_deserialize(_response.raw_body)
197
+ _errors = APIHelper.map_response(decoded, ['errors'])
198
+ ApiResponse.new(_response, data: decoded, errors: _errors)
199
+ end
200
+
201
+ # Lists all events for a specific subscription.
202
+ # In the current implementation, only `START_SUBSCRIPTION` and
203
+ # `STOP_SUBSCRIPTION` (when the subscription was canceled) events are
204
+ # returned.
205
+ # @param [String] subscription_id Required parameter: The ID of the
206
+ # subscription to retrieve the events for.
207
+ # @param [String] cursor Optional parameter: A pagination cursor returned by
208
+ # a previous call to this endpoint. Provide this to retrieve the next set of
209
+ # results for the original query. For more information, see
210
+ # [Pagination](https://developer.squareup.com/docs/docs/working-with-apis/pa
211
+ # gination).
212
+ # @param [Integer] limit Optional parameter: The upper limit on the number
213
+ # of subscription events to return in the response. Default: `200`
214
+ # @return [ListSubscriptionEventsResponse Hash] response from the API call
215
+ def list_subscription_events(subscription_id:,
216
+ cursor: nil,
217
+ limit: nil)
218
+ # Prepare query url.
219
+ _query_builder = config.get_base_uri
220
+ _query_builder << '/v2/subscriptions/{subscription_id}/events'
221
+ _query_builder = APIHelper.append_url_with_template_parameters(
222
+ _query_builder,
223
+ 'subscription_id' => subscription_id
224
+ )
225
+ _query_builder = APIHelper.append_url_with_query_parameters(
226
+ _query_builder,
227
+ 'cursor' => cursor,
228
+ 'limit' => limit
229
+ )
230
+ _query_url = APIHelper.clean_url _query_builder
231
+
232
+ # Prepare headers.
233
+ _headers = {
234
+ 'accept' => 'application/json'
235
+ }
236
+
237
+ # Prepare and execute HttpRequest.
238
+ _request = config.http_client.get(
239
+ _query_url,
240
+ headers: _headers
241
+ )
242
+ OAuth2.apply(config, _request)
243
+ _response = execute_request(_request)
244
+
245
+ # Return appropriate response type.
246
+ decoded = APIHelper.json_deserialize(_response.raw_body)
247
+ _errors = APIHelper.map_response(decoded, ['errors'])
248
+ ApiResponse.new(_response, data: decoded, errors: _errors)
249
+ end
250
+ end
251
+ end
@@ -0,0 +1,326 @@
1
+ module Square
2
+ # TeamApi
3
+ class TeamApi < BaseApi
4
+ def initialize(config, http_call_back: nil)
5
+ super(config, http_call_back: http_call_back)
6
+ end
7
+
8
+ # Creates a single `TeamMember` object. The `TeamMember` will be returned on
9
+ # successful creates.
10
+ # You must provide the following values in your request to this endpoint:
11
+ # - `first_name`
12
+ # - `last_name`
13
+ # Learn about [Troubleshooting the Teams
14
+ # API](https://developer.squareup.com/docs/docs/team/troubleshooting#createt
15
+ # eammember).
16
+ # @param [CreateTeamMemberRequest] body Required parameter: An object
17
+ # containing the fields to POST for the request. See the corresponding
18
+ # object definition for field details.
19
+ # @return [CreateTeamMemberResponse Hash] response from the API call
20
+ def create_team_member(body:)
21
+ # Prepare query url.
22
+ _query_builder = config.get_base_uri
23
+ _query_builder << '/v2/team-members'
24
+ _query_url = APIHelper.clean_url _query_builder
25
+
26
+ # Prepare headers.
27
+ _headers = {
28
+ 'accept' => 'application/json',
29
+ 'content-type' => 'application/json; charset=utf-8'
30
+ }
31
+
32
+ # Prepare and execute HttpRequest.
33
+ _request = config.http_client.post(
34
+ _query_url,
35
+ headers: _headers,
36
+ parameters: body.to_json
37
+ )
38
+ OAuth2.apply(config, _request)
39
+ _response = execute_request(_request)
40
+
41
+ # Return appropriate response type.
42
+ decoded = APIHelper.json_deserialize(_response.raw_body)
43
+ _errors = APIHelper.map_response(decoded, ['errors'])
44
+ ApiResponse.new(_response, data: decoded, errors: _errors)
45
+ end
46
+
47
+ # Creates multiple `TeamMember` objects. The created `TeamMember` objects
48
+ # will be returned on successful creates.
49
+ # This process is non-transactional and will process as much of the request
50
+ # as is possible. If one of the creates in
51
+ # the request cannot be successfully processed, the request will NOT be
52
+ # marked as failed, but the body of the response
53
+ # will contain explicit error information for this particular create.
54
+ # Learn about [Troubleshooting the Teams
55
+ # API](https://developer.squareup.com/docs/docs/team/troubleshooting#bulkcre
56
+ # ateteammembers).
57
+ # @param [BulkCreateTeamMembersRequest] body Required parameter: An object
58
+ # containing the fields to POST for the request. See the corresponding
59
+ # object definition for field details.
60
+ # @return [BulkCreateTeamMembersResponse Hash] response from the API call
61
+ def bulk_create_team_members(body:)
62
+ # Prepare query url.
63
+ _query_builder = config.get_base_uri
64
+ _query_builder << '/v2/team-members/bulk-create'
65
+ _query_url = APIHelper.clean_url _query_builder
66
+
67
+ # Prepare headers.
68
+ _headers = {
69
+ 'accept' => 'application/json',
70
+ 'content-type' => 'application/json; charset=utf-8'
71
+ }
72
+
73
+ # Prepare and execute HttpRequest.
74
+ _request = config.http_client.post(
75
+ _query_url,
76
+ headers: _headers,
77
+ parameters: body.to_json
78
+ )
79
+ OAuth2.apply(config, _request)
80
+ _response = execute_request(_request)
81
+
82
+ # Return appropriate response type.
83
+ decoded = APIHelper.json_deserialize(_response.raw_body)
84
+ _errors = APIHelper.map_response(decoded, ['errors'])
85
+ ApiResponse.new(_response, data: decoded, errors: _errors)
86
+ end
87
+
88
+ # Updates multiple `TeamMember` objects. The updated `TeamMember` objects
89
+ # will be returned on successful updates.
90
+ # This process is non-transactional and will process as much of the request
91
+ # as is possible. If one of the updates in
92
+ # the request cannot be successfully processed, the request will NOT be
93
+ # marked as failed, but the body of the response
94
+ # will contain explicit error information for this particular update.
95
+ # Learn about [Troubleshooting the Teams
96
+ # API](https://developer.squareup.com/docs/docs/team/troubleshooting#bulkupd
97
+ # ateteammembers).
98
+ # @param [BulkUpdateTeamMembersRequest] body Required parameter: An object
99
+ # containing the fields to POST for the request. See the corresponding
100
+ # object definition for field details.
101
+ # @return [BulkUpdateTeamMembersResponse Hash] response from the API call
102
+ def bulk_update_team_members(body:)
103
+ # Prepare query url.
104
+ _query_builder = config.get_base_uri
105
+ _query_builder << '/v2/team-members/bulk-update'
106
+ _query_url = APIHelper.clean_url _query_builder
107
+
108
+ # Prepare headers.
109
+ _headers = {
110
+ 'accept' => 'application/json',
111
+ 'content-type' => 'application/json; charset=utf-8'
112
+ }
113
+
114
+ # Prepare and execute HttpRequest.
115
+ _request = config.http_client.post(
116
+ _query_url,
117
+ headers: _headers,
118
+ parameters: body.to_json
119
+ )
120
+ OAuth2.apply(config, _request)
121
+ _response = execute_request(_request)
122
+
123
+ # Return appropriate response type.
124
+ decoded = APIHelper.json_deserialize(_response.raw_body)
125
+ _errors = APIHelper.map_response(decoded, ['errors'])
126
+ ApiResponse.new(_response, data: decoded, errors: _errors)
127
+ end
128
+
129
+ # Returns a paginated list of `TeamMember` objects for a business.
130
+ # The list to be returned can be filtered by:
131
+ # - location IDs **and**
132
+ # - `is_active`
133
+ # @param [SearchTeamMembersRequest] body Required parameter: An object
134
+ # containing the fields to POST for the request. See the corresponding
135
+ # object definition for field details.
136
+ # @return [SearchTeamMembersResponse Hash] response from the API call
137
+ def search_team_members(body:)
138
+ # Prepare query url.
139
+ _query_builder = config.get_base_uri
140
+ _query_builder << '/v2/team-members/search'
141
+ _query_url = APIHelper.clean_url _query_builder
142
+
143
+ # Prepare headers.
144
+ _headers = {
145
+ 'accept' => 'application/json',
146
+ 'content-type' => 'application/json; charset=utf-8'
147
+ }
148
+
149
+ # Prepare and execute HttpRequest.
150
+ _request = config.http_client.post(
151
+ _query_url,
152
+ headers: _headers,
153
+ parameters: body.to_json
154
+ )
155
+ OAuth2.apply(config, _request)
156
+ _response = execute_request(_request)
157
+
158
+ # Return appropriate response type.
159
+ decoded = APIHelper.json_deserialize(_response.raw_body)
160
+ _errors = APIHelper.map_response(decoded, ['errors'])
161
+ ApiResponse.new(_response, data: decoded, errors: _errors)
162
+ end
163
+
164
+ # Retrieve a `TeamMember` object for the given `TeamMember.id`
165
+ # Learn about [Troubleshooting the Teams
166
+ # API](https://developer.squareup.com/docs/docs/team/troubleshooting#retriev
167
+ # eteammember).
168
+ # @param [String] team_member_id Required parameter: The ID of the team
169
+ # member to retrieve.
170
+ # @return [RetrieveTeamMemberResponse Hash] response from the API call
171
+ def retrieve_team_member(team_member_id:)
172
+ # Prepare query url.
173
+ _query_builder = config.get_base_uri
174
+ _query_builder << '/v2/team-members/{team_member_id}'
175
+ _query_builder = APIHelper.append_url_with_template_parameters(
176
+ _query_builder,
177
+ 'team_member_id' => team_member_id
178
+ )
179
+ _query_url = APIHelper.clean_url _query_builder
180
+
181
+ # Prepare headers.
182
+ _headers = {
183
+ 'accept' => 'application/json'
184
+ }
185
+
186
+ # Prepare and execute HttpRequest.
187
+ _request = config.http_client.get(
188
+ _query_url,
189
+ headers: _headers
190
+ )
191
+ OAuth2.apply(config, _request)
192
+ _response = execute_request(_request)
193
+
194
+ # Return appropriate response type.
195
+ decoded = APIHelper.json_deserialize(_response.raw_body)
196
+ _errors = APIHelper.map_response(decoded, ['errors'])
197
+ ApiResponse.new(_response, data: decoded, errors: _errors)
198
+ end
199
+
200
+ # Updates a single `TeamMember` object. The `TeamMember` will be returned on
201
+ # successful updates.
202
+ # Learn about [Troubleshooting the Teams
203
+ # API](https://developer.squareup.com/docs/docs/team/troubleshooting#updatet
204
+ # eammember).
205
+ # @param [String] team_member_id Required parameter: The ID of the team
206
+ # member to update.
207
+ # @param [UpdateTeamMemberRequest] body Required parameter: An object
208
+ # containing the fields to POST for the request. See the corresponding
209
+ # object definition for field details.
210
+ # @return [UpdateTeamMemberResponse Hash] response from the API call
211
+ def update_team_member(team_member_id:,
212
+ body:)
213
+ # Prepare query url.
214
+ _query_builder = config.get_base_uri
215
+ _query_builder << '/v2/team-members/{team_member_id}'
216
+ _query_builder = APIHelper.append_url_with_template_parameters(
217
+ _query_builder,
218
+ 'team_member_id' => team_member_id
219
+ )
220
+ _query_url = APIHelper.clean_url _query_builder
221
+
222
+ # Prepare headers.
223
+ _headers = {
224
+ 'accept' => 'application/json',
225
+ 'content-type' => 'application/json; charset=utf-8'
226
+ }
227
+
228
+ # Prepare and execute HttpRequest.
229
+ _request = config.http_client.put(
230
+ _query_url,
231
+ headers: _headers,
232
+ parameters: body.to_json
233
+ )
234
+ OAuth2.apply(config, _request)
235
+ _response = execute_request(_request)
236
+
237
+ # Return appropriate response type.
238
+ decoded = APIHelper.json_deserialize(_response.raw_body)
239
+ _errors = APIHelper.map_response(decoded, ['errors'])
240
+ ApiResponse.new(_response, data: decoded, errors: _errors)
241
+ end
242
+
243
+ # Retrieve a `WageSetting` object for a team member specified
244
+ # by `TeamMember.id`.
245
+ # Learn about [Troubleshooting the Teams
246
+ # API](https://developer.squareup.com/docs/docs/team/troubleshooting#retriev
247
+ # ewagesetting).
248
+ # @param [String] team_member_id Required parameter: The ID of the team
249
+ # member to retrieve wage setting for
250
+ # @return [RetrieveWageSettingResponse Hash] response from the API call
251
+ def retrieve_wage_setting(team_member_id:)
252
+ # Prepare query url.
253
+ _query_builder = config.get_base_uri
254
+ _query_builder << '/v2/team-members/{team_member_id}/wage-setting'
255
+ _query_builder = APIHelper.append_url_with_template_parameters(
256
+ _query_builder,
257
+ 'team_member_id' => team_member_id
258
+ )
259
+ _query_url = APIHelper.clean_url _query_builder
260
+
261
+ # Prepare headers.
262
+ _headers = {
263
+ 'accept' => 'application/json'
264
+ }
265
+
266
+ # Prepare and execute HttpRequest.
267
+ _request = config.http_client.get(
268
+ _query_url,
269
+ headers: _headers
270
+ )
271
+ OAuth2.apply(config, _request)
272
+ _response = execute_request(_request)
273
+
274
+ # Return appropriate response type.
275
+ decoded = APIHelper.json_deserialize(_response.raw_body)
276
+ _errors = APIHelper.map_response(decoded, ['errors'])
277
+ ApiResponse.new(_response, data: decoded, errors: _errors)
278
+ end
279
+
280
+ # Creates or updates a `WageSetting` object. The object is created if a
281
+ # `WageSetting` with the specified `team_member_id` does not exist.
282
+ # Otherwise,
283
+ # it fully replaces the `WageSetting` object for the team member.
284
+ # The `WageSetting` will be returned upon successful update.
285
+ # Learn about [Troubleshooting the Teams
286
+ # API](https://developer.squareup.com/docs/docs/team/troubleshooting#updatew
287
+ # agesetting).
288
+ # @param [String] team_member_id Required parameter: The ID of the team
289
+ # member to update the `WageSetting` object for.
290
+ # @param [UpdateWageSettingRequest] body Required parameter: An object
291
+ # containing the fields to POST for the request. See the corresponding
292
+ # object definition for field details.
293
+ # @return [UpdateWageSettingResponse Hash] response from the API call
294
+ def update_wage_setting(team_member_id:,
295
+ body:)
296
+ # Prepare query url.
297
+ _query_builder = config.get_base_uri
298
+ _query_builder << '/v2/team-members/{team_member_id}/wage-setting'
299
+ _query_builder = APIHelper.append_url_with_template_parameters(
300
+ _query_builder,
301
+ 'team_member_id' => team_member_id
302
+ )
303
+ _query_url = APIHelper.clean_url _query_builder
304
+
305
+ # Prepare headers.
306
+ _headers = {
307
+ 'accept' => 'application/json',
308
+ 'content-type' => 'application/json; charset=utf-8'
309
+ }
310
+
311
+ # Prepare and execute HttpRequest.
312
+ _request = config.http_client.put(
313
+ _query_url,
314
+ headers: _headers,
315
+ parameters: body.to_json
316
+ )
317
+ OAuth2.apply(config, _request)
318
+ _response = execute_request(_request)
319
+
320
+ # Return appropriate response type.
321
+ decoded = APIHelper.json_deserialize(_response.raw_body)
322
+ _errors = APIHelper.map_response(decoded, ['errors'])
323
+ ApiResponse.new(_response, data: decoded, errors: _errors)
324
+ end
325
+ end
326
+ end