peddler 3.0.0.beta1 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +108 -110
  3. data/lib/peddler/api.rb +56 -18
  4. data/lib/peddler/{api → apis}/amazon_warehousing_and_distribution_2024_05_09.rb +38 -26
  5. data/lib/peddler/{api → apis}/aplus_content_2020_11_01.rb +97 -59
  6. data/lib/peddler/apis/application_integrations_2024_04_01.rb +56 -0
  7. data/lib/peddler/{api → apis}/application_management_2023_11_30.rb +14 -4
  8. data/lib/peddler/{api → apis}/catalog_items_2020_12_01.rb +34 -23
  9. data/lib/peddler/{api → apis}/catalog_items_2022_04_01.rb +39 -29
  10. data/lib/peddler/{api → apis}/catalog_items_v0.rb +43 -30
  11. data/lib/peddler/{api → apis}/data_kiosk_2023_11_15.rb +47 -31
  12. data/lib/peddler/apis/easy_ship_2022_03_23.rb +126 -0
  13. data/lib/peddler/{api → apis}/fba_inbound_eligibility_v1.rb +15 -7
  14. data/lib/peddler/{api → apis}/fba_inventory_v1.rb +45 -29
  15. data/lib/peddler/{api → apis}/feeds_2021_06_30.rb +54 -33
  16. data/lib/peddler/apis/finances_2024_06_19.rb +50 -0
  17. data/lib/peddler/{api → apis}/finances_v0.rb +50 -36
  18. data/lib/peddler/{api → apis}/fulfillment_inbound_2024_03_20.rb +384 -255
  19. data/lib/peddler/{api → apis}/fulfillment_inbound_v0.rb +138 -93
  20. data/lib/peddler/{api → apis}/fulfillment_outbound_2020_07_01.rb +105 -68
  21. data/lib/peddler/apis/invoices_2024_06_19.rb +180 -0
  22. data/lib/peddler/apis/listings_items_2020_09_01.rb +95 -0
  23. data/lib/peddler/apis/listings_items_2021_08_01.rb +136 -0
  24. data/lib/peddler/{api → apis}/listings_restrictions_2021_08_01.rb +21 -11
  25. data/lib/peddler/apis/merchant_fulfillment_v0.rb +80 -0
  26. data/lib/peddler/{api → apis}/messaging_v1.rb +107 -75
  27. data/lib/peddler/{api → apis}/notifications_v1.rb +63 -32
  28. data/lib/peddler/{api → apis}/orders_v0.rb +99 -84
  29. data/lib/peddler/apis/product_fees_v0.rb +77 -0
  30. data/lib/peddler/{api → apis}/product_pricing_2022_05_01.rb +24 -13
  31. data/lib/peddler/{api → apis}/product_pricing_v0.rb +70 -52
  32. data/lib/peddler/{api → apis}/product_type_definitions_2020_09_01.rb +32 -21
  33. data/lib/peddler/{api → apis}/replenishment_2022_11_07.rb +25 -13
  34. data/lib/peddler/{api → apis}/reports_2021_06_30.rb +71 -47
  35. data/lib/peddler/{api → apis}/sales_v1.rb +22 -14
  36. data/lib/peddler/{api → apis}/sellers_v1.rb +19 -7
  37. data/lib/peddler/{api → apis}/services_v1.rb +156 -116
  38. data/lib/peddler/apis/shipment_invoicing_v0.rb +59 -0
  39. data/lib/peddler/apis/shipping_v1.rb +132 -0
  40. data/lib/peddler/{api → apis}/shipping_v2.rb +150 -98
  41. data/lib/peddler/{api → apis}/solicitations_v1.rb +21 -11
  42. data/lib/peddler/apis/supply_sources_2020_07_01.rb +100 -0
  43. data/lib/peddler/{api → apis}/tokens_2021_03_01.rb +15 -7
  44. data/lib/peddler/{api → apis}/uploads_2020_11_01.rb +18 -8
  45. data/lib/peddler/{api → apis}/vendor_direct_fulfillment_inventory_v1.rb +14 -6
  46. data/lib/peddler/{api → apis}/vendor_direct_fulfillment_orders_2021_12_28.rb +33 -21
  47. data/lib/peddler/{api → apis}/vendor_direct_fulfillment_orders_v1.rb +33 -21
  48. data/lib/peddler/{api → apis}/vendor_direct_fulfillment_payments_v1.rb +13 -5
  49. data/lib/peddler/apis/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.rb +45 -0
  50. data/lib/peddler/{api → apis}/vendor_direct_fulfillment_shipping_2021_12_28.rb +86 -60
  51. data/lib/peddler/apis/vendor_direct_fulfillment_shipping_v1.rb +189 -0
  52. data/lib/peddler/{api → apis}/vendor_direct_fulfillment_transactions_2021_12_28.rb +14 -6
  53. data/lib/peddler/{api → apis}/vendor_direct_fulfillment_transactions_v1.rb +14 -6
  54. data/lib/peddler/apis/vendor_invoices_v1.rb +30 -0
  55. data/lib/peddler/{api → apis}/vendor_orders_v1.rb +59 -48
  56. data/lib/peddler/apis/vendor_shipments_v1.rb +132 -0
  57. data/lib/peddler/{api → apis}/vendor_transaction_status_v1.rb +14 -5
  58. data/lib/peddler/endpoint.rb +51 -0
  59. data/lib/peddler/error.rb +21 -11
  60. data/lib/peddler/helpers/feeds_2021_06_30.rb +26 -0
  61. data/lib/peddler/json_feed_document.rb +31 -0
  62. data/lib/peddler/marketplace.rb +93 -0
  63. data/lib/peddler/response.rb +46 -0
  64. data/lib/peddler/token.rb +70 -0
  65. data/lib/peddler/version.rb +1 -1
  66. data/lib/peddler.rb +55 -52
  67. metadata +64 -57
  68. data/lib/peddler/access_token.rb +0 -76
  69. data/lib/peddler/api/easy_ship_2022_03_23.rb +0 -108
  70. data/lib/peddler/api/listings_items_2020_09_01.rb +0 -84
  71. data/lib/peddler/api/listings_items_2021_08_01.rb +0 -154
  72. data/lib/peddler/api/merchant_fulfillment_v0.rb +0 -64
  73. data/lib/peddler/api/product_fees_v0.rb +0 -69
  74. data/lib/peddler/api/shipment_invoicing_v0.rb +0 -46
  75. data/lib/peddler/api/shipping_v1.rb +0 -107
  76. data/lib/peddler/api/supply_sources_2020_07_01.rb +0 -82
  77. data/lib/peddler/api/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.rb +0 -35
  78. data/lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb +0 -165
  79. data/lib/peddler/api/vendor_invoices_v1.rb +0 -22
  80. data/lib/peddler/api/vendor_shipments_v1.rb +0 -120
  81. data/lib/peddler/region.rb +0 -30
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "uri"
4
+
5
+ module Peddler
6
+ # @see https://developer-docs.amazon.com/sp-api/docs/sp-api-endpoints
7
+ ENDPOINTS = {
8
+ "us-east-1" => {
9
+ selling_region: "North America",
10
+ host: "sellingpartnerapi-na.amazon.com",
11
+ },
12
+ "us-west-2" => {
13
+ selling_region: "Far East",
14
+ host: "sellingpartnerapi-fe.amazon.com",
15
+ },
16
+ "eu-west-1" => {
17
+ selling_region: "Europe",
18
+ host: "sellingpartnerapi-eu.amazon.com",
19
+ },
20
+ }
21
+
22
+ Endpoint = Data.define(:aws_region, :selling_region, :host) do
23
+ class << self
24
+ # @param [String] aws_region
25
+ def find(aws_region)
26
+ values = ENDPOINTS.fetch(aws_region) do
27
+ raise ArgumentError, "#{aws_region} not found"
28
+ end
29
+
30
+ new(**values, aws_region: aws_region)
31
+ end
32
+
33
+ def find_by_selling_region(selling_region)
34
+ aws_region, values = ENDPOINTS.find { |_, v| v[:selling_region] == selling_region } ||
35
+ raise(ArgumentError, "#{selling_region} not found")
36
+
37
+ new(**values, aws_region: aws_region)
38
+ end
39
+ end
40
+
41
+ # @return [URI]
42
+ def production
43
+ URI::HTTPS.build(host: host)
44
+ end
45
+
46
+ # @return [URI]
47
+ def sandbox
48
+ URI::HTTPS.build(host: "sandbox.#{host}")
49
+ end
50
+ end
51
+ end
data/lib/peddler/error.rb CHANGED
@@ -2,29 +2,39 @@
2
2
 
