square.rb 20.1.0.20220616 → 22.0.0.20220817

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.
@@ -113,20 +113,30 @@ module Square
113
113
  )
114
114
  end
115
115
 
116
- # Adds points earned from the base loyalty program to a loyalty account.
117
- # - If you are using the Orders API to manage orders, you only provide the
118
- # `order_id`.
119
- # The endpoint reads the order to compute points to add to the buyer's
120
- # account.
121
- # - If you are not using the Orders API to manage orders,
122
- # you first perform a client-side computation to compute the points.
123
- # For spend-based and visit-based programs, you can first call
124
- # [CalculateLoyaltyPoints]($e/Loyalty/CalculateLoyaltyPoints) to compute the
125
- # points
126
- # that you provide to this endpoint.
127
- # This endpoint excludes additional points earned from loyalty promotions.
128
- # @param [String] account_id Required parameter: The [loyalty
129
- # account]($m/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 loyalty program (but not points
137
+ # earned from a loyalty promotion).
138
+ # @param [String] account_id Required parameter: The ID of the target
139
+ # [loyalty account]($m/LoyaltyAccount).
130
140
  # @param [AccumulateLoyaltyPointsRequest] body Required parameter: An object
131
141
  # containing the fields to POST for the request. See the corresponding
132
142
  # object definition for field details.
@@ -170,8 +180,8 @@ module Square
170
180
  # in your application flow, you call
171
181
  # [AccumulateLoyaltyPoints]($e/Loyalty/AccumulateLoyaltyPoints)
172
182
  # to add points when a buyer pays for the purchase.
173
- # @param [String] account_id Required parameter: The ID of the [loyalty
174
- # account]($m/LoyaltyAccount) in which to adjust the points.
183
+ # @param [String] account_id Required parameter: The ID of the target
184
+ # [loyalty account]($m/LoyaltyAccount).
175
185
  # @param [AdjustLoyaltyPointsRequest] body Required parameter: An object
176
186
  # containing the fields to POST for the request. See the corresponding
177
187
  # object definition for field details.
@@ -330,21 +340,32 @@ module Square
330
340
  )
331
341
  end
332
342
 
333
- # Calculates the points a purchase earns from the base loyalty program.
334
- # - If you are using the Orders API to manage orders, you provide the
335
- # `order_id` in the request. The
336
- # endpoint calculates the points by reading the order.
337
- # - If you are not using the Orders API to manage orders, you provide the
338
- # purchase amount in
339
- # the request for the endpoint to calculate the points.
340
- # An application might call this endpoint to show the points that a buyer
341
- # can earn with the
342
- # specific purchase.
343
- # For spend-based and visit-based programs, the `tax_mode` setting of the
344
- # accrual rule indicates how taxes should be treated for loyalty points
345
- # accrual.
346
- # @param [String] program_id Required parameter: The [loyalty
347
- # program]($m/LoyaltyProgram) ID, which defines the rules for accruing
343
+ # Calculates the number of points a buyer can earn from a purchase.
344
+ # Applications might call this endpoint
345
+ # to display the points to the buyer.
346
+ # - If you are using the Orders API to manage orders, provide the `order_id`
347
+ # and (optional) `loyalty_account_id`.
348
+ # Square reads the order to compute the points earned from the base loyalty
349
+ # program and an associated
350
+ # [loyalty promotion]($m/LoyaltyPromotion).
351
+ # - If you are not using the Orders API to manage orders, provide
352
+ # `transaction_amount_money` with the
353
+ # purchase amount. Square uses this amount to calculate the points earned
354
+ # from the base loyalty program,
355
+ # but not points earned from a loyalty promotion. For spend-based and
356
+ # visit-based programs, the `tax_mode`
357
+ # setting of the accrual rule indicates how taxes should be treated for
358
+ # loyalty points accrual.
359
+ # If the purchase qualifies for program points, call
360
+ # [ListLoyaltyPromotions]($e/Loyalty/ListLoyaltyPromotions) and perform a
361
+ # client-side computation
362
+ # to calculate whether the purchase also qualifies for promotion points. For
363
+ # more information, see
364
+ # [Calculating promotion
365
+ # points](https://developer.squareup.com/docs/loyalty-api/loyalty-promotions
366
+ # #calculate-promotion-points).
367
+ # @param [String] program_id Required parameter: The ID of the [loyalty
368
+ # program]($m/LoyaltyProgram), which defines the rules for accruing
348
369
  # points.
