plenty_client 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/.rspec +2 -0
  4. data/.rubocop.yml +43 -0
  5. data/.travis.yml +5 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +4 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +154 -0
  10. data/Rakefile +6 -0
  11. data/lib/plenty_client/config.rb +15 -0
  12. data/lib/plenty_client/constants.rb +362 -0
  13. data/lib/plenty_client/endpoint.rb +73 -0
  14. data/lib/plenty_client/item/attribute/name.rb +52 -0
  15. data/lib/plenty_client/item/attribute/value.rb +52 -0
  16. data/lib/plenty_client/item/attribute/value_name.rb +52 -0
  17. data/lib/plenty_client/item/attribute.rb +36 -0
  18. data/lib/plenty_client/item/barcode.rb +56 -0
  19. data/lib/plenty_client/item/cross_selling.rb +26 -0
  20. data/lib/plenty_client/item/image/availability.rb +37 -0
  21. data/lib/plenty_client/item/image/name.rb +57 -0
  22. data/lib/plenty_client/item/image.rb +53 -0
  23. data/lib/plenty_client/item/manufacturer/commission.rb +52 -0
  24. data/lib/plenty_client/item/manufacturer.rb +36 -0
  25. data/lib/plenty_client/item/property/market_reference.rb +52 -0
  26. data/lib/plenty_client/item/property/name.rb +52 -0
  27. data/lib/plenty_client/item/property.rb +36 -0
  28. data/lib/plenty_client/item/property_group.rb +36 -0
  29. data/lib/plenty_client/item/property_group_name.rb +44 -0
  30. data/lib/plenty_client/item/sales_price.rb +37 -0
  31. data/lib/plenty_client/item/shipping_profile.rb +26 -0
  32. data/lib/plenty_client/item/unit.rb +35 -0
  33. data/lib/plenty_client/item/unit_name.rb +38 -0
  34. data/lib/plenty_client/item/variation/barcode.rb +53 -0
  35. data/lib/plenty_client/item/variation/bundle.rb +52 -0
  36. data/lib/plenty_client/item/variation/category.rb +52 -0
  37. data/lib/plenty_client/item/variation/client.rb +37 -0
  38. data/lib/plenty_client/item/variation/default_category.rb +45 -0
  39. data/lib/plenty_client/item/variation/description.rb +53 -0
  40. data/lib/plenty_client/item/variation/image.rb +49 -0
  41. data/lib/plenty_client/item/variation/market.rb +37 -0
  42. data/lib/plenty_client/item/variation/market_ident_number.rb +53 -0
  43. data/lib/plenty_client/item/variation/sales_price.rb +53 -0
  44. data/lib/plenty_client/item/variation/sku.rb +52 -0
  45. data/lib/plenty_client/item/variation/stock.rb +57 -0
  46. data/lib/plenty_client/item/variation/supplier.rb +52 -0
  47. data/lib/plenty_client/item/variation/warehouse.rb +52 -0
  48. data/lib/plenty_client/item/variation.rb +35 -0
  49. data/lib/plenty_client/item/variation_property.rb +36 -0
  50. data/lib/plenty_client/item/variation_property_value.rb +48 -0
  51. data/lib/plenty_client/item.rb +24 -0
  52. data/lib/plenty_client/item_set/component.rb +54 -0
  53. data/lib/plenty_client/item_set/config.rb +20 -0
  54. data/lib/plenty_client/item_set.rb +44 -0
  55. data/lib/plenty_client/order/contact_wish.rb +17 -0
  56. data/lib/plenty_client/order/coupon_code/contact.rb +20 -0
  57. data/lib/plenty_client/order/coupon_code/validation.rb +20 -0
  58. data/lib/plenty_client/order/coupon_code.rb +19 -0
  59. data/lib/plenty_client/order/currency.rb +32 -0
  60. data/lib/plenty_client/order/date.rb +32 -0
  61. data/lib/plenty_client/order/item/date.rb +20 -0
  62. data/lib/plenty_client/order/item/property.rb +20 -0
  63. data/lib/plenty_client/order/item/serial_number.rb +25 -0
  64. data/lib/plenty_client/order/item.rb +18 -0
  65. data/lib/plenty_client/order/property.rb +21 -0
  66. data/lib/plenty_client/order/referrer.rb +22 -0
  67. data/lib/plenty_client/order/shipping/country.rb +18 -0
  68. data/lib/plenty_client/order/shipping/information.rb +45 -0
  69. data/lib/plenty_client/order/shipping/package.rb +54 -0
  70. data/lib/plenty_client/order/shipping/profile.rb +23 -0
  71. data/lib/plenty_client/order/shipping/service_provider.rb +27 -0
  72. data/lib/plenty_client/order/shipping.rb +12 -0
  73. data/lib/plenty_client/order.rb +43 -0
  74. data/lib/plenty_client/request.rb +128 -0
  75. data/lib/plenty_client/sales_price/account.rb +30 -0
  76. data/lib/plenty_client/sales_price/country.rb +26 -0
  77. data/lib/plenty_client/sales_price/currency.rb +26 -0
  78. data/lib/plenty_client/sales_price/customer_class.rb +31 -0
  79. data/lib/plenty_client/sales_price/name.rb +36 -0
  80. data/lib/plenty_client/sales_price/online_store.rb +29 -0
  81. data/lib/plenty_client/sales_price/referrer.rb +25 -0
  82. data/lib/plenty_client/version.rb +3 -0
  83. data/lib/plenty_client.rb +108 -0
  84. data/plenty_client.gemspec +29 -0
  85. metadata +204 -0
