beyond_api 0.5.1.pre → 0.6.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +57 -3
  3. data/Gemfile.lock +3 -3
  4. data/lib/beyond_api/resources/carts.rb +18 -9
  5. data/lib/beyond_api/resources/categories.rb +2 -2
  6. data/lib/beyond_api/resources/categories_view.rb +13 -2
  7. data/lib/beyond_api/resources/checkout_settings.rb +16 -1
  8. data/lib/beyond_api/resources/customers.rb +333 -0
  9. data/lib/beyond_api/resources/newsletter_target.rb +1 -1
  10. data/lib/beyond_api/resources/order_settings.rb +45 -28
  11. data/lib/beyond_api/resources/orders.rb +175 -87
  12. data/lib/beyond_api/resources/payment_methods.rb +28 -25
  13. data/lib/beyond_api/resources/product_attribute_definitions.rb +3 -5
  14. data/lib/beyond_api/resources/products/attachments.rb +13 -14
  15. data/lib/beyond_api/resources/products/availability.rb +12 -10
  16. data/lib/beyond_api/resources/products/cross_sells.rb +159 -0
  17. data/lib/beyond_api/resources/products/custom_attributes.rb +7 -7
  18. data/lib/beyond_api/resources/products/images.rb +47 -8
  19. data/lib/beyond_api/resources/products/videos.rb +146 -0
  20. data/lib/beyond_api/resources/products.rb +11 -9
  21. data/lib/beyond_api/resources/products_view.rb +6 -51
  22. data/lib/beyond_api/resources/shipping_zones.rb +5 -5
  23. data/lib/beyond_api/resources/shop.rb +16 -21
  24. data/lib/beyond_api/resources/signers.rb +1 -1
  25. data/lib/beyond_api/resources/users.rb +13 -10
  26. data/lib/beyond_api/resources/variations/images.rb +160 -0
  27. data/lib/beyond_api/resources/variations.rb +40 -37
  28. data/lib/beyond_api/resources/webhook_subscriptions.rb +1 -1
  29. data/lib/beyond_api/session.rb +5 -5
  30. data/lib/beyond_api/version.rb +1 -1
  31. metadata +7 -4
  32. data/lib/beyond_api/resources/product_settings.rb +0 -28
