beyond_api 0.18.0.pre → 0.21.0.pre

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 (50) hide show
  1. checksums.yaml +4 -4
  2. data/.env.template +3 -0
  3. data/.rubocop.yml +35 -0
  4. data/CHANGELOG.md +34 -0
  5. data/Gemfile +6 -0
  6. data/Gemfile.lock +68 -8
  7. data/Rakefile +4 -2
  8. data/beyond_api.gemspec +13 -9
  9. data/bin/console +2 -1
  10. data/lib/beyond_api/connection.rb +17 -6
  11. data/lib/beyond_api/error.rb +6 -6
  12. data/lib/beyond_api/ext.rb +16 -16
  13. data/lib/beyond_api/request.rb +25 -6
  14. data/lib/beyond_api/resources/carts.rb +52 -23
  15. data/lib/beyond_api/resources/categories_view.rb +16 -6
  16. data/lib/beyond_api/resources/newsletter_target.rb +10 -4
  17. data/lib/beyond_api/resources/orders.rb +152 -33
  18. data/lib/beyond_api/resources/payment_method_definitions.rb +11 -4
  19. data/lib/beyond_api/resources/product_attribute_definitions.rb +16 -4
  20. data/lib/beyond_api/resources/products/attachments.rb +0 -2
  21. data/lib/beyond_api/resources/products/availability.rb +20 -11
  22. data/lib/beyond_api/resources/products/cross_sells.rb +0 -1
  23. data/lib/beyond_api/resources/products/custom_attributes.rb +0 -1
  24. data/lib/beyond_api/resources/products/images.rb +36 -11
  25. data/lib/beyond_api/resources/products/searches.rb +62 -1
  26. data/lib/beyond_api/resources/products/variation_properties.rb +0 -1
  27. data/lib/beyond_api/resources/products/videos.rb +4 -3
  28. data/lib/beyond_api/resources/products.rb +28 -9
  29. data/lib/beyond_api/resources/products_view.rb +21 -5
  30. data/lib/beyond_api/resources/script_tags.rb +21 -5
  31. data/lib/beyond_api/resources/shipping_zones.rb +53 -12
  32. data/lib/beyond_api/resources/shop.rb +9 -2
  33. data/lib/beyond_api/resources/shops/address.rb +0 -1
  34. data/lib/beyond_api/resources/shops/attributes.rb +0 -1
  35. data/lib/beyond_api/resources/shops/images.rb +12 -9
  36. data/lib/beyond_api/resources/shops/legals.rb +14 -7
  37. data/lib/beyond_api/resources/shops/locations.rb +0 -1
  38. data/lib/beyond_api/resources/signers.rb +12 -3
  39. data/lib/beyond_api/resources/token.rb +6 -5
  40. data/lib/beyond_api/resources/users.rb +73 -15
  41. data/lib/beyond_api/resources/variations/availability.rb +17 -5
  42. data/lib/beyond_api/resources/variations/images.rb +92 -18
  43. data/lib/beyond_api/resources/variations.rb +14 -3
  44. data/lib/beyond_api/resources/webhook_subscriptions.rb +30 -8
  45. data/lib/beyond_api/session.rb +7 -1
  46. data/lib/beyond_api/utils.rb +55 -42
  47. data/lib/beyond_api/version.rb +3 -1
  48. data/lib/beyond_api.rb +3 -1
  49. data/lib/generators/beyond_api/install_generator.rb +1 -1
  50. metadata +61 -17
@@ -4,7 +4,6 @@ require "beyond_api/utils"
4
4
 
5
5
  module BeyondApi
6
6
  module ProductImages
7
-
8
7
  #
9
8
  # A +POST+ request is used to create an image and add it to a product.
10
9
  #
@@ -163,7 +162,7 @@ module BeyondApi
163
162
  #
164
163
  def sort_images(product_id, image_ids)
165
164
  body = image_ids.map { |image_id| "#{@session.api_url}/products/#{product_id}/images/#{image_id}" }