349
370
  # @param [CalculateLoyaltyPointsRequest] body Required parameter: An object
350
371
  # containing the fields to POST for the request. See the corresponding
@@ -384,6 +405,210 @@ module Square
384
405
  )
385
406
  end
386
407
 
408
+ # Lists the loyalty promotions associated with a [loyalty
409
+ # program]($m/LoyaltyProgram).
410
+ # Results are sorted by the `created_at` date in descending order (newest to
411
+ # oldest).
412
+ # @param [String] program_id Required parameter: The ID of the base [loyalty
413
+ # program]($m/LoyaltyProgram). To get the program ID, call
414
+ # [RetrieveLoyaltyProgram]($e/Loyalty/RetrieveLoyaltyProgram) using the
415
+ # `main` keyword.
416
+ # @param [LoyaltyPromotionStatus] status Optional parameter: The status to
417
+ # filter the results by. If a status is provided, only loyalty promotions
418
+ # with the specified status are returned. Otherwise, all loyalty promotions
419
+ # associated with the loyalty program are returned.
420
+ # @param [String] cursor Optional parameter: The cursor returned in the
421
+ # paged response from the previous call to this endpoint. Provide this
422
+ # cursor to retrieve the next page of results for your original request. For
423
+ # more information, see
424
+ # [Pagination](https://developer.squareup.com/docs/build-basics/common-api-p
425
+ # atterns/pagination).
426
+ # @param [Integer] limit Optional parameter: The maximum number of results
427
+ # to return in a single paged response. The minimum value is 1 and the
428
+ # maximum value is 30. The default value is 30. For more information, see
429
+ # [Pagination](https://developer.squareup.com/docs/build-basics/common-api-p
430
+ # atterns/pagination).
431
+ # @return [ListLoyaltyPromotionsResponse Hash] response from the API call
432
+ def list_loyalty_promotions(program_id:,
433
+ status: nil,
434
+ cursor: nil,
435
+ limit: nil)
436
+ # Prepare query url.
437
+ _query_builder = config.get_base_uri
438
+ _query_builder << '/v2/loyalty/programs/{program_id}/promotions'
439
+ _query_builder = APIHelper.append_url_with_template_parameters(
440
+ _query_builder,
441
+ 'program_id' => { 'value' => program_id, 'encode' => true }
442
+ )
443
+ _query_builder = APIHelper.append_url_with_query_parameters(
444
+ _query_builder,
445
+ 'status' => status,
446
+ 'cursor' => cursor,
447
+ 'limit' => limit
448
+ )
449
+ _query_url = APIHelper.clean_url _query_builder
450
+
451
+ # Prepare headers.
452
+ _headers = {
453
+ 'accept' => 'application/json'
454
+ }
455
+
456
+ # Prepare and execute HttpRequest.
457
+ _request = config.http_client.get(
458
+ _query_url,
459
+ headers: _headers
460
+ )
461
+ OAuth2.apply(config, _request)
462
+ _response = execute_request(_request)
463
+
464
+ # Return appropriate response type.
465
+ decoded = APIHelper.json_deserialize(_response.raw_body)
466
+ _errors = APIHelper.map_response(decoded, ['errors'])
467
+ ApiResponse.new(
468
+ _response, data: decoded, errors: _errors
469
+ )
470
+ end
471
+
472
+ # Creates a loyalty promotion for a [loyalty program]($m/LoyaltyProgram). A
473
+ # loyalty promotion
474
+ # enables buyers to earn points in addition to those earned from the base
475
+ # loyalty program.
476
+ # This endpoint sets the loyalty promotion to the `ACTIVE` or `SCHEDULED`
477
+ # status, depending on the
478
+ # `available_time` setting. A loyalty program can have a maximum of 10
479
+ # loyalty promotions with an
480
+ # `ACTIVE` or `SCHEDULED` status.
481
+ # @param [String] program_id Required parameter: The ID of the [loyalty
482
+ # program]($m/LoyaltyProgram) to associate with the promotion. To get the
483
+ # program ID, call
484
+ # [RetrieveLoyaltyProgram]($e/Loyalty/RetrieveLoyaltyProgram) using the
485
+ # `main` keyword.
486
+ # @param [CreateLoyaltyPromotionRequest] body Required parameter: An object
487
+ # containing the fields to POST for the request. See the corresponding
488
+ # object definition for field details.
489
+ # @return [CreateLoyaltyPromotionResponse Hash] response from the API call
490
+ def create_loyalty_promotion(program_id:,
491
+ body:)
492
+ # Prepare query url.
493
+ _query_builder = config.get_base_uri
494
+ _query_builder << '/v2/loyalty/programs/{program_id}/promotions'
495
+ _query_builder = APIHelper.append_url_with_template_parameters(
496
+ _query_builder,
497
+ 'program_id' => { 'value' => program_id, 'encode' => true }
498
+ )
499
+ _query_url = APIHelper.clean_url _query_builder
500
+
501
+ # Prepare headers.
502
+ _headers = {
503
+ 'accept' => 'application/json',
504
+ 'Content-Type' => 'application/json'
505
+ }
506
+
507
+ # Prepare and execute HttpRequest.
508
+ _request = config.http_client.post(
509
+ _query_url,
510
+ headers: _headers,
511
+ parameters: body.to_json
512
+ )
513
+ OAuth2.apply(config, _request)
514
+ _response = execute_request(_request)
515
+
516
+ # Return appropriate response type.
517
+ decoded = APIHelper.json_deserialize(_response.raw_body)
518
+ _errors = APIHelper.map_response(decoded, ['errors'])
519
+ ApiResponse.new(
520
+ _response, data: decoded, errors: _errors
521
+ )
522
+ end
523
+
524
+ # Retrieves a loyalty promotion.
525
+ # @param [String] promotion_id Required parameter: The ID of the [loyalty
526
+ # promotion]($m/LoyaltyPromotion) to retrieve.
527
+ # @param [String] program_id Required parameter: The ID of the base [loyalty
528
+ # program]($m/LoyaltyProgram). To get the program ID, call
529
+ # [RetrieveLoyaltyProgram]($e/Loyalty/RetrieveLoyaltyProgram) using the
530
+ # `main` keyword.
531
+ # @return [RetrieveLoyaltyPromotionResponse Hash] response from the API call
532
+ def retrieve_loyalty_promotion(promotion_id:,
533
+ program_id:)
534
+ # Prepare query url.
535
+ _query_builder = config.get_base_uri
536
+ _query_builder << '/v2/loyalty/programs/{program_id}/promotions/{promotion_id}'
537
+ _query_builder = APIHelper.append_url_with_template_parameters(
538
+ _query_builder,
539
+ 'promotion_id' => { 'value' => promotion_id, 'encode' => true },
540
+ 'program_id' => { 'value' => program_id, 'encode' => true }
541
+ )
542
+ _query_url = APIHelper.clean_url _query_builder
543
+
544
+ # Prepare headers.
545
+ _headers = {
546
+ 'accept' => 'application/json'
547
+ }
548
+
549
+ # Prepare and execute HttpRequest.
550
+ _request = config.http_client.get(
551
+ _query_url,
552
+ headers: _headers
553
+ )
554
+ OAuth2.apply(config, _request)
555
+ _response = execute_request(_request)
556
+
557
+ # Return appropriate response type.
558
+ decoded = APIHelper.json_deserialize(_response.raw_body)
559
+ _errors = APIHelper.map_response(decoded, ['errors'])
560
+ ApiResponse.new(
561
+ _response, data: decoded, errors: _errors
562
+ )
563
+ end
564
+
565
+ # Cancels a loyalty promotion. Use this endpoint to cancel an `ACTIVE`
566
+ # promotion earlier than the
567
+ # end date, cancel an `ACTIVE` promotion when an end date is not specified,
568
+ # or cancel a `SCHEDULED` promotion.
569
+ # Because updating a promotion is not supported, you can also use this
570
+ # endpoint to cancel a promotion before
571
+ # you create a new one.
572
+ # This endpoint sets the loyalty promotion to the `CANCELED` state
573
+ # @param [String] promotion_id Required parameter: The ID of the [loyalty
574
+ # promotion]($m/LoyaltyPromotion) to cancel. You can cancel a promotion that
575
+ # has an `ACTIVE` or `SCHEDULED` status.
576
+ # @param [String] program_id Required parameter: The ID of the base [loyalty
577
+ # program]($m/LoyaltyProgram).
578
+ # @return [CancelLoyaltyPromotionResponse Hash] response from the API call
579
+ def cancel_loyalty_promotion(promotion_id:,
580
+ program_id:)
581
+ # Prepare query url.
582
+ _query_builder = config.get_base_uri
583
+ _query_builder << '/v2/loyalty/programs/{program_id}/promotions/{promotion_id}/cancel'
584
+ _query_builder = APIHelper.append_url_with_template_parameters(
585
+ _query_builder,
586
+ 'promotion_id' => { 'value' => promotion_id, 'encode' => true },
587
+ 'program_id' => { 'value' => program_id, 'encode' => true }
588
+ )
589
+ _query_url = APIHelper.clean_url _query_builder
590
+
591
+ # Prepare headers.
592
+ _headers = {
593
+ 'accept' => 'application/json'
594
+ }
595
+
596
+ # Prepare and execute HttpRequest.
597
+ _request = config.http_client.post(
598
+ _query_url,
599
+ headers: _headers
600
+ )
601
+ OAuth2.apply(config, _request)
602
+ _response = execute_request(_request)
603
+
604
+ # Return appropriate response type.
605
+ decoded = APIHelper.json_deserialize(_response.raw_body)
606
+ _errors = APIHelper.map_response(decoded, ['errors'])
607
+ ApiResponse.new(
608
+ _response, data: decoded, errors: _errors
609
+ )
610
+ end
611
+
387
612
  # Creates a loyalty reward. In the process, the endpoint does following:
388
613
  # - Uses the `reward_tier_id` in the request to determine the number of
389
614
  # points
@@ -244,8 +244,8 @@ module Square
244
244
  # - The `order_id` in the endpoint path, identifying the order to update.
245
245
  # - The latest `version` of the order to update.
246
246
  # - The [sparse
247
- # order](https://developer.squareup.com/docs/orders-api/manage-orders#sparse
248
- # -order-objects)
247
+ # order](https://developer.squareup.com/docs/orders-api/manage-orders/update
248
+ # -orders#sparse-order-objects)
249
249
  # containing only the fields to update and the version to which the update
250
250
  # is
251
251
  # being applied.
@@ -26,7 +26,7 @@ module Square
26
26
  # @param [String] location_id Optional parameter: Limit results to the
27
27
  # location supplied. By default, results are returned for the default (main)
28
28
  # location associated with the seller.
29
- # @param [Long] total Optional parameter: The exact amount in the
29
+ # @param [Integer] total Optional parameter: The exact amount in the
30
30
  # `total_money` for a payment.
31
31
  # @param [String] last_4 Optional parameter: The last four digits of a
32
32
  # payment card.
@@ -175,10 +175,10 @@ module Square
175
175
  # @param [String] batch_token Optional parameter: A pagination cursor to