@@ -0,0 +1,146 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "beyond_api/utils"
4
+
5
+ module BeyondApi
6
+ module ProductVideos
7
+
8
+ #
9
+ # A +POST+ request is used to create a video and add it to a product.
10
+ #
11
+ # $ curl 'https://api-shop.beyondshop.cloud/api/products/f7716244-568c-4536-bc25-317030f83395/videos' -i -X POST \
12
+ # -H 'Content-Type: application/hal+json' \
13
+ # -H 'Accept: application/hal+json' \
14
+ # -H 'Authorization: Bearer <Access token>' \
15
+ # -d '{
16
+ # "type" : "VIMEO",
17
+ # "source" : "https://vimeo.com/7265982"
18
+ # }'
19
+ #
20
+ # @beyond_api.scopes +prod:u+
21
+ #
22
+ # @param product_id [String] the product UUID
23
+ # @param body [Hash] the request body
24
+ #
25
+ # @return [OpenStruct]
26
+ #
27
+ # @example
28
+ # body = {
29
+ # "type" => "VIMEO",
30
+ # "source" => "https://vimeo.com/7265982"
31
+ # }
32
+ # @video = session.products.add_video("f7716244-568c-4536-bc25-317030f83395", body)
33
+ #
34
+ def add_video(product_id, body)
35
+ response, status = BeyondApi::Request.post(@session, "/products/#{product_id}/videos", body)
36
+
37
+ handle_response(response, status)
38
+ end
39
+
40
+ #
41
+ # A +DELETE+ request is used to delete a product video
42
+ #
43
+ # $ curl 'https://api-shop.beyondshop.cloud/api/products/1cc9ef5e-62b1-43c7-8745-f4aa8be79934/videos/60869f60-1a4b-4013-b86c-00a2ab9ddc2c' -i -X DELETE \
44
+ # -H 'Content-Type: application/hal+json' \
45
+ # -H 'Accept: application/hal+json' \
46
+ # -H 'Authorization: Bearer <Access token>'
47
+ #
48
+ # @beyond_api.scopes +prod:u+
49
+ #
50
+ # @param product_id [String] the product UUID
51
+ # @param video_id [String] the video UUID
52
+ #
53
+ # @return [true]
54
+ #
55
+ # @example
56
+ # session.products.delete_video("1cc9ef5e-62b1-43c7-8745-f4aa8be79934", "60869f60-1a4b-4013-b86c-00a2ab9ddc2c")
57
+ #
58
+ def delete_video(product_id, video_id)
59
+ response, status = BeyondApi::Request.delete(@session, "/products/#{product_id}/videos/#{video_id}")
60
+
61
+ handle_response(response, status, respond_with_true: true)
62
+ end
63
+
64
+ #
65
+ # A +PUT+ request is used to update a video.
66
+ #
67
+ # $ curl 'https://api-shop.beyondshop.cloud/api/products/9d33da61-1f60-4ad3-9de0-2f1dc0910ebb/videos/ef51af21-5381-4ccb-a107-8bfa574d3556' -i -X PUT \
68
+ # -H 'Content-Type: application/hal+json' \
69
+ # -H 'Accept: application/hal+json' \
70
+ # -H 'Authorization: Bearer <Access token>' \
71
+ # -d '{
72
+ # "type" : "VIMEO",
73
+ # "source" : "https://vimeo.com/7265982"
74
+ # }'
75
+ #
76
+ # @beyond_api.scopes +prod:u+
77
+ #
78
+ # @param product_id [String] the product UUID
79
+ # @param video_id [String] the video UUID
80
+ # @param body [Hash] the request body
81
+ #
82
+ # @return [OpenStruct]
83
+ #
84
+ # @example
85
+ # body = {
86
+ # "type" => "VIMEO",
87
+ # "source" => "https://vimeo.com/7265982"
88
+ # }
89
+ # @video = session.products.update_video("9d33da61-1f60-4ad3-9de0-2f1dc0910ebb", "ef51af21-5381-4ccb-a107-8bfa574d3556", body)
90
+ #
91
+ def update_video(product_id, video_id, body)
92
+ response, status = BeyondApi::Request.put(@session, "/products/#{product_id}/videos/#{video_id}", body)
93
+
94
+ handle_response(response, status)
95
+ end
96
+
97
+ #
98
+ # A +GET+ request is used to retrieve a single video of a product.
99
+ #
100
+ # $ curl 'https://api-shop.beyondshop.cloud/api/products/94c3baf9-1390-4bf8-a6c1-fb234533fa14/videos/ada27b8c-ddf0-489a-9143-5bec938c1e17' -i -X GET \
101
+ # -H 'Content-Type: application/hal+json' \
102
+ # -H 'Accept: application/hal+json' \
103
+ # -H 'Authorization: Bearer <Access token>'
104
+ #
105
+ # @beyond_api.scopes +prod:r+
106
+ #
107
+ # @param product_id [String] the product UUID
108
+ # @param video_id [String] the video UUID
109
+ #
110
+ # @return [OpenStruct]
111
+ #
112
+ # @example
113
+ # @video = session.products.video("94c3baf9-1390-4bf8-a6c1-fb234533fa14", "ada27b8c-ddf0-489a-9143-5bec938c1e17")
114
+ #
115
+ def video(product_id, video_id)
116
+ response, status = BeyondApi::Request.get(@session, "/products/#{product_id}/videos/#{video_id}")
117
+
118
+ handle_response(response, status)
119
+ end
120
+
121
+ #
122
+ # A +GET+ request is used to retrieve the videos of a product.
123
+ #
124
+ # $ curl 'https://api-shop.beyondshop.cloud/api/products/04c6ad65-465d-405e-a428-f73349104b65/videos' -i -X GET \
125
+ # -H 'Content-Type: application/hal+json' \
126
+ # -H 'Accept: application/hal+json' \
127
+ # -H 'Authorization: Bearer <Access token>'
128
+ #
129
+ # @beyond_api.scopes +prod:r+
130
+ #
131
+ # @param product_id [String] the product UUID
132
+ # @option params [Integer] :size the page size
133
+ # @option params [Integer] :page the page number
134
+ #
135
+ # @return [OpenStruct]
136
+ #
137
+ # @example
138
+ # @videos = session.products.videos("04c6ad65-465d-405e-a428-f73349104b65", size: 100, page: 0)
139
+ #
140
+ def videos(product_id, params = {})
141
+ response, status = BeyondApi::Request.get(@session, "/products/#{product_id}/videos", params)
142
+
143
+ handle_response(response, status)
144
+ end
145
+ end
146
+ end
@@ -3,19 +3,23 @@
3
3
  require "beyond_api/utils"