3
3
  module Peddler
4
4
  class Error < StandardError
5
- class InvalidInput < Error; end
6
- class QuotaExceeded < Error; end
7
- class Unauthorized < Error; end
8
-
9
- attr_reader :cause
5
+ attr_reader :response
10
6
 
11
7
  # @!visibility private
12
8
  class << self
13
9
  def build(response)
14
10
  error = JSON.parse(response).dig("errors").first
15
11
  class_name = error.dig("code")
16
- klass = const_get(class_name)
12
+ message = error.dig("message")
13
+ klass = if Errors.const_defined?(class_name)
14
+ Errors.const_get(class_name)
15
+ else
16
+ Errors.const_set(
17
+ class_name,
18
+ Class.new(Error),
19
+ )
20
+ end
17
21
 
18
- klass.new(error.dig("message"), response)
22
+ klass.new(message, response)
19
23
  rescue NameError
20
- const_set(class_name, Class.new(Error))
21
- retry
24
+ # Do nothing if code cannot be converted to a class name
22
25
  end
23
26
  end
24
27
 
25
- def initialize(msg = nil, cause = nil)
26
- @cause = cause
28
+ def initialize(msg = nil, response = nil)
29
+ @response = response
27
30
  super(msg)
28
31
  end
29
32
  end
33
+
34
+ module Errors
35
+ class InvalidInput < Error; end
36
+ class NotFound < Error; end
37
+ class QuotaExceeded < Error; end
38
+ class Unauthorized < Error; end
39
+ end
30
40
  end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Peddler
