square.rb 8.0.0.20201216 → 26.1.0.20230119

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 (59) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +79 -221
  4. data/lib/square/api/apple_pay_api.rb +15 -8
  5. data/lib/square/api/bank_accounts_api.rb +5 -5
  6. data/lib/square/api/base_api.rb +27 -9
  7. data/lib/square/api/booking_custom_attributes_api.rb +555 -0
  8. data/lib/square/api/bookings_api.rb +107 -15
  9. data/lib/square/api/cards_api.rb +171 -0
  10. data/lib/square/api/cash_drawers_api.rb +2 -2
  11. data/lib/square/api/catalog_api.rb +167 -73
  12. data/lib/square/api/checkout_api.rb +205 -3
  13. data/lib/square/api/customer_custom_attributes_api.rb +561 -0
  14. data/lib/square/api/customer_groups_api.rb +17 -8
  15. data/lib/square/api/customer_segments_api.rb +15 -6
  16. data/lib/square/api/customers_api.rb +67 -33
  17. data/lib/square/api/devices_api.rb +3 -2
  18. data/lib/square/api/disputes_api.rb +109 -105
  19. data/lib/square/api/gift_card_activities_api.rb +132 -0
  20. data/lib/square/api/gift_cards_api.rb +298 -0
  21. data/lib/square/api/inventory_api.rb +263 -24
  22. data/lib/square/api/invoices_api.rb +21 -21
  23. data/lib/square/api/labor_api.rb +70 -68
  24. data/lib/square/api/location_custom_attributes_api.rb +584 -0
  25. data/lib/square/api/locations_api.rb +21 -14
  26. data/lib/square/api/loyalty_api.rb +333 -50
  27. data/lib/square/api/merchants_api.rb +11 -9
  28. data/lib/square/api/mobile_authorization_api.rb +4 -4
  29. data/lib/square/api/o_auth_api.rb +78 -25
  30. data/lib/square/api/order_custom_attributes_api.rb +601 -0
  31. data/lib/square/api/orders_api.rb +84 -45
  32. data/lib/square/api/payments_api.rb +72 -24
  33. data/lib/square/api/payouts_api.rb +173 -0
  34. data/lib/square/api/refunds_api.rb +18 -7
  35. data/lib/square/api/sites_api.rb +43 -0
  36. data/lib/square/api/snippets_api.rb +146 -0
  37. data/lib/square/api/subscriptions_api.rb +190 -15
  38. data/lib/square/api/team_api.rb +46 -46
  39. data/lib/square/api/terminal_api.rb +172 -22
  40. data/lib/square/api/transactions_api.rb +15 -191
  41. data/lib/square/api/v1_transactions_api.rb +52 -124
  42. data/lib/square/api/vendors_api.rb +257 -0
  43. data/lib/square/api/webhook_subscriptions_api.rb +327 -0
  44. data/lib/square/api_helper.rb +217 -57
  45. data/lib/square/client.rb +90 -18
  46. data/lib/square/configuration.rb +64 -20
  47. data/lib/square/exceptions/validation_exception.rb +13 -0
  48. data/lib/square/http/api_response.rb +7 -9
  49. data/lib/square/http/faraday_client.rb +40 -9
  50. data/lib/square/http/http_client.rb +31 -12
  51. data/lib/square/http/http_request.rb +6 -2
  52. data/lib/square/utilities/date_time_helper.rb +151 -0
  53. data/lib/square/utilities/file_wrapper.rb +1 -2
  54. data/lib/square.rb +56 -44
  55. data/test/api/test_locations_api.rb +2 -5
  56. data/test/test_helper.rb +2 -2
  57. metadata +83 -15
  58. data/lib/square/api/v1_employees_api.rb +0 -751
  59. data/lib/square/api/v1_items_api.rb +0 -1766
@@ -5,7 +5,8 @@ module Square
5
5
  super(config, http_call_back: http_call_back)
6
6
  end
7
7
 
8
- # Creates a loyalty account.
8
+ # Creates a loyalty account. To create a loyalty account, you must provide
9
+ # the `program_id` and a `mapping` with the `phone_number` of the buyer.
9
10
  # @param [CreateLoyaltyAccountRequest] body Required parameter: An object
