square.rb 10.0.0.202104217 → 13.1.0.20210818

Sign up to get free protection for your applications and to get access to all the features.
@@ -131,8 +131,14 @@ module Square
131
131
 
132
132
  # Returns a list of evidence associated with a dispute.
133
133
  # @param [String] dispute_id Required parameter: The ID of the dispute.
134
+ # @param [String] cursor Optional parameter: A pagination cursor returned by
135
+ # a previous call to this endpoint. Provide this cursor to retrieve the next
136
+ # set of results for the original query. For more information, see
137
+ # [Pagination](https://developer.squareup.com/docs/basics/api101/pagination)
138
+ # .
134
139
  # @return [ListDisputeEvidenceResponse Hash] response from the API call
135
- def list_dispute_evidence(dispute_id:)
140
+ def list_dispute_evidence(dispute_id:,
141
+ cursor: nil)
136
142
  # Prepare query url.
137
143
  _query_builder = config.get_base_uri
138
144
  _query_builder << '/v2/disputes/{dispute_id}/evidence'
@@ -140,90 +146,9 @@ module Square
140
146
  _query_builder,
141
147
  'dispute_id' => { 'value' => dispute_id, 'encode' => true }
142
148
  )
143
- _query_url = APIHelper.clean_url _query_builder
144
-
145
- # Prepare headers.
146
- _headers = {
147
- 'accept' => 'application/json'
148
- }
149
-
150
- # Prepare and execute HttpRequest.
151
- _request = config.http_client.get(
152
- _query_url,
153
- headers: _headers
154
- )
155
- OAuth2.apply(config, _request)
156
- _response = execute_request(_request)
157
-
158
- # Return appropriate response type.
159
- decoded = APIHelper.json_deserialize(_response.raw_body)
160
- _errors = APIHelper.map_response(decoded, ['errors'])
161
- ApiResponse.new(
162
- _response, data: decoded, errors: _errors
163
- )
164
- end
165
-
166
- # Removes specified evidence from a dispute.
167
- # Square does not send the bank any evidence that is removed. Also, you
168
- # cannot remove evidence after
169
- # submitting it to the bank using
170
- # [SubmitEvidence]($e/Disputes/SubmitEvidence).
171
- # @param [String] dispute_id Required parameter: The ID of the dispute you
172
- # want to remove evidence from.
173
- # @param [String] evidence_id Required parameter: The ID of the evidence you
174
- # want to remove.
175
- # @return [RemoveDisputeEvidenceResponse Hash] response from the API call
176
- def remove_dispute_evidence(dispute_id:,
177
- evidence_id:)
178
- # Prepare query url.
179
- _query_builder = config.get_base_uri
180
- _query_builder << '/v2/disputes/{dispute_id}/evidence/{evidence_id}'
181
- _query_builder = APIHelper.append_url_with_template_parameters(
182
- _query_builder,
183
- 'dispute_id' => { 'value' => dispute_id, 'encode' => true },
184
- 'evidence_id' => { 'value' => evidence_id, 'encode' => true }
185
- )
186
- _query_url = APIHelper.clean_url _query_builder
187
-
188
- # Prepare headers.
189
- _headers = {
190
- 'accept' => 'application/json'
191
- }
192
-
193
- # Prepare and execute HttpRequest.
194
- _request = config.http_client.delete(
195
- _query_url,
196
- headers: _headers
197
- )
198
- OAuth2.apply(config, _request)
199
- _response = execute_request(_request)
200
-
201
- # Return appropriate response type.
202
- decoded = APIHelper.json_deserialize(_response.raw_body)
203
- _errors = APIHelper.map_response(decoded, ['errors'])
204
- ApiResponse.new(
205
- _response, data: decoded, errors: _errors
206
- )
207
- end
208
-
209
- # Returns the specific evidence metadata associated with a specific dispute.
210
- # You must maintain a copy of the evidence you upload if you want to
211
- # reference it later. You cannot
212
- # download the evidence after you upload it.
213
- # @param [String] dispute_id Required parameter: The ID of the dispute that
214
- # you want to retrieve evidence from.
215
- # @param [String] evidence_id Required parameter: The ID of the evidence to
216
- # retrieve.
217
- # @return [RetrieveDisputeEvidenceResponse Hash] response from the API call
218
- def retrieve_dispute_evidence(dispute_id:,
219
- evidence_id:)
220
- # Prepare query url.
221
- _query_builder = config.get_base_uri
222
- _query_builder << '/v2/disputes/{dispute_id}/evidence/{evidence_id}'
223
- _query_builder = APIHelper.append_url_with_template_parameters(
149
+ _query_builder = APIHelper.append_url_with_query_parameters(
224
150
  _query_builder,
225
- 'dispute_id' => { 'value' => dispute_id, 'encode' => true },
226
- 'evidence_id' => { 'value' => evidence_id, 'encode' => true }
151
+ 'cursor' => cursor
227
152
  )
228
153
  _query_url = APIHelper.clean_url _query_builder
229
154
 
@@ -263,7 +188,7 @@ module Square
263
188
  image_file: nil)