@@ -0,0 +1,53 @@
1
+ module PlentyClient
2
+ module Item
3
+ module Variation
4
+ class Barcode
5
+ extend PlentyClient::Endpoint
6
+ extend PlentyClient::Request
7
+
8
+ ITEM_VARIATION_BARCODE_PATH = '/items/{itemId}/variations/{variationId}'.freeze
9
+
10
+ LIST_ITEM_VARIATION_BARCODES = "#{ITEM_VARIATION_BARCODE_PATH}/variation_barcodes".freeze
11
+ GET_ITEM_VARIATIONS_BARCODE = "#{ITEM_VARIATION_BARCODE_PATH}/variation_barcodes/{barcodeId}".freeze
12
+ CREATE_ITEM_VARIATIONS_BARCODE = "#{ITEM_VARIATION_BARCODE_PATH}/variation_barcodes".freeze
13
+ UPDATE_ITEM_VARIATIONS_BARCODE = "#{ITEM_VARIATION_BARCODE_PATH}/variation_barcodes/{barcodeId}".freeze
14
+ DELETE_ITEM_VARIATIONS_BARCODE = "#{ITEM_VARIATION_BARCODE_PATH}/variation_barcodes/{barcodeId}".freeze
15
+
16
+ class << self
17
+ def list(item_id, variation_id, headers = {}, &block)
18
+ get(build_endpoint("#{ITEM_VARIATION_BARCODE_PATH}#{LIST_ITEM_VARIATION_BARCODES}",
19
+ item: item_id,
20
+ variation: variation_id), headers, &block)
21
+ end
22
+
23
+ def find(item_id, variation_id, barcode_id, headers = {})
24
+ get(build_endpoint("#{ITEM_VARIATION_BARCODE_PATH}#{GET_ITEM_VARIATIONS_BARCODE}",
25
+ item: item_id,
26
+ variation: variation_id,
27
+ barcode: barcode_id), headers, &block)
28
+ end
29
+
30
+ def create(item_id, variation_id, body = {})
31
+ post(build_endpoint("#{ITEM_VARIATION_BARCODE_PATH}#{CREATE_ITEM_VARIATIONS_BARCODE}",
32
+ item: item_id,
33
+ variation: variation_id), body)
34
+ end
35
+
36
+ def update(item_id, variation_id, barcode_id, body = {})
37
+ put(build_endpoint("#{ITEM_VARIATION_BARCODE_PATH}#{UPDATE_ITEM_VARIATIONS_BARCODE}",
38
+ item: item_id,
39
+ variation: variation_id,
40
+ barcode: barcode_id), body)
41
+ end
42
+
43
+ def delete(item_id, variation_id, barcode_id)
44
+ delete(build_endpoint("#{ITEM_VARIATION_BARCODE_PATH}#{DELETE_ITEM_VARIATIONS_BARCODE}",
45
+ item: item_id,
46
+ variation: variation_id,
47
+ barcode: barcode_id))
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,52 @@
1
+ module PlentyClient
2
+ module Item
3
+ module Variation
4
+ class Bundle
5
+ extend PlentyClient::Endpoint
6
+ extend PlentyClient::Request
7
+
8
+ ITEM_VARIATION_BUNDLE_PATH = '/items/{itemId}/variations/{variationId}'.freeze
9
+
10
+ LIST_ITEM_VARIATIONS_BUNDLE = '/variation_bundles'.freeze
11
+ GET_ITEM_VARIATIONS_BUNDLE = '/variation_bundles/{bundleId}'.freeze
12
+ CREATE_ITEM_VARIATIONS_BUNDLE = '/variation_bundles'.freeze
13
+ UPDATE_ITEM_VARIATIONS_BUNDLE = '/variation_bundles/{bundleId}'.freeze
14
+ DELETE_ITEM_VARIATIONS_BUNDLE = '/variation_bundles/{bundleId}'.freeze
15
+
16
+ class << self
17
+ def list(item_id, variation_id, headers = {}, &block)
18
+ get(build_endpoint("#{ITEM_VARIATION_BUNDLE_PATH}#{LIST_ITEM_VARIATIONS_BUNDLE}",
19
+ item: item_id,
20
+ variation: variation_id), headers, &block)
21
+ end
22
+
23
+ def find(item_id, variation_id, bundle_id, headers = {}, &block)
24
+ get(build_endpoint("#{ITEM_VARIATION_BUNDLE_PATH}#{GET_ITEM_VARIATIONS_BUNDLE}",
25
+ item: item_id,
26
+ variation: variation_id,
27
+ bundle: bundle_id), headers, &block)
28
+ end
29
+
30
+ def create(item_id, variation_id, body = {})
31
+ post(build_endpoint("#{ITEM_VARIATION_BUNDLE_PATH}#{CREATE_ITEM_VARIATIONS_BUNDLE}",
32
+ item: item_id,
33
+ variation: variation_id), body)
34
+ end
35
+
36
+ def update(item_id, variation_id, bundle_id, body = {})
37
+ put(build_endpoint("#{ITEM_VARIATION_BUNDLE_PATH}#{CREATE_ITEM_VARIATIONS_BUNDLE}",
38
+ item: item_id,
39
+ variation: variation_id), body)
40
+ end
41
+
42
+ def delete(item_id, variation_id, bundle_id)
43
+ delete(build_endpoint("#{ITEM_VARIATION_BUNDLE_PATH}#{DELETE_ITEM_VARIATIONS_BUNDLE}",
44
+ item: item_id,
45
+ variation: variation_id,
46
+ bundle: bundle_id))
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,52 @@
1
+ module PlentyClient
2
+ module Item
3
+ module Variation
4
+ class Category
5
+ extend PlentyClient::Endpoint
6
+ extend PlentyClient::Request
7
+
8
+ ITEM_VARIATION_CATEGORY_PATH = '/items/{itemId}/variations/{variationId}'.freeze
9
+
10
+ LIST_ITEM_VARIATIONS_CATEGORY = '/variation_categories'.freeze
11
+ GET_ITEM_VARIATIONS_CATEGORY = '/variation_categories/{catId}'.freeze
12
+ CREATE_ITEM_VARIATIONS_CATEGORY = '/variation_categories'.freeze
13
+ UPDATE_ITEM_VARIATIONS_CATEGORY = '/variation_categories/{catId}'.freeze
14
+ DELETE_ITEM_VARIATIONS_CATEGORY = '/variation_categories/{catId}'.freeze
15
+
16
+ class << self
17
+ def list(item_id, variation_id, headers = {}, &block)
18
+ get(build_endpoint("#{ITEM_VARIATION_CATEGORY_PATH}#{LIST_ITEM_VARIATIONS_CATEGORY}",
19
+ item: item_id,
20
+ variation: variation_id), headers, &block)
21
+ end
22
+
23
+ def find(item_id, variation_id, category_id, headers = {}, &block)
24
+ get(build_endpoint("#{ITEM_VARIATION_CATEGORY_PATH}#{GET_ITEM_VARIATIONS_CATEGORY}",
25
+ item: item_id,
26
+ variation: variation_id,
27
+ category: category_id), headers, &block)
28
+ end
29
+
30
+ def create(item_id, variation_id, body = {})
31
+ post(build_endpoint("#{ITEM_VARIATION_CATEGORY_PATH}#{CREATE_ITEM_VARIATIONS_CATEGORY}",
32
+ item: item_id,
33
+ variation: variation_id), body)
34
+ end
35
+
36
+ def update(item_id, variation_id, category_id, body = {})
37
+ put(build_endpoint("#{ITEM_VARIATION_CATEGORY_PATH}#{CREATE_ITEM_VARIATIONS_CATEGORY}",
38
+ item: item_id,
39
+ variation: variation_id), body)
40
+ end
41
+
42
+ def delete(item_id, variation_id, category_id)
43
+ delete(build_endpoint("#{ITEM_VARIATION_CATEGORY_PATH}#{DELETE_ITEM_VARIATIONS_CATEGORY}",
44
+ item: item_id,
45
+ variation: variation_id,
46
+ category: category_id))
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,37 @@
1
+ module PlentyClient
2
+ module Item
3
+ module Variation
4
+ class Client
5
+ extend PlentyClient::Endpoint
6
+ extend PlentyClient::Request
7
+
8
+ ITEM_VARIATION_CLIENTS_PATH = '/items/{itemId}/variations/{variationId}'.freeze
9
+
10
+ GET_ITEM_VARIATIONS_CLIENTS = '/variation_clients'.freeze
11
+ CREATE_ITEM_VARIATIONS_CLIENTS = '/variation_clients'.freeze
12
+ DELETE_ITEM_VARIATIONS_CLIENTS = '/variation_clients/{plentyId}'.freeze
13
+
14
+ class << self
15
+ def list(item_id, variation_id, headers = {}, &block)
16
+ get(build_endpoint("#{ITEM_VARIATION_CLIENTS_PATH}#{GET_ITEM_VARIATIONS_CLIENTS}",
17
+ item: item_id,
18
+ variation: variation_id), headers, &block)
19
+ end
20
+
21
+ def create(item_id, variation_id, body = {})
22
+ post(build_endpoint("#{ITEM_VARIATION_CLIENTS_PATH}#{CREATE_ITEM_VARIATIONS_CLIENTS}",
23
+ item: item_id,
24
+ variation: variation_id), body)
25
+ end
26
+
27
+ def delete(item_id, variation_id, marketplace_id)
28
+ delete(build_endpoint("#{ITEM_VARIATION_CLIENTS_PATH}#{DELETE_ITEM_VARIATIONS_CLIENTS}",
29
+ item: item_id,
30
+ variation: variation_id,
31
+ marketplace: marketplace_id))
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,45 @@
1
+ module PlentyClient
2
+ module Item
3
+ module Variation
4
+ class DefaultCategory
5
+ extend PlentyClient::Endpoint
6
+ extend PlentyClient::Request
7
+
8
+ ITEM_VARIATION_DEFAULT_CATEGORY_PATH = '/items/{itemId}/variations/{variationId}'.freeze
9
+
10
+ LIST_ITEM_VARIATIONS_DEFAULT_CATEGORY = '/variation_default_categories'.freeze
11
+ GET_ITEM_VARIATIONS_DEFAULT_CATEGORY = '/variation_default_categories/{plentyId}'.freeze
12
+ CREATE_ITEM_VARIATIONS_DEFAULT_CATEGORY = '/variation_default_categories'.freeze
13
+ DELETE_ITEM_VARIATIONS_DEFAULT_CATEGORY = '/variation_default_categories/{plentyId}'.freeze
14
+
15
+ class << self
16
+ def list(item_id, variation_id, headers = {}, &block)
17
+ get(build_endpoint("#{ITEM_VARIATION_DEFAULT_CATEGORY_PATH}#{LIST_ITEM_VARIATIONS_DEFAULT_CATEGORY}",
18
+ item: item_id,
19
+ variation: variation_id), headers, &block)
20
+ end
21
+
22
+ def find(item_id, variation_id, plenty_id, headers = {}, &block)
23
+ get(build_endpoint("#{ITEM_VARIATION_DEFAULT_CATEGORY_PATH}#{GET_ITEM_VARIATIONS_DEFAULT_CATEGORY}",
24
+ item: item_id,
25
+ variation: variation_id,
26
+ plenty: plenty_id), headers, &block)
27
+ end
28
+
29
+ def create(item_id, variation_id, body = {})
30
+ post(build_endpoint("#{ITEM_VARIATION_DEFAULT_CATEGORY_PATH}#{CREATE_ITEM_VARIATIONS_DEFAULT_CATEGORY}",
31
+ item: item_id,
32
+ variation: variation_id), body)
33
+ end
34
+
35
+ def delete(item_id, variation_id, marketplace_id)
36
+ delete(build_endpoint("#{ITEM_VARIATION_DEFAULT_CATEGORY_PATH}#{DELETE_ITEM_VARIATIONS_DEFAULT_CATEGORY}",
37
+ item: item_id,
38
+ variation: variation_id,
39
+ marketplace: marketplace_id))
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,53 @@
1
+ module PlentyClient
2
+ module Item
3
+ module Variation
4
+ class Description
5
+ extend PlentyClient::Endpoint
6
+ extend PlentyClient::Request
7
+
8
+ ITEM_VARIATION_DESCRIPTION_BASE_PATH = '/items/{itemId}/variations/{variationId}'.freeze
9
+
10
+ LIST_ITEM_VARIATION_DESCRIPTIONS = '/descriptions'.freeze
11
+ GET_ITEM_VARIATIONS_DESCRIPTION = '/descriptions/{lang}'.freeze
12
+ CREATE_ITEM_VARIATIONS_DESCRIPTION = '/descriptions'.freeze
13
+ UPDATE_ITEM_VARIATIONS_DESCRIPTION = '/descriptions/{lang}'.freeze
14
+ DELETE_ITEM_VARIATIONS_DESCRIPTION = '/descriptions/{lang}'.freeze
15
+
16
+ class << self
17
+ def list(item_id, variation_id, headers = {}, &block)
18
+ get(build_endpoint("#{ITEM_VARIATION_DESCRIPTION_BASE_PATH}#{LIST_ITEM_VARIATION_DESCRIPTIONS}",
19
+ item: item_id,
20
+ variation: variation_id), headers, &block)
21
+ end
22
+
23
+ def find(item_id, variation_id, lang, headers = {})
24
+ get(build_endpoint("#{ITEM_VARIATION_DESCRIPTION_BASE_PATH}#{GET_ITEM_VARIATIONS_DESCRIPTION}",
25
+ item: item_id,
26
+ variation: variation_id,
27
+ lang: lang), headers, &block)
28
+ end
29
+
30
+ def create(item_id, variation_id, body = {})
31
+ post(build_endpoint("#{ITEM_VARIATION_DESCRIPTION_BASE_PATH}#{CREATE_ITEM_VARIATIONS_DESCRIPTION}",
32
+ item: item_id,
33
+ variation: variation_id), body)
34
+ end
35
+
36
+ def update(item_id, variation_id, lang, body = {})
37
+ put(build_endpoint("#{ITEM_VARIATION_DESCRIPTION_BASE_PATH}#{UPDATE_ITEM_VARIATIONS_DESCRIPTION}",
38
+ item: item_id,
39
+ variation: variation_id,
40
+ lang: lang), body)
41
+ end
42
+
43
+ def delete(item_id, variation_id, lang)
44
+ delete(build_endpoint("#{ITEM_VARIATION_DESCRIPTION_BASE_PATH}#{DELETE_ITEM_VARIATIONS_DESCRIPTION}",
45
+ item: item_id,
46
+ variation: variation_id,
47
+ lang: lang))
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,49 @@
1
+ module PlentyClient
2
+ module Item
3
+ module Variation
4
+ class Image
5
+ extend PlentyClient::Endpoint
6
+ extend PlentyClient::Request
7
+ ITEM_IMAGE_BASE_PATH = '/items/{itemId}'.freeze
8
+
9
+ LIST_IMAGES_IMAGE_LINKS = '/images/{imageId}/variation_images'.freeze
10
+ LIST_VARIATION_IMAGE_LINKS = '/variations/{variationId}/variation_images'.freeze
11
+ GET_ITEM_IMAGES = '/variation_images'.freeze
12
+ UPDATE_ITEM_IMAGES = '/variations/{variationId}/variation_images'.freeze
13
+ DELETE_ITEM_IMAGES = '/variations/{variationId}/variation_images/{imageId}'.freeze
14
+
15
+ class << self
16
+ def list_images_image_links(item_id, image_id, headers = {}, &block)
17
+ get(build_endpoint("#{ITEM_IMAGE_BASE_PATH}#{LIST_IMAGES_IMAGE_LINKS}",
18
+ item: item_id,
19
+ image: image_id), headers, &block)
20
+ end
21
+
22
+ def list_variations_image_links(item_id, variation_id, headers = {}, &block)
23
+ get(build_endpoint("#{ITEM_IMAGE_BASE_PATH}#{LIST_VARIATION_IMAGE_LINKS}",
24
+ item: item_id,
25
+ variation: variation_id), headers, &block)
26
+ end
27
+
28
+ def list_items_image_links(item_id, headers = {}, &block)
29
+ get(build_endpoint("#{ITEM_IMAGE_BASE_PATH}#{GET_ITEM_IMAGES}",
30
+ item: item_id), headers, &block)
31
+ end
32
+
33
+ def create(item_id, variation_id, body = {})
34
+ post(build_endpoint("#{ITEM_IMAGE_BASE_PATH}#{UPDATE_ITEM_IMAGES}",
35
+ item: item_id,
36
+ variation: variation_id), body)
37
+ end
38
+
39
+ def delete(item_id, variation_id, image_id)
40
+ delete(build_endpoint("#{ITEM_IMAGE_BASE_PATH}#{DELETE_ITEM_IMAGES}",
41
+ item: item_id,
42
+ variation: variation_id,
43
+ image: image_id))
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,37 @@
1
+ module PlentyClient
2
+ module Item
3
+ module Variation
4
+ class Market
5
+ extend PlentyClient::Endpoint
6
+ extend PlentyClient::Request
7
+
8
+ ITEM_VARIATION_MARKETS_PATH = '/items/{itemId}/variations/{variationId}'.freeze
9
+
10
+ GET_ITEM_VARIATIONS_MARKETS = '/variation_markets'.freeze
11
+ CREATE_ITEM_VARIATIONS_MARKETS = '/variation_markets'.freeze
12
+ DELETE_ITEM_VARIATIONS_MARKETS = '/variation_markets/{marketplaceId}'.freeze
13
+
14
+ class << self
15
+ def list(item_id, variation_id, headers = {}, &block)
16
+ get(build_endpoint("#{ITEM_VARIATION_MARKETS_PATH}#{GET_ITEM_VARIATIONS_MARKETS}",
17
+ item: item_id,
18
+ variation: variation_id), headers, &block)
19
+ end
20
+
21
+ def create(item_id, variation_id, body = {})
22
+ post(build_endpoint("#{ITEM_VARIATION_MARKETS_PATH}#{CREATE_ITEM_VARIATIONS_MARKETS}",
23
+ item: item_id,
24
+ variation: variation_id), body)
25
+ end
26
+
27
+ def delete(item_id, variation_id, marketplace_id)
28
+ delete(build_endpoint("#{ITEM_VARIATION_MARKETS_PATH}#{DELETE_ITEM_VARIATIONS_MARKETS}",
29
+ item: item_id,
30
+ variation: variation_id,
31
+ marketplace: marketplace_id))
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,53 @@
1
+ module PlentyClient
2
+ module Item
3
+ module Variation
4
+ class MarketIdentNumber
5
+ extend PlentyClient::Endpoint
6
+ extend PlentyClient::Request
7
+
8
+ ITEM_VARIATION_MARKET_IDENT_PATH = '/items/{itemId}/variations/{variationId}'.freeze
9
+
10
+ LIST_ITEM_VARIATION_MARKET_IDENT = '/market_ident_numbers'.freeze
11
+ GET_ITEM_VARIATIONS_MARKET_IDENT = '/market_ident_numbers/{marketIdentNumberId}'.freeze
12
+ CREATE_ITEM_VARIATIONS_MARKET_IDENT = '/market_ident_numbers'.freeze
13
+ UPDATE_ITEM_VARIATIONS_MARKET_IDENT = '/market_ident_numbers/{marketIdentNumberId}'.freeze
14
+ DELETE_ITEM_VARIATIONS_MARKET_IDENT = '/market_ident_numbers/{marketIdentNumberId}'.freeze
15
+
16
+ class << self
17
+ def list(item_id, variation_id, headers = {}, &block)
18
+ get(build_endpoint("#{ITEM_VARIATION_MARKET_IDENT_PATH}#{LIST_ITEM_VARIATION_MARKET_IDENT}",
19
+ item: item_id,
20
+ variation: variation_id), headers, &block)
21
+ end
22
+
23
+ def find(item_id, variation_id, market_ident_number_id, headers = {})
24
+ get(build_endpoint("#{ITEM_VARIATION_MARKET_IDENT_PATH}#{GET_ITEM_VARIATIONS_MARKET_IDENT}",
25
+ item: item_id,
26
+ variation: variation_id,
27
+ market_ident_number: market_ident_number_id), headers, &block)
28
+ end
29
+
30
+ def create(item_id, variation_id, body = {})
31
+ post(build_endpoint("#{ITEM_VARIATION_MARKET_IDENT_PATH}#{CREATE_ITEM_VARIATIONS_MARKET_IDENT}",
32
+ item: item_id,
33
+ variation: variation_id), body)
34
+ end
35
+
36
+ def update(item_id, variation_id, market_ident_number_id, body = {})
37
+ put(build_endpoint("#{ITEM_VARIATION_MARKET_IDENT_PATH}#{UPDATE_ITEM_VARIATIONS_MARKET_IDENT}",
38
+ item: item_id,
39
+ variation: variation_id,
40
+ market_ident_number: market_ident_number_id), body)
41
+ end
42
+
43
+ def delete(item_id, variation_id, market_ident_number_id)
44
+ delete(build_endpoint("#{ITEM_VARIATION_MARKET_IDENT_PATH}#{DELETE_ITEM_VARIATIONS_MARKET_IDENT}",
45
+ item: item_id,
46
+ variation: variation_id,
47
+ market_ident_number: market_ident_number_id))
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,53 @@
1
+ module PlentyClient
2
+ module Item
3
+ module Variation
4
+ class SalesPrice
5
+ extend PlentyClient::Endpoint
6
+ extend PlentyClient::Request
7
+
8
+ ITEM_VARIATION_SALES_PRICES_PATH = '/items/{itemId}/variations/{variationId}'.freeze
9
+
10
+ LIST_ITEM_VARIATIONS_SALES_PRICES = '/variation_sales_prices'.freeze
11
+ GET_ITEM_VARIATIONS_SALES_PRICES = '/variation_sales_prices/{priceId}'.freeze
12
+ CREATE_ITEM_VARIATIONS_SALES_PRICES = '/variation_sales_prices'.freeze
13
+ UPDATE_ITEM_VARIATIONS_SALES_PRICES = '/variation_sales_prices/{priceId}'.freeze
14
+ DELETE_ITEM_VARIATIONS_SALES_PRICES = '/variation_sales_prices/{priceId}'.freeze
15
+
16
+ class << self
17
+ def list(item_id, variation_id, headers = {}, &block)
18
+ get(build_endpoint("#{ITEM_VARIATION_SALES_PRICES_PATH}#{LIST_ITEM_VARIATIONS_SALES_PRICES}",
19
+ item: item_id,
20
+ variation: variation_id), headers, &block)
21
+ end
22
+
23
+ def find(item_id, variation_id, price_id, headers = {}, &block)
24
+ get(build_endpoint("#{ITEM_VARIATION_SALES_PRICES_PATH}#{GET_ITEM_VARIATIONS_SALES_PRICES}",
25
+ item: item_id,
26
+ variation: variation_id,
27
+ price: price_id), headers, &block)
28
+ end
29
+
30
+ def create(item_id, variation_id, body = {})
31
+ post(build_endpoint("#{ITEM_VARIATION_SALES_PRICES_PATH}#{CREATE_ITEM_VARIATIONS_SALES_PRICES}",
32
+ item: item_id,
33
+ variation: variation_id), body)
34
+ end
35
+
36
+ def update(item_id, variation_id, price_id. body = {})
37
+ put(build_endpoint("#{ITEM_VARIATION_SALES_PRICES_PATH}#{UPDATE_ITEM_VARIATIONS_SALES_PRICES}",
38
+ item: item_id,
39
+ variation: variation_id,
40
+ price: price_id), body)
41
+ end
42
+
43
+ def delete(item_id, variation_id, price_id)
44
+ delete(build_endpoint("#{ITEM_VARIATION_SALES_PRICES_PATH}#{DELETE_ITEM_VARIATIONS_SALES_PRICES}",
45
+ item: item_id,
46
+ variation: variation_id,
47
+ price: price_id))
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,52 @@
1
+ module PlentyClient
2
+ module Item
3
+ module Variation
4
+ class Sku
5
+ extend PlentyClient::Endpoint
6
+ extend PlentyClient::Request
7
+
8
+ ITEM_VARIATION_SKU_PATH = '/items/{itemId}/variations/{variationId}'.freeze
9
+
10
+ LIST_ITEM_VARIATIONS_SKU = '/variation_skus'.freeze
11
+ GET_ITEM_VARIATIONS_SKU = '/variation_skus/{skuId}'.freeze
12
+ CREATE_ITEM_VARIATIONS_SKU = '/variation_skus'.freeze
13
+ UPDATE_ITEM_VARIATIONS_SKU = '/variation_skus/{skuId}'.freeze
14
+ DELETE_ITEM_VARIATIONS_SKU = '/variation_skus/{skuId}'.freeze
15
+
16
+ class << self
17
+ def list(item_id, variation_id, headers = {}, &block)
18
+ get(build_endpoint("#{ITEM_VARIATION_SKU_PATH}#{LIST_ITEM_VARIATIONS_SKU}",
19
+ item: item_id,
20
+ variation: variation_id), headers, &block)
21
+ end
22
+
23
+ def find(item_id, variation_id, sku_id, headers = {}, &block)
24
+ get(build_endpoint("#{ITEM_VARIATION_SKU_PATH}#{GET_ITEM_VARIATIONS_SKU}",
25
+ item: item_id,
26
+ variation: variation_id,
27
+ sku: sku_id), headers, &block)
28
+ end
29
+
30
+ def create(item_id, variation_id, body = {})
31
+ post(build_endpoint("#{ITEM_VARIATION_SKU_PATH}#{CREATE_ITEM_VARIATIONS_SKU}",
32
+ item: item_id,
33
+ variation: variation_id), body)
34
+ end
35
+
36
+ def update(item_id, variation_id, sku_id, body = {})
37
+ put(build_endpoint("#{ITEM_VARIATION_SKU_PATH}#{CREATE_ITEM_VARIATIONS_SKU}",
38
+ item: item_id,
39
+ variation: variation_id), body)
40
+ end
41
+
42
+ def delete(item_id, variation_id, sku_id)
43
+ delete(build_endpoint("#{ITEM_VARIATION_SKU_PATH}#{DELETE_ITEM_VARIATIONS_SKU}",
44
+ item: item_id,
45
+ variation: variation_id,
46
+ sku: sku_id))
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,57 @@
1
+ module PlentyClient
2
+ module Item
3
+ module Variation
4
+ class Stock
5
+ extend PlentyClient::Endpoint
6
+ extend PlentyClient::Request
7
+
8
+ ITEM_VARIATION_STOCK_PATH = '/items/{itemId}/variations/{variationId}'.freeze
9
+
10
+ LIST_ITEM_VARIATIONS_STOCK = '/stock'.freeze
11
+ LIST_ITEM_VARIATIONS_STOCK_STORAGE_LOCATIONS = '/stock/storageLocations'.freeze
12
+ LIST_ITEM_VARIATIONS_STOCK_MOVEMENTS = '/stock/movements'.freeze
13
+ UPDATE_ITEM_VARIATIONS_STOCK_INCOMING_ITEMS = '/stock/bookIncomingItems'.freeze
14
+ UPDATE_ITEM_VARIATIONS_STOCK_CORRECTION = '/stock/correction'.freeze
15
+ UPDATE_ITEM_VARIATIONS_STOCK_REDISTRIBUTE = '/stock/redistribute'.freeze
16
+
17
+ class << self
18
+ def list(item_id, variation_id, headers = {}, &block)
19
+ get(build_endpoint("#{ITEM_VARIATION_STOCK_PATH}#{LIST_ITEM_VARIATIONS_STOCK}",
20
+ item: item_id,
21
+ variation: variation_id), headers, &block)
22
+ end
23
+
24
+ def list_storage_locations(item_id, variation_id, headers = {}, &block)
25
+ get(build_endpoint("#{ITEM_VARIATION_STOCK_PATH}#{LIST_ITEM_VARIATIONS_STOCK_STORAGE_LOCATIONS}",
26
+ item: item_id,
27
+ variation: variation_id), headers, &block)
28
+ end
29
+
30
+ def list_stock_movements(item_id, variation_id, headers = {}, &block)
31
+ get(build_endpoint("#{ITEM_VARIATION_STOCK_PATH}#{LIST_ITEM_VARIATIONS_STOCK_MOVEMENTS}",
32
+ item: item_id,
33
+ variation: variation_id), headers, &block)
34
+ end
35
+
36
+ def update_incoming_items(item_id, variation_id, body = {})
37
+ put(build_endpoint("#{ITEM_VARIATION_STOCK_PATH}#{UPDATE_ITEM_VARIATIONS_STOCK_INCOMING_ITEMS}",
38
+ item: item_id,
39
+ variation: variation_id), body)
40
+ end
41
+
42
+ def update_corrections(item_id, variation_id, body = {})
43
+ put(build_endpoint("#{ITEM_VARIATION_STOCK_PATH}#{UPDATE_ITEM_VARIATIONS_STOCK_INCOMING_ITEMS}",
44
+ item: item_id,
45
+ variation: variation_id), body)
46
+ end
47
+
48
+ def update_rediestributions(item_id, variation_id, body = {})
49
+ put(build_endpoint("#{ITEM_VARIATION_STOCK_PATH}#{UPDATE_ITEM_VARIATIONS_STOCK_INCOMING_ITEMS}",
50
+ item: item_id,
51
+ variation: variation_id), body)
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,52 @@
1
+ module PlentyClient
2
+ module Item
3
+ module Variation
4
+ class Supplier
5
+ extend PlentyClient::Endpoint
6
+ extend PlentyClient::Request
7
+
8
+ ITEM_VARIATION_SUPPLIER_PATH = '/items/{itemId}/variations/{variationId}'.freeze
9
+
10
+ LIST_ITEM_VARIATIONS_SUPPLIER = '/variation_suppliers'.freeze
11
+ GET_ITEM_VARIATIONS_SUPPLIER = '/variation_suppliers/{variationSupplierId}'.freeze
12
+ CREATE_ITEM_VARIATIONS_SUPPLIER = '/variation_suppliers'.freeze
13
+ UPDATE_ITEM_VARIATIONS_SUPPLIER = '/variation_suppliers/{variationSupplierId}'.freeze
14
+ DELETE_ITEM_VARIATIONS_SUPPLIER = '/variation_suppliers/{variationSupplierId}'.freeze
15
+
16
+ class << self
17
+ def list(item_id, variation_id, headers = {}, &block)
18
+ get(build_endpoint("#{ITEM_VARIATION_SUPPLIER_PATH}#{LIST_ITEM_VARIATIONS_SUPPLIER}",
19
+ item: item_id,
20
+ variation: variation_id), headers, &block)
21
+ end
22
+
23
+ def find(item_id, variation_id, supplier_id, headers = {}, &block)
24
+ get(build_endpoint("#{ITEM_VARIATION_SUPPLIER_PATH}#{GET_ITEM_VARIATIONS_SUPPLIER}",
25
+ item: item_id,
26
+ variation: variation_id,
27
+ supplier: supplier_id), headers, &block)
28
+ end
29
+
30
+ def create(item_id, variation_id, body = {})
31
+ post(build_endpoint("#{ITEM_VARIATION_SUPPLIER_PATH}#{CREATE_ITEM_VARIATIONS_SUPPLIER}",
32
+ item: item_id,
33
+ variation: variation_id), body)
34
+ end
35
+
36
+ def update(item_id, variation_id, supplier_id, body = {})
37
+ put(build_endpoint("#{ITEM_VARIATION_SUPPLIER_PATH}#{CREATE_ITEM_VARIATIONS_SUPPLIER}",
38
+ item: item_id,
39
+ variation: variation_id), body)
40
+ end
41
+
42
+ def delete(item_id, variation_id, supplier_id)
43
+ delete(build_endpoint("#{ITEM_VARIATION_SUPPLIER_PATH}#{DELETE_ITEM_VARIATIONS_SUPPLIER}",
44
+ item: item_id,
45
+ variation: variation_id,
46
+ supplier: supplier_id))
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end