beyond_api 0.1.0.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/.rspec +3 -0
- data/.travis.yml +7 -0
- data/.yardopts +1 -0
- data/CHANGELOG.md +4 -0
- data/CONTRIBUTING.md +48 -0
- data/GETTING_STARTED.md +0 -0
- data/Gemfile +6 -0
- data/Gemfile.lock +55 -0
- data/LICENSE +19 -0
- data/README.md +51 -0
- data/Rakefile +11 -0
- data/beyond_api.gemspec +31 -0
- data/bin/console +18 -0
- data/bin/setup +8 -0
- data/lib/beyond_api.rb +37 -0
- data/lib/beyond_api/connection.rb +30 -0
- data/lib/beyond_api/ext.rb +43 -0
- data/lib/beyond_api/request.rb +55 -0
- data/lib/beyond_api/resources/base.rb +17 -0
- data/lib/beyond_api/resources/carts.rb +547 -0
- data/lib/beyond_api/resources/categories.rb +168 -0
- data/lib/beyond_api/resources/categories_view.rb +142 -0
- data/lib/beyond_api/resources/checkout_settings.rb +48 -0
- data/lib/beyond_api/resources/newsletter_target.rb +97 -0
- data/lib/beyond_api/resources/order_settings.rb +80 -0
- data/lib/beyond_api/resources/orders.rb +968 -0
- data/lib/beyond_api/resources/payment_methods.rb +192 -0
- data/lib/beyond_api/resources/product_attribute_definitions.rb +109 -0
- data/lib/beyond_api/resources/product_settings.rb +28 -0
- data/lib/beyond_api/resources/products.rb +245 -0
- data/lib/beyond_api/resources/products/attachments.rb +119 -0
- data/lib/beyond_api/resources/products/availability.rb +177 -0
- data/lib/beyond_api/resources/products/custom_attributes.rb +141 -0
- data/lib/beyond_api/resources/products/images.rb +165 -0
- data/lib/beyond_api/resources/products/searches.rb +52 -0
- data/lib/beyond_api/resources/products/variation_properties.rb +87 -0
- data/lib/beyond_api/resources/products_view.rb +158 -0
- data/lib/beyond_api/resources/scopes.rb +31 -0
- data/lib/beyond_api/resources/script_tags.rb +122 -0
- data/lib/beyond_api/resources/shipping_zones.rb +324 -0
- data/lib/beyond_api/resources/shop.rb +561 -0
- data/lib/beyond_api/resources/signers.rb +63 -0
- data/lib/beyond_api/resources/token.rb +41 -0
- data/lib/beyond_api/resources/users.rb +376 -0
- data/lib/beyond_api/resources/variations.rb +145 -0
- data/lib/beyond_api/resources/variations/availability.rb +105 -0
- data/lib/beyond_api/resources/webhook_subscriptions.rb +176 -0
- data/lib/beyond_api/session.rb +121 -0
- data/lib/beyond_api/utils.rb +51 -0
- data/lib/beyond_api/version.rb +3 -0
- data/lib/generators/beyond_api/install_generator.rb +13 -0
- data/lib/generators/templates/beyond_api_initializer.rb +29 -0
- metadata +194 -0
@@ -0,0 +1,168 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "beyond_api/utils"
|
4
|
+
|
5
|
+
module BeyondApi
|
6
|
+
class Categories < Base
|
7
|
+
include BeyondApi::Utils
|
8
|
+
|
9
|
+
#
|
10
|
+
# A +GET+ request is used to list all available categories in a paged manner.
|
11
|
+
#
|
12
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/categories' -i -X GET \
|
13
|
+
# -H 'Content-Type: application/json' \
|
14
|
+
# -H 'Accept: application/hal+json' \
|
15
|
+
# -H 'Authorization: Bearer <Access token>'
|
16
|
+
#
|
17
|
+
# @beyond_api.scopes +catg:r+
|
18
|
+
#
|
19
|
+
# @option params [Integer] :size the page size
|
20
|
+
# @option params [Integer] :page the page number
|
21
|
+
#
|
22
|
+
# @return [OpenStruct]
|
23
|
+
#
|
24
|
+
# @example
|
25
|
+
# @categories = session.categories.all(size: 100, page: 0)
|
26
|
+
#
|
27
|
+
def all(params = {})
|
28
|
+
response, status = BeyondApi::Request.get(@session, "/categories", params)
|
29
|
+
|
30
|
+
handle_response(response, status)
|
31
|
+
end
|
32
|
+
|
33
|
+
#
|
34
|
+
# A +POST+ request is used to create a category.
|
35
|
+
#
|
36
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/categories' -i -X POST \
|
37
|
+
# -H 'Content-Type: application/json' \
|
38
|
+
# -H 'Authorization: Bearer <Access token>' \
|
39
|
+
# -d '{"name":"Power Bars","label":"power-bar","type":"SMART","query":{"bool":{"filter":{"term":{"tags":"power-bar"}}}}}'
|
40
|
+
#
|
41
|
+
# @beyond_api.scopes +catg:c+
|
42
|
+
#
|
43
|
+
# @param body [Hash] the request body
|
44
|
+
#
|
45
|
+
# @return [OpenStruct]
|
46
|
+
#
|
47
|
+
# @example
|
48
|
+
# body = {
|
49
|
+
# "name" => "Power Bars",
|
50
|
+
# "label" => "power-bar",
|
51
|
+
# "type" => "SMART",
|
52
|
+
# "query" => { "bool" => { "filter" => { "term" : { "tags" => "power-bar" } } } }
|
53
|
+
# }
|
54
|
+
# @category = session.categories.create(body)
|
55
|
+
#
|
56
|
+
def create(body)
|
57
|
+
response, status = BeyondApi::Request.post(@session, "/categories", body)
|
58
|
+
|
59
|
+
handle_response(response, status)
|
60
|
+
end
|
61
|
+
|
62
|
+
#
|
63
|
+
# A +DELETE+ request is used to delete a category.
|
64
|
+
#
|
65
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/categories/f461fb56-1984-4ade-bd4e-007c273cc923' -i -X DELETE \
|
66
|
+
# -H 'Accept: application/hal+json' \
|
67
|
+
# -H 'Authorization: Bearer <Access token>'
|
68
|
+
#
|
69
|
+
# @beyond_api.scopes +catg:d+
|
70
|
+
#
|
71
|
+
# @param category_id [String] the category UUID
|
72
|
+
#
|
73
|
+
# @return true
|
74
|
+
#
|
75
|
+
# @example
|
76
|
+
# session.categories.delete("f461fb56-1984-4ade-bd4e-007c273cc923")
|
77
|
+
#
|
78
|
+
def delete(category_id)
|
79
|
+
response, status = BeyondApi::Request.delete(@session, "/categories/#{category_id}")
|
80
|
+
|
81
|
+
handle_response(response, status, respond_with_true: true)
|
82
|
+
end
|
83
|
+
|
84
|
+
#
|
85
|
+
# A +GET+ request is used to retrieve the details of a category.
|
86
|
+
#
|
87
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/categories/27a94b71-9b17-4f06-9596-fbbf4d18021f' -i -X GET \
|
88
|
+
# -H 'Content-Type: application/json' \
|
89
|
+
# -H 'Accept: application/hal+json' \
|
90
|
+
# -H 'Authorization: Bearer <Access token>'
|
91
|
+
#
|
92
|
+
# @beyond_api.scopes +catg:r+
|
93
|
+
#
|
94
|
+
# @param category_id [String] the category UUID
|
95
|
+
#
|
96
|
+
# @return [OpenStruct]
|
97
|
+
#
|
98
|
+
# @example
|
99
|
+
# @category = session.categories.find(category_id)
|
100
|
+
#
|
101
|
+
def find(category_id)
|
102
|
+
response, status = BeyondApi::Request.get(@session, "/categories/#{category_id}")
|
103
|
+
|
104
|
+
handle_response(response, status)
|
105
|
+
end
|
106
|
+
|
107
|
+
#
|
108
|
+
# A +PATCH+ request is used to update a category partially with json patch content type.
|
109
|
+
#
|
110
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/categories/49250b7a-79a8-48d0-a71c-fc417965928d' -i -X PATCH \
|
111
|
+
# -H 'Content-Type: application/json-patch+json' \
|
112
|
+
# -H 'Accept: application/hal+json' \
|
113
|
+
# -H 'Authorization: Bearer <Access token>' \
|
114
|
+
# -d '{"name":"patched name","type":"MANUAL","query":{"bool":{"filter":[{"terms":{"id":["6c449297-65fc-41aa-a49c-68a3561b33e5","6c449297-65fc-41aa-a49c-68a3561b33e6"]}}]}}}'
|
115
|
+
#
|
116
|
+
# @beyond_api.scopes +catg:u+
|
117
|
+
#
|
118
|
+
# @param category_id [String] the category UUID
|
119
|
+
# @param body [Hash] the request body
|
120
|
+
#
|
121
|
+
# @return [OpenStruct]
|
122
|
+
#
|
123
|
+
# @example
|
124
|
+
# body = {
|
125
|
+
# "name" => "patched name",
|
126
|
+
# "type" => "MANUAL",
|
127
|
+
# "query" => {"bool" => { "filter" => [ { "terms" => { "id" => [ "6c449297-65fc-41aa-a49c-68a3561b33e5", "6c449297-65fc-41aa-a49c-68a3561b33e6" ] } } ] } }
|
128
|
+
# }
|
129
|
+
# @category = session.categories.update("49250b7a-79a8-48d0-a71c-fc417965928d", body)
|
130
|
+
#
|
131
|
+
def patch(category_id, body)
|
132
|
+
response, status = BeyondApi::Request.patch(@session, "/categories/#{category_id}", body)
|
133
|
+
|
134
|
+
handle_response(response, status)
|
135
|
+
end
|
136
|
+
|
137
|
+
#
|
138
|
+
# A PUT request is issued to update all category properties with application/json content type.
|
139
|
+
#
|
140
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/categories/cb2058dc-871a-4e64-83ac-39a0be9e6f82' -i -X PUT \
|
141
|
+
# -H 'Content-Type: application/json' \
|
142
|
+
# -H 'Accept: application/hal+json' \
|
143
|
+
# -H 'Authorization: Bearer <Access token>' \
|
144
|
+
# -d '{"name":"updated name","label":"updated-name","type":"MANUAL","query":{"bool":{"filter":[{"terms":{"id":["6c449297-65fc-41aa-a49c-68a3561b33e5","6c449297-65fc-41aa-a49c-68a3561b33e6"]}}]}}}'
|
145
|
+
#
|
146
|
+
# @beyond_api.scopes +catg:u+
|
147
|
+
#
|
148
|
+
# @param category_id [String] the category UUID
|
149
|
+
# @param body [Hash] the request body
|
150
|
+
#
|
151
|
+
# @return [OpenStruct]
|
152
|
+
#
|
153
|
+
# @example
|
154
|
+
# body = {
|
155
|
+
# "name" => "updated name",
|
156
|
+
# "label" => "updated-name",
|
157
|
+
# "type" => "MANUAL",
|
158
|
+
# "query" => { "bool" => { "filter" => [ { "terms" => { "id" => [ "6c449297-65fc-41aa-a49c-68a3561b33e5", "6c449297-65fc-41aa-a49c-68a3561b33e6" ] } } ] } }
|
159
|
+
# }
|
160
|
+
# @category = session.categories.update(category_id, body)
|
161
|
+
#
|
162
|
+
def update(category_id, body)
|
163
|
+
response, status = BeyondApi::Request.put(@session, "/categories/#{category_id}", body)
|
164
|
+
|
165
|
+
handle_response(response, status)
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
@@ -0,0 +1,142 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "beyond_api/utils"
|
4
|
+
|
5
|
+
module BeyondApi
|
6
|
+
class CategoriesView < Base
|
7
|
+
include BeyondApi::Utils
|
8
|
+
|
9
|
+
#
|
10
|
+
# A +GET+ request is used to list all product categories.
|
11
|
+
#
|
12
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/product-view/categories' -i -X GET \
|
13
|
+
# -H 'Content-Type: application/json' \
|
14
|
+
# -H 'Accept: application/hal+json'
|
15
|
+
#
|
16
|
+
#
|
17
|
+
# @option params [Integer] :size the page size
|
18
|
+
# @option params [Integer] :page the page number
|
19
|
+
#
|
20
|
+
# @return [OpenStruct]
|
21
|
+
#
|
22
|
+
# @example
|
23
|
+
# @categories = session.categories_view.all(size: 100, page: 0)
|
24
|
+
#
|
25
|
+
def all(params = {})
|
26
|
+
response, status = BeyondApi::Request.get(@session, "/product-view/categories", params)
|
27
|
+
|
28
|
+
handle_response(response, status)
|
29
|
+
end
|
30
|
+
|
31
|
+
#
|
32
|
+
# A +GET+ request is used to retrieve the details of a product category.
|
33
|
+
#
|
34
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/product-view/categories/23bb1430-6e82-40e4-9a92-4cb404da74a8' -i -X GET \
|
35
|
+
# -H 'Content-Type: application/json' \
|
36
|
+
# -H 'Accept: application/hal+json'
|
37
|
+
#
|
38
|
+
# @param category_id [String] the category UUID
|
39
|
+
#
|
40
|
+
# @return [OpenStruct]
|
41
|
+
#
|
42
|
+
# @example
|
43
|
+
# @category = session.categories_view.find("23bb1430-6e82-40e4-9a92-4cb404da74a8")
|
44
|
+
#
|
45
|
+
def find(category_id)
|
46
|
+
response, status = BeyondApi::Request.get(@session, "/product-view/categories/#{category_id}")
|
47
|
+
|
48
|
+
handle_response(response, status)
|
49
|
+
end
|
50
|
+
|
51
|
+
#
|
52
|
+
# A +GET+ request is used to list all products of a category.
|
53
|
+
#
|
54
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/product-view/categories/681beef2-cd3e-4ce3-8034-4d07c1184447/products' -i -X GET \
|
55
|
+
# -H 'Content-Type: application/json' \
|
56
|
+
# -H 'Accept: application/hal+json'
|
57
|
+
#
|
58
|
+
# @param category_id [String] the category UUID
|
59
|
+
# @option params [Integer] :size the page size
|
60
|
+
# @option params [Integer] :page the page number
|
61
|
+
#
|
62
|
+
# @return [OpenStruct]
|
63
|
+
#
|
64
|
+
# @example
|
65
|
+
# @products = session.categories_view.products("681beef2-cd3e-4ce3-8034-4d07c1184447", { size: 100, page: 0 })
|
66
|
+
#
|
67
|
+
def products(category_id, params = {})
|
68
|
+
response, status = BeyondApi::Request.get(@session, "/product-view/categories/#{category_id}/products", params)
|
69
|
+
|
70
|
+
handle_response(response, status)
|
71
|
+
end
|
72
|
+
|
73
|
+
#
|
74
|
+
# A +GET+ request is used to find a product category by its unique label.
|
75
|
+
#
|
76
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/product-view/categories/search/find-by-label?label=power-bar' -i -X GET \
|
77
|
+
# -H 'Content-Type: application/json' \
|
78
|
+
# -H 'Accept: application/hal+json'
|
79
|
+
#
|
80
|
+
# @param label [String] the label of the category
|
81
|
+
#
|
82
|
+
# @return [OpenStruct]
|
83
|
+
#
|
84
|
+
# @example
|
85
|
+
# @category = session.categories_view.search_by_label("power-bar")
|
86
|
+
#
|
87
|
+
def search_by_label(label)
|
88
|
+
response, status = BeyondApi::Request.get(@session, "/product-view/categories/search/find-by-label", { label: label })
|
89
|
+
|
90
|
+
handle_response(response, status)
|
91
|
+
end
|
92
|
+
|
93
|
+
#
|
94
|
+
# A +GET+ request is used to list all product categories a product is part of using the request parameter productId.
|
95
|
+
#
|
96
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/product-view/categories/search/find-by-product?productId=ba68427f-603c-4741-9185-3b379f7769b5' -i -X GET \
|
97
|
+
# -H 'Content-Type: application/json' \
|
98
|
+
# -H 'Accept: application/hal+json'
|
99
|
+
#
|
100
|
+
# @param product_id [String] the product UUID of the category
|
101
|
+
#
|
102
|
+
# @return [OpenStruct]
|
103
|
+
#
|
104
|
+
# @example
|
105
|
+
# @category = session.categories_view.search_by_product_id("ba68427f-603c-4741-9185-3b379f7769b5")
|
106
|
+
#
|
107
|
+
def search_by_product_id(product_id, params = {})
|
108
|
+
response, status = BeyondApi::Request.get(@session, "/product-view/categories/search/find-by-product", params.merge(product_id: product_id))
|
109
|
+
|
110
|
+
handle_response(response, status)
|
111
|
+
end
|
112
|
+
|
113
|
+
#
|
114
|
+
# A +POST+ request is used to search for categories a new product will be part of using the request body. An existing product can also be part of the call. This endpoint can handle all properties a product can have.
|
115
|
+
# This request is read-only and cannot create data.
|
116
|
+
#
|
117
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/product-view/categories/search/find-by-product' -i -X POST \
|
118
|
+
# -H 'Content-Type: application/json' \
|
119
|
+
# -H 'Accept: application/hal+json'
|
120
|
+
# -d '{
|
121
|
+
# "tags" : [ "books" ],
|
122
|
+
# "manufacturer" : "The Standard Manufacturer",
|
123
|
+
# "salesPrice" : {
|
124
|
+
# "amount" : 10.0,
|
125
|
+
# "currency" : "EUR"
|
126
|
+
# }
|
127
|
+
# }'
|
128
|
+
#
|
129
|
+
# @param product_id [String] the product UUID of the category
|
130
|
+
#
|
131
|
+
# @return [OpenStruct]
|
132
|
+
#
|
133
|
+
# @example
|
134
|
+
# @category = session.categories_view.search_by_product_id("ba68427f-603c-4741-9185-3b379f7769b5")
|
135
|
+
#
|
136
|
+
def search_by_product(body, params = {})
|
137
|
+
response, status = BeyondApi::Request.post(@session, "/product-view/categories/search/find-by-product", body, params)
|
138
|
+
|
139
|
+
handle_response(response, status = {})
|
140
|
+
end
|
141
|
+
end
|
142
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "beyond_api/utils"
|
4
|
+
|
5
|
+
module BeyondApi
|
6
|
+
class CheckoutSettings < Base
|
7
|
+
include BeyondApi::Utils
|
8
|
+
|
9
|
+
#
|
10
|
+
# A +GET+ request is used to retrieve the checkout settings.
|
11
|
+
#
|
12
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/checkout-settings' -i -X GET \
|
13
|
+
# -H 'Accept: application/hal+json' \
|
14
|
+
# -H 'Authorization: Bearer <Access token>'
|
15
|
+
#
|
16
|
+
# @beyond_api.scopes +cset:r+
|
17
|
+
#
|
18
|
+
# @return [OpenStruct]
|
19
|
+
#
|
20
|
+
# @example
|
21
|
+
# @checkout_settiongs = session.checkout_settings.all
|
22
|
+
#
|
23
|
+
def all
|
24
|
+
response, status = BeyondApi::Request.get(@session, "/checkout-settings")
|
25
|
+
|
26
|
+
handle_response(response, status)
|
27
|
+
end
|
28
|
+
|
29
|
+
# A +PUT+ request is used to update the checkout settings.
|
30
|
+
#
|
31
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/checkout-settings' -i -X PUT \
|
32
|
+
# -H 'Content-Type: application/json' \
|
33
|
+
# -H 'Accept: application/hal+json' \
|
34
|
+
# -H 'Authorization: Bearer <Access token>' \
|
35
|
+
# -d ' {
|
36
|
+
# "minimumOrderValue" : {
|
37
|
+
# "currency" : "EUR",
|
38
|
+
# "amount" : 50
|
39
|
+
# },
|
40
|
+
# "mustAcceptTermsAndConditions" : true
|
41
|
+
# }'
|
42
|
+
def update(body)
|
43
|
+
response, status = BeyondApi::Request.put(@session, "/checkout-settings", body)
|
44
|
+
|
45
|
+
handle_response(response, status)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "beyond_api/utils"
|
4
|
+
|
5
|
+
module BeyondApi
|
6
|
+
class NewsletterTarget < Base
|
7
|
+
include BeyondApi::Utils
|
8
|
+
|
9
|
+
#
|
10
|
+
# A +POST+ request is used to create the newsletter target. Each shop can only have one newsletter target.
|
11
|
+
# You can update this target at any time, or delete the existing one and create a new target.
|
12
|
+
#
|
13
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/newsletter-target' -i -X POST \
|
14
|
+
# -H 'Content-Type: application/json' \
|
15
|
+
# -H 'Accept: application/hal+json' \
|
16
|
+
# -H 'Authorization: Bearer <Access token>' \
|
17
|
+
# -d '{
|
18
|
+
# "submitUrl": "https://example.org/cgi-bin/subscribe.php"
|
19
|
+
# }'
|
20
|
+
#
|
21
|
+
# @beyond_api.scopes +nltg:m+
|
22
|
+
#
|
23
|
+
# @param submit_url [String] the URL stating where to submit the newsletter
|
24
|
+
#
|
25
|
+
# @return [OpenStruct]
|
26
|
+
#
|
27
|
+
# @example
|
28
|
+
# session.newsletter_target.create({ submit_url: "https://example.org/cgi-bin/subscribe.php" })
|
29
|
+
#
|
30
|
+
def create(submit_url)
|
31
|
+
response, status = BeyondApi::Request.post(@session, "/newsletter-target", { submit_url: submit_url})
|
32
|
+
|
33
|
+
handle_response(response, status)
|
34
|
+
end
|
35
|
+
|
36
|
+
#
|
37
|
+
# A +DELETE+ request is used to delete the existing newsletter target.
|
38
|
+
#
|
39
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/newsletter-target' -i -X DELETE \
|
40
|
+
# -H 'Authorization: Bearer <Access token>'
|
41
|
+
#
|
42
|
+
# @beyond_api.scopes +nltg:m+
|
43
|
+
#
|
44
|
+
# @return true
|
45
|
+
#
|
46
|
+
# @example
|
47
|
+
# session.newsletter_target.delete
|
48
|
+
#
|
49
|
+
def delete
|
50
|
+
response, status = BeyondApi::Request.delete(@session, "/newsletter-target")
|
51
|
+
|
52
|
+
handle_response(response, status, respond_with_true: true)
|
53
|
+
end
|
54
|
+
|
55
|
+
#
|
56
|
+
# A +GET+ request is used to retrieve the newsletter target.
|
57
|
+
#
|
58
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/newsletter-target' -i -X GET
|
59
|
+
#
|
60
|
+
# @return [OpenStruct]
|
61
|
+
#
|
62
|
+
# @example
|
63
|
+
# session.newsletter_target.find
|
64
|
+
#
|
65
|
+
def find
|
66
|
+
response, status = BeyondApi::Request.get(@session, "/newsletter-target")
|
67
|
+
|
68
|
+
handle_response(response, status)
|
69
|
+
end
|
70
|
+
|
71
|
+
#
|
72
|
+
# A +PUT+ request is used to update the existing newsletter target
|
73
|
+
#
|
74
|
+
# $ curl 'https://api-shop.beyondshop.cloud/api/newsletter-target' -i -X PUT \
|
75
|
+
# -H 'Content-Type: application/json' \
|
76
|
+
# -H 'Accept: application/hal+json' \
|
77
|
+
# -H 'Authorization: Bearer <Access token>' \
|
78
|
+
# -d '{
|
79
|
+
# "submitUrl": "https://example.org/api/newsletter/subscription"
|
80
|
+
# }'
|
81
|
+
#
|
82
|
+
# @beyond_api.scopes +nltg:m+
|
83
|
+
#
|
84
|
+
# @param submit_url [String] the URL stating where to submit the newsletter
|
85
|
+
#
|
86
|
+
# @return [OpenStruct]
|
87
|
+
#
|
88
|
+
# @example
|
89
|
+
# session.newsletter_target.update({ submit_url: "https://example.org/cgi-bin/subscribe.php" })
|
90
|
+
#
|
91
|
+
def update(submit_url)
|
92
|
+
response, status = BeyondApi::Request.put(@session, "/newsletter-target", { submit_url: submit_url })
|
93
|
+
|
94
|
+
handle_response(response, status)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|