10
11
  # containing the fields to POST for the request. See the corresponding
11
12
  # object definition for field details.
@@ -19,7 +20,7 @@ module Square
19
20
  # Prepare headers.
20
21
  _headers = {
21
22
  'accept' => 'application/json',
22
- 'content-type' => 'application/json; charset=utf-8'
23
+ 'Content-Type' => 'application/json'
23
24
  }
24
25
 
25
26
  # Prepare and execute HttpRequest.
@@ -57,7 +58,7 @@ module Square
57
58
  # Prepare headers.
58
59
  _headers = {
59
60
  'accept' => 'application/json',
60
- 'content-type' => 'application/json; charset=utf-8'
61
+ 'Content-Type' => 'application/json'
61
62
  }
62
63
 
63
64
  # Prepare and execute HttpRequest.
@@ -79,7 +80,7 @@ module Square
79
80
 
80
81
  # Retrieves a loyalty account.
81
82
  # @param [String] account_id Required parameter: The ID of the [loyalty
82
- # account](#type-LoyaltyAccount) to retrieve.
83
+ # account]($m/LoyaltyAccount) to retrieve.
83
84
  # @return [RetrieveLoyaltyAccountResponse Hash] response from the API call
84
85
  def retrieve_loyalty_account(account_id:)
85
86
  # Prepare query url.
@@ -112,21 +113,33 @@ module Square
112
113
  )
113
114
  end
114
115
 
115
- # Adds points to a loyalty account.
116
- # - If you are using the Orders API to manage orders, you only provide the
117
- # `order_id`.
118
- # The endpoint reads the order to compute points to add to the buyer's
119
- # account.
120
- # - If you are not using the Orders API to manage orders,
121
- # you first perform a client-side computation to compute the points.
122
- # For spend-based and visit-based programs, you can call
123
- # [CalculateLoyaltyPoints](#endpoint-Loyalty-CalculateLoyaltyPoints) to
124
- # compute the points. For more information,
125
- # see [Loyalty Program
126
- # Overview](https://developer.squareup.com/docs/loyalty/overview).
127
- # You then provide the points in a request to this endpoint.
128
- # @param [String] account_id Required parameter: The [loyalty
129
- # account](#type-LoyaltyAccount) ID to which to add the points.
116
+ # Adds points earned from a purchase to a [loyalty
117
+ # account]($m/LoyaltyAccount).
118
+ # - If you are using the Orders API to manage orders, provide the
119
+ # `order_id`. Square reads the order
120
+ # to compute the points earned from both the base loyalty program and an
121
+ # associated
122
+ # [loyalty promotion]($m/LoyaltyPromotion). For purchases that qualify for
123
+ # multiple accrual
124
+ # rules, Square computes points based on the accrual rule that grants the
125
+ # most points.
126
+ # For purchases that qualify for multiple promotions, Square computes points
127
+ # based on the most
128
+ # recently created promotion. A purchase must first qualify for program
129
+ # points to be eligible for promotion points.
130
+ # - If you are not using the Orders API to manage orders, provide `points`
131
+ # with the number of points to add.
132
+ # You must first perform a client-side computation of the points earned from
133
+ # the loyalty program and
134
+ # loyalty promotion. For spend-based and visit-based programs, you can call
135
+ # [CalculateLoyaltyPoints]($e/Loyalty/CalculateLoyaltyPoints)
136
+ # to compute the points earned from the base loyalty program. For
137
+ # information about computing points earned from a loyalty promotion, see
138
+ # [Calculating promotion
139
+ # points](https://developer.squareup.com/docs/loyalty-api/loyalty-promotions
140
+ # #calculate-promotion-points).
141
+ # @param [String] account_id Required parameter: The ID of the target
142
+ # [loyalty account]($m/LoyaltyAccount).
130
143
  # @param [AccumulateLoyaltyPointsRequest] body Required parameter: An object
131
144
  # containing the fields to POST for the request. See the corresponding
132
145
  # object definition for field details.
@@ -145,7 +158,7 @@ module Square
145
158
  # Prepare headers.