166
- response, status = BeyondApi::Request.put(@session, "/products/#{product_id}/images", body)
165
+ response, status = BeyondApi::Request.put(@session, "/products/#{product_id}/images", body.join("\n"), {}, 'text/uri-list')
167
166
 
168
167
  handle_response(response, status, respond_with_true: true)
169
168
  end
@@ -186,19 +185,45 @@ module BeyondApi
186
185
  # session.products.upload_image("4125b993-49fc-47c8-b9b3-76d8871e4e06", "/home/epages/file.png", "file.png")
187
186
  #
188
187
  def upload_image(product_id, image_path, image_name)
189
- content_type = case File.extname(image_path)
190
- when ".png"
191
- "image/png"
192
- when ".jpg", ".jpeg"
193
- "image/jpeg"
194
- when ".gif"
195
- "image/gif"
196
- end
188
+ content_type = file_content_type(image_path)
197
189
  image_binary = File.binread(image_path)
198
190
 
199
- response, status = BeyondApi::Request.upload(@session, "/products/#{product_id}/images", image_binary, content_type, { file_name: image_name })
191
+ response, status = BeyondApi::Request.upload(@session,
192
+ "/products/#{product_id}/images",
193
+ image_binary,
194
+ content_type,
195
+ { file_name: image_name })
200
196
 
201
197
  handle_response(response, status, respond_with_true: true)
202
198
  end
199
+
200
+ # A +POST+ request is used to upload up to 10 images and add them to a product. The body of the request must contain the content of the images.
201
+ #
202
+ # $ curl 'https://api-shop.beyondshop.cloud/api/products/4125b993-49fc-47c8-b9b3-76d8871e4e06/images?fileName=file.png&fileName=file2.png' -i -X POST \
203
+ # -H 'Content-Type: multipart/form-data' \
204
+ # -H 'Authorization: Bearer <Access token>' \
205
+ # -F 'image=@/home/epages/file.png' \
206
+ # -F 'image=@/home/epages/file2.png'
207
+ #
208
+ # @beyond_api.scopes +prod:u+
209
+ #
210
+ # @param product_id [String] the product UUID
211
+ # @param images_path [Array] the images path
212
+ # @param images_name [Array] the images name
213
+ #
214
+ # @return true
215
+ #
216
+ # @example
217
+ # session.products.upload_multiple_images("4125b993-49fc-47c8-b9b3-76d8871e4e06",
218
+ # ["/home/epages/file.png", "/home/epages/file2.png"], ["file.png", "file2.png"])
219
+ #
220
+ def upload_multiple_images(product_id, images_path, images_name)
221
+ response, status = BeyondApi::Request.upload_by_form(@session,
222
+ "/products/#{product_id}/images",
223
+ images_path,
224
+ file_name: images_name)
225
+
226
+ handle_response(response, status)
227
+ end
203
228
  end
204
229
  end
@@ -4,6 +4,66 @@ require "beyond_api/utils"
4
4
 
5
5
  module BeyondApi
6
6
  module ProductSearches
7
+ #
8
+ # A +POST+ request is used to search for products by a search term. Optionally, you can also filter the search results.
9
+ #
10
+ # $ curl 'https://api-shop.beyondshop.cloud/api/products/search' -i -X POST \
11
+ # -H 'Content-Type: application/hal+json;charset=UTF-8' \
12
+ # -H 'Accept: application/hal+json' \
13
+ # -H 'Authorization: Bearer <Access token>'
14
+ # -d '{
15
+ # "search" : {
16
+ # "term" : "Tony Highfinger, Poloshirt, Men",
17
+ # "category" : "NAME"
18
+ # },
19
+ # "filters" : [ {
20
+ # "key" : "status",
21
+ # "values" : [ "PUBLISHED" ]
22
+ # } ],
23
+ # "paging" : {
24
+ # "page" : 0,
25
+ # "pageSize" : 20,
26
+ # "sort" : {
27
+ # "property" : "name",
28
+ # "direction" : "ASC"
29
+ # }
30
+ # }
31
+ # }'
32
+ #
33
+ # @beyond_api.scopes +prod:r+
34
+ #
35
+ # @param body [String] the request body
36
+ #
37
+ # @return [OpenStruct]
38
+ #
39
+ # @example
40
+ # body = {
41
+ # search: {
42
+ # term: "Tony Highfinger, Poloshirt, Men",
43
+ # category: "NAME"
44
+ # },
45
+ # filters: [ {
46
+ # key: "status",
47
+ # values: [ "PUBLISHED" ]
48
+ # } ],
49
+ # paging: {
50
+ # page: 0,
51
+ # page_size: 20,
52
+ # sort: {
53
+ # property: "name",
54
+ # direction: "ASC"
55
+ # }
56
+ # }
57
+ # }
58
+ # @products = session.product.search(body)
59
+ #
60
+ def search(body)
61
+ response, status = BeyondApi::Request.post(@session,
62
+ "/products/search",
63
+ body)
64
+
65
+ handle_response(response, status)
66
+ end
7
67
 