176
176
  # retrieve the next set of results for your original query to the
177
177
  # endpoint.
178
- # @param [Boolean] include_partial Optional parameter: Indicates whether or
179
- # not to include partial payments in the response. Partial payments will
180
- # have the tenders collected so far, but the itemizations will be empty
181
- # until the payment is completed.
178
+ # @param [TrueClass|FalseClass] include_partial Optional parameter:
179
+ # Indicates whether or not to include partial payments in the response.
180
+ # Partial payments will have the tenders collected so far, but the
181
+ # itemizations will be empty until the payment is completed.
182
182
  # @return [List of V1Payment Hash] response from the API call
183
183
  def list_payments(location_id:,
184
184
  order: nil,
@@ -0,0 +1,328 @@
1
+ module Square
2
+ # WebhookSubscriptionsApi
3
+ class WebhookSubscriptionsApi < BaseApi
4
+ def initialize(config, http_call_back: nil)
5
+ super(config, http_call_back: http_call_back)
6
+ end
7
+
8
+ # Lists all webhook event types that can be subscribed to.
9
+ # @param [String] api_version Optional parameter: The API version for which
10
+ # to list event types. Setting this field overrides the default version used
11
+ # by the application.
12
+ # @return [ListWebhookEventTypesResponse Hash] response from the API call
13
+ def list_webhook_event_types(api_version: nil)
14
+ # Prepare query url.
15
+ _query_builder = config.get_base_uri
16
+ _query_builder << '/v2/webhooks/event-types'
17
+ _query_builder = APIHelper.append_url_with_query_parameters(
18
+ _query_builder,
19
+ 'api_version' => api_version
20
+ )
21
+ _query_url = APIHelper.clean_url _query_builder
22
+
23
+ # Prepare headers.
24
+ _headers = {
25
+ 'accept' => 'application/json'
26
+ }
27
+
28
+ # Prepare and execute HttpRequest.
29
+ _request = config.http_client.get(
30
+ _query_url,
31
+ headers: _headers
32
+ )
33
+ OAuth2.apply(config, _request)
34
+ _response = execute_request(_request)
35
+
36
+ # Return appropriate response type.
37
+ decoded = APIHelper.json_deserialize(_response.raw_body)
38
+ _errors = APIHelper.map_response(decoded, ['errors'])
39
+ ApiResponse.new(
40
+ _response, data: decoded, errors: _errors
41
+ )
42
+ end
43
+
44
+ # Lists all webhook subscriptions owned by your application.
45
+ # @param [String] cursor Optional parameter: A pagination cursor returned by
46
+ # a previous call to this endpoint. Provide this to retrieve the next set of
47
+ # results for your original query. For more information, see
48
+ # [Pagination](https://developer.squareup.com/docs/basics/api101/pagination)
49
+ # .
50
+ # @param [TrueClass|FalseClass] include_disabled Optional parameter:
51
+ # Includes disabled [Subscription]($m/WebhookSubscription)s. By default, all
52
+ # enabled [Subscription]($m/WebhookSubscription)s are returned.
53
+ # @param [SortOrder] sort_order Optional parameter: Sorts the returned list
54
+ # by when the [Subscription]($m/WebhookSubscription) was created with the
55
+ # specified order. This field defaults to ASC.
56
+ # @param [Integer] limit Optional parameter: The maximum number of results
57
+ # to be returned in a single page. It is possible to receive fewer results
58
+ # than the specified limit on a given page. The default value of 100 is also
59
+ # the maximum allowed value. If the provided value is greater than 100, it
60
+ # is ignored and the default value is used instead. Default: 100
61
+ # @return [ListWebhookSubscriptionsResponse Hash] response from the API call
62
+ def list_webhook_subscriptions(cursor: nil,
63
+ include_disabled: false,
64
+ sort_order: nil,
65
+ limit: nil)
66
+ # Prepare query url.
67
+ _query_builder = config.get_base_uri
68
+ _query_builder << '/v2/webhooks/subscriptions'
69
+ _query_builder = APIHelper.append_url_with_query_parameters(
70
+ _query_builder,
71
+ 'cursor' => cursor,
72
+ 'include_disabled' => include_disabled,
73
+ 'sort_order' => sort_order,
74
+ 'limit' => limit
75
+ )
76
+ _query_url = APIHelper.clean_url _query_builder
77
+
78
+ # Prepare headers.
79
+ _headers = {
80
+ 'accept' => 'application/json'
81
+ }
82
+
83
+ # Prepare and execute HttpRequest.
84
+ _request = config.http_client.get(
85
+ _query_url,
86
+ headers: _headers
87
+ )
88
+ OAuth2.apply(config, _request)
89
+ _response = execute_request(_request)
90
+
91
+ # Return appropriate response type.
92
+ decoded = APIHelper.json_deserialize(_response.raw_body)
93
+ _errors = APIHelper.map_response(decoded, ['errors'])
94
+ ApiResponse.new(
95
+ _response, data: decoded, errors: _errors
96
+ )
97
+ end
98
+
99
+ # Creates a webhook subscription.
100
+ # @param [CreateWebhookSubscriptionRequest] body Required parameter: An
101
+ # object containing the fields to POST for the request. See the
102
+ # corresponding object definition for field details.
103
+ # @return [CreateWebhookSubscriptionResponse Hash] response from the API call
104
+ def create_webhook_subscription(body:)
105
+ # Prepare query url.
106
+ _query_builder = config.get_base_uri
107
+ _query_builder << '/v2/webhooks/subscriptions'
108
+ _query_url = APIHelper.clean_url _query_builder
109
+
110
+ # Prepare headers.
111
+ _headers = {
112
+ 'accept' => 'application/json',
113
+ 'Content-Type' => 'application/json'
114
+ }
115
+
116
+ # Prepare and execute HttpRequest.
117
+ _request = config.http_client.post(
118
+ _query_url,
119
+ headers: _headers,
120
+ parameters: body.to_json
121
+ )
122
+ OAuth2.apply(config, _request)
123
+ _response = execute_request(_request)
124
+
125
+ # Return appropriate response type.
126
+ decoded = APIHelper.json_deserialize(_response.raw_body)
127
+ _errors = APIHelper.map_response(decoded, ['errors'])
128
+ ApiResponse.new(
129
+ _response, data: decoded, errors: _errors
130
+ )
131
+ end
132
+
133
+ # Deletes a webhook subscription.
134
+ # @param [String] subscription_id Required parameter: [REQUIRED] The ID of
135
+ # the [Subscription]($m/WebhookSubscription) to delete.
136
+ # @return [DeleteWebhookSubscriptionResponse Hash] response from the API call
137
+ def delete_webhook_subscription(subscription_id:)
138
+ # Prepare query url.
139
+ _query_builder = config.get_base_uri
140
+ _query_builder << '/v2/webhooks/subscriptions/{subscription_id}'
141
+ _query_builder = APIHelper.append_url_with_template_parameters(
142
+ _query_builder,
143
+ 'subscription_id' => { 'value' => subscription_id, 'encode' => true }
144
+ )
145
+ _query_url = APIHelper.clean_url _query_builder
146
+
147
+ # Prepare headers.
148
+ _headers = {
149
+ 'accept' => 'application/json'
150
+ }
151
+
152
+ # Prepare and execute HttpRequest.
153
+ _request = config.http_client.delete(
154
+ _query_url,
155
+ headers: _headers
156
+ )
157
+ OAuth2.apply(config, _request)
158
+ _response = execute_request(_request)
159
+
160
+ # Return appropriate response type.
161
+ decoded = APIHelper.json_deserialize(_response.raw_body)
162
+ _errors = APIHelper.map_response(decoded, ['errors'])
163
+ ApiResponse.new(
164
+ _response, data: decoded, errors: _errors
165
+ )
166
+ end
167
+
168
+ # Retrieves a webhook subscription identified by its ID.
169
+ # @param [String] subscription_id Required parameter: [REQUIRED] The ID of
170
+ # the [Subscription]($m/WebhookSubscription) to retrieve.
171
+ # @return [RetrieveWebhookSubscriptionResponse Hash] response from the API call
172
+ def retrieve_webhook_subscription(subscription_id:)
173
+ # Prepare query url.
174
+ _query_builder = config.get_base_uri
175
+ _query_builder << '/v2/webhooks/subscriptions/{subscription_id}'
176
+ _query_builder = APIHelper.append_url_with_template_parameters(
177
+ _query_builder,
178
+ 'subscription_id' => { 'value' => subscription_id, 'encode' => true }
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.get(
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(
199
+ _response, data: decoded, errors: _errors
200
+ )
201
+ end
202
+
203
+ # Updates a webhook subscription.
204
+ # @param [String] subscription_id Required parameter: [REQUIRED] The ID of
205
+ # the [Subscription]($m/WebhookSubscription) to update.
206
+ # @param [UpdateWebhookSubscriptionRequest] body Required parameter: An
207
+ # object containing the fields to POST for the request. See the
208
+ # corresponding object definition for field details.
209
+ # @return [UpdateWebhookSubscriptionResponse Hash] response from the API call
210
+ def update_webhook_subscription(subscription_id:,
211
+ body:)
212
+ # Prepare query url.
213
+ _query_builder = config.get_base_uri
214
+ _query_builder << '/v2/webhooks/subscriptions/{subscription_id}'
215
+ _query_builder = APIHelper.append_url_with_template_parameters(
216
+ _query_builder,
217
+ 'subscription_id' => { 'value' => subscription_id, 'encode' => true }
218
+ )
219
+ _query_url = APIHelper.clean_url _query_builder
220
+
221
+ # Prepare headers.
222
+ _headers = {
223
+ 'accept' => 'application/json',
224
+ 'Content-Type' => 'application/json'
225
+ }
226
+
227
+ # Prepare and execute HttpRequest.
228
+ _request = config.http_client.put(
229
+ _query_url,
230
+ headers: _headers,
231
+ parameters: body.to_json
232
+ )
233
+ OAuth2.apply(config, _request)
234
+ _response = execute_request(_request)
235
+
236
+ # Return appropriate response type.
237
+ decoded = APIHelper.json_deserialize(_response.raw_body)
238
+ _errors = APIHelper.map_response(decoded, ['errors'])
239
+ ApiResponse.new(
240
+ _response, data: decoded, errors: _errors
241
+ )
242
+ end
243
+
244
+ # Updates a webhook subscription by replacing the existing signature key
245
+ # with a new one.
246
+ # @param [String] subscription_id Required parameter: [REQUIRED] The ID of
247
+ # the [Subscription]($m/WebhookSubscription) to update.
248
+ # @param [UpdateWebhookSubscriptionSignatureKeyRequest] body Required
249
+ # parameter: An object containing the fields to POST for the request. See
250
+ # the corresponding object definition for field details.
251
+ # @return [UpdateWebhookSubscriptionSignatureKeyResponse Hash] response from the API call
252
+ def update_webhook_subscription_signature_key(subscription_id:,
253
+ body:)
254
+ # Prepare query url.
255
+ _query_builder = config.get_base_uri
256
+ _query_builder << '/v2/webhooks/subscriptions/{subscription_id}/signature-key'
257
+ _query_builder = APIHelper.append_url_with_template_parameters(
258
+ _query_builder,
259
+ 'subscription_id' => { 'value' => subscription_id, 'encode' => true }
260
+ )
261
+ _query_url = APIHelper.clean_url _query_builder
262
+
263
+ # Prepare headers.
264
+ _headers = {
265
+ 'accept' => 'application/json',
266
+ 'Content-Type' => 'application/json'
267
+ }
268
+
269
+ # Prepare and execute HttpRequest.
270
+ _request = config.http_client.post(
271
+ _query_url,
272
+ headers: _headers,
273
+ parameters: body.to_json
274
+ )
275
+ OAuth2.apply(config, _request)
276
+ _response = execute_request(_request)
277
+
278
+ # Return appropriate response type.
279
+ decoded = APIHelper.json_deserialize(_response.raw_body)
280
+ _errors = APIHelper.map_response(decoded, ['errors'])
281
+ ApiResponse.new(
282
+ _response, data: decoded, errors: _errors
283
+ )
284
+ end
285
+
286
+ # Tests a webhook subscription by sending a test event to the notification
287
+ # URL.
288
+ # @param [String] subscription_id Required parameter: [REQUIRED] The ID of
289
+ # the [Subscription]($m/WebhookSubscription) to test.
290
+ # @param [TestWebhookSubscriptionRequest] 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 [TestWebhookSubscriptionResponse Hash] response from the API call
294
+ def test_webhook_subscription(subscription_id:,
295
+ body:)
296
+ # Prepare query url.
297
+ _query_builder = config.get_base_uri
298
+ _query_builder << '/v2/webhooks/subscriptions/{subscription_id}/test'
299
+ _query_builder = APIHelper.append_url_with_template_parameters(
300
+ _query_builder,
301
+ 'subscription_id' => { 'value' => subscription_id, 'encode' => true }
302
+ )
303
+ _query_url = APIHelper.clean_url _query_builder
304
+
305
+ # Prepare headers.
306
+ _headers = {
307
+ 'accept' => 'application/json',
308
+ 'Content-Type' => 'application/json'
309
+ }
310
+
311
+ # Prepare and execute HttpRequest.
312
+ _request = config.http_client.post(
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(
324
+ _response, data: decoded, errors: _errors
325
+ )
326
+ end
327
+ end
328
+ end