146
159
  _headers = {
147
160
  'accept' => 'application/json',
148
- 'content-type' => 'application/json; charset=utf-8'
161
+ 'Content-Type' => 'application/json'
149
162
  }
150
163
 
151
164
  # Prepare and execute HttpRequest.
@@ -168,10 +181,10 @@ module Square
168
181
  # Adds points to or subtracts points from a buyer's account.
169
182
  # Use this endpoint only when you need to manually adjust points. Otherwise,
170
183
  # in your application flow, you call
171
- # [AccumulateLoyaltyPoints](#endpoint-Loyalty-AccumulateLoyaltyPoints)
184
+ # [AccumulateLoyaltyPoints]($e/Loyalty/AccumulateLoyaltyPoints)
172
185
  # to add points when a buyer pays for the purchase.
173
- # @param [String] account_id Required parameter: The ID of the [loyalty
174
- # account](#type-LoyaltyAccount) in which to adjust the points.
186
+ # @param [String] account_id Required parameter: The ID of the target
187
+ # [loyalty account]($m/LoyaltyAccount).
175
188
  # @param [AdjustLoyaltyPointsRequest] body Required parameter: An object
176
189
  # containing the fields to POST for the request. See the corresponding
177
190
  # object definition for field details.
@@ -190,7 +203,7 @@ module Square
190
203
  # Prepare headers.
191
204
  _headers = {
192
205
  'accept' => 'application/json',
193
- 'content-type' => 'application/json; charset=utf-8'
206
+ 'Content-Type' => 'application/json'
194
207
  }
195
208
 
196
209
  # Prepare and execute HttpRequest.
@@ -217,6 +230,7 @@ module Square
217
230
  # (for example, points earned, points redeemed, and points expired) is
218
231
  # recorded in the ledger. Using this endpoint, you can search the ledger for
219
232
  # events.
233
+ # Search results are sorted by `created_at` in descending order.
220
234
  # @param [SearchLoyaltyEventsRequest] body Required parameter: An object
221
235
  # containing the fields to POST for the request. See the corresponding
222
236
  # object definition for field details.
@@ -230,7 +244,7 @@ module Square
230
244
  # Prepare headers.
231
245
  _headers = {
232
246
  'accept' => 'application/json',
233
- 'content-type' => 'application/json; charset=utf-8'
247
+ 'Content-Type' => 'application/json'
234
248
  }
235
249
 
236
250
  # Prepare and execute HttpRequest.
@@ -251,9 +265,16 @@ module Square
251
265
  end
252
266
 
253
267
  # Returns a list of loyalty programs in the seller's account.
254
- # Currently, a seller can only have one loyalty program.
268
+ # Loyalty programs define how buyers can earn points and redeem points for
269
+ # rewards. Square sellers can have only one loyalty program, which is
270
+ # created and managed from the Seller Dashboard. For more information, see
271
+ # [Loyalty Program
272
+ # Overview](https://developer.squareup.com/docs/loyalty/overview).
273
+ # Replaced with [RetrieveLoyaltyProgram]($e/Loyalty/RetrieveLoyaltyProgram)
274
+ # when used with the keyword `main`.
255
275
  # @return [ListLoyaltyProgramsResponse Hash] response from the API call
256
276
  def list_loyalty_programs
277
+ warn 'Endpoint list_loyalty_programs in LoyaltyApi is deprecated'
257
278
  # Prepare query url.
258
279
  _query_builder = config.get_base_uri
259
280
  _query_builder << '/v2/loyalty/programs'
@@ -280,18 +301,74 @@ module Square
280
301
  )
281
302
  end
282
303
 