4
+ module Helpers
5
+ module Feeds20210630
6
+ # Uploads feed_content to a signed upload_url previously provided by
7
+ # create_feed_document. The upload_url is signed, the Host and content-type
8
+ # headers must match the signing.
9
+ # @param upload_url [String] The signed url from the `create_feed_document` response.
10
+ # @param feed_content [String] The body of the content to upload.
11
+ # @param content_type [String] The content type of the upload,
12
+ # this must match the content-type requested in `create_feed_document`
13
+ # @return [HTTP::Response] The API response
14
+ def upload_feed_document(upload_url, feed_content, content_type)
15
+ response = HTTP.headers("content-type" => content_type).put(upload_url, body: feed_content)
16
+
17
+ if response.status.client_error?
18
+ error = Error.build(response)
19
+ raise error if error
20
+ end
21
+
22
+ response
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Peddler
4
+ class JSONFeedDocument
5
+ CONTENT_TYPE = "application/json; charset=UTF-8"
6
+
7
+ def upload(content)
8
+ # While HTTPrb already sets the content-type, Amazon server seems to fail if we don't explicitly set it again
9
+ # here. A bit of a mystery; maybe it's the order of the headers that's screwing things up on their end?
10
+ HTTP.headers("Content-Type" => CONTENT_TYPE).put(url, json: content)
11
+ end
12
+
13
+ def initialize(api)
14
+ @api = api
15
+ end
16
+
17
+ def id
18
+ metadata.fetch("id")
19
+ end
20
+
21
+ def url
22
+ metadata.fetch("url")
23
+ end
24
+
25
+ private
26
+
27
+ def metadata
28
+ @metadata ||= @api.create_feed_document({ "contentType" => CONTENT_TYPE }).parse
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "peddler/endpoint"
4
+
5
+ module Peddler
6
+ # @see https://developer-docs.amazon.com/sp-api/docs/marketplace-ids
7
+ MARKETPLACE_IDS = {
8
+ "CA" => { id: "A2EUQ1WTGCTBG2", country_name: "Canada", selling_region: "North America" },
9
+ "US" => { id: "ATVPDKIKX0DER", country_name: "United States", selling_region: "North America" },
10
+ "MX" => { id: "A1AM78C64UM0Y8", country_name: "Mexico", selling_region: "North America" },
11
+ "BR" => { id: "A2Q3Y263D00KWC", country_name: "Brazil", selling_region: "North America" },
12
+ "IE" => { id: "A28R8C7NBKEWEA", country_name: "Ireland", selling_region: "Europe" },
13
+ "ES" => { id: "A1RKKUPIHCS9HS", country_name: "Spain", selling_region: "Europe" },
14
+ "UK" => { id: "A1F83G8C2ARO7P", country_name: "United Kingdom", selling_region: "Europe" },
15
+ "FR" => { id: "A13V1IB3VIYZZH", country_name: "France", selling_region: "Europe" },
16
+ "BE" => { id: "AMEN7PMS3EDWL", country_name: "Belgium", selling_region: "Europe" },
17
+ "NL" => { id: "A1805IZSGTT6HS", country_name: "Netherlands", selling_region: "Europe" },
18
+ "DE" => { id: "A1PA6795UKMFR9", country_name: "Germany", selling_region: "Europe" },
19
+ "IT" => { id: "APJ6JRA9NG5V4", country_name: "Italy", selling_region: "Europe" },
20
+ "SE" => { id: "A2NODRKZP88ZB9", country_name: "Sweden", selling_region: "Europe" },
21
+ "ZA" => { id: "AE08WJ6YKNBMC", country_name: "South Africa", selling_region: "Europe" },
22
+ "PL" => { id: "A1C3SOZRARQ6R3", country_name: "Poland", selling_region: "Europe" },
23
+ "EG" => { id: "ARBP9OOSHTCHU", country_name: "Egypt", selling_region: "Europe" },
24
+ "TR" => { id: "A33AVAJ2PDY3EV", country_name: "Turkey", selling_region: "Europe" },
25
+ "SA" => { id: "A17E79C6D8DWNP", country_name: "Saudi Arabia", selling_region: "Europe" },
26
+ "AE" => { id: "A2VIGQ35RCS4UG", country_name: "United Arab Emirates", selling_region: "Europe" },
27
+ "IN" => { id: "A21TJRUUN4KGV", country_name: "India", selling_region: "Europe" },
28
+ "SG" => { id: "A19VAU5U5O7RUS", country_name: "Singapore", selling_region: "Far East" },
29
+ "AU" => { id: "A39IBJ37TRP1C6", country_name: "Australia", selling_region: "Far East" },
30
+ "JP" => { id: "A1VC38T7YXB528", country_name: "Japan", selling_region: "Far East" },
31
+ }
32
+
33
+ # @!parse
34
+ # # Wraps an Amazon marketplace
35
+ # #
36
+ # # @api public
37
+ # #
38
+ # # @!attribute [r] id
39
+ # # @!attribute [r] country_code
40
+ # # @!attribute [r] country_name
41
+ # # @!attribute [r] selling_region
42
+ # class Peddler::Marketplace < Data; end
43
+ Marketplace = Data.define(:id, :country_code, :country_name, :selling_region) do
44
+ class << self
45
+ # Finds the marketplace for the given country code
46
+ #
47
+ # @param [String] country_code
48
+ def find(country_code)
49
+ values = MARKETPLACE_IDS.fetch(country_code == "GB" ? "UK" : country_code) do
50
+ raise ArgumentError, "#{country_code} not found"
51
+ end
52
+
53
+ new(**values, country_code: country_code)
54
+ end
55
+
56
+ # Returns the marketplace ID for the given country code
57
+ #
58
+ # @param [String] country_code
59
+ # @return [String]
60
+ def id(country_code)
61
+ find(country_code).id
62
+ end
63
+
64
+ # Returns the marketplace IDs for the given country codes
65
+ #
66
+ # @param [Array<String>] country_codes
67
+ # @return [Array<String>]
68
+ def ids(*country_codes)
69
+ country_codes.map { |country_code| id(country_code) }
70
+ end
71
+
72
+ # Returns all marketplaces
73
+ #
74
+ # @return [Array<Peddler::Marketplace>]
75
+ def all
76
+ MARKETPLACE_IDS.map do |country_code, values|
77
+ new(**values, country_code: country_code)
78
+ end
79
+ end
80
+ end
81
+
82
+ # @return [Peddler::Endpoint]
83
+ def endpoint
84
+ Endpoint.find_by_selling_region(selling_region)
85
+ end
86
+
87
+ # @note So HTTP can encode
88
+ # @return [String]
89
+ def to_str
90
+ id
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "delegate"
4
+ require "forwardable"
5
+
6
+ module Peddler
7
+ # Wraps HTTP::Response to allow custom parsing
8
+ class Response < SimpleDelegator
9
+ extend Forwardable
10
+
11
+ # @!method dig(*key)
12
+ # Delegates to the Hash returned by {ResponseDecorator#to_h} to extract a nested
13
+ # value specified by the sequence of keys
14
+ #
15
+ # @param [String] key one or more keys
16
+ # @see https://ruby-doc.org/core/Hash.html#method-i-dig
17
+ def_delegator :to_h, :dig
18
+
19
+ class << self
20
+ # Decorates an HTTP::Response
21
+ #
22
+ # @param [HTTP::Response] response
23
+ # @param [nil, #call] parser (if any)
24
+ # @return [ResponseDecorator]
25
+ def decorate(response, parser: nil)
26
+ new(response).tap do |decorator|
27
+ decorator.parser = parser
28
+ end
29
+ end
30
+ end
31
+
32
+ # @return [#call]
33
+ attr_accessor :parser
34
+
35
+ def parse
36
+ parser ? parser.call(__getobj__) : __getobj__.parse
37
+ end
38
+
39
+ # Converts the response body to a Hash
40
+ #
41
+ # @return [Hash]
42
+ def to_h
43
+ (parser && parser.respond_to?(:to_h) ? parser : parse).to_h
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "http"
4
+
5
+ module Peddler
6
+ # Requests refresh and access tokens that authorize your application to take actions on behalf of a selling partner.
7
+ #
8
+ # The refresh token allows you to generate access tokens. Access tokens expire one hour after they are issued.
9
+ #
10
+ # @see https://developer-docs.amazon.com/sp-api/docs/connecting-to-the-selling-partner-api
11
+ class Token
12
+ class Error < StandardError
13
+ attr_reader :cause
14
+
15
+ def initialize(msg = nil, cause = nil)
16
+ @cause = cause
17
+ super(msg)
18
+ end
19
+ end
20
+
21
+ URL = "https://api.amazon.com/auth/o2/token"
22
+
23
+ attr_reader :client_id, :client_secret, :options
24
+
25
+ class << self
26
+ def request(...)
27
+ new(...).request
28
+ end
29
+ end
30
+
31
+ def initialize(client_id: ENV["LWA_CLIENT_ID"], client_secret: ENV["LWA_CLIENT_SECRET"], **options)
32
+ @client_id = client_id
33
+ @client_secret = client_secret
34
+ @options = options
35
+ end
36
+
37
+ def request
38
+ response = HTTP.post(URL, form: params)
39
+
40
+ unless response.status.success?
41
+ message = response.parse["error_description"]
42
+ raise Error.new(message, response)
43
+ end
44
+
45
+ response
46
+ end
47
+
48
+ private
49
+
50
+ def params
51
+ {
52
+ grant_type: grant_type,
53
+ client_id: client_id,
54
+ client_secret: client_secret,
55
+ }.compact.merge(options)
56
+ end
57
+
58
+ def grant_type
59
+ return if options.key?(:grant_type)
60
+
61
+ if options.key?(:refresh_token)
62
+ "refresh_token"
63
+ elsif options.key?(:scope)
64
+ "client_credentials"
65
+ elsif options.key?(:code)
66
+ "authorization_code"
67
+ end
68
+ end
69
+ end
70
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Peddler
4
- VERSION = "3.0.0.beta1"
4
+ VERSION = "4.0.0"
5
5
  end