8
68
  #
9
69
  # A +GET+ request is used to search for a product by SKU.
@@ -44,7 +104,8 @@ module BeyondApi
44
104
  # @tags = session.product.search_tags_starting_by("aw")
45
105
  #
46
106
  def search_tags_starting_by(starts_with, params = {})
47
- response, status = BeyondApi::Request.get(@session, "/products/search/tags", params.merge(starts_with: starts_with))
107
+ response, status = BeyondApi::Request.get(@session, "/products/search/tags",
108
+ params.merge(starts_with: starts_with))
48
109
 
49
110
  handle_response(response, status)
50
111
  end
@@ -4,7 +4,6 @@ require "beyond_api/utils"
4
4
 
5
5
  module BeyondApi
6
6
  module ProductVariationProperties
7
-
8
7
  #
9
8
  # A +PATCH+ request is used to update the variation properties of a variation product.
10
9
  #
@@ -4,7 +4,6 @@ require "beyond_api/utils"
4
4
 
5
5
  module BeyondApi
6
6
  module ProductVideos
7
-
8
7
  #
9
8
  # A +POST+ request is used to create a video and add it to a product.
10
9
  #
@@ -137,8 +136,10 @@ module BeyondApi
137
136
  # @example
138
137
  # @videos = session.products.videos("04c6ad65-465d-405e-a428-f73349104b65", size: 100, page: 0)
139
138
  #
140
- def videos(product_id, params = {})
141
- response, status = BeyondApi::Request.get(@session, "/products/#{product_id}/videos", params)
139
+ def videos(product_id, params = {})
140
+ response, status = BeyondApi::Request.get(@session,
141
+ "/products/#{product_id}/videos",
142
+ params)
142
143
 
143
144
  handle_response(response, status)
144
145
  end
@@ -43,7 +43,9 @@ module BeyondApi
43
43
  # @products = session.products.all(size: 100, page: 0)
44
44
  #
45
45
  def all(params = {})
46
- handle_all_request("/products", :products, params)
46
+ path = "/products"
47
+
48
+ handle_all_request(path, :products, params)
47
49
  end
48
50
 
49
51
  #
@@ -166,7 +168,11 @@ module BeyondApi
166
168
  # @product = session.products.create(body)
167
169
  #
168
170
  def create(body)
169
- response, status = BeyondApi::Request.post(@session, "/products", body)
171
+ path = "/products"
172
+
173
+ response, status = BeyondApi::Request.post(@session,
174
+ path,
175
+ body)
170
176
 
171
177
  handle_response(response, status)
172
178
  end
@@ -188,7 +194,10 @@ module BeyondApi
188
194
  # session.products.delete("c06c61af-f99a-4698-90fa-8c3199ca732f")
189
195
  #
190
196
  def delete(product_id)
191
- response, status = BeyondApi::Request.delete(@session, "/products/#{product_id}")
197
+ path = "/products/#{product_id}"
198
+
199
+ response, status = BeyondApi::Request.delete(@session,
200
+ path)
192
201
 
193
202
  handle_response(response, status, respond_with_true: true)
194
203
  end
@@ -211,7 +220,10 @@ module BeyondApi
211
220
  # @product = session.products.find("75ebcb57-aefb-4963-8225-060c528e070d")