283
- # Calculates the points a purchase earns.
284
- # - If you are using the Orders API to manage orders, you provide `order_id`
285
- # in the request. The
286
- # endpoint calculates the points by reading the order.
287
- # - If you are not using the Orders API to manage orders, you provide the
288
- # purchase amount in
289
- # the request for the endpoint to calculate the points.
290
- # An application might call this endpoint to show the points that a buyer
291
- # can earn with the
292
- # specific purchase.
293
- # @param [String] program_id Required parameter: The [loyalty
294
- # program](#type-LoyaltyProgram) ID, which defines the rules for accruing
304
+ # Retrieves the loyalty program in a seller's account, specified by the
305
+ # program ID or the keyword `main`.
306
+ # Loyalty programs define how buyers can earn points and redeem points for
307
+ # rewards. Square sellers can have only one loyalty program, which is
308
+ # created and managed from the Seller Dashboard. For more information, see
309
+ # [Loyalty Program
310
+ # Overview](https://developer.squareup.com/docs/loyalty/overview).
311
+ # @param [String] program_id Required parameter: The ID of the loyalty
312
+ # program or the keyword `main`. Either value can be used to retrieve the
313
+ # single loyalty program that belongs to the seller.
314
+ # @return [RetrieveLoyaltyProgramResponse Hash] response from the API call
315
+ def retrieve_loyalty_program(program_id:)
316
+ # Prepare query url.
317
+ _query_builder = config.get_base_uri
318
+ _query_builder << '/v2/loyalty/programs/{program_id}'
319
+ _query_builder = APIHelper.append_url_with_template_parameters(
320
+ _query_builder,
321
+ 'program_id' => { 'value' => program_id, 'encode' => true }
322
+ )
323
+ _query_url = APIHelper.clean_url _query_builder
324
+
325
+ # Prepare headers.
326
+ _headers = {
327
+ 'accept' => 'application/json'
328
+ }
329
+
330
+ # Prepare and execute HttpRequest.
331
+ _request = config.http_client.get(
332
+ _query_url,
333
+ headers: _headers
334
+ )
335
+ OAuth2.apply(config, _request)
336
+ _response = execute_request(_request)
337
+
338
+ # Return appropriate response type.
339
+ decoded = APIHelper.json_deserialize(_response.raw_body)
340
+ _errors = APIHelper.map_response(decoded, ['errors'])
341
+ ApiResponse.new(
342
+ _response, data: decoded, errors: _errors
343
+ )
344
+ end
345
+
346
+ # Calculates the number of points a buyer can earn from a purchase.
347
+ # Applications might call this endpoint
348
+ # to display the points to the buyer.
349
+ # - If you are using the Orders API to manage orders, provide the `order_id`
350
+ # and (optional) `loyalty_account_id`.
351
+ # Square reads the order to compute the points earned from the base loyalty
352
+ # program and an associated
353
+ # [loyalty promotion]($m/LoyaltyPromotion).
354
+ # - If you are not using the Orders API to manage orders, provide
355
+ # `transaction_amount_money` with the
356
+ # purchase amount. Square uses this amount to calculate the points earned
357
+ # from the base loyalty program,
358
+ # but not points earned from a loyalty promotion. For spend-based and
359
+ # visit-based programs, the `tax_mode`
360
+ # setting of the accrual rule indicates how taxes should be treated for
361
+ # loyalty points accrual.
362
+ # If the purchase qualifies for program points, call
363
+ # [ListLoyaltyPromotions]($e/Loyalty/ListLoyaltyPromotions) and perform a
364
+ # client-side computation
365
+ # to calculate whether the purchase also qualifies for promotion points. For
366
+ # more information, see
367
+ # [Calculating promotion
368
+ # points](https://developer.squareup.com/docs/loyalty-api/loyalty-promotions
369
+ # #calculate-promotion-points).
370
+ # @param [String] program_id Required parameter: The ID of the [loyalty
371
+ # program]($m/LoyaltyProgram), which defines the rules for accruing
295
372
  # points.
296
373
  # @param [CalculateLoyaltyPointsRequest] body Required parameter: An object
297
374
  # containing the fields to POST for the request. See the corresponding
@@ -311,7 +388,7 @@ module Square
311
388
  # Prepare headers.
312
389
  _headers = {
313
390
  'accept' => 'application/json',
314
- 'content-type' => 'application/json; charset=utf-8'
391
+ 'Content-Type' => 'application/json'
315
392
  }
316
393
 
317
394
  # Prepare and execute HttpRequest.
@@ -331,6 +408,210 @@ module Square
331
408
  )
332
409
  end
333
410
 
