square.rb 19.0.0.20220420 → 21.0.0.20220720
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 +6 -0
- data/lib/square/api/base_api.rb +8 -1
- data/lib/square/api/bookings_api.rb +12 -3
- data/lib/square/api/cards_api.rb +3 -2
- data/lib/square/api/catalog_api.rb +25 -25
- data/lib/square/api/checkout_api.rb +202 -0
- data/lib/square/api/customer_custom_attributes_api.rb +540 -0
- data/lib/square/api/customers_api.rb +1 -1
- data/lib/square/api/gift_card_activities_api.rb +5 -6
- data/lib/square/api/gift_cards_api.rb +8 -7
- data/lib/square/api/loyalty_api.rb +3 -2
- data/lib/square/api/orders_api.rb +2 -2
- data/lib/square/api/payments_api.rb +1 -1
- data/lib/square/api/terminal_api.rb +141 -0
- data/lib/square/api/v1_transactions_api.rb +4 -4
- data/lib/square/api_helper.rb +176 -4
- data/lib/square/client.rb +12 -6
- data/lib/square/configuration.rb +16 -11
- data/lib/square/exceptions/validation_exception.rb +13 -0
- data/lib/square/http/api_response.rb +7 -9
- data/lib/square/http/faraday_client.rb +5 -4
- data/lib/square.rb +2 -0
- data/test/test_helper.rb +1 -1
- metadata +24 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b8c49dc5dec3f51ebfdb70e1789d9ffd0c1826b9f953c7a1e0fa59b62dae9d4f
|
4
|
+
data.tar.gz: b49dd9dbf71cdb0c1371dc0f5fb9505a26aaffe5c1905a366a3e46ecae5ea7fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf2fcb52842fd5fc4f4b0cce1196a0276b882ec2d27d9a1d1eb6c717c0130eca6c52c0fda1d176bf4cc7f78f64b018162a58e484aa548534f58bf5738cee0e8d
|
7
|
+
data.tar.gz: d2efdfc7be2f8afde9906e01bc3b6dac865fd092f0394ea5ebe3e427101752251100ff409e8a9fff7b5c7d7af5d52278ec641289b90a52a8c6aa70715ce6c39c
|
data/README.md
CHANGED
@@ -62,6 +62,7 @@ rake
|
|
62
62
|
* [Checkout]
|
63
63
|
* [Apple Pay]
|
64
64
|
* [Cards]
|
65
|
+
* [Payouts]
|
65
66
|
|
66
67
|
### Terminal
|
67
68
|
* [Terminal]
|
@@ -81,6 +82,7 @@ rake
|
|
81
82
|
|
82
83
|
### Customers
|
83
84
|
* [Customers]
|
85
|
+
* [Customer Custom Attributes]
|
84
86
|
* [Customer Groups]
|
85
87
|
* [Customer Segments]
|
86
88
|
|
@@ -99,6 +101,7 @@ rake
|
|
99
101
|
* [Locations]
|
100
102
|
* [Devices]
|
101
103
|
* [Cash Drawers]
|
104
|
+
* [Vendors]
|
102
105
|
|
103
106
|
### Team
|
104
107
|
* [Team]
|
@@ -134,6 +137,7 @@ rake
|
|
134
137
|
[Terminal]: doc/api/terminal.md
|
135
138
|
[Team]: doc/api/team.md
|
136
139
|
[Cash Drawers]: doc/api/cash-drawers.md
|
140
|
+
[Vendors]: doc/api/vendors.md
|
137
141
|
[Customer Groups]: doc/api/customer-groups.md
|
138
142
|
[Customer Segments]: doc/api/customer-segments.md
|
139
143
|
[Bank Accounts]: doc/api/bank-accounts.md
|
@@ -141,6 +145,7 @@ rake
|
|
141
145
|
[Checkout]: doc/api/checkout.md
|
142
146
|
[Catalog]: doc/api/catalog.md
|
143
147
|
[Customers]: doc/api/customers.md
|
148
|
+
[Customer Custom Attributes]: doc/api/customer-custom-attributes.md
|
144
149
|
[Employees]: doc/api/employees.md
|
145
150
|
[Inventory]: doc/api/inventory.md
|
146
151
|
[Labor]: doc/api/labor.md
|
@@ -162,5 +167,6 @@ rake
|
|
162
167
|
[Sites]: doc/api/sites.md
|
163
168
|
[Snippets]: doc/api/snippets.md
|
164
169
|
[Cards]: doc/api/cards.md
|
170
|
+
[Payouts]: doc/api/payouts.md
|
165
171
|
[Gift Cards]: doc/api/gift-cards.md
|
166
172
|
[Gift Card Activities]: doc/api/gift-card-activities.md
|
data/lib/square/api/base_api.rb
CHANGED
@@ -20,6 +20,13 @@ module Square
|
|
20
20
|
end
|
21
21
|
end
|
22
22
|
|
23
|
+
def validate_parameters_types(args)
|
24
|
+
args.each do |_name, type|
|
25
|
+
key, val = type.first
|
26
|
+
APIHelper.validate_types(key, val) unless key.nil?
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
23
30
|
def execute_request(request, binary: false)
|
24
31
|
@http_call_back&.on_before_request(request)
|
25
32
|
|
@@ -38,7 +45,7 @@ module Square
|
|
38
45
|
end
|
39
46
|
|
40
47
|
def get_user_agent
|
41
|
-
user_agent = 'Square-Ruby-SDK/
|
48
|
+
user_agent = 'Square-Ruby-SDK/21.0.0.20220720 ({api-version}) {engine}/{engine-version} ({os-info}) {detail}'
|
42
49
|
user_agent['{engine}'] = RUBY_ENGINE
|
43
50
|
user_agent['{engine-version}'] = RUBY_ENGINE_VERSION
|
44
51
|
user_agent['{os-info}'] = RUBY_PLATFORM
|
@@ -74,6 +74,9 @@ module Square
|
|
74
74
|
# `APPOINTMENTS_WRITE` for the OAuth scope.
|
75
75
|
# To call this endpoint with seller-level permissions, set
|
76
76
|
# `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth scope.
|
77
|
+
# For calls to this endpoint with seller-level permissions to succeed, the
|
78
|
+
# seller must have subscribed to *Appointments Plus*
|
79
|
+
# or *Appointments Premium*.
|
77
80
|
# @param [CreateBookingRequest] body Required parameter: An object
|
78
81
|
# containing the fields to POST for the request. See the corresponding
|
79
82
|
# object definition for field details.
|
@@ -175,9 +178,9 @@ module Square
|
|
175
178
|
end
|
176
179
|
|
177
180
|
# Lists booking profiles for team members.
|
178
|
-
# @param [
|
179
|
-
# include only bookable team members in the returned result
|
180
|
-
# (`false`).
|
181
|
+
# @param [TrueClass|FalseClass] bookable_only Optional parameter: Indicates
|
182
|
+
# whether to include only bookable team members in the returned result
|
183
|
+
# (`true`) or not (`false`).
|
181
184
|
# @param [Integer] limit Optional parameter: The maximum number of results
|
182
185
|
# to return in a paged response.
|
183
186
|
# @param [String] cursor Optional parameter: The pagination cursor from the
|
@@ -303,6 +306,9 @@ module Square
|
|
303
306
|
# `APPOINTMENTS_WRITE` for the OAuth scope.
|
304
307
|
# To call this endpoint with seller-level permissions, set
|
305
308
|
# `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth scope.
|
309
|
+
# For calls to this endpoint with seller-level permissions to succeed, the
|
310
|
+
# seller must have subscribed to *Appointments Plus*
|
311
|
+
# or *Appointments Premium*.
|
306
312
|
# @param [String] booking_id Required parameter: The ID of the
|
307
313
|
# [Booking]($m/Booking) object representing the to-be-updated booking.
|
308
314
|
# @param [UpdateBookingRequest] body Required parameter: An object
|
@@ -348,6 +354,9 @@ module Square
|
|
348
354
|
# `APPOINTMENTS_WRITE` for the OAuth scope.
|
349
355
|
# To call this endpoint with seller-level permissions, set
|
350
356
|
# `APPOINTMENTS_ALL_WRITE` and `APPOINTMENTS_WRITE` for the OAuth scope.
|
357
|
+
# For calls to this endpoint with seller-level permissions to succeed, the
|
358
|
+
# seller must have subscribed to *Appointments Plus*
|
359
|
+
# or *Appointments Premium*.
|
351
360
|
# @param [String] booking_id Required parameter: The ID of the
|
352
361
|
# [Booking]($m/Booking) object representing the to-be-cancelled booking.
|
353
362
|
# @param [CancelBookingRequest] body Required parameter: An object
|
data/lib/square/api/cards_api.rb
CHANGED
@@ -15,8 +15,9 @@ module Square
|
|
15
15
|
# @param [String] customer_id Optional parameter: Limit results to cards
|
16
16
|
# associated with the customer supplied. By default, all cards owned by the
|
17
17
|
# merchant are returned.
|
18
|
-
# @param [
|
19
|
-
# cards. By default, all enabled cards owned by the
|
18
|
+
# @param [TrueClass|FalseClass] include_disabled Optional parameter:
|
19
|
+
# Includes disabled cards. By default, all enabled cards owned by the
|
20
|
+
# merchant are returned.
|
20
21
|
# @param [String] reference_id Optional parameter: Limit results to cards
|
21
22
|
# associated with the reference_id supplied.
|
22
23
|
# @param [SortOrder] sort_order Optional parameter: Sorts the returned list
|
@@ -316,11 +316,11 @@ module Square
|
|
316
316
|
# Square API used to make the request. Object types that are nested onto
|
317
317
|
# other object types are not included in the defaults. At the current API
|
318
318
|
# version the default object types are: ITEM, CATEGORY, TAX, DISCOUNT,
|
319
|
-
# MODIFIER_LIST,
|
320
|
-
#
|
321
|
-
#
|
322
|
-
# @param [
|
323
|
-
# the catalog objects to be included in the response. This allows you to
|
319
|
+
# MODIFIER_LIST, PRICING_RULE, PRODUCT_SET, TIME_PERIOD, MEASUREMENT_UNIT,
|
320
|
+
# SUBSCRIPTION_PLAN, ITEM_OPTION, CUSTOM_ATTRIBUTE_DEFINITION,
|
321
|
+
# QUICK_AMOUNT_SETTINGS.
|
322
|
+
# @param [Integer] catalog_version Optional parameter: The specific version
|
323
|
+
# of the catalog objects to be included in the response. This allows you to
|
324
324
|
# retrieve historical versions of objects. The specified version value is
|
325
325
|
# matched against the [CatalogObject]($m/CatalogObject)s' `version`
|
326
326
|
# attribute. If not included, results will be from the current version of
|
@@ -448,26 +448,26 @@ module Square
|
|
448
448
|
# any [CatalogTax]($m/CatalogTax) objects that apply to it.
|
449
449
|
# @param [String] object_id Required parameter: The object ID of any type of
|
450
450
|
# catalog objects to be retrieved.
|
451
|
-
# @param [
|
452
|
-
# the response will include additional objects that are related
|
453
|
-
# requested objects. Related objects are defined as any objects
|
454
|
-
# by ID by the results in the `objects` field of the response.
|
455
|
-
# are put in the `related_objects` field. Setting this to
|
456
|
-
# when the objects are needed for immediate display to a
|
457
|
-
# only goes one level deep. Objects referenced by the
|
458
|
-
# not be included. For example, if the `objects` field
|
459
|
-
# contains a CatalogItem, its associated CatalogCategory
|
460
|
-
# objects, CatalogImage objects and CatalogModifierLists
|
461
|
-
# the `related_objects` field of the response. If the
|
462
|
-
# response contains a CatalogItemVariation, its
|
463
|
-
# returned in the `related_objects` field of the
|
464
|
-
# `false`
|
465
|
-
# @param [
|
466
|
-
# specific version of the catalog. This allows you to retrieve
|
467
|
-
# versions of objects. The value to retrieve a specific version
|
468
|
-
# can be found in the version field of
|
469
|
-
# If not included, results will be from
|
470
|
-
# catalog.
|
451
|
+
# @param [TrueClass|FalseClass] include_related_objects Optional parameter:
|
452
|
+
# If `true`, the response will include additional objects that are related
|
453
|
+
# to the requested objects. Related objects are defined as any objects
|
454
|
+
# referenced by ID by the results in the `objects` field of the response.
|
455
|
+
# These objects are put in the `related_objects` field. Setting this to
|
456
|
+
# `true` is helpful when the objects are needed for immediate display to a
|
457
|
+
# user. This process only goes one level deep. Objects referenced by the
|
458
|
+
# related objects will not be included. For example, if the `objects` field
|
459
|
+
# of the response contains a CatalogItem, its associated CatalogCategory
|
460
|
+
# objects, CatalogTax objects, CatalogImage objects and CatalogModifierLists
|
461
|
+
# will be returned in the `related_objects` field of the response. If the
|
462
|
+
# `objects` field of the response contains a CatalogItemVariation, its
|
463
|
+
# parent CatalogItem will be returned in the `related_objects` field of the
|
464
|
+
# response. Default value: `false`
|
465
|
+
# @param [Integer] catalog_version Optional parameter: Requests objects as
|
466
|
+
# of a specific version of the catalog. This allows you to retrieve
|
467
|
+
# historical versions of objects. The value to retrieve a specific version
|
468
|
+
# of an object can be found in the version field of
|
469
|
+
# [CatalogObject]($m/CatalogObject)s. If not included, results will be from
|
470
|
+
# the current version of the catalog.
|
471
471
|
# @return [RetrieveCatalogObjectResponse Hash] response from the API call
|
472
472
|
def retrieve_catalog_object(object_id:,
|
473
473
|
include_related_objects: false,
|
@@ -8,6 +8,13 @@ module Square
|
|
8
8
|
# Links a `checkoutId` to a `checkout_page_url` that customers are
|
9
9
|
# directed to in order to provide their payment information using a
|
10
10
|
# payment processing workflow hosted on connect.squareup.com.
|
11
|
+
# NOTE: The Checkout API has been updated with new features.
|
12
|
+
# For more information, see [Checkout API
|
13
|
+
# highlights](https://developer.squareup.com/docs/checkout-api#checkout-api-
|
14
|
+
# highlights).
|
15
|
+
# We recommend that you use the
|
16
|
+
# new [CreatePaymentLink]($e/Checkout/CreatePaymentLink)
|
17
|
+
# endpoint in place of this previously released endpoint.
|
11
18
|
# @param [String] location_id Required parameter: The ID of the business
|
12
19
|
# location to associate the checkout with.
|
13
20
|
# @param [CreateCheckoutRequest] body Required parameter: An object
|
@@ -47,5 +54,200 @@ module Square
|
|
47
54
|
_response, data: decoded, errors: _errors
|
48
55
|
)
|
49
56
|
end
|
57
|
+
|
58
|
+
# Lists all payment links.
|
59
|
+
# @param [String] cursor Optional parameter: A pagination cursor returned by
|
60
|
+
# a previous call to this endpoint. Provide this cursor to retrieve the
|
61
|
+
# next set of results for the original query. If a cursor is not provided,
|
62
|
+
# the endpoint returns the first page of the results. For more
|
63
|
+
# information, see
|
64
|
+
# [Pagination](https://developer.squareup.com/docs/basics/api101/pagination)
|
65
|
+
# .
|
66
|
+
# @param [Integer] limit Optional parameter: A limit on the number of
|
67
|
+
# results to return per page. The limit is advisory and the implementation
|
68
|
+
# might return more or less results. If the supplied limit is negative,
|
69
|
+
# zero, or greater than the maximum limit of 1000, it is ignored. Default
|
70
|
+
# value: `100`
|
71
|
+
# @return [ListPaymentLinksResponse Hash] response from the API call
|
72
|
+
def list_payment_links(cursor: nil,
|
73
|
+
limit: nil)
|
74
|
+
# Prepare query url.
|
75
|
+
_query_builder = config.get_base_uri
|
76
|
+
_query_builder << '/v2/online-checkout/payment-links'
|
77
|
+
_query_builder = APIHelper.append_url_with_query_parameters(
|
78
|
+
_query_builder,
|
79
|
+
'cursor' => cursor,
|
80
|
+
'limit' => limit
|
81
|
+
)
|
82
|
+
_query_url = APIHelper.clean_url _query_builder
|
83
|
+
|
84
|
+
# Prepare headers.
|
85
|
+
_headers = {
|
86
|
+
'accept' => 'application/json'
|
87
|
+
}
|
88
|
+
|
89
|
+
# Prepare and execute HttpRequest.
|
90
|
+
_request = config.http_client.get(
|
91
|
+
_query_url,
|
92
|
+
headers: _headers
|
93
|
+
)
|
94
|
+
OAuth2.apply(config, _request)
|
95
|
+
_response = execute_request(_request)
|
96
|
+
|
97
|
+
# Return appropriate response type.
|
98
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
99
|
+
_errors = APIHelper.map_response(decoded, ['errors'])
|
100
|
+
ApiResponse.new(
|
101
|
+
_response, data: decoded, errors: _errors
|
102
|
+
)
|
103
|
+
end
|
104
|
+
|
105
|
+
# Creates a Square-hosted checkout page. Applications can share the
|
106
|
+
# resulting payment link with their buyer to pay for goods and services.
|
107
|
+
# @param [CreatePaymentLinkRequest] body Required parameter: An object
|
108
|
+
# containing the fields to POST for the request. See the corresponding
|
109
|
+
# object definition for field details.
|
110
|
+
# @return [CreatePaymentLinkResponse Hash] response from the API call
|
111
|
+
def create_payment_link(body:)
|
112
|
+
# Prepare query url.
|
113
|
+
_query_builder = config.get_base_uri
|
114
|
+
_query_builder << '/v2/online-checkout/payment-links'
|
115
|
+
_query_url = APIHelper.clean_url _query_builder
|
116
|
+
|
117
|
+
# Prepare headers.
|
118
|
+
_headers = {
|
119
|
+
'accept' => 'application/json',
|
120
|
+
'Content-Type' => 'application/json'
|
121
|
+
}
|
122
|
+
|
123
|
+
# Prepare and execute HttpRequest.
|
124
|
+
_request = config.http_client.post(
|
125
|
+
_query_url,
|
126
|
+
headers: _headers,
|
127
|
+
parameters: body.to_json
|
128
|
+
)
|
129
|
+
OAuth2.apply(config, _request)
|
130
|
+
_response = execute_request(_request)
|
131
|
+
|
132
|
+
# Return appropriate response type.
|
133
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
134
|
+
_errors = APIHelper.map_response(decoded, ['errors'])
|
135
|
+
ApiResponse.new(
|
136
|
+
_response, data: decoded, errors: _errors
|
137
|
+
)
|
138
|
+
end
|
139
|
+
|
140
|
+
# Deletes a payment link.
|
141
|
+
# @param [String] id Required parameter: The ID of the payment link to
|
142
|
+
# delete.
|
143
|
+
# @return [DeletePaymentLinkResponse Hash] response from the API call
|
144
|
+
def delete_payment_link(id:)
|
145
|
+
# Prepare query url.
|
146
|
+
_query_builder = config.get_base_uri
|
147
|
+
_query_builder << '/v2/online-checkout/payment-links/{id}'
|
148
|
+
_query_builder = APIHelper.append_url_with_template_parameters(
|
149
|
+
_query_builder,
|
150
|
+
'id' => { 'value' => id, 'encode' => true }
|
151
|
+
)
|
152
|
+
_query_url = APIHelper.clean_url _query_builder
|
153
|
+
|
154
|
+
# Prepare headers.
|
155
|
+
_headers = {
|
156
|
+
'accept' => 'application/json'
|
157
|
+
}
|
158
|
+
|
159
|
+
# Prepare and execute HttpRequest.
|
160
|
+
_request = config.http_client.delete(
|
161
|
+
_query_url,
|
162
|
+
headers: _headers
|
163
|
+
)
|
164
|
+
OAuth2.apply(config, _request)
|
165
|
+
_response = execute_request(_request)
|
166
|
+
|
167
|
+
# Return appropriate response type.
|
168
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
169
|
+
_errors = APIHelper.map_response(decoded, ['errors'])
|
170
|
+
ApiResponse.new(
|
171
|
+
_response, data: decoded, errors: _errors
|
172
|
+
)
|
173
|
+
end
|
174
|
+
|
175
|
+
# Retrieves a payment link.
|
176
|
+
# @param [String] id Required parameter: The ID of link to retrieve.
|
177
|
+
# @return [RetrievePaymentLinkResponse Hash] response from the API call
|
178
|
+
def retrieve_payment_link(id:)
|
179
|
+
# Prepare query url.
|
180
|
+
_query_builder = config.get_base_uri
|
181
|
+
_query_builder << '/v2/online-checkout/payment-links/{id}'
|
182
|
+
_query_builder = APIHelper.append_url_with_template_parameters(
|
183
|
+
_query_builder,
|
184
|
+
'id' => { 'value' => 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.get(
|
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
|
+
# Updates a payment link. You can update the `payment_link` fields such as
|
210
|
+
# `description`, `checkout_options`, and `pre_populated_data`.
|
211
|
+
# You cannot update other fields such as the `order_id`, `version`, `URL`,
|
212
|
+
# or `timestamp` field.
|
213
|
+
# @param [String] id Required parameter: The ID of the payment link to
|
214
|
+
# update.
|
215
|
+
# @param [UpdatePaymentLinkRequest] body Required parameter: An object
|
216
|
+
# containing the fields to POST for the request. See the corresponding
|
217
|
+
# object definition for field details.
|
218
|
+
# @return [UpdatePaymentLinkResponse Hash] response from the API call
|
219
|
+
def update_payment_link(id:,
|
220
|
+
body:)
|
221
|
+
# Prepare query url.
|
222
|
+
_query_builder = config.get_base_uri
|
223
|
+
_query_builder << '/v2/online-checkout/payment-links/{id}'
|
224
|
+
_query_builder = APIHelper.append_url_with_template_parameters(
|
225
|
+
_query_builder,
|
226
|
+
'id' => { 'value' => id, 'encode' => true }
|
227
|
+
)
|
228
|
+
_query_url = APIHelper.clean_url _query_builder
|
229
|
+
|
230
|
+
# Prepare headers.
|
231
|
+
_headers = {
|
232
|
+
'accept' => 'application/json',
|
233
|
+
'Content-Type' => 'application/json'
|
234
|
+
}
|
235
|
+
|
236
|
+
# Prepare and execute HttpRequest.
|
237
|
+
_request = config.http_client.put(
|
238
|
+
_query_url,
|
239
|
+
headers: _headers,
|
240
|
+
parameters: body.to_json
|
241
|
+
)
|
242
|
+
OAuth2.apply(config, _request)
|
243
|
+
_response = execute_request(_request)
|
244
|
+
|
245
|
+
# Return appropriate response type.
|
246
|
+
decoded = APIHelper.json_deserialize(_response.raw_body)
|
247
|
+
_errors = APIHelper.map_response(decoded, ['errors'])
|
248
|
+
ApiResponse.new(
|
249
|
+
_response, data: decoded, errors: _errors
|
250
|
+
)
|
251
|
+
end
|
50
252
|
end
|
51
253
|
end
|