212
221
  #
213
222
  def find(product_id)
214
- response, status = BeyondApi::Request.get(@session, "/products/#{product_id}")
223
+ path = "/products/#{product_id}"
224
+
225
+ response, status = BeyondApi::Request.get(@session,
226
+ path)
215
227
 
216
228
  handle_response(response, status)
217
229
  end
@@ -247,7 +259,11 @@ module BeyondApi
247
259
  # @product = session.products.update("b69e3f47-03b8-40d2-843c-ae89a3d9bcdd", body)
248
260
  #
249
261
  def update(product_id, body)
250
- response, status = BeyondApi::Request.patch(@session, "/products/#{product_id}", body)
262
+ path = "/products/#{product_id}"
263
+
264
+ response, status = BeyondApi::Request.patch(@session,
265
+ path,
266
+ body)
251
267
 
252
268
  handle_response(response, status)
253
269
  end
@@ -271,13 +287,16 @@ module BeyondApi
271
287
  # session.products.assign_variation_images_differentiator("f205294b-17dc-4f75-8b5e-5df72abb96df", "491fedf4-37a9-4bcf-98b8-cff2f82879b7")
272
288
  #
273
289
  def assign_variation_attribute_as_differentiator(product_id, variation_attribute_id)
274
- response, status = BeyondApi::Request.post(@session, "/products/#{product_id}/variation-attributes/#{variation_attribute_id}/make-differentiator")
290
+ path = "/products/#{product_id}/variation-attributes/#{variation_attribute_id}/make-differentiator"
291
+
292
+ response, status = BeyondApi::Request.post(@session,
293
+ path)
275
294
 
276
295
  handle_response(response, status, respond_with_true: true)
277
296
  end
278
297
 
279
- alias_method :create_variation, :create
280
- alias_method :find_variation, :find
281
- alias_method :update_variation, :update
298
+ alias create_variation create
299
+ alias find_variation find
300
+ alias update_variation update
282
301
  end
283
302
  end
@@ -23,7 +23,9 @@ module BeyondApi
23
23
  # @products = session.products_view.all(page: 0, size: 100)
24
24
  #
25
25
  def all(params = {})
26
- handle_all_request("/product-view/products", :products, params)
26
+ path = "/product-view/products"
27
+
28
+ handle_all_request(path, :products, params)
27
29
  end
28
30
 
29
31
  #
@@ -39,7 +41,10 @@ module BeyondApi
39
41
  # @tags = session.products_view.available_tags
40
42
  #
41
43
  def available_tags
42
- response, status = BeyondApi::Request.get(@session, "/product-view/products/search/find-available-tags")
44
+ path = "/product-view/products/search/find-available-tags"
45
+
46
+ response, status = BeyondApi::Request.get(@session,
47
+ path)
43
48
 
44
49
  handle_response(response, status)
45
50
  end
@@ -60,7 +65,10 @@ module BeyondApi
60
65
  # @product = session.products_view.find("f75f8fb2-5a48-4d94-aad6-3d3692c06472")
61
66
  #
62
67
  def find(product_id)
63
- response, status = BeyondApi::Request.get(@session, "/product-view/products/#{product_id}")
68
+ path = "/product-view/products/#{product_id}"
69
+
70
+ response, status = BeyondApi::Request.get(@session,
71
+ path)
64
72
 
65
73
  handle_response(response, status)
66
74
  end
@@ -82,7 +90,11 @@ module BeyondApi
82
90
  # @products = session.products_view.search_by_tag("number0", {page: 0, size: 100})
83
91
  #
84
92
  def search_by_tag(tag, params = {})
85
- response, status = BeyondApi::Request.get(@session, "/product-view/products/search/find-by-tags", params.merge(tag: tag))
93
+ path = "/product-view/products/search/find-by-tags"
94
+
95
+ response, status = BeyondApi::Request.get(@session,
96
+ path,
97
+ params.merge(tag: tag))
86
98
 
87
99
  handle_response(response, status)
88
100
  end
@@ -104,7 +116,11 @@ module BeyondApi
104
116
  # @products = session.products_view.search_by_term("search snippet", {page: 0, size: 100})