411
+ # Lists the loyalty promotions associated with a [loyalty
412
+ # program]($m/LoyaltyProgram).
413
+ # Results are sorted by the `created_at` date in descending order (newest to
414
+ # oldest).
415
+ # @param [String] program_id Required parameter: The ID of the base [loyalty
416
+ # program]($m/LoyaltyProgram). To get the program ID, call
417
+ # [RetrieveLoyaltyProgram]($e/Loyalty/RetrieveLoyaltyProgram) using the
418
+ # `main` keyword.
419
+ # @param [LoyaltyPromotionStatus] status Optional parameter: The status to
420
+ # filter the results by. If a status is provided, only loyalty promotions
421
+ # with the specified status are returned. Otherwise, all loyalty promotions
422
+ # associated with the loyalty program are returned.
423
+ # @param [String] cursor Optional parameter: The cursor returned in the
424
+ # paged response from the previous call to this endpoint. Provide this
425
+ # cursor to retrieve the next page of results for your original request. For
426
+ # more information, see
427
+ # [Pagination](https://developer.squareup.com/docs/build-basics/common-api-p
428
+ # atterns/pagination).
429
+ # @param [Integer] limit Optional parameter: The maximum number of results
430
+ # to return in a single paged response. The minimum value is 1 and the
431
+ # maximum value is 30. The default value is 30. For more information, see
432
+ # [Pagination](https://developer.squareup.com/docs/build-basics/common-api-p
433
+ # atterns/pagination).
434
+ # @return [ListLoyaltyPromotionsResponse Hash] response from the API call
435
+ def list_loyalty_promotions(program_id:,
436
+ status: nil,
437
+ cursor: nil,
438
+ limit: nil)
439
+ # Prepare query url.
440
+ _query_builder = config.get_base_uri
441
+ _query_builder << '/v2/loyalty/programs/{program_id}/promotions'
442
+ _query_builder = APIHelper.append_url_with_template_parameters(
443
+ _query_builder,
444
+ 'program_id' => { 'value' => program_id, 'encode' => true }
445
+ )
446
+ _query_builder = APIHelper.append_url_with_query_parameters(
447
+ _query_builder,
448
+ 'status' => status,
449
+ 'cursor' => cursor,
450
+ 'limit' => limit
451
+ )
452
+ _query_url = APIHelper.clean_url _query_builder
453
+
454
+ # Prepare headers.
455
+ _headers = {
456
+ 'accept' => 'application/json'
457
+ }
458
+
459
+ # Prepare and execute HttpRequest.
460
+ _request = config.http_client.get(
461
+ _query_url,
462
+ headers: _headers
463
+ )
464
+ OAuth2.apply(config, _request)
465
+ _response = execute_request(_request)
466
+
467
+ # Return appropriate response type.
468
+ decoded = APIHelper.json_deserialize(_response.raw_body)
469
+ _errors = APIHelper.map_response(decoded, ['errors'])
470
+ ApiResponse.new(
471
+ _response, data: decoded, errors: _errors
472
+ )
473
+ end
474
+
475
+ # Creates a loyalty promotion for a [loyalty program]($m/LoyaltyProgram). A
476
+ # loyalty promotion
477
+ # enables buyers to earn points in addition to those earned from the base
478
+ # loyalty program.
479
+ # This endpoint sets the loyalty promotion to the `ACTIVE` or `SCHEDULED`
480
+ # status, depending on the
481
+ # `available_time` setting. A loyalty program can have a maximum of 10
482
+ # loyalty promotions with an
483
+ # `ACTIVE` or `SCHEDULED` status.
484
+ # @param [String] program_id Required parameter: The ID of the [loyalty
485
+ # program]($m/LoyaltyProgram) to associate with the promotion. To get the
486
+ # program ID, call
487
+ # [RetrieveLoyaltyProgram]($e/Loyalty/RetrieveLoyaltyProgram) using the
488
+ # `main` keyword.
489
+ # @param [CreateLoyaltyPromotionRequest] body Required parameter: An object
490
+ # containing the fields to POST for the request. See the corresponding
491
+ # object definition for field details.
492
+ # @return [CreateLoyaltyPromotionResponse Hash] response from the API call
493
+ def create_loyalty_promotion(program_id:,
494
+ body:)
495
+ # Prepare query url.
496
+ _query_builder = config.get_base_uri
497
+ _query_builder << '/v2/loyalty/programs/{program_id}/promotions'
498
+ _query_builder = APIHelper.append_url_with_template_parameters(
499
+ _query_builder,
500
+ 'program_id' => { 'value' => program_id, 'encode' => true }
501
+ )
502
+ _query_url = APIHelper.clean_url _query_builder
503
+
504
+ # Prepare headers.
505
+ _headers = {
506
+ 'accept' => 'application/json',
507
+ 'Content-Type' => 'application/json'
508
+ }
509
+
510
+ # Prepare and execute HttpRequest.
511
+ _request = config.http_client.post(
512
+ _query_url,
513
+ headers: _headers,
514
+ parameters: body.to_json
515
+ )
516
+ OAuth2.apply(config, _request)
517
+ _response = execute_request(_request)
518
+
519
+ # Return appropriate response type.
520
+ decoded = APIHelper.json_deserialize(_response.raw_body)
521
+ _errors = APIHelper.map_response(decoded, ['errors'])
522
+ ApiResponse.new(
523
+ _response, data: decoded, errors: _errors
524
+ )
525
+ end
526
+
527
+ # Retrieves a loyalty promotion.
528
+ # @param [String] promotion_id Required parameter: The ID of the [loyalty
529
+ # promotion]($m/LoyaltyPromotion) to retrieve.
530
+ # @param [String] program_id Required parameter: The ID of the base [loyalty
531
+ # program]($m/LoyaltyProgram). To get the program ID, call
532
+ # [RetrieveLoyaltyProgram]($e/Loyalty/RetrieveLoyaltyProgram) using the
533
+ # `main` keyword.
534
+ # @return [RetrieveLoyaltyPromotionResponse Hash] response from the API call
535
+ def retrieve_loyalty_promotion(promotion_id:,
536
+ program_id:)
537
+ # Prepare query url.
538
+ _query_builder = config.get_base_uri
539
+ _query_builder << '/v2/loyalty/programs/{program_id}/promotions/{promotion_id}'
540
+ _query_builder = APIHelper.append_url_with_template_parameters(
541
+ _query_builder,
542
+ 'promotion_id' => { 'value' => promotion_id, 'encode' => true },
543
+ 'program_id' => { 'value' => program_id, 'encode' => true }
544
+ )
545
+ _query_url = APIHelper.clean_url _query_builder
546
+
547
+ # Prepare headers.
548
+ _headers = {
549
+ 'accept' => 'application/json'
550
+ }
551
+
552
+ # Prepare and execute HttpRequest.
553
+ _request = config.http_client.get(
554
+ _query_url,
555
+ headers: _headers
556
+ )
557
+ OAuth2.apply(config, _request)
558
+ _response = execute_request(_request)
559
+
560
+ # Return appropriate response type.
561
+ decoded = APIHelper.json_deserialize(_response.raw_body)
562
+ _errors = APIHelper.map_response(decoded, ['errors'])
563
+ ApiResponse.new(
564
+ _response, data: decoded, errors: _errors
565
+ )
566
+ end
567
+
568
+ # Cancels a loyalty promotion. Use this endpoint to cancel an `ACTIVE`
569
+ # promotion earlier than the
570
+ # end date, cancel an `ACTIVE` promotion when an end date is not specified,
571
+ # or cancel a `SCHEDULED` promotion.
572
+ # Because updating a promotion is not supported, you can also use this
573
+ # endpoint to cancel a promotion before
574
+ # you create a new one.
575
+ # This endpoint sets the loyalty promotion to the `CANCELED` state
576
+ # @param [String] promotion_id Required parameter: The ID of the [loyalty
577
+ # promotion]($m/LoyaltyPromotion) to cancel. You can cancel a promotion that
578
+ # has an `ACTIVE` or `SCHEDULED` status.
579
+ # @param [String] program_id Required parameter: The ID of the base [loyalty
580
+ # program]($m/LoyaltyProgram).
581
+ # @return [CancelLoyaltyPromotionResponse Hash] response from the API call
582
+ def cancel_loyalty_promotion(promotion_id:,
583
+ program_id:)
584
+ # Prepare query url.
585
+ _query_builder = config.get_base_uri
586
+ _query_builder << '/v2/loyalty/programs/{program_id}/promotions/{promotion_id}/cancel'
587
+ _query_builder = APIHelper.append_url_with_template_parameters(
588
+ _query_builder,
589
+ 'promotion_id' => { 'value' => promotion_id, 'encode' => true },
590
+ 'program_id' => { 'value' => program_id, 'encode' => true }
591
+ )
592
+ _query_url = APIHelper.clean_url _query_builder
593
+
594
+ # Prepare headers.
595
+ _headers = {
596
+ 'accept' => 'application/json'
597
+ }
598
+
599
+ # Prepare and execute HttpRequest.
600
+ _request = config.http_client.post(
601
+ _query_url,
602
+ headers: _headers
603
+ )
604
+ OAuth2.apply(config, _request)
605
+ _response = execute_request(_request)
606
+
607
+ # Return appropriate response type.
608
+ decoded = APIHelper.json_deserialize(_response.raw_body)
609
+ _errors = APIHelper.map_response(decoded, ['errors'])
610
+ ApiResponse.new(
611
+ _response, data: decoded, errors: _errors
612
+ )
613
+ end
614
+
334
615
  # Creates a loyalty reward. In the process, the endpoint does following:
335
616
  # - Uses the `reward_tier_id` in the request to determine the number of
336
617
  # points
@@ -352,7 +633,7 @@ module Square
352
633
  # Prepare headers.
353
634
  _headers = {
354
635
  'accept' => 'application/json',
355
- 'content-type' => 'application/json; charset=utf-8'
636
+ 'Content-Type' => 'application/json'
356
637
  }
357
638
 
358
639
  # Prepare and execute HttpRequest.
@@ -372,11 +653,13 @@ module Square
372
653
  )
373
654
  end
374
655
 
375
- # Searches for loyalty rewards in a loyalty account.
376
- # In the current implementation, the endpoint supports search by the reward
377
- # `status`.
656
+ # Searches for loyalty rewards. This endpoint accepts a request with no
657
+ # query filters and returns results for all loyalty accounts.
658
+ # If you include a `query` object, `loyalty_account_id` is required and
659
+ # `status` is optional.
378
660
  # If you know a reward ID, use the
379
- # [RetrieveLoyaltyReward](#endpoint-Loyalty-RetrieveLoyaltyReward) endpoint.
661
+ # [RetrieveLoyaltyReward]($e/Loyalty/RetrieveLoyaltyReward) endpoint.
662
+ # Search results are sorted by `updated_at` in descending order.
380
663
  # @param [SearchLoyaltyRewardsRequest] body Required parameter: An object
