beyond_api 0.1.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.rspec +3 -0
  4. data/.travis.yml +7 -0
  5. data/.yardopts +1 -0
  6. data/CHANGELOG.md +4 -0
  7. data/CONTRIBUTING.md +48 -0
  8. data/GETTING_STARTED.md +0 -0
  9. data/Gemfile +6 -0
  10. data/Gemfile.lock +55 -0
  11. data/LICENSE +19 -0
  12. data/README.md +51 -0
  13. data/Rakefile +11 -0
  14. data/beyond_api.gemspec +31 -0
  15. data/bin/console +18 -0
  16. data/bin/setup +8 -0
  17. data/lib/beyond_api.rb +37 -0
  18. data/lib/beyond_api/connection.rb +30 -0
  19. data/lib/beyond_api/ext.rb +43 -0
  20. data/lib/beyond_api/request.rb +55 -0
  21. data/lib/beyond_api/resources/base.rb +17 -0
  22. data/lib/beyond_api/resources/carts.rb +547 -0
  23. data/lib/beyond_api/resources/categories.rb +168 -0
  24. data/lib/beyond_api/resources/categories_view.rb +142 -0
  25. data/lib/beyond_api/resources/checkout_settings.rb +48 -0
  26. data/lib/beyond_api/resources/newsletter_target.rb +97 -0
  27. data/lib/beyond_api/resources/order_settings.rb +80 -0
  28. data/lib/beyond_api/resources/orders.rb +968 -0
  29. data/lib/beyond_api/resources/payment_methods.rb +192 -0
  30. data/lib/beyond_api/resources/product_attribute_definitions.rb +109 -0
  31. data/lib/beyond_api/resources/product_settings.rb +28 -0
  32. data/lib/beyond_api/resources/products.rb +245 -0
  33. data/lib/beyond_api/resources/products/attachments.rb +119 -0
  34. data/lib/beyond_api/resources/products/availability.rb +177 -0
  35. data/lib/beyond_api/resources/products/custom_attributes.rb +141 -0
  36. data/lib/beyond_api/resources/products/images.rb +165 -0
  37. data/lib/beyond_api/resources/products/searches.rb +52 -0
  38. data/lib/beyond_api/resources/products/variation_properties.rb +87 -0
  39. data/lib/beyond_api/resources/products_view.rb +158 -0
  40. data/lib/beyond_api/resources/scopes.rb +31 -0
  41. data/lib/beyond_api/resources/script_tags.rb +122 -0
  42. data/lib/beyond_api/resources/shipping_zones.rb +324 -0
  43. data/lib/beyond_api/resources/shop.rb +561 -0
  44. data/lib/beyond_api/resources/signers.rb +63 -0
  45. data/lib/beyond_api/resources/token.rb +41 -0
  46. data/lib/beyond_api/resources/users.rb +376 -0
  47. data/lib/beyond_api/resources/variations.rb +145 -0
  48. data/lib/beyond_api/resources/variations/availability.rb +105 -0
  49. data/lib/beyond_api/resources/webhook_subscriptions.rb +176 -0
  50. data/lib/beyond_api/session.rb +121 -0
  51. data/lib/beyond_api/utils.rb +51 -0
  52. data/lib/beyond_api/version.rb +3 -0
  53. data/lib/generators/beyond_api/install_generator.rb +13 -0
  54. data/lib/generators/templates/beyond_api_initializer.rb +29 -0
  55. metadata +194 -0
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "beyond_api/utils"
4
+
5
+ module BeyondApi
6
+ class OrderSettings < Base
7
+ include BeyondApi::Utils
8
+
9
+ #
10
+ # A +GET+ request is used to retrieve the order settings.
11
+ #
12
+ # $ curl 'https://api-shop.beyondshop.cloud/api/order-settings' -i -X GET \
13
+ # -H 'Accept: application/hal+json' \
14
+ # -H 'Authorization: Bearer <Access token>'
15
+ #
16
+ # @beyond_api.scopes +oset:r
17
+ #
18
+ # @return [OpenStruct]
19
+ #
20
+ # @example
21
+ # @order_settings = session.payment_methods.all
22
+ #
23
+ def all(params = {})
24
+ response, status = BeyondApi::Request.get(@session, "/order-settings")
25
+
26
+ handle_response(response, status)
27
+ end
28
+
29
+ #
30
+ # A +PUT+ request is used to update the order settings.
31
+ #
32
+ # $ curl 'https://api-shop.beyondshop.cloud/api/order-settings' -i -X PUT \
33
+ # -H 'Content-Type: application/json' \
34
+ # -H 'Accept: application/hal+json' \
35
+ # -H 'Authorization: Bearer <Access token>' \
36
+ # -d '{"invoiceCancelationNote": "This is an invoice cancelation note","invoiceCancellationNote": "This is an invoice cancellation note","defaultDeliveryDateNote": "This is the default delivery date note","defaultInvoiceNote": "This is the default invoice note","orderNumberConfiguration": {
37
+ # "stringPrefix" : "2017-shop-",
38
+ # "nextNumericSuffix" : 1000,
39
+ # "numericSuffixLength" : 4
40
+ # },
41
+ # "invoiceNumberConfiguration": {
42
+ # "stringPrefix" : "2017-invoice-",
43
+ # "nextNumericSuffix" : 1000,
44
+ # "numericSuffixLength" : 4
45
+ # }
46
+ # }'
47
+ #
48
+ # @beyond_api.scopes +oset:u
49
+ #
50
+ # @param body [Hash] the request body
51
+ #
52
+ # @return [OpenStruct]
53
+ #
54
+ # @example
55
+ # body = {
56
+ # "invoiceCancelationNote"=> "This is an invoice cancelation note",
57
+ # "invoiceCancellationNote"=> "This is an invoice cancellation note",
58
+ # "defaultDeliveryDateNote"=> "This is the default delivery date note",
59
+ # "defaultInvoiceNote"=> "This is the default invoice note",
60
+ # "orderNumberConfiguration"=> {
61
+ # "stringPrefix"=> "2017-shop-",
62
+ # "nextNumericSuffix"=> 1000,
63
+ # "numericSuffixLength"=> 4
64
+ # },
65
+ # "invoiceNumberConfiguration"=> {
66
+ # "stringPrefix"=> "2017-invoice-",
67
+ # "nextNumericSuffix"=> 1000,
68
+ # "numericSuffixLength"=> 4
69
+ # }
70
+ # }
71
+ #
72
+ # @order_settings = session.order_settings.update(body)
73
+ #
74
+ def update(order_settings, body)
75
+ response, status = BeyondApi::Request.put(@session, "/order-settings", body)
76
+
77
+ handle_response(response, status)
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,968 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "beyond_api/utils"
4
+
5
+ module BeyondApi
6
+ class Orders < Base
7
+ include BeyondApi::Utils
8
+
9
+ #
10
+ # A +GET+ request is used to retrieve the active payment processes. There is only one active payment process. See {Show payment process details}[http://docs.beyondshop.cloud/#resources-payment-process-get] for more information about the request and response structure.
11
+ #
12
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/208e2c1d-6610-43c7-b2f1-20aad6f029b9/processes/payments/active' -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 +pypr:r
18
+ #
19
+ # @param order_id [String] the order UUID
20
+ #
21
+ # @return [OpenStruct]
22
+ #
23
+ # @example
24
+ # @payment_process = session.orders.active_payment_process("268a8629-55cd-4890-9013-936b9b5ea14c")
25
+ #
26
+ def active_payment_process(order_id)
27
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/processes/payments/active")
28
+
29
+ handle_response(response, status)
30
+ end
31
+
32
+ #
33
+ # A +GET+ request is used to retrieve the active refund processes. There is only one active refund process. See {Show refund process details}[http://docs.beyondshop.cloud/#resources-refund-process-get] for more information about the request and response structure.
34
+ #
35
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/8613295f-4d44-4143-bfd0-6b81fc178618/processes/refunds/active' -i -X GET \
36
+ # -H 'Content-Type: application/json' \
37
+ # -H 'Accept: application/hal+json' \
38
+ # -H 'Authorization: Bearer <Access token>'
39
+ #
40
+ # @beyond_api.scopes +rfpr:r
41
+ #
42
+ # @param order_id [String] the order UUID
43
+ #
44
+ # @return [OpenStruct]
45
+ #
46
+ # @example
47
+ # @refund_process = session.orders.active_refund_process("268a8629-55cd-9845-3114-454b9b5ea14c")
48
+ #
49
+ def active_refund_process(order_id)
50
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/processes/refunds/active")
51
+
52
+ handle_response(response, status)
53
+ end
54
+
55
+ #
56
+ # A +GET+ request is used to list all orders of the shop in a paged way. Each item in the response represents a summary of the order data.
57
+ #
58
+ # @beyond_api.scopes +ordr:r
59
+ #
60
+ # @option params [Integer] :size the page size
61
+ # @option params [Integer] :page the page number
62
+ #
63
+ # @return [OpenStruct]
64
+ #
65
+ # @example
66
+ # @orders = session.orders.all(size: 100, page: 0)
67
+ #
68
+ def all(params = {})
69
+ response, status = BeyondApi::Request.get(@session, "/orders", params)
70
+
71
+ handle_response(response, status)
72
+ end
73
+
74
+ #
75
+ # A +POST+ request is used to cancel an order.
76
+ #
77
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/e3f9264a-395b-407d-9036-00f38f609be6/cancel' -i -X POST \
78
+ # -H 'Content-Type: application/json' \
79
+ # -H 'Accept: application/hal+json' \
80
+ # -H 'Authorization: Bearer <Access token>' \
81
+ # -d '{
82
+ # "comment" : "This needs to be done fast!"
83
+ # }'
84
+ #
85
+ # @beyond_api.scopes +clpr:c
86
+ #
87
+ # @param order_id [String] the order UUID
88
+ # @param body [Hash] the request body
89
+ #
90
+ # @return [OpenStruct]
91
+ #
92
+ # @example
93
+ # body = {
94
+ # "comment"=> "This needs to be done fast!"
95
+ # }
96
+ # @order = session.orders.cancel("268a8629-55cd-4890-9013-936b9b5ea14c", body)
97
+ #
98
+ def cancel(order_id, body)
99
+ response, status = BeyondApi::Request.post(@session, "/orders/#{order_id}/cancel", body)
100
+
101
+ handle_response(response, status)
102
+ end
103
+
104
+ #
105
+ # A +GET+ request is used to retrieve the cancelation process details of an order.
106
+ #
107
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/f16cf0db-7449-4029-a886-76f38b4aa464/processes/cancelations/365b4b63-45a8-49f6-94c5-a65e0dee83b5' -i -X GET \
108
+ # -H 'Content-Type: application/json' \
109
+ # -H 'Accept: application/hal+json' \
110
+ # -H 'Authorization: Bearer <Access token>'
111
+ #
112
+ # @beyond_api.scopes +clpr:r
113
+ #
114
+ # @param order_id [String] the order UUID
115
+ # @param cancelation_id [String] the cancelation UUID
116
+ #
117
+ # @return [OpenStruct]
118
+ #
119
+ # @example
120
+ # @pcancelation_process = session.orders.cancelation_process("268a8629-55cd-4890-9013-936b9b5ea14c", "365b4b63-45a8-49f6-94c5-a65e0dee83b5")
121
+ #
122
+ def cancelation_process(order_id, cancelation_id)
123
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/processes/payments/cancelations/#{cancelation_id}")
124
+
125
+ handle_response(response, status)
126
+ end
127
+
128
+ #
129
+ # A +GET+ request is used to list all cancelation processes of an order in a paged way.
130
+ #
131
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/b8cb904d-4c82-4c39-a3a4-de7cb181a5d3/processes/cancelations?page=0&size=20' -i -X GET \
132
+ # -H 'Content-Type: application/json' \
133
+ # -H 'Accept: application/hal+json' \
134
+ # -H 'Authorization: Bearer <Access token>'
135
+ #
136
+ # @beyond_api.scopes +clpr:r
137
+ #
138
+ # @param order_id [String] the order UUID
139
+ # @option params [Integer] :size the page size
140
+ # @option params [Integer] :page the page number
141
+ #
142
+ # @return [OpenStruct]
143
+ #
144
+ # @example
145
+ # @pcancelation_processes = session.orders.cancelation_processes("268a8629-55cd-4890-9013-936b9b5ea14c", {page: 0, size: 20})
146
+ #
147
+ def cancelation_processes(order_id, params = {})
148
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/processes/payments/cancelations", params)
149
+
150
+ handle_response(response, status)
151
+ end
152
+
153
+ #
154
+ # A +POST+ request is used to capture the payment.
155
+ #
156
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/ebfd99d6-f025-4c97-96d2-d5adbb45d6c2/processes/payments/2936deca-fd56-4c0d-88e2-8030c897bf90/capture' -i -X POST \
157
+ # -H 'Accept: application/hal+json' \
158
+ # -H 'Authorization: Bearer <Access token>'
159
+ #
160
+ # @beyond_api.scopes +pypr:u
161
+ #
162
+ # @param order_id [String] the order UUID
163
+ # @param payment_id [String] the payment UUID
164
+ #
165
+ # @return [OpenStruct]
166
+ #
167
+ # @example
168
+ # @payment_process = session.orders.capture_payment_process("268a8629-55cd-4890-9013-936b9b5ea14c", "266d8608-55cd-4890-9474-296a9q1ea05q")
169
+ #
170
+ def capture_payment_process(order_id, payment_id)
171
+ response, status = BeyondApi::Request.post(@session, "/orders/#{order_id}/processes/payments/#{payment_id}/capture", body)
172
+
173
+ handle_response(response, status)
174
+ end
175
+
176
+ #
177
+ # A +POST+ request is used to create a new cancelation process for an order. Cancelation processes trigger a refund process.
178
+ #
179
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/9072c00d-1bc7-4fd8-8836-94ada5084e7a/processes/cancelations' -i -X POST \
180
+ # -H 'Content-Type: application/json' \
181
+ # -H 'Accept: application/hal+json' \
182
+ # -H 'Authorization: Bearer <Access token>' \
183
+ # -d '{
184
+ # "comment" : "This needs to be done fast!",
185
+ # "lineItems" : [ {
186
+ # "quantity" : 3,
187
+ # "productLineItemId" : "0e1f8ab4-ec78-42a6-9a46-a3384cd17d52"
188
+ # } ]
189
+ # }'
190
+ #
191
+ # @beyond_api.scopes +clpr:c
192
+ #
193
+ # @param order_id [String] the order UUID
194
+ # @param body [Hash] the request body
195
+ #
196
+ # @return [OpenStruct]
197
+ #
198
+ # @example
199
+ # body = {
200
+ # "comment"=> "This needs to be done fast!",
201
+ # "lineItems"=> [{
202
+ # "quantity"=> 3,
203
+ # "productLineItemId"=> "0e1f8ab4-ec78-42a6-9a46-a3384cd17d52"
204
+ # }]
205
+ # }
206
+ # @pcancelation_process = session.orders.create_cancelation_process("268a8629-55cd-4890-9013-936b9b5ea14c", body)
207
+ #
208
+ def create_cancelation_process(order_id, body)
209
+ response, status = BeyondApi::Request.post(@session, "/orders/#{order_id}/processes/payments/cancelations")
210
+
211
+ handle_response(response, status)
212
+ end
213
+
214
+ #
215
+ # A +POST+ request is used to create an invoice for the order.
216
+ #
217
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/a5d4d6c6-e77d-4180-8dbf-729f38a698b2/create-invoice' -i -X POST \
218
+ # -H 'Content-Type: application/json' \
219
+ # -H 'Accept: application/hal+json' \
220
+ # -H 'Authorization: Bearer <Access token>' \
221
+ # -d '{"deliveryDateNote": "Test DeliveryDateNote", "invoiceNote": "Test invoiceNote"}'
222
+ #
223
+ # @beyond_api.scopes +ordr:u
224
+ #
225
+ # @param order_id [String] the order UUID
226
+ # @param body [Hash] the request body
227
+ #
228
+ # @return [OpenStruct]
229
+ #
230
+ # @example
231
+ # body = {
232
+ # "deliveryDateNote" => "Test DeliveryDateNote",
233
+ # "invoiceNote" => "Test invoiceNote"
234
+ # }
235
+ # @order = session.orders.create_invoice("268a8629-55cd-4890-9013-936b9b5ea14c", body)
236
+ #
237
+ def create_invoice(order_id, body)
238
+ response, status = BeyondApi::Request.put(@session, "/orders/#{order_id}/create-invoice", body)
239
+
240
+ handle_response(response, status)
241
+ end
242
+
243
+ #
244
+ # A +POST+ request is used to create a new return process for an order. Return processes trigger a refund process.
245
+ #
246
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/29007bb7-739a-46f5-8c70-4e1029b52fa5/processes/returns' -i -X POST \
247
+ # -H 'Content-Type: application/json' \
248
+ # -H 'Accept: application/hal+json' \
249
+ # -H 'Authorization: Bearer <Access token>' \
250
+ # -d '{
251
+ # "comment" : "This needs to be done fast!",
252
+ # "sendMail" : true,
253
+ # "lineItems" : [ {
254
+ # "quantity" : 3,
255
+ # "productLineItemId" : "bb9ad011-6417-4f04-8bc2-39651edebd2f",
256
+ # "status" : "RETURNED"
257
+ # } ],
258
+ # "shippingPriceRefund" : {
259
+ # "currency" : "EUR",
260
+ # "amount" : 19.99
261
+ # }
262
+ # }'
263
+ #
264
+ # @beyond_api.scopes +rtpr:c
265
+ #
266
+ # @param order_id [String] the order UUID
267
+ # @param body [Hash] the request body
268
+ #
269
+ # @return [OpenStruct]
270
+ #
271
+ # @example
272
+ # body = {
273
+ # "comment": "This needs to be done fast!",
274
+ # "sendMail": true,
275
+ # "lineItems": [{
276
+ # "quantity": 3,
277
+ # "productLineItemId": "bb9ad011-6417-4f04-8bc2-39651edebd2f",
278
+ # "status": "RETURNED"
279
+ # }],
280
+ # "shippingPriceRefund": {
281
+ # "currency": "EUR",
282
+ # "amount": 19.99
283
+ # }
284
+ # }
285
+ # @return_process = session.orders.create_return_process("268a8629-55cd-4890-9013-936b9b5ea14c", body)
286
+ #
287
+ def create_return_process(order_id, body)
288
+ response, status = BeyondApi::Request.post(@session, "/orders/#{order_id}/processes/returns", body)
289
+
290
+ handle_response(response, status)
291
+ end
292
+
293
+ #
294
+ # A +POST+ request is ussed to create a new shipping processes for an order.
295
+ #
296
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/8df2fe3b-5149-492f-932a-073f012305eb/processes/shippings' -i -X POST \
297
+ # -H 'Content-Type: application/json' \
298
+ # -H 'Accept: application/hal+json' \
299
+ # -H 'Authorization: Bearer <Access token>' \
300
+ # -d '{
301
+ # "comment" : "This needs to be done fast!",
302
+ # "sendMail" : true,
303
+ # "createDeliveryNote" : true,
304
+ # "trackingCode" : "lookAtMyTrackingCodeWow",
305
+ # "trackingLink" : "http://tracking.is/fun?code=lookAtMyTrackingCodeWow",
306
+ # "lineItems" : [ {
307
+ # "quantity" : 3,
308
+ # "productLineItemId" : "e96e1b33-d9e9-4508-862a-816235b541f7"
309
+ # } ]
310
+ # }'
311
+ #
312
+ # @beyond_api.scopes +shpr:c
313
+ #
314
+ # @param order_id [String] the order UUID
315
+ # @param body [Hash] the request body
316
+ #
317
+ # @return [OpenStruct]
318
+ #
319
+ # @example
320
+ # body = {
321
+ # "comment" => "This needs to be done fast!",
322
+ # "send_mail" => true,
323
+ # "create_delivery_note" => true,
324
+ # "tracking_code" => "lookAtMyTrackingCodeWow",
325
+ # "tracking_link" => "http=>//tracking.is/fun?code=lookAtMyTrackingCodeWow",
326
+ # "line_items" => [ {
327
+ # "quantity" => 3,
328
+ # "product_line_item_id" => "e96e1b33-d9e9-4508-862a-816235b541f7"
329
+ # } ]
330
+ # }
331
+ # @shipping_process = session.orders.create_shipping_process("268a8629-55cd-9845-3114-454b9b5ea14c", "268a8629-55cd-4890-9013-936b9b5ea14a")
332
+ #
333
+ def create_shipping_process(order_id, body)
334
+ response, status = BeyondApi::Request.post(@session, "/orders/#{order_id}/processes/shippings", body)
335
+
336
+ handle_response(response, status)
337
+ end
338
+
339
+ #
340
+ # A +GET+ request is used to list all events of an order in a paged way.
341
+ #
342
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/66b6aab5-2ed4-4f36-855e-3adb2ea873ee/events' -i -X GET \
343
+ # -H 'Accept: application/hal+json' \
344
+ # -H 'Authorization: Bearer <Access token>'
345
+ #
346
+ # @beyond_api.scopes +ordr:r
347
+ #
348
+ # @param order_id [String] the order UUID
349
+ # @option params [Integer] :size the page size
350
+ # @option params [Integer] :page the page number
351
+ #
352
+ # @return [OpenStruct]
353
+ #
354
+ # @example
355
+ # @events = session.orders.find("268a8629-55cd-4890-9013-936b9b5ea14c")
356
+ #
357
+ def events(order_id, params = {})
358
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/events", params)
359
+
360
+ handle_response(response, status)
361
+ end
362
+
363
+ #
364
+ # A +GET+ request is used to retrieve the details of an order.
365
+ #
366
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/a27f1019-3690-40d1-bd9d-d60dff4c4cf8' -i -X GET \
367
+ # -H 'Content-Type: application/json' \
368
+ # -H 'Accept: application/hal+json' \
369
+ # -H 'Authorization: Bearer <Access token>'
370
+ #
371
+ # @beyond_api.scopes +ordr:r
372
+ #
373
+ # @param order_id [String] the order UUID
374
+ #
375
+ # @return [OpenStruct]
376
+ #
377
+ # @example
378
+ # @order = session.orders.find("268a8629-55cd-4890-9013-936b9b5ea14c")
379
+ #
380
+ def find(order_id)
381
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}")
382
+
383
+ handle_response(response, status)
384
+ end
385
+
386
+ #
387
+ # A +POST+ request is used to mark the payment process as paid.
388
+ #
389
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/9a1a1aaa-e37d-4c71-bc95-cbc228463fec/processes/payments/cb8c9a16-2d81-4ec1-9a4a-84a4c36124ae/mark-paid' -i -X POST \
390
+ # -H 'Content-Type: application/json' \
391
+ # -H 'Accept: application/hal+json' \
392
+ # -H 'Authorization: Bearer <Access token>' \
393
+ # -d '{
394
+ # "comment" : "comment",
395
+ # "details" : {
396
+ # "amount" : {
397
+ # "currency" : "EUR",
398
+ # "amount" : 77.44
399
+ # }
400
+ # }
401
+ # }'
402
+ #
403
+ # @beyond_api.scopes +pypr:u
404
+ #
405
+ # @param order_id [String] the order UUID
406
+ # @param payment_id [String] the payment UUID
407
+ # @param body [Hash] the request body
408
+ #
409
+ # @return [OpenStruct]
410
+ #
411
+ # @example
412
+ # body = {
413
+ # "comment" => "comment",
414
+ # "details" => {
415
+ # "amount" => {
416
+ # "currency" => "EUR",
417
+ # "amount" => 77.44
418
+ # }
419
+ # }
420
+ # }
421
+ #
422
+ # @payment_process = session.orders.mark_payment_process_as_paid("268a8629-55cd-4890-9013-936b9b5ea14c", "266d8608-55cd-4890-9474-296a9q1ea05q", body)
423
+ #
424
+ def mark_payment_process_as_paid(order_id, payment_id, body)
425
+ response, status = BeyondApi::Request.post(@session, "/orders/#{order_id}/processes/payments/#{payment_id}/mark-paid", body)
426
+
427
+ handle_response(response, status)
428
+ end
429
+
430
+ #
431
+ # A +POST+ request is used to mark the payment process as voided.
432
+ #
433
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/a5558b7f-55f4-47d4-b603-9bf7eb59c05b/processes/payments/5bcc48e7-2641-42a8-a042-189ae92e9901/mark-voided' -i -X POST \
434
+ # -H 'Content-Type: application/json' \
435
+ # -H 'Accept: application/hal+json' \
436
+ # -H 'Authorization: Bearer <Access token>' \
437
+ # -d '{
438
+ # "comment" : "comment"
439
+ # }'
440
+ #
441
+ # @beyond_api.scopes +pypr:u
442
+ #
443
+ # @param order_id [String] the order UUID
444
+ # @param payment_id [String] the payment UUID
445
+ # @param body [Hash] the request body
446
+ #
447
+ # @return [OpenStruct]
448
+ #
449
+ # @example
450
+ # body = {
451
+ # "comment" => "comment"
452
+ # }
453
+ #
454
+ # @payment_process = session.orders.mark_payment_process_as_voided("268a8629-55cd-4890-9013-936b9b5ea14c", "266d8608-55cd-4890-9474-296a9q1ea05q", body)
455
+ #
456
+ def mark_payment_process_as_voided(order_id, payment_id, body)
457
+ response, status = BeyondApi::Request.post(@session, "/orders/#{order_id}/processes/payments/#{payment_id}/mark-voided", body)
458
+
459
+ handle_response(response, status)
460
+ end
461
+
462
+ #
463
+ # A +POST+ request is used to mark the refund process as paid.
464
+ #
465
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/60baa84c-9e11-4d55-97a9-1a7b00a0691c/processes/refunds/active/mark-paid' -i -X POST \
466
+ # -H 'Content-Type: application/json' \
467
+ # -H 'Accept: application/hal+json' \
468
+ # -H 'Authorization: Bearer <Access token>' \
469
+ # -d '{
470
+ # "comment" : "comment",
471
+ # "details" : {
472
+ # "amount" : {
473
+ # "currency" : "EUR",
474
+ # "amount" : 19.98
475
+ # }
476
+ # }
477
+ # }'
478
+ #
479
+ # @beyond_api.scopes +rfpr:r
480
+ #
481
+ # @param order_id [String] the order UUID
482
+ #
483
+ # @return [OpenStruct]
484
+ #
485
+ # @example
486
+ # body = {
487
+ # "comment" => "comment",
488
+ # "details" => {
489
+ # "amount" => {
490
+ # "currency" => "EUR",
491
+ # "amount" => 19.98
492
+ # }
493
+ # }
494
+ # }
495
+ # @refund_process = session.orders.mark_refund_process_as_paid("268a8629-55cd-9845-3114-454b9b5ea14c", body)
496
+ #
497
+ def mark_refund_process_as_paid(order_id)
498
+ response, status = BeyondApi::Request.post(@session, "/orders/#{order_id}/processes/refunds/active/mark-paid")
499
+
500
+ handle_response(response, status)
501
+ end
502
+
503
+ #
504
+ # A +POST+ request is used to mark the shipment as delivered.
505
+ #
506
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/b5642d1f-0f7f-444e-96d5-1c1d1642ea5e/processes/shippings/619d06d8-0077-4efd-b341-5103f71bfb2d/mark-delivered' -i -X POST \
507
+ # -H 'Content-Type: application/json' \
508
+ # -H 'Accept: application/hal+json' \
509
+ # -H 'Authorization: Bearer <Access token>' \
510
+ # -d '{
511
+ # "comment" : "comment"
512
+ # }'
513
+ #
514
+ # @beyond_api.scopes +shpr:u
515
+ #
516
+ # @param order_id [String] the order UUID
517
+ # @param shipping_id [String] the shipping UUID
518
+ # @param body [Hash] the request body
519
+ #
520
+ # @return [OpenStruct]
521
+ #
522
+ # @example
523
+ # body = {
524
+ # "comment" => "comment",
525
+ # }
526
+ #
527
+ # @shipping_process = session.orders.mark_shipping_process_as_delivered("268a8629-55cd-4890-9013-936b9b5ea14c", "266d8608-55cd-4890-9474-296a9q1ea05q", body)
528
+ #
529
+ def mark_shipping_process_as_delivered(order_id, shipping_process_id, body)
530
+ response, status = BeyondApi::Request.post(@session, "/orders/#{order_id}/processes/shippings/#{shipping_process_id}/mark-delivered", body)
531
+
532
+ handle_response(response, status)
533
+ end
534
+
535
+ #
536
+ # A +POST+ request is used to mark the shipment as shipped.
537
+ #
538
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/dd6a7e20-16be-4509-bf83-fb8ee072ddad/processes/shippings/a0b0c4a5-0c80-47f4-98c3-0f55f4161176/mark-shipped' -i -X POST \
539
+ # -H 'Content-Type: application/json' \
540
+ # -H 'Accept: application/hal+json' \
541
+ # -H 'Authorization: Bearer <Access token>' \
542
+ # -d '{
543
+ # "comment" : "This needs to be done fast!",
544
+ # "sendMail" : true,
545
+ # "details" : {
546
+ # "trackingCode" : "lookAtMyTrackingCodeWow",
547
+ # "trackingLink" : "http://tracking.is/fun?code=lookAtMyTrackingCodeWow"
548
+ # }
549
+ # }'
550
+ #
551
+ # @beyond_api.scopes +shpr:u
552
+ #
553
+ # @param order_id [String] the order UUID
554
+ # @param shipping_id [String] the shipping UUID
555
+ # @param body [Hash] the request body
556
+ #
557
+ # @return [OpenStruct]
558
+ #
559
+ # @example
560
+ # body = {
561
+ # "comment" => "This needs to be done fast!",
562
+ # "sendMail" => true,
563
+ # "details" => {
564
+ # "trackingCode" => "lookAtMyTrackingCodeWow",
565
+ # "trackingLink" => "http://tracking.is/fun?code=lookAtMyTrackingCodeWow"
566
+ # }
567
+ # }
568
+ #
569
+ # @shipping_process = session.orders.mark_shipping_process_as_shipped("268a8629-55cd-4890-9013-936b9b5ea14c", "266d8608-55cd-4890-9474-296a9q1ea05q", body)
570
+ #
571
+ def mark_shipping_process_as_shipped(order_id, shipping_id, body)
572
+ response, status = BeyondApi::Request.post(@session, "/orders/#{order_id}/processes/shippings/#{shipping_id}/mark-shipped", body)
573
+
574
+ handle_response(response, status)
575
+ end
576
+
577
+ #
578
+ # A +GET+ request is used to retrieve the payment processes.
579
+ #
580
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/d44ed295-6a08-47ba-a288-90d4f3ba9fff/processes/payments/be56bfbd-af95-45b9-8b0e-cb0c184aaf60' -i -X GET \
581
+ # -H 'Content-Type: application/json' \
582
+ # -H 'Accept: application/hal+json' \
583
+ # -H 'Authorization: Bearer <Access token>'
584
+ #
585
+ # @beyond_api.scopes +pypr:r
586
+ #
587
+ # @param order_id [String] the order UUID
588
+ # @param payment_id [String] the payment UUID
589
+ #
590
+ # @return [OpenStruct]
591
+ #
592
+ # @example
593
+ # @payment_process = session.orders.payment_process("268a8629-55cd-4890-9013-936b9b5ea14c", "266d8608-55cd-4890-9474-296a9q1ea05q")
594
+ #
595
+ def payment_process(order_id, payment_id)
596
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/processes/payments/#{payment_id}")
597
+
598
+ handle_response(response, status)
599
+ end
600
+
601
+ #
602
+ # A +GET+ request is used to list all payment processes of an order in a paged way.
603
+ #
604
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/2012b775-a706-41e0-b0f9-5142864ca4a0/processes/payments?page=0&size=20' -i -X GET \
605
+ # -H 'Content-Type: application/json' \
606
+ # -H 'Accept: application/hal+json' \
607
+ # -H 'Authorization: Bearer <Access token>'
608
+ #
609
+ # @beyond_api.scopes +pypr:r
610
+ #
611
+ # @param order_id [String] the order UUID
612
+ # @option params [Integer] :size the page size
613
+ # @option params [Integer] :page the page number
614
+ #
615
+ # @return [OpenStruct]
616
+ #
617
+ # @example
618
+ # @payment_processes = session.orders.payment_processes("268a8629-55cd-4890-9013-936b9b5ea14c", {page: 0, size: 20})
619
+ #
620
+ def payment_processes(order_id, params = {})
621
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/processes/payments", params)
622
+
623
+ handle_response(response, status)
624
+ end
625
+
626
+ #
627
+ # A +GET+ request is used to list all order processes.
628
+ #
629
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/934ece52-055c-4896-8d16-560f1461ea56/processes' -i -X GET \
630
+ # -H 'Content-Type: application/json' \
631
+ # -H 'Accept: application/hal+json' \
632
+ # -H 'Authorization: Bearer <Access token>'
633
+ #
634
+ # @beyond_api.scopes +ordr:r
635
+ #
636
+ # @param order_id [String] the order UUID
637
+ #
638
+ # @return [OpenStruct]
639
+ #
640
+ # @example
641
+ # @orders = session.orders.processes("268a8629-55cd-4890-9013-936b9b5ea14c")
642
+ #
643
+ def processes(order_id)
644
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/processes")
645
+
646
+ handle_response(response, status)
647
+ end
648
+
649
+ #
650
+ # A +GET+ request is used to retrieve the refund processes.
651
+ #
652
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/801885c8-0b25-44a2-a1a4-60cbf3f9ecca/processes/refunds/4c02883f-be31-4fb2-ad0d-ccbc3678a9f5' -i -X GET \
653
+ # -H 'Content-Type: application/json' \
654
+ # -H 'Accept: application/hal+json' \
655
+ # -H 'Authorization: Bearer <Access token>'
656
+ #
657
+ # @beyond_api.scopes +rfpr:r
658
+ #
659
+ # @param order_id [String] the order UUID
660
+ # @param refund_id [String] the refund UUID
661
+ #
662
+ # @return [OpenStruct]
663
+ #
664
+ # @example
665
+ # @refund_process = session.orders.refund_process("268a8629-55cd-9845-3114-454b9b5ea14c", "268a8629-55cd-4890-9013-936b9b5ea14a")
666
+ #
667
+ def refund_process(order_id, refund_id)
668
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/processes/refunds/#{refund_id}")
669
+
670
+ handle_response(response, status)
671
+ end
672
+
673
+ #
674
+ # A +GET+ request is used to list all refund processes of an order in a paged way. Refunds are triggered if either a cancelation or return process is created. See {Create cancelation processes}[http://docs.beyondshop.cloud/#resources-cancel-processes-create] and {Create return processes}[http://docs.beyondshop.cloud/#resources-return-processes-create] for more information.
675
+ #
676
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/6f86e42f-763e-4514-a37d-fb8f88cdc14c/processes/refunds?page=0&size=20' -i -X GET \
677
+ # -H 'Content-Type: application/json' \
678
+ # -H 'Accept: application/hal+json' \
679
+ # -H 'Authorization: Bearer <Access token>'
680
+ #
681
+ # @beyond_api.scopes +rfpr:r
682
+ #
683
+ # @param order_id [String] the order UUID
684
+ # @option params [Integer] :size the page size
685
+ # @option params [Integer] :page the page number
686
+ #
687
+ # @return [OpenStruct]
688
+ #
689
+ # @example
690
+ # @refund_processes = session.orders.refund_processes("268a8629-55cd-4890-9013-936b9b5ea14c", {page: 0, size: 20})
691
+ #
692
+ def refund_processes(order_id, params = {})
693
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/processes/refunds", params)
694
+
695
+ handle_response(response, status)
696
+ end
697
+
698
+ #
699
+ # A +GET+ request is used to list all return processes of an order in a paged way.
700
+ #
701
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/cb9927e4-60d1-4a90-b40c-f5a8e2b25301/processes/returns/910a3fde-cb23-418f-876a-694ce42245ef' -i -X GET \
702
+ # -H 'Content-Type: application/json' \
703
+ # -H 'Accept: application/hal+json' \
704
+ # -H 'Authorization: Bearer <Access token>'
705
+ #
706
+ # @beyond_api.scopes +rtpr:r
707
+ #
708
+ # @param order_id [String] the order UUID
709
+ # @param return_process_id [String] the return process UUID
710
+ #
711
+ # @return [OpenStruct]
712
+ #
713
+ # @example
714
+ # @return_process = session.orders.return_process("268a8629-55cd-4890-9013-936b9b5ea14c", "910a3fde-cb23-418f-876a-694ce42245ef")
715
+ #
716
+ def return_process(order_id, return_process_id)
717
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/processes/returns/#{return_process_id}")
718
+
719
+ handle_response(response, status)
720
+ end
721
+
722
+ #
723
+ # A +GET+ request is used to list all return processes of an order in a paged way.
724
+ #
725
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/9e26232f-aa7a-408b-8041-9439999268c5/processes/returns?page=0&size=20' -i -X GET \
726
+ # -H 'Content-Type: application/json' \
727
+ # -H 'Accept: application/hal+json' \
728
+ # -H 'Authorization: Bearer <Access token>'
729
+ #
730
+ # @beyond_api.scopes +rtpr:r
731
+ #
732
+ # @param order_id [String] the order UUID
733
+ # @option params [Integer] :size the page size
734
+ # @option params [Integer] :page the page number
735
+ #
736
+ # @return [OpenStruct]
737
+ #
738
+ # @example
739
+ # @return_processes = session.orders.return_processes("268a8629-55cd-4890-9013-936b9b5ea14c", {page: 0, size: 20})
740
+ #
741
+ def return_processes(order_id, params = {})
742
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/processes/returns", params)
743
+
744
+ handle_response(response, status)
745
+ end
746
+
747
+ #
748
+ # A +GET+ request is used to retrieve the details of an order by cart ID.
749
+ #
750
+ # @beyond_api.scopes +ordr:r
751
+ #
752
+ # @param cart_id [String] the cart UUID
753
+ #
754
+ # @return [OpenStruct]
755
+ #
756
+ # @example
757
+ # @order = session.orders.search_by_cart_id("268a8629-55cd-4890-9013-936b9b5ea14c")
758
+ #
759
+ def search_by_cart_id(cart_id)
760
+ response, status = BeyondApi::Request.get(@session, "/orders/search/find-by-cart-id", {"cartId": cart_id})
761
+
762
+ handle_response(response, status)
763
+ end
764
+
765
+ #
766
+ # A +GET+ request is used to retrieve the +orderNumber+ and +orderId+ of an order by cart Id. If there is no order for the given cart Id, a HTTP 404 - NOT FOUND response is returned.
767
+ #
768
+ # @param cart_id [String] the cart UUID
769
+ #
770
+ # @return [OpenStruct]
771
+ #
772
+ # @example
773
+ # @order = session.orders.search_by_cart_id("268a8629-55cd-4890-9013-936b9b5ea14c")
774
+ #
775
+ def search_order_number_by_cart_id(cart_id)
776
+ response, status = BeyondApi::Request.get(@session, "/orders/search/find-order-number-by-cart-id", {"cartId": cart_id})
777
+
778
+ handle_response(response, status)
779
+ end
780
+
781
+ #
782
+ # A +GET+ request is used to send an invoice for the order.
783
+ #
784
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/73bb3fbb-7146-4088-a0d8-dd24dc030e07/send-invoice' -i -X POST \
785
+ # -H 'Accept: application/hal+json' \
786
+ # -H 'Authorization: Bearer <Access token>'
787
+ #
788
+ # @param order_id [String] the order_id UUID
789
+ #
790
+ # @return [OpenStruct]
791
+ #
792
+ # @example
793
+ # @order = session.orders.send_invoice("268a8629-55cd-4890-9013-936b9b5ea14c")
794
+ #
795
+ def send_invoice(order_id)
796
+ response, status = BeyondApi::Request.post(@session, "/orders/#{order_id}/send-invoice")
797
+
798
+ handle_response(response, status)
799
+ end
800
+
801
+ #
802
+ # A +GET+ request is used to retrieve the shipping process details.
803
+ #
804
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/af42860f-2813-4130-85d9-2d315a4f802e/processes/shippings/80ebe96b-bcd5-4a34-a428-8a67ed114ce6' -i -X GET \
805
+ # -H 'Content-Type: application/json' \
806
+ # -H 'Accept: application/hal+json' \
807
+ # -H 'Authorization: Bearer <Access token>'
808
+ #
809
+ # @beyond_api.scopes +shpr:r
810
+ #
811
+ # @param order_id [String] the order UUID
812
+ # @param shipping_process_id [String] the shipping process UUID
813
+ #
814
+ # @return [OpenStruct]
815
+ #
816
+ # @example
817
+ # @shipping_process = session.orders.refund_process("268a8629-55cd-9845-3114-454b9b5ea14c", "268a8629-55cd-4890-9013-936b9b5ea14a")
818
+ #
819
+ def shipping_process(order_id, shipping_process_id)
820
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/processes/shippings/#{shipping_process_id}")
821
+
822
+ handle_response(response, status)
823
+ end
824
+
825
+ #
826
+ # A +GET+ request is used to list all shipping processes of an order in a paged way.
827
+ #
828
+ # $ curl 'https://api-shop.beyondshop.cloud/api/orders/d6387876-5e93-48dc-a6f3-f85893149819/processes/shippings?page=0&size=20' -i -X GET \
829
+ # -H 'Content-Type: application/json' \
830
+ # -H 'Accept: application/hal+json' \
831
+ # -H 'Authorization: Bearer <Access token>'
832
+ #
833
+ # @beyond_api.scopes +shpr:r
834
+ #
835
+ # @param order_id [String] the order UUID
836
+ # @option params [Integer] :size the page size
837
+ # @option params [Integer] :page the page number
838
+ #
839
+ # @return [OpenStruct]
840
+ #
841
+ # @example
842
+ # @shipping_processes = session.orders.shipping_processes("268a8629-55cd-4890-9013-936b9b5ea14c", {page: 0, size: 20})
843
+ #
844
+ def shipping_processes(order_id, params = {})
845
+ response, status = BeyondApi::Request.get(@session, "/orders/#{order_id}/processes/shippings", params)
846
+
847
+ handle_response(response, status)
848
+ end
849
+
850
+ #
851
+ # A +PUT+ request is used to change the customer’s billing address.
852
+ #
853
+ # @beyond_api.scopes +ordr:u
854
+ #
855
+ # @param order_id [String] the order UUID
856
+ # @param body [Hash] the request body
857
+ #
858
+ # @return [OpenStruct]
859
+ #
860
+ # @example
861
+ # body = {
862
+ # "address" => {
863
+ # "salutation" => "Mrs",
864
+ # "gender" => "FEMALE",
865
+ # "company" => "Astrid Alster GmbH",
866
+ # "title" => nil,
867
+ # "firstName" => "Astrid",
868
+ # "middleName" => "Agnes",
869
+ # "lastName" => "Alster",
870
+ # "street" => "Alsterwasserstraße",
871
+ # "houseNumber" => "3",
872
+ # "street2" => "Erdgeschoss",
873
+ # "addressExtension" => "Hinterhof",
874
+ # "postalCode" => "20999",
875
+ # "dependentLocality" => "Seevetal",
876
+ # "city" => "Alsterwasser",
877
+ # "country" => "DE",
878
+ # "state" => "Hamburg",
879
+ # "email" => "a.alsterh@example.com",
880
+ # "phone" => "(800) 555-0102",
881
+ # "mobile" => "(800) 555-0103",
882
+ # "vatId" => "DE123456789",
883
+ # "taxNumber" => "HRE 987654/32123/864516",
884
+ # "birthDate" => "1985-05-11",
885
+ # "displayAddressLines" => [ "Astrid Alster GmbH", "Astrid Agnes Alster", "Alsterwasserweg 2", "Erdgeschoss", "Seevetal", "20999 Alsterwasser", "Germany" ],
886
+ # "_id" => null
887
+ # },
888
+ # "comment" => "Updated billing address"
889
+ # }
890
+ # @order = session.orders.update_billing_address("268a8629-55cd-4890-9013-936b9b5ea14c", body)
891
+ #
892
+ def update_billing_address(order_id, body)
893
+ response, status = BeyondApi::Request.put(@session, "/orders/#{order_id}/billing-address", body)
894
+
895
+ handle_response(response, status)
896
+ end
897
+
898
+ #
899
+ # A +PUT+ request is used to change the order note.
900
+ #
901
+ # @beyond_api.scopes +ordr:u
902
+ #
903
+ # @param order_id [String] the order UUID
904
+ # @param body [Hash] the request body
905
+ #
906
+ # @return [OpenStruct]
907
+ #
908
+ # @example
909
+ # body = {
910
+ # "orderNote" => "not paid yet"
911
+ # }
912
+ # @order = session.orders.update_order_note("268a8629-55cd-4890-9013-936b9b5ea14c", body)
913
+ #
914
+ def update_order_note(order_id, body)
915
+ response, status = BeyondApi::Request.put(@session, "/orders/#{order_id}/order-note", body)
916
+
917
+ handle_response(response, status)
918
+ end
919
+
920
+ #
921
+ # A +PUT+ request is used to change the customer’s shipping.
922
+ #
923
+ # @beyond_api.scopes +ordr:u
924
+ #
925
+ # @param order_id [String] the order UUID
926
+ # @param body [Hash] the request body
927
+ #
928
+ # @return [OpenStruct]
929
+ #
930
+ # @example
931
+ # body = {
932
+ # "address" => {
933
+ # "salutation" => "Mrs",
934
+ # "gender" => "FEMALE",
935
+ # "company" => "Astrid Alster GmbH",
936
+ # "title" => nil,
937
+ # "firstName" => "Astrid",
938
+ # "middleName" => "Agnes",
939
+ # "lastName" => "Alster",
940
+ # "street" => "Alsterwasserstraße",
941
+ # "houseNumber" => "3",
942
+ # "street2" => "Erdgeschoss",
943
+ # "addressExtension" => "Hinterhof",
944
+ # "postalCode" => "20999",
945
+ # "dependentLocality" => "Seevetal",
946
+ # "city" => "Alsterwasser",
947
+ # "country" => "DE",
948
+ # "state" => "Hamburg",
949
+ # "email" => "a.alsterh@example.com",
950
+ # "phone" => "(800) 555-0102",
951
+ # "mobile" => "(800) 555-0103",
952
+ # "vatId" => "DE123456789",
953
+ # "taxNumber" => "HRE 987654/32123/864516",
954
+ # "birthDate" => "1985-05-11",
955
+ # "displayAddressLines" => [ "Astrid Alster GmbH", "Astrid Agnes Alster", "Alsterwasserweg 2", "Erdgeschoss", "Seevetal", "20999 Alsterwasser", "Germany" ],
956
+ # "_id" => null
957
+ # },
958
+ # "comment" => "Updated shipping address"
959
+ # }
960
+ # @order = session.orders.update_shipping_address("268a8629-55cd-4890-9013-936b9b5ea14c", body)
961
+ #
962
+ def update_shipping_address(order_id, body)
963
+ response, status = BeyondApi::Request.put(@session, "/orders/#{order_id}/shipping-address", body)
964
+
965
+ handle_response(response, status)
966
+ end
967
+ end
968
+ end