264
189
  # Prepare query url.
265
190
  _query_builder = config.get_base_uri
266
- _query_builder << '/v2/disputes/{dispute_id}/evidence_file'
191
+ _query_builder << '/v2/disputes/{dispute_id}/evidence-files'
267
192
  _query_builder = APIHelper.append_url_with_template_parameters(
268
193
  _query_builder,
269
194
  'dispute_id' => { 'value' => dispute_id, 'encode' => true }
@@ -324,7 +249,7 @@ module Square
324
249
  body:)
325
250
  # Prepare query url.
326
251
  _query_builder = config.get_base_uri
327
- _query_builder << '/v2/disputes/{dispute_id}/evidence_text'
252
+ _query_builder << '/v2/disputes/{dispute_id}/evidence-text'
328
253
  _query_builder = APIHelper.append_url_with_template_parameters(
329
254
  _query_builder,
330
255
  'dispute_id' => { 'value' => dispute_id, 'encode' => true }
@@ -354,6 +279,92 @@ module Square
354
279
  )
355
280
  end
356
281
 
282
+ # Removes specified evidence from a dispute.
283
+ # Square does not send the bank any evidence that is removed. Also, you
284
+ # cannot remove evidence after
285
+ # submitting it to the bank using
286
+ # [SubmitEvidence]($e/Disputes/SubmitEvidence).
287
+ # @param [String] dispute_id Required parameter: The ID of the dispute you
288
+ # want to remove evidence from.
289
+ # @param [String] evidence_id Required parameter: The ID of the evidence you
290
+ # want to remove.
291
+ # @return [DeleteDisputeEvidenceResponse Hash] response from the API call
292
+ def delete_dispute_evidence(dispute_id:,
293
+ evidence_id:)
294
+ # Prepare query url.
295
+ _query_builder = config.get_base_uri
296
+ _query_builder << '/v2/disputes/{dispute_id}/evidence/{evidence_id}'
297
+ _query_builder = APIHelper.append_url_with_template_parameters(
298
+ _query_builder,
299
+ 'dispute_id' => { 'value' => dispute_id, 'encode' => true },
300
+ 'evidence_id' => { 'value' => evidence_id, 'encode' => true }
301
+ )
302
+ _query_url = APIHelper.clean_url _query_builder
303
+
304
+ # Prepare headers.
305
+ _headers = {
306
+ 'accept' => 'application/json'
307
+ }
308
+
309
+ # Prepare and execute HttpRequest.
310
+ _request = config.http_client.delete(
311
+ _query_url,
312
+ headers: _headers
313
+ )
314
+ OAuth2.apply(config, _request)
315
+ _response = execute_request(_request)
316
+
317
+ # Return appropriate response type.
318
+ decoded = APIHelper.json_deserialize(_response.raw_body)
319
+ _errors = APIHelper.map_response(decoded, ['errors'])
320
+ ApiResponse.new(
321
+ _response, data: decoded, errors: _errors
322
+ )
323
+ end
324
+
325
+ # Returns the evidence metadata specified by the evidence ID in the request
326
+ # URL path
327
+ # You must maintain a copy of the evidence you upload if you want to
328
+ # reference it later. You cannot
329
+ # download the evidence after you upload it.
330
+ # @param [String] dispute_id Required parameter: The ID of the dispute that
331
+ # you want to retrieve evidence from.
332
+ # @param [String] evidence_id Required parameter: The ID of the evidence to
333
+ # retrieve.
334
+ # @return [RetrieveDisputeEvidenceResponse Hash] response from the API call
335
+ def retrieve_dispute_evidence(dispute_id:,
336
+ evidence_id:)
337
+ # Prepare query url.
338
+ _query_builder = config.get_base_uri
339
+ _query_builder << '/v2/disputes/{dispute_id}/evidence/{evidence_id}'
340
+ _query_builder = APIHelper.append_url_with_template_parameters(
341
+ _query_builder,
342
+ 'dispute_id' => { 'value' => dispute_id, 'encode' => true },
343
+ 'evidence_id' => { 'value' => evidence_id, 'encode' => true }
344
+ )
345
+ _query_url = APIHelper.clean_url _query_builder
346
+
347
+ # Prepare headers.
348
+ _headers = {
349
+ 'accept' => 'application/json'
350
+ }
351
+
352
+ # Prepare and execute HttpRequest.
353
+ _request = config.http_client.get(
354
+ _query_url,
355
+ headers: _headers
356
+ )
357
+ OAuth2.apply(config, _request)
358
+ _response = execute_request(_request)
359
+
360
+ # Return appropriate response type.
361
+ decoded = APIHelper.json_deserialize(_response.raw_body)
362
+ _errors = APIHelper.map_response(decoded, ['errors'])
363
+ ApiResponse.new(
364
+ _response, data: decoded, errors: _errors
365
+ )
366
+ end
367
+
357
368
  # Submits evidence to the cardholder's bank.