4
4
  require "beyond_api/resources/products/attachments"
5
5
  require "beyond_api/resources/products/availability"
6
+ require "beyond_api/resources/products/cross_sells"
6
7
  require "beyond_api/resources/products/custom_attributes"
7
8
  require "beyond_api/resources/products/images"
8
9
  require "beyond_api/resources/products/searches"
9
10
  require "beyond_api/resources/products/variation_properties"
11
+ require "beyond_api/resources/products/videos"
10
12
 
11
13
  module BeyondApi
12
14
  class Products < Base
13
15
  include BeyondApi::ProductAttachments
14
16
  include BeyondApi::ProductAvailability
17
+ include BeyondApi::ProductCrossSells
15
18
  include BeyondApi::ProductCustomAttributes
16
19
  include BeyondApi::ProductImages
17
20
  include BeyondApi::ProductSearches
18
21
  include BeyondApi::ProductVariationProperties
22
+ include BeyondApi::ProductVideos
19
23
  include BeyondApi::Utils
20
24
 
21
25
  #
@@ -74,7 +78,6 @@ module BeyondApi
74
78
  # "amount" : 99.95,
75
79
  # "currency" : "EUR"
76
80
  # },
77
- # "onSale" : true,
78
81
  # "visible" : true,
79
82
  # "taxClass" : "REGULAR",
80
83
  # "shippingWeight" : 100,
@@ -134,7 +137,6 @@ module BeyondApi
134
137
  # "amount": 99.95,
135
138
  # "currency": "EUR"
136
139
  # },
137
- # "onSale": true,
138
140
  # "visible": true,
139
141
  # "taxClass": "REGULAR",
140
142
  # "shippingWeight": 100,
@@ -183,7 +185,7 @@ module BeyondApi
183
185
  # @return true
184
186
  #
185
187
  # @example
186
- # session.products.delete("f461fb56-1984-4ade-bd4e-007c273cc923")
188
+ # session.products.delete("c06c61af-f99a-4698-90fa-8c3199ca732f")
187
189
  #
188
190
  def delete(product_id)
189
191
  response, status = BeyondApi::Request.delete(@session, "/products/#{product_id}")
@@ -206,7 +208,7 @@ module BeyondApi
206
208
  # @return [OpenStruct]
207
209
  #
208
210
  # @example
209
- # @product = session.products.find("f461fb56-1984-4ade-bd4e-007c273cc923")
211
+ # @product = session.products.find("75ebcb57-aefb-4963-8225-060c528e070d")
210
212
  #
211
213
  def find(product_id)
212
214
  response, status = BeyondApi::Request.get(@session, "/products/#{product_id}")
@@ -224,10 +226,10 @@ module BeyondApi
224
226
  # -H 'Accept: application/hal+json' \
225
227
  # -H 'Authorization: Bearer <Access token>' \
226
228
  # -d '{
227
- # "name" : "patched name",
228
- # "description" : "patched description. <p><br></p><blockquote> <ol><li><strong>\n<h1></h1><h6></h6><em><a href=\"http://example.com\" target=\"_blank\"><u>this is my test html</u></a>\n</em></strong> </li></ol> </blockquote>",
229
- # "productIdentifiers" : null,
230
- # "manufacturer" : "patched manufacturer"
229
+ # "name" : "patched name",
230
+ # "description" : "patched description. <p><br></p><blockquote> <ol><li><strong>\n<h1></h1><h6></h6><em><a href=\"http://example.com\" target=\"_blank\"><u>this is my test html</u></a>\n</em></strong> </li></ol> </blockquote>",
231
+ # "productIdentifiers" : null,
232
+ # "manufacturer" : "patched manufacturer"
231
233
  # }'
232
234
  #
233
235
  # @param product_id [String] the product UUID
@@ -242,7 +244,7 @@ module BeyondApi
242
244
  # "productIdentifiers": null,
243
245
  # "manufacturer": "patched manufacturer"
244
246
  # }