381
664
  # containing the fields to POST for the request. See the corresponding
382
665
  # object definition for field details.
@@ -390,7 +673,7 @@ module Square
390
673
  # Prepare headers.
391
674
  _headers = {
392
675
  'accept' => 'application/json',
393
- 'content-type' => 'application/json; charset=utf-8'
676
+ 'Content-Type' => 'application/json'
394
677
  }
395
678
 
396
679
  # Prepare and execute HttpRequest.
@@ -413,12 +696,12 @@ module Square
413
696
  # Deletes a loyalty reward by doing the following:
414
697
  # - Returns the loyalty points back to the loyalty account.
415
698
  # - If an order ID was specified when the reward was created
416
- # (see [CreateLoyaltyReward](#endpoint-Loyalty-CreateLoyaltyReward)),
699
+ # (see [CreateLoyaltyReward]($e/Loyalty/CreateLoyaltyReward)),
417
700
  # it updates the order by removing the reward and related
418
701
  # discounts.
419
702
  # You cannot delete a reward that has reached the terminal state (REDEEMED).
420
703
  # @param [String] reward_id Required parameter: The ID of the [loyalty
421
- # reward](#type-LoyaltyReward) to delete.
704
+ # reward]($m/LoyaltyReward) to delete.
422
705
  # @return [DeleteLoyaltyRewardResponse Hash] response from the API call
423
706
  def delete_loyalty_reward(reward_id:)
