square.rb 6.0.0.20200625 → 6.5.0.20201028
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 +37 -30
- data/lib/square.rb +61 -60
- data/lib/square/api/apple_pay_api.rb +3 -1
- data/lib/square/api/bank_accounts_api.rb +12 -15
- data/lib/square/api/base_api.rb +2 -2
- data/lib/square/api/cash_drawers_api.rb +11 -5
- data/lib/square/api/catalog_api.rb +119 -49
- data/lib/square/api/checkout_api.rb +4 -2
- data/lib/square/api/customer_groups_api.rb +18 -8
- data/lib/square/api/customer_segments_api.rb +7 -3
- data/lib/square/api/customers_api.rb +47 -27
- data/lib/square/api/devices_api.rb +17 -6
- data/lib/square/api/disputes_api.rb +39 -34
- data/lib/square/api/employees_api.rb +10 -5
- data/lib/square/api/inventory_api.rb +30 -15
- data/lib/square/api/invoices_api.rb +359 -0
- data/lib/square/api/labor_api.rb +131 -22
- data/lib/square/api/locations_api.rb +20 -12
- data/lib/square/api/loyalty_api.rb +59 -65
- data/lib/square/api/merchants_api.rb +9 -4
- data/lib/square/api/mobile_authorization_api.rb +3 -1
- data/lib/square/api/o_auth_api.rb +10 -4
- data/lib/square/api/orders_api.rb +111 -90
- data/lib/square/api/payments_api.rb +75 -65
- data/lib/square/api/refunds_api.rb +21 -11
- data/lib/square/api/subscriptions_api.rb +263 -0
- data/lib/square/api/team_api.rb +32 -16
- data/lib/square/api/terminal_api.rb +156 -7
- data/lib/square/api/transactions_api.rb +32 -18
- data/lib/square/api/v1_employees_api.rb +59 -27
- data/lib/square/api/v1_items_api.rb +195 -115
- data/lib/square/api/v1_locations_api.rb +6 -2
- data/lib/square/api/v1_transactions_api.rb +49 -27
- data/lib/square/api_helper.rb +14 -9
- data/lib/square/client.rb +23 -16
- data/lib/square/configuration.rb +12 -4
- data/lib/square/http/api_response.rb +2 -0
- data/lib/square/http/faraday_client.rb +1 -0
- data/spec/user_journey_spec.rb +2 -5
- 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 +22 -33
- 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 -14
- data/lib/square/api/reporting_api.rb +0 -138
data/lib/square/api/labor_api.rb
CHANGED
@@ -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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
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(
|
657
|
+
ApiResponse.new(
|
658
|
+
_response, data: decoded, errors: _errors
|
659
|
+
)
|
551
660
|
end
|
552
661
|
end
|
553
662
|
end
|
@@ -6,8 +6,7 @@ module Square
|
|
6
6
|
end
|
7
7
|
|
8
8
|
# Provides information of all locations of a business.
|
9
|
-
#
|
10
|
-
# parameter.
|
9
|
+
# Many Square API endpoints require a `location_id` parameter.
|
11
10
|
# The `id` field of the [`Location`](#type-location) objects returned by
|
12
11
|
# this
|
13
12
|
# endpoint correspond to that `location_id` parameter.
|
@@ -34,12 +33,12 @@ module Square
|
|
34
33
|
# Return appropriate response type.
|
35
34
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
36
35
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
37
|
-
ApiResponse.new(
|
36
|
+
ApiResponse.new(
|
37
|
+
_response, data: decoded, errors: _errors
|
38
|
+
)
|
38
39
|
end
|
39
40
|
|
40
41
|
# Creates a location.
|
41
|
-
# For more information about locations, see [Locations API
|
42
|
-
# Overview](https://developer.squareup.com/docs/locations-api).
|
43
42
|
# @param [CreateLocationRequest] body Required parameter: An object
|
44
43
|
# containing the fields to POST for the request. See the corresponding
|
45
44
|
# object definition for field details.
|
@@ -68,12 +67,17 @@ module Square
|
|
68
67
|
# Return appropriate response type.
|
69
68
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
70
69
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
71
|
-
ApiResponse.new(
|
70
|
+
ApiResponse.new(
|
71
|
+
_response, data: decoded, errors: _errors
|
72
|
+
)
|
72
73
|
end
|
73
74
|
|
74
|
-
# Retrieves details of a location.
|
75
|
+
# Retrieves details of a location. You can specify "main"
|
76
|
+
# as the location ID to retrieve details of the
|
77
|
+
# main location.
|
75
78
|
# @param [String] location_id Required parameter: The ID of the location to
|
76
|
-
# retrieve.
|
79
|
+
# retrieve. If you specify the string "main", then the endpoint returns the
|
80
|
+
# main location.
|
77
81
|
# @return [RetrieveLocationResponse Hash] response from the API call
|
78
82
|
def retrieve_location(location_id:)
|
79
83
|
# Prepare query url.
|
@@ -81,7 +85,7 @@ module Square
|
|
81
85
|
_query_builder << '/v2/locations/{location_id}'
|
82
86
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
83
87
|
_query_builder,
|
84
|
-
'location_id' => location_id
|
88
|
+
'location_id' => { 'value' => location_id, 'encode' => true }
|
85
89
|
)
|
86
90
|
_query_url = APIHelper.clean_url _query_builder
|
87
91
|
|
@@ -101,7 +105,9 @@ module Square
|
|
101
105
|
# Return appropriate response type.
|
102
106
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
103
107
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
104
|
-
ApiResponse.new(
|
108
|
+
ApiResponse.new(
|
109
|
+
_response, data: decoded, errors: _errors
|
110
|
+
)
|
105
111
|
end
|
106
112
|
|
107
113
|
# Updates a location.
|
@@ -118,7 +124,7 @@ module Square
|
|
118
124
|
_query_builder << '/v2/locations/{location_id}'
|
119
125
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
120
126
|
_query_builder,
|
121
|
-
'location_id' => location_id
|
127
|
+
'location_id' => { 'value' => location_id, 'encode' => true }
|
122
128
|
)
|
123
129
|
_query_url = APIHelper.clean_url _query_builder
|
124
130
|
|
@@ -140,7 +146,9 @@ module Square
|
|
140
146
|
# Return appropriate response type.
|
141
147
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
142
148
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
143
|
-
ApiResponse.new(
|
149
|
+
ApiResponse.new(
|
150
|
+
_response, data: decoded, errors: _errors
|
151
|
+
)
|
144
152
|
end
|
145
153
|
end
|
146
154
|
end
|
@@ -5,10 +5,7 @@ module Square
|
|
5
5
|
super(config, http_call_back: http_call_back)
|
6
6
|
end
|
7
7
|
|
8
|
-
# Creates a loyalty account.
|
9
|
-
# [Create a loyalty
|
10
|
-
# account](https://developer.squareup.com/docs/docs/loyalty-api/overview/#lo
|
11
|
-
# yalty-overview-create-account).
|
8
|
+
# Creates a loyalty account.
|
12
9
|
# @param [CreateLoyaltyAccountRequest] body Required parameter: An object
|
13
10
|
# containing the fields to POST for the request. See the corresponding
|
14
11
|
# object definition for field details.
|
@@ -37,13 +34,16 @@ module Square
|
|
37
34
|
# Return appropriate response type.
|
38
35
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
39
36
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
40
|
-
ApiResponse.new(
|
37
|
+
ApiResponse.new(
|
38
|
+
_response, data: decoded, errors: _errors
|
39
|
+
)
|
41
40
|
end
|
42
41
|
|
43
|
-
# Searches for loyalty accounts.
|
44
|
-
#
|
45
|
-
#
|
46
|
-
#
|
42
|
+
# Searches for loyalty accounts in a loyalty program.
|
43
|
+
# You can search for a loyalty account using the phone number or customer ID
|
44
|
+
# associated with the account. To return all loyalty accounts, specify an
|
45
|
+
# empty `query` object or omit it entirely.
|
46
|
+
# Search results are sorted by `created_at` in ascending order.
|
47
47
|
# @param [SearchLoyaltyAccountsRequest] body Required parameter: An object
|
48
48
|
# containing the fields to POST for the request. See the corresponding
|
49
49
|
# object definition for field details.
|
@@ -72,7 +72,9 @@ module Square
|
|
72
72
|
# Return appropriate response type.
|
73
73
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
74
74
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
75
|
-
ApiResponse.new(
|
75
|
+
ApiResponse.new(
|
76
|
+
_response, data: decoded, errors: _errors
|
77
|
+
)
|
76
78
|
end
|
77
79
|
|
78
80
|
# Retrieves a loyalty account.
|
@@ -85,7 +87,7 @@ module Square
|
|
85
87
|
_query_builder << '/v2/loyalty/accounts/{account_id}'
|
86
88
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
87
89
|
_query_builder,
|
88
|
-
'account_id' => account_id
|
90
|
+
'account_id' => { 'value' => account_id, 'encode' => true }
|
89
91
|
)
|
90
92
|
_query_url = APIHelper.clean_url _query_builder
|
91
93
|
|
@@ -105,7 +107,9 @@ module Square
|
|
105
107
|
# Return appropriate response type.
|
106
108
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
107
109
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
108
|
-
ApiResponse.new(
|
110
|
+
ApiResponse.new(
|
111
|
+
_response, data: decoded, errors: _errors
|
112
|
+
)
|
109
113
|
end
|
110
114
|
|
111
115
|
# Adds points to a loyalty account.
|
@@ -116,13 +120,11 @@ module Square
|
|
116
120
|
# - If you are not using the Orders API to manage orders,
|
117
121
|
# you first perform a client-side computation to compute the points.
|
118
122
|
# For spend-based and visit-based programs, you can call
|
119
|
-
#
|
123
|
+
# [CalculateLoyaltyPoints](#endpoint-Loyalty-CalculateLoyaltyPoints) to
|
124
|
+
# compute the points. For more information,
|
120
125
|
# see [Loyalty Program
|
121
126
|
# Overview](https://developer.squareup.com/docs/docs/loyalty/overview).
|
122
127
|
# You then provide the points in a request to this endpoint.
|
123
|
-
# For more information, see [Accumulate
|
124
|
-
# points](https://developer.squareup.com/docs/docs/loyalty-api/overview/#acc
|
125
|
-
# umulate-points).
|
126
128
|
# @param [String] account_id Required parameter: The [loyalty
|
127
129
|
# account](#type-LoyaltyAccount) ID to which to add the points.
|
128
130
|
# @param [AccumulateLoyaltyPointsRequest] body Required parameter: An object
|
@@ -136,7 +138,7 @@ module Square
|
|
136
138
|
_query_builder << '/v2/loyalty/accounts/{account_id}/accumulate'
|
137
139
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
138
140
|
_query_builder,
|
139
|
-
'account_id' => account_id
|
141
|
+
'account_id' => { 'value' => account_id, 'encode' => true }
|
140
142
|
)
|
141
143
|
_query_url = APIHelper.clean_url _query_builder
|
142
144
|
|
@@ -158,14 +160,15 @@ module Square
|
|
158
160
|
# Return appropriate response type.
|
159
161
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
160
162
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
161
|
-
ApiResponse.new(
|
163
|
+
ApiResponse.new(
|
164
|
+
_response, data: decoded, errors: _errors
|
165
|
+
)
|
162
166
|
end
|
163
167
|
|
164
168
|
# Adds points to or subtracts points from a buyer's account.
|
165
169
|
# Use this endpoint only when you need to manually adjust points. Otherwise,
|
166
170
|
# in your application flow, you call
|
167
|
-
# [AccumulateLoyaltyPoints](
|
168
|
-
# uare/loyalty-api/accumulate-loyalty-points)
|
171
|
+
# [AccumulateLoyaltyPoints](#endpoint-Loyalty-AccumulateLoyaltyPoints)
|
169
172
|
# to add points when a buyer pays for the purchase.
|
170
173
|
# @param [String] account_id Required parameter: The ID of the [loyalty
|
171
174
|
# account](#type-LoyaltyAccount) in which to adjust the points.
|
@@ -180,7 +183,7 @@ module Square
|
|
180
183
|
_query_builder << '/v2/loyalty/accounts/{account_id}/adjust'
|
181
184
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
182
185
|
_query_builder,
|
183
|
-
'account_id' => account_id
|
186
|
+
'account_id' => { 'value' => account_id, 'encode' => true }
|
184
187
|
)
|
185
188
|
_query_url = APIHelper.clean_url _query_builder
|
186
189
|
|
@@ -202,7 +205,9 @@ module Square
|
|
202
205
|
# Return appropriate response type.
|
203
206
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
204
207
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
205
|
-
ApiResponse.new(
|
208
|
+
ApiResponse.new(
|
209
|
+
_response, data: decoded, errors: _errors
|
210
|
+
)
|
206
211
|
end
|
207
212
|
|
208
213
|
# Searches for loyalty events.
|
@@ -212,10 +217,6 @@ module Square
|
|
212
217
|
# (for example, points earned, points redeemed, and points expired) is
|
213
218
|
# recorded in the ledger. Using this endpoint, you can search the ledger for
|
214
219
|
# events.
|
215
|
-
# For more information, see
|
216
|
-
# [Loyalty
|
217
|
-
# events](https://developer.squareup.com/docs/docs/loyalty-api/overview/#loy
|
218
|
-
# alty-events).
|
219
220
|
# @param [SearchLoyaltyEventsRequest] body Required parameter: An object
|
220
221
|
# containing the fields to POST for the request. See the corresponding
|
221
222
|
# object definition for field details.
|
@@ -244,15 +245,13 @@ module Square
|
|
244
245
|
# Return appropriate response type.
|
245
246
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
246
247
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
247
|
-
ApiResponse.new(
|
248
|
+
ApiResponse.new(
|
249
|
+
_response, data: decoded, errors: _errors
|
250
|
+
)
|
248
251
|
end
|
249
252
|
|
250
253
|
# Returns a list of loyalty programs in the seller's account.
|
251
|
-
# Currently, a seller can only have one loyalty program.
|
252
|
-
# information, see
|
253
|
-
# [Loyalty
|
254
|
-
# Overview](https://developer.squareup.com/docs/docs/loyalty/overview).
|
255
|
-
# .
|
254
|
+
# Currently, a seller can only have one loyalty program.
|
256
255
|
# @return [ListLoyaltyProgramsResponse Hash] response from the API call
|
257
256
|
def list_loyalty_programs
|
258
257
|
# Prepare query url.
|
@@ -276,7 +275,9 @@ module Square
|
|
276
275
|
# Return appropriate response type.
|
277
276
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
278
277
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
279
|
-
ApiResponse.new(
|
278
|
+
ApiResponse.new(
|
279
|
+
_response, data: decoded, errors: _errors
|
280
|
+
)
|
280
281
|
end
|
281
282
|
|
282
283
|
# Calculates the points a purchase earns.
|
@@ -303,7 +304,7 @@ module Square
|
|
303
304
|
_query_builder << '/v2/loyalty/programs/{program_id}/calculate'
|
304
305
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
305
306
|
_query_builder,
|
306
|
-
'program_id' => program_id
|
307
|
+
'program_id' => { 'value' => program_id, 'encode' => true }
|
307
308
|
)
|
308
309
|
_query_url = APIHelper.clean_url _query_builder
|
309
310
|
|
@@ -325,7 +326,9 @@ module Square
|
|
325
326
|
# Return appropriate response type.
|
326
327
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
327
328
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
328
|
-
ApiResponse.new(
|
329
|
+
ApiResponse.new(
|
330
|
+
_response, data: decoded, errors: _errors
|
331
|
+
)
|
329
332
|
end
|
330
333
|
|
331
334
|
# Creates a loyalty reward. In the process, the endpoint does following:
|
@@ -336,10 +339,6 @@ module Square
|
|
336
339
|
# discount to the order.
|
337
340
|
# After a reward is created, the points are locked and
|
338
341
|
# not available for the buyer to redeem another reward.
|
339
|
-
# For more information, see
|
340
|
-
# [Loyalty
|
341
|
-
# rewards](https://developer.squareup.com/docs/docs/loyalty-api/overview/#lo
|
342
|
-
# yalty-overview-loyalty-rewards).
|
343
342
|
# @param [CreateLoyaltyRewardRequest] body Required parameter: An object
|
344
343
|
# containing the fields to POST for the request. See the corresponding
|
345
344
|
# object definition for field details.
|
@@ -368,19 +367,16 @@ module Square
|
|
368
367
|
# Return appropriate response type.
|
369
368
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
370
369
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
371
|
-
ApiResponse.new(
|
370
|
+
ApiResponse.new(
|
371
|
+
_response, data: decoded, errors: _errors
|
372
|
+
)
|
372
373
|
end
|
373
374
|
|
374
375
|
# Searches for loyalty rewards in a loyalty account.
|
375
376
|
# In the current implementation, the endpoint supports search by the reward
|
376
377
|
# `status`.
|
377
378
|
# If you know a reward ID, use the
|
378
|
-
# [RetrieveLoyaltyReward](
|
379
|
-
# re/loyalty-api/retrieve-loyalty-reward) endpoint.
|
380
|
-
# For more information about loyalty rewards, see
|
381
|
-
# [Loyalty
|
382
|
-
# Rewards](https://developer.squareup.com/docs/docs/loyalty-api/overview/#lo
|
383
|
-
# yalty-rewards).
|
379
|
+
# [RetrieveLoyaltyReward](#endpoint-Loyalty-RetrieveLoyaltyReward) endpoint.
|
384
380
|
# @param [SearchLoyaltyRewardsRequest] body Required parameter: An object
|
385
381
|
# containing the fields to POST for the request. See the corresponding
|
386
382
|
# object definition for field details.
|
@@ -409,22 +405,18 @@ module Square
|
|
409
405
|
# Return appropriate response type.
|
410
406
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
411
407
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
412
|
-
ApiResponse.new(
|
408
|
+
ApiResponse.new(
|
409
|
+
_response, data: decoded, errors: _errors
|
410
|
+
)
|
413
411
|
end
|
414
412
|
|
415
413
|
# Deletes a loyalty reward by doing the following:
|
416
414
|
# - Returns the loyalty points back to the loyalty account.
|
417
415
|
# - If an order ID was specified when the reward was created
|
418
|
-
# (see
|
419
|
-
# [CreateLoyaltyReward](https://developer.squareup.com/docs/reference/square
|
420
|
-
# /loyalty-api/create-loyalty-reward)),
|
416
|
+
# (see [CreateLoyaltyReward](#endpoint-Loyalty-CreateLoyaltyReward)),
|
421
417
|
# it updates the order by removing the reward and related
|
422
418
|
# discounts.
|
423
419
|
# You cannot delete a reward that has reached the terminal state (REDEEMED).
|
424
|
-
# For more information, see
|
425
|
-
# [Loyalty
|
426
|
-
# rewards](https://developer.squareup.com/docs/docs/loyalty-api/overview/#lo
|
427
|
-
# yalty-overview-loyalty-rewards).
|
428
420
|
# @param [String] reward_id Required parameter: The ID of the [loyalty
|
429
421
|
# reward](#type-LoyaltyReward) to delete.
|
430
422
|
# @return [DeleteLoyaltyRewardResponse Hash] response from the API call
|
@@ -434,7 +426,7 @@ module Square
|
|
434
426
|
_query_builder << '/v2/loyalty/rewards/{reward_id}'
|
435
427
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
436
428
|
_query_builder,
|
437
|
-
'reward_id' => reward_id
|
429
|
+
'reward_id' => { 'value' => reward_id, 'encode' => true }
|
438
430
|
)
|
439
431
|
_query_url = APIHelper.clean_url _query_builder
|
440
432
|
|
@@ -454,7 +446,9 @@ module Square
|
|
454
446
|
# Return appropriate response type.
|
455
447
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
456
448
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
457
|
-
ApiResponse.new(
|
449
|
+
ApiResponse.new(
|
450
|
+
_response, data: decoded, errors: _errors
|
451
|
+
)
|
458
452
|
end
|
459
453
|
|
460
454
|
# Retrieves a loyalty reward.
|
@@ -467,7 +461,7 @@ module Square
|
|
467
461
|
_query_builder << '/v2/loyalty/rewards/{reward_id}'
|
468
462
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
469
463
|
_query_builder,
|
470
|
-
'reward_id' => reward_id
|
464
|
+
'reward_id' => { 'value' => reward_id, 'encode' => true }
|
471
465
|
)
|
472
466
|
_query_url = APIHelper.clean_url _query_builder
|
473
467
|
|
@@ -487,21 +481,19 @@ module Square
|
|
487
481
|
# Return appropriate response type.
|
488
482
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
489
483
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
490
|
-
ApiResponse.new(
|
484
|
+
ApiResponse.new(
|
485
|
+
_response, data: decoded, errors: _errors
|
486
|
+
)
|
491
487
|
end
|
492
488
|
|
493
489
|
# Redeems a loyalty reward.
|
494
|
-
# The endpoint sets the reward to the terminal state
|
490
|
+
# The endpoint sets the reward to the `REDEEMED` terminal state.
|
495
491
|
# If you are using your own order processing system (not using the
|
496
492
|
# Orders API), you call this endpoint after the buyer paid for the
|
497
493
|
# purchase.
|
498
494
|
# After the reward reaches the terminal state, it cannot be deleted.
|
499
495
|
# In other words, points used for the reward cannot be returned
|
500
496
|
# to the account.
|
501
|
-
# For more information, see
|
502
|
-
# [Loyalty
|
503
|
-
# rewards](https://developer.squareup.com/docs/docs/loyalty-api/overview/#lo
|
504
|
-
# yalty-overview-loyalty-rewards).
|
505
497
|
# @param [String] reward_id Required parameter: The ID of the [loyalty
|
506
498
|
# reward](#type-LoyaltyReward) to redeem.
|
507
499
|
# @param [RedeemLoyaltyRewardRequest] body Required parameter: An object
|
@@ -515,7 +507,7 @@ module Square
|
|
515
507
|
_query_builder << '/v2/loyalty/rewards/{reward_id}/redeem'
|
516
508
|
_query_builder = APIHelper.append_url_with_template_parameters(
|
517
509
|
_query_builder,
|
518
|
-
'reward_id' => reward_id
|
510
|
+
'reward_id' => { 'value' => reward_id, 'encode' => true }
|
519
511
|
)
|
520
512
|
_query_url = APIHelper.clean_url _query_builder
|
521
513
|
|
@@ -537,7 +529,9 @@ module Square
|
|
537
529
|
# Return appropriate response type.
|
538
530
|
decoded = APIHelper.json_deserialize(_response.raw_body)
|
539
531
|
_errors = APIHelper.map_response(decoded, ['errors'])
|
540
|
-
ApiResponse.new(
|
532
|
+
ApiResponse.new(
|
533
|
+
_response, data: decoded, errors: _errors
|
534
|
+
)
|
541
535
|
end
|
542
536
|
end
|
543
537
|
end
|