245
- # @product = session.products.update("75ebcb57-aefb-4963-8225-060c528e070d", body)
247
+ # @product = session.products.update("b69e3f47-03b8-40d2-843c-ae89a3d9bcdd", body)
246
248
  #
247
249
  def update(product_id, body)
248
250
  response, status = BeyondApi::Request.patch(@session, "/products/#{product_id}", body)
@@ -19,10 +19,10 @@ module BeyondApi
19
19
  # @return [OpenStruct]
20
20
  #
21
21
  # @example
22
- # @products = session.product_view_products.all(page: 0, size: 100)
22
+ # @products = session.products_view.all(page: 0, size: 100)
23
23
  #
24
24
  def all(params = {})
25
- response, status = BeyondApi::Request.get(@session, "/product-view/products")
25
+ response, status = BeyondApi::Request.get(@session, "/product-view/products", params)
26
26
 
27
27
  handle_response(response, status)
28
28
  end
@@ -37,7 +37,7 @@ module BeyondApi
37
37
  # @return [OpenStruct]
38
38
  #
39
39
  # @example
40
- # @tags = session.product_view_products.available_tags
40
+ # @tags = session.products_view.available_tags
41
41
  #
42
42
  def available_tags
43
43
  response, status = BeyondApi::Request.get(@session, "/product-view/products/search/find-available-tags")
@@ -58,7 +58,7 @@ module BeyondApi
58
58
  # @return [OpenStruct]
59
59
  #
60
60
  # @example
61
- # @product = session.product_view_products.find("e3e86c45-de19-4179-87a4-f5f7756a0294")
61
+ # @product = session.products_view.find("f75f8fb2-5a48-4d94-aad6-3d3692c06472")
62
62
  #
63
63
  def find(product_id)
64
64
  response, status = BeyondApi::Request.get(@session, "/product-view/products/#{product_id}")
@@ -66,51 +66,6 @@ module BeyondApi
66
66
  handle_response(response, status)
67
67
  end
68
68
 
69
- #
70
- # A +POST+ request is used to search for products using a query provided as request body.
71
- #
72
- # $ curl 'https://api-shop.beyondshop.cloud/api/product-view/products/search/find-by-query' -i -X POST \
73
- # -H 'Content-Type: application/json' \
74
- # -H 'Accept: application/hal+json' \
75
- # -d '{ "query": {"bool":{"filter":[{"term":{"tags":"number0"}},{"range":{"salesPrice.amount":{"lte":8.7}}},{"range":{"createdAt":{"gte":"now-1h"}}}]}}, "sort": "name.keyword"}'
76
- #
77
- # @param query [String] the hash to search
78
- #
79
- # @return [OpenStruct]
80
- #
81
- # @example
82
- # body = {
83
- # "query"=> {
84
- # "bool"=> {
85
- # "filter"=> [{
86
- # "term"=> {
87
- # "tags"=> "number0"
88
- # }
89
- # }, {
90
- # "range"=> {
91
- # "salesPrice.amount"=> {
92
- # "lte"=> 8.7
93
- # }
94
- # }
95
- # }, {
96
- # "range"=> {
97
- # "createdAt"=> {
98
- # "gte"=> "now-1h"
99
- # }
100
- # }
101
- # }]
102
- # }
103
- # },
104
- # "sort"=> "name.keyword"
105
- # }
106
- # @products = session.product_view_products.search_by_query(body)
107
- #
108
- def search_by_query(query)
109
- response, status = BeyondApi::Request.post(@session, "/product-view/products/search/find-by-query", body)
110
-
111
- handle_response(response, status)
112
- end
113
-
114
69
  #
115
70
  # A +GET+ request is used to search for products matching any tag of the list given by a client. The intention is to offer product search capabilities for a shop’s storefront.
116
71
  #
@@ -125,7 +80,7 @@ module BeyondApi
125
80
  # @return [OpenStruct]
126
81
  #
127
82
  # @example
128
- # @products = session.product_view_products.search_by_tag("number0", page: 0, size: 100)
83
+ # @products = session.products_view.search_by_tag("number0", {page: 0, size: 100})
129
84
  #
130
85
  def search_by_tag(tag, params = {})
131
86
  response, status = BeyondApi::Request.get(@session, "/product-view/products/search/find-by-tags", params.merge(tag: tag))