358
369
  # Before submitting evidence, Square compiles all available evidence. This
359
370
  # includes evidence uploaded
@@ -0,0 +1,127 @@
1
+ module Square
2
+ # GiftCardActivitiesApi
3
+ class GiftCardActivitiesApi < BaseApi
4
+ def initialize(config, http_call_back: nil)
5
+ super(config, http_call_back: http_call_back)
6
+ end
7
+
8
+ # Lists gift card activities. By default, you get gift card activities for
9
+ # all
10
+ # gift cards in the seller's account. You can optionally specify query
11
+ # parameters to
12
+ # filter the list. For example, you can get a list of gift card activities
13
+ # for a gift card,
14
+ # for all gift cards in a specific region, or for activities within a time
15
+ # window.
16
+ # @param [String] gift_card_id Optional parameter: If you provide a gift
17
+ # card ID, the endpoint returns activities that belong to the specified
18
+ # gift card. Otherwise, the endpoint returns all gift card activities for
19
+ # the seller.
20
+ # @param [String] type Optional parameter: If you provide a type, the
21
+ # endpoint returns gift card activities of this type. Otherwise, the
22
+ # endpoint returns all types of gift card activities.
23
+ # @param [String] location_id Optional parameter: If you provide a location
24
+ # ID, the endpoint returns gift card activities for that location.
25
+ # Otherwise, the endpoint returns gift card activities for all locations.
26
+ # @param [String] begin_time Optional parameter: The timestamp for the
27
+ # beginning of the reporting period, in RFC 3339 format. Inclusive. Default:
28
+ # The current time minus one year.
29
+ # @param [String] end_time Optional parameter: The timestamp for the end of
30
+ # the reporting period, in RFC 3339 format. Inclusive. Default: The current
31
+ # time.
32
+ # @param [Integer] limit Optional parameter: If you provide a limit value,
33
+ # the endpoint returns the specified number of results (or less) per page.
34
+ # A maximum value is 100. The default value is 50.
35
+ # @param [String] cursor Optional parameter: A pagination cursor returned by
36
+ # a previous call to this endpoint. Provide this cursor to retrieve the next
37
+ # set of results for the original query. If you do not provide the cursor,
38
+ # the call returns the first page of the results.
39
+ # @param [String] sort_order Optional parameter: The order in which the
40
+ # endpoint returns the activities, based on `created_at`. - `ASC` - Oldest
41
+ # to newest. - `DESC` - Newest to oldest (default).
42
+ # @return [ListGiftCardActivitiesResponse Hash] response from the API call
43
+ def list_gift_card_activities(gift_card_id: nil,
44
+ type: nil,
45
+ location_id: nil,
46
+ begin_time: nil,
47
+ end_time: nil,
48
+ limit: nil,
49
+ cursor: nil,
50
+ sort_order: nil)
51
+ # Prepare query url.
52
+ _query_builder = config.get_base_uri
53
+ _query_builder << '/v2/gift-cards/activities'
54
+ _query_builder = APIHelper.append_url_with_query_parameters(
55
+ _query_builder,
56
+ 'gift_card_id' => gift_card_id,
57
+ 'type' => type,
58
+ 'location_id' => location_id,
59
+ 'begin_time' => begin_time,
60
+ 'end_time' => end_time,
61
+ 'limit' => limit,
62
+ 'cursor' => cursor,
63
+ 'sort_order' => sort_order
64
+ )
65
+ _query_url = APIHelper.clean_url _query_builder
66
+
67
+ # Prepare headers.
68
+ _headers = {
69
+ 'accept' => 'application/json'
70
+ }
71
+
72
+ # Prepare and execute HttpRequest.
73
+ _request = config.http_client.get(
74
+ _query_url,
75
+ headers: _headers
76
+ )
77
+ OAuth2.apply(config, _request)
78
+ _response = execute_request(_request)
79
+
80
+ # Return appropriate response type.
81
+ decoded = APIHelper.json_deserialize(_response.raw_body)
82
+ _errors = APIHelper.map_response(decoded, ['errors'])
83
+ ApiResponse.new(
84
+ _response, data: decoded, errors: _errors
85
+ )
86
+ end
87
+
88
+ # Creates a gift card activity. For more information, see
89
+ # [GiftCardActivity](https://developer.squareup.com/docs/gift-cards/using-gi
90
+ # ft-cards-api#giftcardactivity) and
91
+ # [Using activated gift
92
+ # cards](https://developer.squareup.com/docs/gift-cards/using-gift-cards-api
93
+ # #using-activated-gift-cards).
94
+ # @param [CreateGiftCardActivityRequest] body Required parameter: An object
95
+ # containing the fields to POST for the request. See the corresponding
96
+ # object definition for field details.
97
+ # @return [CreateGiftCardActivityResponse Hash] response from the API call
98
+ def create_gift_card_activity(body:)
99
+ # Prepare query url.
100
+ _query_builder = config.get_base_uri
101
+ _query_builder << '/v2/gift-cards/activities'
102
+ _query_url = APIHelper.clean_url _query_builder
103
+
104
+ # Prepare headers.
105
+ _headers = {
106
+ 'accept' => 'application/json',
107
+ 'content-type' => 'application/json; charset=utf-8'
108
+ }
109
+
110
+ # Prepare and execute HttpRequest.
111
+ _request = config.http_client.post(
112
+ _query_url,
113
+ headers: _headers,
114
+ parameters: body.to_json
115
+ )
116
+ OAuth2.apply(config, _request)
117
+ _response = execute_request(_request)
118
+
119
+ # Return appropriate response type.
120
+ decoded = APIHelper.json_deserialize(_response.raw_body)
121
+ _errors = APIHelper.map_response(decoded, ['errors'])
122
+ ApiResponse.new(
123
+ _response, data: decoded, errors: _errors
124
+ )
125
+ end
126
+ end
127
+ end
@@ -0,0 +1,292 @@
1
+ module Square
2
+ # GiftCardsApi
3
+ class GiftCardsApi < BaseApi
4
+ def initialize(config, http_call_back: nil)
5
+ super(config, http_call_back: http_call_back)
6
+ end
7
+
8
+ # Lists all gift cards. You can specify optional filters to retrieve
9
+ # a subset of the gift cards.
10
+ # @param [String] type Optional parameter: If a type is provided, gift cards
11
+ # of this type are returned (see [GiftCardType]($m/GiftCardType)). If no
12
+ # type is provided, it returns gift cards of all types.
13
+ # @param [String] state Optional parameter: If the state is provided, it
14
+ # returns the gift cards in the specified state (see
15
+ # [GiftCardStatus]($m/GiftCardStatus)). Otherwise, it returns the gift cards
16
+ # of all states.
17
+ # @param [Integer] limit Optional parameter: If a value is provided, it
18
+ # returns only that number of results per page. The maximum number of
19
+ # results allowed per page is 50. The default value is 30.
20
+ # @param [String] cursor Optional parameter: A pagination cursor returned by
21
+ # a previous call to this endpoint. Provide this cursor to retrieve the next
22
+ # set of results for the original query. If a cursor is not provided, it
23
+ # returns the first page of the results. For more information, see
24
+ # [Pagination](https://developer.squareup.com/docs/working-with-apis/paginat
25
+ # ion).
26
+ # @param [String] customer_id Optional parameter: If a value is provided,
27
+ # returns only the gift cards linked to the specified customer
28
+ # @return [ListGiftCardsResponse Hash] response from the API call
29
+ def list_gift_cards(type: nil,
30
+ state: nil,
31
+ limit: nil,
32
+ cursor: nil,
33
+ customer_id: nil)
34
+ # Prepare query url.
35
+ _query_builder = config.get_base_uri
36
+ _query_builder << '/v2/gift-cards'
37
+ _query_builder = APIHelper.append_url_with_query_parameters(
38
+ _query_builder,
39
+ 'type' => type,
40
+ 'state' => state,
41
+ 'limit' => limit,
42
+ 'cursor' => cursor,
43
+ 'customer_id' => customer_id
44
+ )
45
+ _query_url = APIHelper.clean_url _query_builder
46
+
47
+ # Prepare headers.
48
+ _headers = {
49
+ 'accept' => 'application/json'
50
+ }
51
+
52
+ # Prepare and execute HttpRequest.
53
+ _request = config.http_client.get(
54
+ _query_url,
55
+ headers: _headers
56
+ )
57
+ OAuth2.apply(config, _request)
58
+ _response = execute_request(_request)
59
+
60
+ # Return appropriate response type.
61
+ decoded = APIHelper.json_deserialize(_response.raw_body)
62
+ _errors = APIHelper.map_response(decoded, ['errors'])
63
+ ApiResponse.new(
64
+ _response, data: decoded, errors: _errors
65
+ )
66
+ end
67
+
68
+ # Creates a digital gift card or registers a physical (plastic) gift card.
69
+ # You must activate the gift card before
70
+ # it can be used for payment. For more information, see
71
+ # [Selling gift
72
+ # cards](https://developer.squareup.com/docs/gift-cards/using-gift-cards-api
73
+ # #selling-square-gift-cards).
74
+ # @param [CreateGiftCardRequest] body Required parameter: An object
75
+ # containing the fields to POST for the request. See the corresponding
76
+ # object definition for field details.
77
+ # @return [CreateGiftCardResponse Hash] response from the API call
78
+ def create_gift_card(body:)
79
+ # Prepare query url.
80
+ _query_builder = config.get_base_uri
81
+ _query_builder << '/v2/gift-cards'
82
+ _query_url = APIHelper.clean_url _query_builder
83
+
84
+ # Prepare headers.
85
+ _headers = {
86
+ 'accept' => 'application/json',
87
+ 'content-type' => 'application/json; charset=utf-8'
88
+ }
89
+
90
+ # Prepare and execute HttpRequest.
91
+ _request = config.http_client.post(
92
+ _query_url,
93
+ headers: _headers,
94
+ parameters: body.to_json
95
+ )
96
+ OAuth2.apply(config, _request)
97
+ _response = execute_request(_request)
98
+
99
+ # Return appropriate response type.
100
+ decoded = APIHelper.json_deserialize(_response.raw_body)
101
+ _errors = APIHelper.map_response(decoded, ['errors'])
102
+ ApiResponse.new(
103
+ _response, data: decoded, errors: _errors
104
+ )
105
+ end
106
+
107
+ # Retrieves a gift card using the gift card account number (GAN).
108
+ # @param [RetrieveGiftCardFromGANRequest] body Required parameter: An object
109
+ # containing the fields to POST for the request. See the corresponding
110
+ # object definition for field details.
111
+ # @return [RetrieveGiftCardFromGANResponse Hash] response from the API call
112
+ def retrieve_gift_card_from_gan(body:)
113
+ # Prepare query url.
114
+ _query_builder = config.get_base_uri
115
+ _query_builder << '/v2/gift-cards/from-gan'
116
+ _query_url = APIHelper.clean_url _query_builder
117
+
118
+ # Prepare headers.
119
+ _headers = {
120
+ 'accept' => 'application/json',
121
+ 'content-type' => 'application/json; charset=utf-8'
122
+ }
123
+
124
+ # Prepare and execute HttpRequest.
125
+ _request = config.http_client.post(
126
+ _query_url,
127
+ headers: _headers,
128
+ parameters: body.to_json
129
+ )
130
+ OAuth2.apply(config, _request)
131
+ _response = execute_request(_request)
132
+
133
+ # Return appropriate response type.
134
+ decoded = APIHelper.json_deserialize(_response.raw_body)
135
+ _errors = APIHelper.map_response(decoded, ['errors'])
136
+ ApiResponse.new(
137
+ _response, data: decoded, errors: _errors
138
+ )
139
+ end
140
+
141
+ # Retrieves a gift card using a nonce (a secure token) that represents the
142
+ # gift card.
143
+ # @param [RetrieveGiftCardFromNonceRequest] body Required parameter: An
144
+ # object containing the fields to POST for the request. See the
145
+ # corresponding object definition for field details.
146
+ # @return [RetrieveGiftCardFromNonceResponse Hash] response from the API call
147
+ def retrieve_gift_card_from_nonce(body:)
148
+ # Prepare query url.
149
+ _query_builder = config.get_base_uri
150
+ _query_builder << '/v2/gift-cards/from-nonce'
151
+ _query_url = APIHelper.clean_url _query_builder
152
+
153
+ # Prepare headers.
154
+ _headers = {
155
+ 'accept' => 'application/json',
156
+ 'content-type' => 'application/json; charset=utf-8'
157
+ }
158
+
159
+ # Prepare and execute HttpRequest.
160
+ _request = config.http_client.post(
161
+ _query_url,
162
+ headers: _headers,
163
+ parameters: body.to_json
164
+ )
165
+ OAuth2.apply(config, _request)
166
+ _response = execute_request(_request)
167
+
168
+ # Return appropriate response type.
169
+ decoded = APIHelper.json_deserialize(_response.raw_body)
170
+ _errors = APIHelper.map_response(decoded, ['errors'])
171
+ ApiResponse.new(
172
+ _response, data: decoded, errors: _errors
173
+ )
174
+ end
175
+
176
+ # Links a customer to a gift card
177
+ # @param [String] gift_card_id Required parameter: The ID of the gift card
178
+ # to link.
179
+ # @param [LinkCustomerToGiftCardRequest] body Required parameter: An object
180
+ # containing the fields to POST for the request. See the corresponding
181
+ # object definition for field details.
182
+ # @return [LinkCustomerToGiftCardResponse Hash] response from the API call
183
+ def link_customer_to_gift_card(gift_card_id:,
184
+ body:)
185
+ # Prepare query url.
186
+ _query_builder = config.get_base_uri
187
+ _query_builder << '/v2/gift-cards/{gift_card_id}/link-customer'
188
+ _query_builder = APIHelper.append_url_with_template_parameters(
189
+ _query_builder,
190
+ 'gift_card_id' => { 'value' => gift_card_id, 'encode' => true }
191
+ )
192
+ _query_url = APIHelper.clean_url _query_builder
193
+
194
+ # Prepare headers.
195
+ _headers = {
196
+ 'accept' => 'application/json',
197
+ 'content-type' => 'application/json; charset=utf-8'
198
+ }
199
+
200
+ # Prepare and execute HttpRequest.
201
+ _request = config.http_client.post(
202
+ _query_url,
203
+ headers: _headers,
204
+ parameters: body.to_json
205
+ )
206
+ OAuth2.apply(config, _request)
207
+ _response = execute_request(_request)
208
+
209
+ # Return appropriate response type.
210
+ decoded = APIHelper.json_deserialize(_response.raw_body)
211
+ _errors = APIHelper.map_response(decoded, ['errors'])
212
+ ApiResponse.new(
213
+ _response, data: decoded, errors: _errors
214
+ )
215
+ end
216
+
217
+ # Unlinks a customer from a gift card
218
+ # @param [String] gift_card_id Required parameter: Example:
219
+ # @param [UnlinkCustomerFromGiftCardRequest] body Required parameter: An
220
+ # object containing the fields to POST for the request. See the
221
+ # corresponding object definition for field details.
222
+ # @return [UnlinkCustomerFromGiftCardResponse Hash] response from the API call
223
+ def unlink_customer_from_gift_card(gift_card_id:,
224
+ body:)
225
+ # Prepare query url.
226
+ _query_builder = config.get_base_uri
227
+ _query_builder << '/v2/gift-cards/{gift_card_id}/unlink-customer'
228
+ _query_builder = APIHelper.append_url_with_template_parameters(
229
+ _query_builder,
230
+ 'gift_card_id' => { 'value' => gift_card_id, 'encode' => true }
231
+ )
232
+ _query_url = APIHelper.clean_url _query_builder
233
+
234
+ # Prepare headers.
235
+ _headers = {
236
+ 'accept' => 'application/json',
237
+ 'content-type' => 'application/json; charset=utf-8'
238
+ }
239
+
240
+ # Prepare and execute HttpRequest.
241
+ _request = config.http_client.post(
242
+ _query_url,
243
+ headers: _headers,
244
+ parameters: body.to_json
245
+ )
246
+ OAuth2.apply(config, _request)
247
+ _response = execute_request(_request)
248
+
249
+ # Return appropriate response type.
250
+ decoded = APIHelper.json_deserialize(_response.raw_body)
251
+ _errors = APIHelper.map_response(decoded, ['errors'])
252
+ ApiResponse.new(
253
+ _response, data: decoded, errors: _errors
254
+ )
255
+ end
256
+
257
+ # Retrieves a gift card using its ID.
258
+ # @param [String] id Required parameter: The ID of the gift card to
259
+ # retrieve.
260
+ # @return [RetrieveGiftCardResponse Hash] response from the API call
261
+ def retrieve_gift_card(id:)
262
+ # Prepare query url.
263
+ _query_builder = config.get_base_uri
264
+ _query_builder << '/v2/gift-cards/{id}'
265
+ _query_builder = APIHelper.append_url_with_template_parameters(
266
+ _query_builder,
267
+ 'id' => { 'value' => id, 'encode' => true }
268
+ )
269
+ _query_url = APIHelper.clean_url _query_builder
270
+
271
+ # Prepare headers.
272
+ _headers = {
273
+ 'accept' => 'application/json'
274
+ }
275
+
276
+ # Prepare and execute HttpRequest.
277
+ _request = config.http_client.get(
278
+ _query_url,
279
+ headers: _headers
280
+ )
281
+ OAuth2.apply(config, _request)
282
+ _response = execute_request(_request)
283
+
284
+ # Return appropriate response type.
285
+ decoded = APIHelper.json_deserialize(_response.raw_body)
286
+ _errors = APIHelper.map_response(decoded, ['errors'])
287
+ ApiResponse.new(
288
+ _response, data: decoded, errors: _errors
289
+ )
290
+ end
291
+ end
292
+ end