105
117
  #
106
118
  def search_by_term(term, params = {})
107
- response, status = BeyondApi::Request.get(@session, "/product-view/products/search/find-by-term", params.merge(query: term))
119
+ path = "/product-view/products/search/find-by-term"
120
+
121
+ response, status = BeyondApi::Request.get(@session,
122
+ path,
123
+ params.merge(query: term))
108
124
 
109
125
  handle_response(response, status)
110
126
  end
@@ -22,7 +22,9 @@ module BeyondApi
22
22
  # @script_tags = session.script_tags.all(size: 20, page: 0)
23
23
  #
24
24
  def all(params = {})
25
- handle_all_request("/script-tags", :script_tags, params)
25
+ path = "/script-tags"
26
+
27
+ handle_all_request(path, :script_tags, params)
26
28
  end
27
29
 
28
30
  #
@@ -39,7 +41,10 @@ module BeyondApi
39
41
  # @script_tag = session.script_tags.find("df170ab1-13ae-4955-8b51-2478246acf59")
40
42
  #
41
43
  def find(script_tag_id)
42
- response, status = BeyondApi::Request.get(@session, "/script-tags/#{script_tag_id}")
44
+ path = "/script-tags/#{script_tag_id}"
45
+
46
+ response, status = BeyondApi::Request.get(@session,
47
+ path)
43
48
 
44
49
  handle_response(response, status)
45
50
  end
@@ -65,7 +70,11 @@ module BeyondApi
65
70
  # @script_tag = session.script_tags.create("https://example.org/js/fancy-script.js")
66
71
  #
67
72
  def create(script_tag_url)
68
- response, status = BeyondApi::Request.post(@session, "/script-tags", { script_url: script_tag_url })
73
+ path = "/script-tags"
74
+
75
+ response, status = BeyondApi::Request.post(@session,
76
+ path,
77
+ { script_url: script_tag_url })
69
78
 
70
79
  handle_response(response, status)
71
80
  end
@@ -86,7 +95,10 @@ module BeyondApi
86
95
  # session.script_tags.delete("4a9f7776-d74d-4311-8ddb-121bd5407520")
87
96
  #
88
97
  def delete(script_tag_id)
89
- response, status = BeyondApi::Request.delete(@session, "/script-tags/#{script_tag_id}")
98
+ path = "/script-tags/#{script_tag_id}"
99
+
100
+ response, status = BeyondApi::Request.delete(@session,
101
+ path)
90
102
 
91
103
  handle_response(response, status, respond_with_true: true)
92
104
  end
@@ -113,7 +125,11 @@ module BeyondApi
113
125
  # @script_tag = session.script_tags.create("https://example.org/scripts/someOtherScript.js")
114
126
  #
115
127
  def update(script_tag_id, script_tag_url)
116
- response, status = BeyondApi::Request.put(@session, "/script-tags/#{script_tag_id}", { script_url: script_tag_url })
128
+ path = "/script-tags/#{script_tag_id}"
129
+
130
+ response, status = BeyondApi::Request.put(@session,
131
+ path,
132
+ { script_url: script_tag_url })
117
133
 
118
134
  handle_response(response, status)
119
135
  end
@@ -24,7 +24,9 @@ module BeyondApi
24
24
  # @shipping_zones = session.shipping_zones.all(size: 20, page: 0)
25
25
  #
26
26
  def all(params = {})
27
- handle_all_request("/shipping-zones", :shipping_zones, params)
27
+ path = "/shipping-zones"
28
+
29
+ handle_all_request(path, :shipping_zones, params)
28
30
  end
29
31
 
30
32
  #
@@ -52,7 +54,11 @@ module BeyondApi
52
54
  # @shipping_zone = session.shipping_zones.create(body)
53
55
  #
54
56
  def create(body)
55
- response, status = BeyondApi::Request.post(@session, "/shipping-zones", body)
57
+ path = "/shipping-zones"
58
+
59
+ response, status = BeyondApi::Request.post(@session,
60
+ path,
61
+ body)
56
62
 