data/lib/peddler.rb CHANGED
@@ -1,54 +1,57 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "peddler/access_token"
4
- require "peddler/api/amazon_warehousing_and_distribution_2024_05_09.rb"
5
- require "peddler/api/aplus_content_2020_11_01.rb"
6
- require "peddler/api/application_management_2023_11_30.rb"
7
- require "peddler/api/catalog_items_v0.rb"
8
- require "peddler/api/catalog_items_2020_12_01.rb"
9
- require "peddler/api/catalog_items_2022_04_01.rb"
10
- require "peddler/api/data_kiosk_2023_11_15.rb"
11
- require "peddler/api/easy_ship_2022_03_23.rb"
12
- require "peddler/api/fba_inbound_eligibility_v1.rb"
13
- require "peddler/api/fba_inventory_v1.rb"
14
- require "peddler/api/feeds_2021_06_30.rb"
15
- require "peddler/api/finances_v0.rb"
16
- require "peddler/api/fulfillment_inbound_v0.rb"
17
- require "peddler/api/fulfillment_inbound_2024_03_20.rb"
18
- require "peddler/api/fulfillment_outbound_2020_07_01.rb"
19
- require "peddler/api/listings_items_2020_09_01.rb"
20
- require "peddler/api/listings_items_2021_08_01.rb"
21
- require "peddler/api/listings_restrictions_2021_08_01.rb"
22
- require "peddler/api/merchant_fulfillment_v0.rb"
23
- require "peddler/api/messaging_v1.rb"
24
- require "peddler/api/notifications_v1.rb"
25
- require "peddler/api/orders_v0.rb"
26
- require "peddler/api/product_fees_v0.rb"
27
- require "peddler/api/product_pricing_v0.rb"
28
- require "peddler/api/product_pricing_2022_05_01.rb"
29
- require "peddler/api/product_type_definitions_2020_09_01.rb"
30
- require "peddler/api/replenishment_2022_11_07.rb"
31
- require "peddler/api/reports_2021_06_30.rb"
32
- require "peddler/api/sales_v1.rb"
33
- require "peddler/api/sellers_v1.rb"
34
- require "peddler/api/services_v1.rb"
35
- require "peddler/api/shipment_invoicing_v0.rb"
36
- require "peddler/api/shipping_v1.rb"
37
- require "peddler/api/shipping_v2.rb"
38
- require "peddler/api/solicitations_v1.rb"
39
- require "peddler/api/supply_sources_2020_07_01.rb"
40
- require "peddler/api/tokens_2021_03_01.rb"
41
- require "peddler/api/uploads_2020_11_01.rb"
42
- require "peddler/api/vendor_direct_fulfillment_inventory_v1.rb"
43
- require "peddler/api/vendor_direct_fulfillment_orders_v1.rb"
44
- require "peddler/api/vendor_direct_fulfillment_orders_2021_12_28.rb"
45
- require "peddler/api/vendor_direct_fulfillment_payments_v1.rb"
46
- require "peddler/api/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.rb"
47
- require "peddler/api/vendor_direct_fulfillment_shipping_v1.rb"
48
- require "peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb"
49
- require "peddler/api/vendor_direct_fulfillment_transactions_v1.rb"
50
- require "peddler/api/vendor_direct_fulfillment_transactions_2021_12_28.rb"
51
- require "peddler/api/vendor_invoices_v1.rb"
52
- require "peddler/api/vendor_orders_v1.rb"
53
- require "peddler/api/vendor_shipments_v1.rb"
54
- require "peddler/api/vendor_transaction_status_v1.rb"
3
+ require "peddler/apis/amazon_warehousing_and_distribution_2024_05_09"
4
+ require "peddler/apis/aplus_content_2020_11_01"
5
+ require "peddler/apis/application_integrations_2024_04_01"
6
+ require "peddler/apis/application_management_2023_11_30"
7
+ require "peddler/apis/catalog_items_2020_12_01"
8
+ require "peddler/apis/catalog_items_2022_04_01"
9
+ require "peddler/apis/catalog_items_v0"
10
+ require "peddler/apis/data_kiosk_2023_11_15"
11
+ require "peddler/apis/easy_ship_2022_03_23"
12
+ require "peddler/apis/fba_inbound_eligibility_v1"
13
+ require "peddler/apis/fba_inventory_v1"
14
+ require "peddler/apis/feeds_2021_06_30"
15
+ require "peddler/apis/finances_2024_06_19"
16
+ require "peddler/apis/finances_v0"
17
+ require "peddler/apis/fulfillment_inbound_2024_03_20"
18
+ require "peddler/apis/fulfillment_inbound_v0"
19
+ require "peddler/apis/fulfillment_outbound_2020_07_01"
20
+ require "peddler/apis/invoices_2024_06_19"
21
+ require "peddler/apis/listings_items_2020_09_01"
22
+ require "peddler/apis/listings_items_2021_08_01"
23
+ require "peddler/apis/listings_restrictions_2021_08_01"
24
+ require "peddler/apis/merchant_fulfillment_v0"
25
+ require "peddler/apis/messaging_v1"
26
+ require "peddler/apis/notifications_v1"
27
+ require "peddler/apis/orders_v0"
28
+ require "peddler/apis/product_fees_v0"
29
+ require "peddler/apis/product_pricing_2022_05_01"
30
+ require "peddler/apis/product_pricing_v0"
31
+ require "peddler/apis/product_type_definitions_2020_09_01"
32
+ require "peddler/apis/replenishment_2022_11_07"
33
+ require "peddler/apis/reports_2021_06_30"
34
+ require "peddler/apis/sales_v1"
35
+ require "peddler/apis/sellers_v1"
36
+ require "peddler/apis/services_v1"
37
+ require "peddler/apis/shipment_invoicing_v0"
38
+ require "peddler/apis/shipping_v1"
39
+ require "peddler/apis/shipping_v2"
40
+ require "peddler/apis/solicitations_v1"
41
+ require "peddler/apis/supply_sources_2020_07_01"
42
+ require "peddler/apis/tokens_2021_03_01"
43
+ require "peddler/apis/uploads_2020_11_01"
44
+ require "peddler/apis/vendor_direct_fulfillment_inventory_v1"
45
+ require "peddler/apis/vendor_direct_fulfillment_orders_2021_12_28"
46
+ require "peddler/apis/vendor_direct_fulfillment_orders_v1"
47
+ require "peddler/apis/vendor_direct_fulfillment_payments_v1"
48
+ require "peddler/apis/vendor_direct_fulfillment_sandbox_test_data_2021_10_28"
49
+ require "peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28"
50
+ require "peddler/apis/vendor_direct_fulfillment_shipping_v1"
51
+ require "peddler/apis/vendor_direct_fulfillment_transactions_2021_12_28"
52
+ require "peddler/apis/vendor_direct_fulfillment_transactions_v1"
53
+ require "peddler/apis/vendor_invoices_v1"
54
+ require "peddler/apis/vendor_orders_v1"
55
+ require "peddler/apis/vendor_shipments_v1"
56
+ require "peddler/apis/vendor_transaction_status_v1"
57
+ require "peddler/token"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: peddler
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.beta1
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hakan Ensari
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-15 00:00:00.000000000 Z
11
+ date: 2024-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -40,63 +40,70 @@ files:
40
40
  - LICENSE