424
707
  # Prepare query url.
@@ -453,7 +736,7 @@ module Square
453
736
 
454
737
  # Retrieves a loyalty reward.
455
738
  # @param [String] reward_id Required parameter: The ID of the [loyalty
456
- # reward](#type-LoyaltyReward) to retrieve.
739
+ # reward]($m/LoyaltyReward) to retrieve.
457
740
  # @return [RetrieveLoyaltyRewardResponse Hash] response from the API call
458
741
  def retrieve_loyalty_reward(reward_id:)
459
742
  # Prepare query url.
@@ -495,7 +778,7 @@ module Square
495
778
  # In other words, points used for the reward cannot be returned
496
779
  # to the account.
497
780
  # @param [String] reward_id Required parameter: The ID of the [loyalty
498
- # reward](#type-LoyaltyReward) to redeem.
781
+ # reward]($m/LoyaltyReward) to redeem.
499
782
  # @param [RedeemLoyaltyRewardRequest] body Required parameter: An object
500
783
  # containing the fields to POST for the request. See the corresponding
501
784
  # object definition for field details.
@@ -514,7 +797,7 @@ module Square
514
797
  # Prepare headers.
515
798
  _headers = {
516
799
  'accept' => 'application/json',
517
- 'content-type' => 'application/json; charset=utf-8'
800
+ 'Content-Type' => 'application/json'
518
801
  }
519
802
 
520
803
  # Prepare and execute HttpRequest.
@@ -5,15 +5,17 @@ module Square
5
5
  super(config, http_call_back: http_call_back)
6
6
  end
7
7
 
8
- # Returns `Merchant` information for a given access token.
9
- # If you don't know a `Merchant` ID, you can use this endpoint to retrieve
10
- # the merchant ID for an access token.
11
- # You can specify your personal access token to get your own merchant
12
- # information or specify an OAuth token
13
- # to get the information for the merchant that granted you access.
8
+ # Provides details about the merchant associated with a given access token.
9
+ # The access token used to connect your application to a Square seller is
10
+ # associated
11
+ # with a single merchant. That means that `ListMerchants` returns a list
12
+ # with a single `Merchant` object. You can specify your personal access
13
+ # token
14
+ # to get your own merchant information or specify an OAuth token to get the
15
+ # information for the merchant that granted your application access.
14
16
  # If you know the merchant ID, you can also use the
15
- # [RetrieveMerchant](#endpoint-merchants-retrievemerchant)
16
- # endpoint to get the merchant information.
17
+ # [RetrieveMerchant]($e/Merchants/RetrieveMerchant)
18
+ # endpoint to retrieve the merchant information.
17
19
  # @param [Integer] cursor Optional parameter: The cursor generated by the
18
20
  # previous response.
19
21
  # @return [ListMerchantsResponse Hash] response from the API call
@@ -48,7 +50,7 @@ module Square
48
50
  )
49
51
  end
50
52
 
51
- # Retrieve a `Merchant` object for the given `merchant_id`.
53
+ # Retrieves the `Merchant` object for the given `merchant_id`.
52
54
  # @param [String] merchant_id Required parameter: The ID of the merchant to
53
55
  # retrieve. If the string "me" is supplied as the ID, then retrieve the
54
56
  # merchant that is currently accessible to this call.
@@ -6,9 +6,9 @@ module Square
6
6
  end
7
7
 
8
8
  # Generates code to authorize a mobile application to connect to a Square
9
- # card reader
10
- # Authorization codes are one-time-use and expire __60 minutes__ after being
11
- # issued.
9
+ # card reader.
10
+ # Authorization codes are one-time-use codes and expire 60 minutes after
11
+ # being issued.
12
12
  # __Important:__ The `Authorization` header you provide to this endpoint
13
13
  # must have the following format:
14
14
  # ```
@@ -31,7 +31,7 @@ module Square
31
31
  # Prepare headers.
32
32
  _headers = {
33
33
  'accept' => 'application/json',
34
- 'content-type' => 'application/json; charset=utf-8'
34
+ 'Content-Type' => 'application/json'
35
35
  }
36
36
 
37
37
  # Prepare and execute HttpRequest.