@@ -147,7 +102,7 @@ module BeyondApi
147
102
  # @return [OpenStruct]
148
103
  #
149
104
  # @example
150
- # @products = session.product_view_products.search_by_term("search snippet", page: 0, size: 100)
105
+ # @products = session.products_view.search_by_term("search snippet", {page: 0, size: 100})
151
106
  #
152
107
  def search_by_term(term, params = {})
153
108
  response, status = BeyondApi::Request.get(@session, "/product-view/products/search/find-by-term", params.merge(query: term))
@@ -103,7 +103,7 @@ module BeyondApi
103
103
  # "amount" => "19.99"
104
104
  # }
105
105
  # }
106
- # @shipping_zone = session.shipping_zones.create("905e981c-1489-45af-9138-0a7dc1f0b085", body)
106
+ # @shipping_zone = session.shipping_zones.create_shipping_method("905e981c-1489-45af-9138-0a7dc1f0b085", body)
107
107
  #
108
108
  def create_shipping_method(shipping_zone_id, body)
109
109
  response, status = BeyondApi::Request.post(@session, "/shipping-zones/#{shipping_zone_id}/shipping-methods", body)
@@ -240,15 +240,15 @@ module BeyondApi
240
240
  end
241
241
 
242
242
  #
243
- # A `PUT` request is used to sort the shipping zones. This is done by passing the self-links of the shipping zones in the desired order.all
243
+ # A +PUT+ request is used to sort the shipping zones. This is done by passing the self-links of the shipping zones in the desired order.all
244
244
  # The request must contain URIs for all shipping zones of the given page.
245
245
  #
246
246
  # $ curl 'https://api-shop.beyondshop.cloud/api/shipping-zones' -i -X PUT \
247
247
  # -H 'Content-Type: text/uri-list' \
248
248
  # -H 'Authorization: Bearer <Access token>' \
249
249
  # -d 'https://api-shop.beyondshop.cloud/api/shipping-zones/9fa80513-be11-494f-ac01-61832e0d7808
250
- # https://api-shop.beyondshop.cloud/api/shipping-zones/f0911d4c-1ab0-4bbd-88e3-cb675cbb7da7
251
- # https://api-shop.beyondshop.cloud/api/shipping-zones/ef2e7cb7-820e-4d62-b361-12240f635164'
250
+ # https://api-shop.beyondshop.cloud/api/shipping-zones/f0911d4c-1ab0-4bbd-88e3-cb675cbb7da7
251
+ # https://api-shop.beyondshop.cloud/api/shipping-zones/ef2e7cb7-820e-4d62-b361-12240f635164'
252
252
  #
253
253
  # @beyond_api.scopes +shpz:u+
254
254
  #
@@ -261,7 +261,7 @@ module BeyondApi
261
261
  # session.shipping_zones.sort(shipping_zone_ids)
262
262
  #
263
263
  def sort(shipping_zone_ids)
264
- body = shipping_zone_ids.map { |shipping_zone_id| "#{session.api_url}/shipping-zones/#{id}" }
264
+ body = shipping_zone_ids.map { |id| "#{session.api_url}/shipping-zones/#{id}" }
265
265
  response, status = BeyondApi::Request.put(@session, "/shipping-zones", body)
266
266
 
267
267
  handle_response(response, status, respond_with_true: true)
@@ -9,10 +9,7 @@ module BeyondApi
9
9
  #
10
10
  # A +GET+ request is used to retrieve the details of a shop’s address.
11
11
  #
12
- # $ curl 'https://api-shop.beyondshop.cloud/api/shop/address' -i -X GET \
13
- # -H 'Authorization: Bearer <Access token>'
14
- #
15
- # @beyond_api.scopes +shad:r+
12
+ # $ curl 'https://api-shop.beyondshop.cloud/api/shop/address' -i -X GET
16
13
  #
17
14
  # @return [OpenStruct]
18
15
  #
@@ -141,7 +138,7 @@ module BeyondApi
141
138
  #
142
139
  # @example
143
140
  # body = {
144
- # "dataUri" => "file.png?hash=212-2323-4343",
141
+ # "data_uri" => "file.png?hash=212-2323-4343",
145
142
  # "label" => "logo"
146
143
  # }
147
144
  #