57
63
  handle_response(response, status)
58
64
  end
@@ -105,7 +111,11 @@ module BeyondApi
105
111
  # @shipping_zone = session.shipping_zones.create_shipping_method("905e981c-1489-45af-9138-0a7dc1f0b085", body)
106
112
  #
107
113
  def create_shipping_method(shipping_zone_id, body)
108
- response, status = BeyondApi::Request.post(@session, "/shipping-zones/#{shipping_zone_id}/shipping-methods", body)
114
+ path = "/shipping-zones/#{shipping_zone_id}/shipping-methods"
115
+
116
+ response, status = BeyondApi::Request.post(@session,
117
+ path,
118
+ body)
109
119
 
110
120
  handle_response(response, status)
111
121
  end
@@ -126,7 +136,10 @@ module BeyondApi
126
136
  # session.shipping_zones.delete("c871b402-b6d9-4c6d-b76c-440f61175805")
127
137
  #
128
138
  def delete(shipping_zone_id)
129
- response, status = BeyondApi::Request.delete(@session, "/shipping-zones/#{shipping_zone_id}")
139
+ path = "/shipping-zones/#{shipping_zone_id}"
140
+
141
+ response, status = BeyondApi::Request.delete(@session,
142
+ path)
130
143
 
131
144
  handle_response(response, status, respond_with_true: true)
132
145
  end
@@ -148,7 +161,10 @@ module BeyondApi
148
161
  # session.shipping_zones.delete_shipping_method("61c14c3c-ce26-4524-9713-f2ede7ff22fa", "d2eee203-a1c6-4035-8e7a-74bb77cfde47")
149
162
  #
150
163
  def delete_shipping_method(shipping_zone_id, shipping_method_id)
151
- response, status = BeyondApi::Request.delete(@session, "/shipping-zones/#{shipping_zone_id}/shipping_methods/#{shipping_method_id}")
164
+ path = "/shipping-zones/#{shipping_zone_id}/shipping_methods/#{shipping_method_id}"
165
+
166
+ response, status = BeyondApi::Request.delete(@session,
167
+ path)
152
168
 
153
169
  handle_response(response, status, respond_with_true: true)
154
170
  end
@@ -170,7 +186,10 @@ module BeyondApi
170
186
  # @shipping_zone = session.shipping_zones.find("27914098-c1f6-46aa-9e78-c7ac873e25b3")
171
187
  #
172
188
  def find(shipping_zone_id)
173
- response, status = BeyondApi::Request.get(@session, "/shipping-zones/#{shipping_zone_id}")
189
+ path = "/shipping-zones/#{shipping_zone_id}"
190
+
191
+ response, status = BeyondApi::Request.get(@session,
192
+ path)
174
193
 
175
194
  handle_response(response, status)
176
195
  end
@@ -187,7 +206,10 @@ module BeyondApi
187
206
  # @serviceable_countries = session.shipping_zones.find_serviceable_countries
188
207
  #
189
208
  def find_serviceable_countries
190
- response, status = BeyondApi::Request.get(@session, "/shipping-zones/search/find-all-serviceable-countries")
209
+ path = "/shipping-zones/search/find-all-serviceable-countries"
210
+
211
+ response, status = BeyondApi::Request.get(@session,
212
+ path)
191
213
 
192
214
  handle_response(response, status)
193
215
  end
@@ -209,7 +231,10 @@ module BeyondApi
209
231
  # @shipping_method = session.shipping_zones.shipping_method("61780dd6-0150-4fcf-953c-d10c52bab4ab", "13bd1fc9-706c-4774-923a-484a41aaab89")
210
232
  #
211
233
  def shipping_method(shipping_zone_id, shipping_method_id)
212
- response, status = BeyondApi::Request.get(@session, "/shipping-zones/#{shipping_zone_id}/shipping-methods/#{shipping_method_id}")
234
+ path = "/shipping-zones/#{shipping_zone_id}/shipping-methods/#{shipping_method_id}"
235
+
236
+ response, status = BeyondApi::Request.get(@session,
237
+ path)
213
238
 
