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.
- checksums.yaml +4 -4
- data/README.md +317 -285
- data/lib/square.rb +4 -2
- data/lib/square/api/base_api.rb +2 -2
- data/lib/square/api/catalog_api.rb +76 -57
- data/lib/square/api/disputes_api.rb +3 -26
- data/lib/square/api/employees_api.rb +3 -2
- data/lib/square/api/inventory_api.rb +5 -4
- data/lib/square/api/invoices_api.rb +343 -0
- data/lib/square/api/labor_api.rb +77 -0
- data/lib/square/api/locations_api.rb +7 -2
- data/lib/square/api/merchants_api.rb +2 -1
- data/lib/square/api/orders_api.rb +59 -85
- data/lib/square/api/payments_api.rb +15 -24
- data/lib/square/api/refunds_api.rb +12 -7
- data/lib/square/api/subscriptions_api.rb +251 -0
- data/lib/square/api/team_api.rb +326 -0
- data/lib/square/api/transactions_api.rb +0 -71
- data/lib/square/api/v1_employees_api.rb +3 -76
- data/lib/square/api/v1_items_api.rb +0 -360
- data/lib/square/api/v1_locations_api.rb +0 -18
- data/lib/square/api/v1_transactions_api.rb +1 -19
- data/lib/square/client.rb +29 -16
- data/lib/square/configuration.rb +12 -4
- data/test/api/api_test_base.rb +1 -6
- data/test/api/test_catalog_api.rb +1 -4
- data/test/api/test_customers_api.rb +1 -4
- data/test/api/test_employees_api.rb +1 -4
- data/test/api/test_labor_api.rb +2 -6
- data/test/api/test_locations_api.rb +21 -32
- data/test/api/test_merchants_api.rb +1 -4
- data/test/api/test_payments_api.rb +3 -6
- data/test/api/test_refunds_api.rb +3 -6
- data/test/http_response_catcher.rb +0 -5
- data/test/test_helper.rb +0 -5
- metadata +33 -13
- 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
|