@@ -225,7 +222,7 @@ module BeyondApi
225
222
  # @return [OpenStruct]
226
223
  #
227
224
  # @example
228
- # session.shop.image("2feee7ac-f1cb-4faf-9488-f3ce07394141")
225
+ # @image = session.shop.image("2feee7ac-f1cb-4faf-9488-f3ce07394141")
229
226
  #
230
227
  def image(image_id)
231
228
  response, status = BeyondApi::Request.get(@session, "/shop/images/#{image_id}")
@@ -245,7 +242,7 @@ module BeyondApi
245
242
  # @return [OpenStruct]
246
243
  #
247
244
  # @example
248
- # session.shop.images(size: 5, page: 1)
245
+ # @images = session.shop.images(size: 5, page: 1)
249
246
  #
250
247
  def images(params = {})
251
248
  response, status = BeyondApi::Request.get(@session, "/shop/images", params)
@@ -265,10 +262,10 @@ module BeyondApi
265
262
  # @return [OpenStruct]
266
263
  #
267
264
  # @example
268
- # session.shop.legal_content("right-of-withdrawal")
265
+ # @legal_content = session.shop.legal_content("right-of-withdrawal")
269
266
  #
270
267
  def legal_content(legal_content_type)
271
- response, status = BeyondApi::Request.get(@session, "/legal-content/right-of-withdrawal")
268
+ response, status = BeyondApi::Request.get(@session, "/legal-content/#{legal_content_type}")
272
269
 
273
270
  handle_response(response, status)
274
271
  end
@@ -286,10 +283,10 @@ module BeyondApi
286
283
  # @return [OpenStruct]
287
284
  #
288
285
  # @example
289
- # session.shop.legal_contents(size: 5, page: 1)
286
+ # @legal_content = session.shop.legal_contents(size: 5, page: 1)
290
287
  #
291
288
  def legal_contents(params = {})
292
- response, status = BeyondApi::Request.get(@session, "/legal-content")
289
+ response, status = BeyondApi::Request.get(@session, "/legal-content", params)
293
290
 
294
291
  handle_response(response, status)
295
292
  end
@@ -305,7 +302,7 @@ module BeyondApi
305
302
  # @return [OpenStruct]
306
303
  #
307
304
  # @example
308
- # session.shop.legal_details
305
+ # @legal_details = session.shop.legal_details
309
306
  #
310
307
  def legal_details
311
308
  response, status = BeyondApi::Request.get(@session, "/shop/legal")
@@ -361,7 +358,6 @@ module BeyondApi
361
358
  # -H 'Authorization: Bearer <Access token>' \
362
359
  # -d '{
363
360
  # "name" : "anotherName",
364
- # "closedShopMessage" : "This shop is opening soon.",
365
361
  # "primaryHostname" : "cornershop.amazingdiscounts.xyz",
366
362
  # "fallbackHostname" : "cornershop.beyondshop.cloud",
367
363
  # "tax" : {
@@ -384,24 +380,23 @@ module BeyondApi
384
380
  # @example
385
381
  # body = {
386
382
  # "name" => "anotherName",
387
- # "closedShopMessage" => "This shop is opening soon.",
388
- # "primaryHostname" => "cornershop.amazingdiscounts.xyz",
389
- # "fallbackHostname" => "cornershop.beyondshop.cloud",
383
+ # "primary_hostname" => "cornershop.amazingdiscounts.xyz",
384
+ # "fallback_hostname" => "cornershop.beyondshop.cloud",
390
385
  # "tax" => {
391
386
  # "taxModel" => "GROSS",
392
387
  # "vatExempted" => false
393
388
  # },
394
389
  # "currencies" => [ "EUR", "USD", "GBP" ],
395
- # "defaultCurrency" => "USD",
390
+ # "default_currency" => "USD",
396
391
  # "locales" => [ "en-GB", "de-DE" ],
397
- # "defaultLocale" => "en-GB",
398
- # "closedByMerchant" => false
392
+ # "default_locale" => "en-GB",
393
+ # "closed_by_merchant" => false
399
394
  # }
400
395
  #
401
396
  # session.shop.update(body)
402
397
  #
403
398
  def update(body)
404
- response, status = BeyondApi::Request.patch(@session, "/shop")
399
+ response, status = BeyondApi::Request.patch(@session, "/shop", body)
405
400
 