41
41
  - README.md
42
42
  - lib/peddler.rb
43
- - lib/peddler/access_token.rb
44
43
  - lib/peddler/api.rb
45
- - lib/peddler/api/amazon_warehousing_and_distribution_2024_05_09.rb
46
- - lib/peddler/api/aplus_content_2020_11_01.rb
47
- - lib/peddler/api/application_management_2023_11_30.rb
48
- - lib/peddler/api/catalog_items_2020_12_01.rb
49
- - lib/peddler/api/catalog_items_2022_04_01.rb
50
- - lib/peddler/api/catalog_items_v0.rb
51
- - lib/peddler/api/data_kiosk_2023_11_15.rb
52
- - lib/peddler/api/easy_ship_2022_03_23.rb
53
- - lib/peddler/api/fba_inbound_eligibility_v1.rb
54
- - lib/peddler/api/fba_inventory_v1.rb
55
- - lib/peddler/api/feeds_2021_06_30.rb
56
- - lib/peddler/api/finances_v0.rb
57
- - lib/peddler/api/fulfillment_inbound_2024_03_20.rb
58
- - lib/peddler/api/fulfillment_inbound_v0.rb
59
- - lib/peddler/api/fulfillment_outbound_2020_07_01.rb
60
- - lib/peddler/api/listings_items_2020_09_01.rb
61
- - lib/peddler/api/listings_items_2021_08_01.rb
62
- - lib/peddler/api/listings_restrictions_2021_08_01.rb
63
- - lib/peddler/api/merchant_fulfillment_v0.rb
64
- - lib/peddler/api/messaging_v1.rb
65
- - lib/peddler/api/notifications_v1.rb
66
- - lib/peddler/api/orders_v0.rb
67
- - lib/peddler/api/product_fees_v0.rb
68
- - lib/peddler/api/product_pricing_2022_05_01.rb
69
- - lib/peddler/api/product_pricing_v0.rb
70
- - lib/peddler/api/product_type_definitions_2020_09_01.rb
71
- - lib/peddler/api/replenishment_2022_11_07.rb
72
- - lib/peddler/api/reports_2021_06_30.rb
73
- - lib/peddler/api/sales_v1.rb
74
- - lib/peddler/api/sellers_v1.rb
75
- - lib/peddler/api/services_v1.rb
76
- - lib/peddler/api/shipment_invoicing_v0.rb
77
- - lib/peddler/api/shipping_v1.rb
78
- - lib/peddler/api/shipping_v2.rb
79
- - lib/peddler/api/solicitations_v1.rb
80
- - lib/peddler/api/supply_sources_2020_07_01.rb
81
- - lib/peddler/api/tokens_2021_03_01.rb
82
- - lib/peddler/api/uploads_2020_11_01.rb
83
- - lib/peddler/api/vendor_direct_fulfillment_inventory_v1.rb
84
- - lib/peddler/api/vendor_direct_fulfillment_orders_2021_12_28.rb
85
- - lib/peddler/api/vendor_direct_fulfillment_orders_v1.rb
86
- - lib/peddler/api/vendor_direct_fulfillment_payments_v1.rb
87
- - lib/peddler/api/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.rb
88
- - lib/peddler/api/vendor_direct_fulfillment_shipping_2021_12_28.rb
89
- - lib/peddler/api/vendor_direct_fulfillment_shipping_v1.rb
90
- - lib/peddler/api/vendor_direct_fulfillment_transactions_2021_12_28.rb
91
- - lib/peddler/api/vendor_direct_fulfillment_transactions_v1.rb
92
- - lib/peddler/api/vendor_invoices_v1.rb
93
- - lib/peddler/api/vendor_orders_v1.rb
94
- - lib/peddler/api/vendor_shipments_v1.rb
95
- - lib/peddler/api/vendor_transaction_status_v1.rb
44
+ - lib/peddler/apis/amazon_warehousing_and_distribution_2024_05_09.rb
45
+ - lib/peddler/apis/aplus_content_2020_11_01.rb
46
+ - lib/peddler/apis/application_integrations_2024_04_01.rb
47
+ - lib/peddler/apis/application_management_2023_11_30.rb
48
+ - lib/peddler/apis/catalog_items_2020_12_01.rb
49
+ - lib/peddler/apis/catalog_items_2022_04_01.rb
50
+ - lib/peddler/apis/catalog_items_v0.rb
51
+ - lib/peddler/apis/data_kiosk_2023_11_15.rb
52
+ - lib/peddler/apis/easy_ship_2022_03_23.rb
53
+ - lib/peddler/apis/fba_inbound_eligibility_v1.rb
54
+ - lib/peddler/apis/fba_inventory_v1.rb
55
+ - lib/peddler/apis/feeds_2021_06_30.rb
56
+ - lib/peddler/apis/finances_2024_06_19.rb
57
+ - lib/peddler/apis/finances_v0.rb
58
+ - lib/peddler/apis/fulfillment_inbound_2024_03_20.rb
59
+ - lib/peddler/apis/fulfillment_inbound_v0.rb
60
+ - lib/peddler/apis/fulfillment_outbound_2020_07_01.rb
61
+ - lib/peddler/apis/invoices_2024_06_19.rb
62
+ - lib/peddler/apis/listings_items_2020_09_01.rb
63
+ - lib/peddler/apis/listings_items_2021_08_01.rb
64
+ - lib/peddler/apis/listings_restrictions_2021_08_01.rb
65
+ - lib/peddler/apis/merchant_fulfillment_v0.rb
66
+ - lib/peddler/apis/messaging_v1.rb
67
+ - lib/peddler/apis/notifications_v1.rb
68
+ - lib/peddler/apis/orders_v0.rb
69
+ - lib/peddler/apis/product_fees_v0.rb
70
+ - lib/peddler/apis/product_pricing_2022_05_01.rb
71
+ - lib/peddler/apis/product_pricing_v0.rb
72
+ - lib/peddler/apis/product_type_definitions_2020_09_01.rb
73
+ - lib/peddler/apis/replenishment_2022_11_07.rb
74
+ - lib/peddler/apis/reports_2021_06_30.rb
75
+ - lib/peddler/apis/sales_v1.rb
76
+ - lib/peddler/apis/sellers_v1.rb
77
+ - lib/peddler/apis/services_v1.rb
78
+ - lib/peddler/apis/shipment_invoicing_v0.rb
79
+ - lib/peddler/apis/shipping_v1.rb
80
+ - lib/peddler/apis/shipping_v2.rb
81
+ - lib/peddler/apis/solicitations_v1.rb
82
+ - lib/peddler/apis/supply_sources_2020_07_01.rb
83
+ - lib/peddler/apis/tokens_2021_03_01.rb
84
+ - lib/peddler/apis/uploads_2020_11_01.rb
85
+ - lib/peddler/apis/vendor_direct_fulfillment_inventory_v1.rb
86
+ - lib/peddler/apis/vendor_direct_fulfillment_orders_2021_12_28.rb
87
+ - lib/peddler/apis/vendor_direct_fulfillment_orders_v1.rb
88
+ - lib/peddler/apis/vendor_direct_fulfillment_payments_v1.rb
89
+ - lib/peddler/apis/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.rb
90
+ - lib/peddler/apis/vendor_direct_fulfillment_shipping_2021_12_28.rb
91
+ - lib/peddler/apis/vendor_direct_fulfillment_shipping_v1.rb
92
+ - lib/peddler/apis/vendor_direct_fulfillment_transactions_2021_12_28.rb
93
+ - lib/peddler/apis/vendor_direct_fulfillment_transactions_v1.rb
94
+ - lib/peddler/apis/vendor_invoices_v1.rb
95
+ - lib/peddler/apis/vendor_orders_v1.rb
96
+ - lib/peddler/apis/vendor_shipments_v1.rb
97
+ - lib/peddler/apis/vendor_transaction_status_v1.rb
98
+ - lib/peddler/endpoint.rb
96
99
  - lib/peddler/error.rb
97
- - lib/peddler/region.rb
100
+ - lib/peddler/helpers/feeds_2021_06_30.rb
101
+ - lib/peddler/json_feed_document.rb
102
+ - lib/peddler/marketplace.rb
103
+ - lib/peddler/response.rb
104
+ - lib/peddler/token.rb
98
105
  - lib/peddler/version.rb
99
- homepage: https://github.com/hakanensari/peddler
106
+ homepage: https://github.com/lineofflight/peddler
100
107
  licenses:
101
108
  - MIT
102
109
  metadata:
@@ -119,5 +126,5 @@ requirements: []
119
126
  rubygems_version: 3.5.16
120
127
  signing_key:
121
128
  specification_version: 4
122
- summary: The Amazon Selling Partner API (SP-API) in Ruby
129
+ summary: Amazon Selling Partner API (SP-API) in Ruby
123
130
  test_files: []