214
239
  handle_response(response, status)
215
240
  end
@@ -233,7 +258,11 @@ module BeyondApi
233
258
  # @shipping_methods = session.shipping_zones.shipping_methods("8cc24465-3573-4eca-8323-b076bb724080", { size: 20, page: 0 })
234
259
  #
235
260
  def shipping_methods(shipping_zone_id, params = {})
236
- response, status = BeyondApi::Request.get(@session, "/shipping-zones/#{shipping_zone_id}/shipping-methods", params)
261
+ path = "/shipping-zones/#{shipping_zone_id}/shipping-methods"
262
+
263
+ response, status = BeyondApi::Request.get(@session,
264
+ path,
265
+ params)
237
266
 
238
267
  handle_response(response, status)
239
268
  end
@@ -260,8 +289,13 @@ module BeyondApi
260
289
  # session.shipping_zones.sort(shipping_zone_ids)
261
290
  #
262
291
  def sort(shipping_zone_ids)
292
+ path = "/shipping-zones"
293
+
263
294
  body = shipping_zone_ids.map { |id| "#{session.api_url}/shipping-zones/#{id}" }
264
- response, status = BeyondApi::Request.put(@session, "/shipping-zones", body)
295
+
296
+ response, status = BeyondApi::Request.put(@session,
297
+ path,
298
+ body)
265
299
 
266
300
  handle_response(response, status, respond_with_true: true)
267
301
  end
@@ -284,7 +318,10 @@ module BeyondApi
284
318
  # session.shipping_zones.sort_shipping_methods(shipping_zone_id)
285
319
  #
286
320
  def sort_shipping_methods(shipping_zone_id)
287
- response, status = BeyondApi::Request.put(@session, "/shipping-zones/#{shipping_zone_id}/shipping-methods")
321
+ path = "/shipping-zones/#{shipping_zone_id}/shipping-methods"
322
+
323
+ response, status = BeyondApi::Request.put(@session,
324
+ path)
288
325
 
289
326
  handle_response(response, status)
290
327
  end
@@ -315,7 +352,11 @@ module BeyondApi
315
352
  # @shipping_zone = session.shipping_zones.update("727b3cbf-01b1-442a-bd5c-94c51901f090", body)
316
353
  #
317
354
  def update(shipping_zone_id, body)
318
- response, status = BeyondApi::Request.put(@session, "/shipping-zones/#{shipping_zone_id}", body)
355
+ path = "/shipping-zones/#{shipping_zone_id}"
356
+
357
+ response, status = BeyondApi::Request.put(@session,
358
+ path,
359
+ body)
319
360
 
320
361
  handle_response(response, status)
321
362
  end
@@ -29,7 +29,10 @@ module BeyondApi
29
29
  # session.shop.current
30
30
  #
31
31
  def current
32
- response, status = BeyondApi::Request.get(@session, "/shop")
32
+ path = "/shop"
33
+
34
+ response, status = BeyondApi::Request.get(@session,
35
+ path)
33
36
 
34
37
  handle_response(response, status)
35
38
  end
@@ -81,7 +84,11 @@ module BeyondApi
81
84
  # session.shop.update(body)
82
85
  #
83
86
  def update(body)
84
- response, status = BeyondApi::Request.patch(@session, "/shop", body)
87
+ path = "/shop"
88
+
89
+ response, status = BeyondApi::Request.patch(@session,
90
+ path,
91
+ body)
85
92
 
86
93
  handle_response(response, status)
87
94
  end
@@ -4,7 +4,6 @@ require "beyond_api/utils"
4
4
 
5
5
  module BeyondApi
6
6
  module ShopAddress
7
-
8
7
  #
9
8
  # A +GET+ request is used to retrieve the details of a shop’s address.
10
9
  #
@@ -4,7 +4,6 @@ require "beyond_api/utils"
4
4
 
5
5
  module BeyondApi
6
6
  module ShopAttributes
7
-
8
7
  #
9
8
  # A +GET+ request is used to retrieve a particular shop attribute by its name.
10
9
  #
@@ -4,7 +4,6 @@ require "beyond_api/utils"
4
4
 