406
401
  handle_response(response, status)
407
402
  end
@@ -513,7 +508,7 @@ module BeyondApi
513
508
  #
514
509
  # @example
515
510
  # body = {
516
- # "vatId" => "GB 111111111"
511
+ # "vat_id" => "GB 111111111"
517
512
  # }
518
513
  #
519
514
  # session.shop.update_legal_details(body)
@@ -34,7 +34,7 @@ module BeyondApi
34
34
  # @return [OpenStruct]
35
35
  #
36
36
  # @example
37
- # @signers = session.signers.create
37
+ # @signer = session.signers.create
38
38
  #
39
39
  def create
40
40
  response, status = BeyondApi::Request.post(@session, "/signers")
@@ -46,7 +46,7 @@ module BeyondApi
46
46
  # @return [OpenStruct]
47
47
  #
48
48
  # @example
49
- # session.users.all(params = {})
49
+ # @users = session.users.all(size: 100, page: 0)
50
50
  #
51
51
  def all(params = {})
52
52
  response, status = BeyondApi::Request.get(@session, "/users")
@@ -95,8 +95,6 @@ module BeyondApi
95
95
  # "newUsername" : "new username"
96
96
  # }'
97
97
  #
98
- # @beyond_api.scopes ++
99
- #
100
98
  # @param user_id [String] the user UUID
101
99
  # @param new_username [String] the new username
102
100
  # @param current_password [String] the current password
@@ -132,7 +130,12 @@ module BeyondApi
132
130
  # @return [OpenStruct]
133
131
  #
134
132
  # @example
135
- # session.users.create(body)
133
+ # body = {
134
+ # "username" => "user",
135
+ # "password" => "GoodPassword01!;)",
136
+ # "email" => "baxter@example.org"
137
+ # }
138
+ # @user = session.users.create(body)
136
139
  #
137
140
  def create(body)
138
141
  response, status = BeyondApi::Request.post(@session, "/users", body)
@@ -197,7 +200,7 @@ module BeyondApi
197
200
  # @return [OpenStruct]
198
201
  #
199
202
  # @example
200
- # session.users.find(user_id)
203
+ # @user = session.users.find("e4b528ce-bb9e-4cc5-95e1-7dadfa4cf0f3")
201
204
  #
202
205
  def find(user_id)
203
206
  response, status = BeyondApi::Request.get(@session, "/users/#{user_id}")
@@ -218,7 +221,7 @@ module BeyondApi
218
221
  # @return [OpenStruct]
219
222
  #
220
223
  # @example
221
- # session.users.roles(user_id)
224
+ # @roles = session.users.roles("0d4bd0a5-94dc-498e-b6a6-305c619bb20d")
222
225
  #
223
226
  def roles(user_id)
224
227
  response, status = BeyondApi::Request.get(@session, "/users/#{user_id}/roles")
@@ -240,7 +243,7 @@ module BeyondApi
240
243
  # @return [OpenStruct]
241
244
  #
242
245
  # @example
243
- # session.users.search_by_username(username)
246
+ # @user = session.users.search_by_username(username)
244
247
  #
245
248
  def search_by_username(username)
246
249
  response, status = BeyondApi::Request.get(@session, "/users/search/find-by-username", username: username)
@@ -351,7 +354,7 @@ module BeyondApi
351
354
  #
352
355
  # A +POST+ request is used to verify a password against the password guidelines.
353
356
  #
354
- # $ curl 'https://api-shop.beyondshop.cloud/api/users/verify-password' -i -X POST \
357
+ # $ curl 'https://api-shop.beyondshop.cloud/api/users/verify-password?userRole=merchant' -i -X POST \
355
358
  # -H 'Content-Type: application/json' \
356
359
  # -H 'Accept: application/json' \
357
360
  # -d '{
@@ -367,8 +370,8 @@ module BeyondApi
367
370
  # @example
368
371
  # session.users.verify_password(password)
369
372
  #
370
- def verify_password(password)
371
- response, status = BeyondApi::Request.post(@session, "/users/verify-password", password: password)
373
+ def verify_password(password, user_role)
374
+ response, status = BeyondApi::Request.post(@session, "/users/verify-password", password: password, user_role: user_role)
372
375
 
373
376
  handle_response(response, status, respond_with_true: true)
374
377
  end