5
5
  module BeyondApi
6
6
  module ShopImages
7
-
8
7
  #
9
8
  # A +POST+ request is used to create a shop image.
10
9
  #
@@ -138,16 +137,20 @@ module BeyondApi
138
137
  #
139
138
  def upload_image(image_path, image_name, label)
140
139
  content_type = case File.extname(image_path)
141
- when ".png"
142
- "image/png"
143
- when ".jpg", ".jpeg"
144
- "image/jpeg"
145
- when ".gif"
146
- "image/gif"
147
- end
140
+ when ".png"
141
+ "image/png"
142
+ when ".jpg", ".jpeg"
143
+ "image/jpeg"
144
+ when ".gif"
145
+ "image/gif"
146
+ end
148
147
  image_binary = File.binread(image_path)
149
148
 
150
- response, status = BeyondApi::Request.upload(@session, "/shop/images", image_binary, content_type, { file_name: image_name, label: label })
149
+ response, status = BeyondApi::Request.upload(@session,
150
+ "/shop/images",
151
+ image_binary,
152
+ content_type,
153
+ { file_name: image_name, label: label })
151
154
 
152
155
  handle_response(response, status, respond_with_true: true)
153
156
  end
@@ -4,7 +4,6 @@ require "beyond_api/utils"
4
4
 
5
5
  module BeyondApi
6
6
  module ShopLegals
7
-
8
7
  #
9
8
  # A +GET+ request is used to retrieve a specific part of the legal content information.
10
9
  #
@@ -20,7 +19,8 @@ module BeyondApi
20
19
  # @legal_content = session.shop.legal_content("right-of-withdrawal")
21
20
  #
22
21
  def legal_content(legal_content_type)
23
- response, status = BeyondApi::Request.get(@session, "/legal-content/#{legal_content_type}")
22
+ response, status = BeyondApi::Request.get(@session,
23
+ "/legal-content/#{legal_content_type}")
24
24
 
25
25
  handle_response(response, status)
26
26
  end
@@ -41,7 +41,9 @@ module BeyondApi
41
41
  # @legal_content = session.shop.legal_contents(size: 5, page: 1)
42
42
  #
43
43
  def legal_contents(params = {})
44
- response, status = BeyondApi::Request.get(@session, "/legal-content", params)
44
+ response, status = BeyondApi::Request.get(@session,
45
+ "/legal-content",
46
+ params)
45
47
 
46
48
  handle_response(response, status)
47
49
  end
@@ -60,12 +62,13 @@ module BeyondApi
60
62
  # @legal_details = session.shop.legal_details
61
63
  #
62
64
  def legal_details
63
- response, status = BeyondApi::Request.get(@session, "/shop/legal")
65
+ response, status = BeyondApi::Request.get(@session,
66
+ "/shop/legal")
64
67
 
65
68
  handle_response(response, status)
66
69
  end
67
70
 
68
- #
71
+ #
69
72
  # A +PUT+ request is used to update the content of a specific part of the legal content information. Changes on the properties type and mandatory will be ignored.
70
73
  #
71
74
  # $ curl 'https://api-shop.beyondshop.cloud/api/legal-content/legal-notice' -i -X PUT \
@@ -86,7 +89,9 @@ module BeyondApi
86
89
  # session.shop.update_legal_content(body)
87
90
  #
88
91
  def update_legal_content(body)
89
- response, status = BeyondApi::Request.put(@session, "/legal-content/legal-notice")
92
+ response, status = BeyondApi::Request.put(@session,
93
+ "/legal-content/legal-notice",
94
+ body)
90
95
 
91
96
  handle_response(response, status)
92
97
  end
@@ -116,7 +121,9 @@ module BeyondApi
116
121
  # session.shop.update_legal_details(body)
117
122
  #
118
123
  def update_legal_details(body)
119
- response, status = BeyondApi::Request.patch(@session, "/shop/legal")
124
+ response, status = BeyondApi::Request.patch(@session,
125
+ "/shop/legal",
126
+ body)
120
127
 
121
128
  handle_response(response, status)
122
129
  end