peddler 3.0.0 → 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.
- checksums.yaml +4 -4
- data/README.md +14 -6
- data/lib/peddler/api.rb +28 -13
- data/lib/peddler/{api → apis}/amazon_warehousing_and_distribution_2024_05_09.rb +5 -5
- data/lib/peddler/{api → apis}/aplus_content_2020_11_01.rb +12 -12
- data/lib/peddler/{api → apis}/application_integrations_2024_04_01.rb +5 -5
- data/lib/peddler/{api → apis}/application_management_2023_11_30.rb +3 -3
- data/lib/peddler/{api → apis}/catalog_items_2020_12_01.rb +4 -4
- data/lib/peddler/{api → apis}/catalog_items_2022_04_01.rb +5 -5
- data/lib/peddler/{api → apis}/catalog_items_v0.rb +5 -5
- data/lib/peddler/{api → apis}/data_kiosk_2023_11_15.rb +7 -7
- data/lib/peddler/{api → apis}/easy_ship_2022_03_23.rb +20 -21
- data/lib/peddler/{api → apis}/fba_inbound_eligibility_v1.rb +3 -3
- data/lib/peddler/{api → apis}/fba_inventory_v1.rb +6 -6
- data/lib/peddler/{api → apis}/feeds_2021_06_30.rb +12 -9
- data/lib/peddler/{api → apis}/finances_2024_06_19.rb +3 -3
- data/lib/peddler/apis/finances_v0.rb +135 -0
- data/lib/peddler/{api → apis}/fulfillment_inbound_2024_03_20.rb +84 -54
- data/lib/peddler/{api → apis}/fulfillment_inbound_v0.rb +27 -20
- data/lib/peddler/{api → apis}/fulfillment_outbound_2020_07_01.rb +16 -16
- data/lib/peddler/{api → apis}/invoices_2024_06_19.rb +9 -9
- data/lib/peddler/{api → apis}/listings_items_2020_09_01.rb +5 -5
- data/lib/peddler/{api → apis}/listings_items_2021_08_01.rb +7 -41
- data/lib/peddler/{api → apis}/listings_restrictions_2021_08_01.rb +3 -3
- data/lib/peddler/{api → apis}/merchant_fulfillment_v0.rb +14 -14
- data/lib/peddler/{api → apis}/messaging_v1.rb +15 -15
- data/lib/peddler/{api → apis}/notifications_v1.rb +10 -10
- data/lib/peddler/{api → apis}/orders_v0.rb +13 -13
- data/lib/peddler/{api → apis}/product_fees_v0.rb +5 -5
- data/lib/peddler/{api → apis}/product_pricing_2022_05_01.rb +8 -8
- data/lib/peddler/{api → apis}/product_pricing_v0.rb +8 -8
- data/lib/peddler/{api → apis}/product_type_definitions_2020_09_01.rb +4 -4
- data/lib/peddler/{api → apis}/replenishment_2022_11_07.rb +5 -5
- data/lib/peddler/{api → apis}/reports_2021_06_30.rb +12 -12
- data/lib/peddler/{api → apis}/sales_v1.rb +3 -3
- data/lib/peddler/{api → apis}/sellers_v1.rb +4 -4
- data/lib/peddler/{api → apis}/services_v1.rb +19 -19
- data/lib/peddler/{api → apis}/shipment_invoicing_v0.rb +5 -5
- data/lib/peddler/{api → apis}/shipping_v1.rb +11 -11
- data/lib/peddler/{api → apis}/shipping_v2.rb +19 -19
- data/lib/peddler/{api → apis}/solicitations_v1.rb +4 -4
- data/lib/peddler/{api → apis}/supply_sources_2020_07_01.rb +8 -8
- data/lib/peddler/{api → apis}/tokens_2021_03_01.rb +3 -3
- data/lib/peddler/{api → apis}/uploads_2020_11_01.rb +3 -3
- data/lib/peddler/{api → apis}/vendor_direct_fulfillment_inventory_v1.rb +4 -4
- data/lib/peddler/{api → apis}/vendor_direct_fulfillment_orders_2021_12_28.rb +5 -5
- data/lib/peddler/{api → apis}/vendor_direct_fulfillment_orders_v1.rb +6 -6
- data/lib/peddler/{api → apis}/vendor_direct_fulfillment_payments_v1.rb +4 -4
- data/lib/peddler/{api → apis}/vendor_direct_fulfillment_sandbox_test_data_2021_10_28.rb +9 -9
- data/lib/peddler/{api → apis}/vendor_direct_fulfillment_shipping_2021_12_28.rb +17 -17
- data/lib/peddler/{api → apis}/vendor_direct_fulfillment_shipping_v1.rb +30 -30
- data/lib/peddler/{api → apis}/vendor_direct_fulfillment_transactions_2021_12_28.rb +4 -4
- data/lib/peddler/{api → apis}/vendor_direct_fulfillment_transactions_v1.rb +4 -4
- data/lib/peddler/{api → apis}/vendor_invoices_v1.rb +4 -4
- data/lib/peddler/{api → apis}/vendor_orders_v1.rb +7 -7
- data/lib/peddler/{api → apis}/vendor_shipments_v1.rb +6 -6
- data/lib/peddler/{api → apis}/vendor_transaction_status_v1.rb +3 -3
- data/lib/peddler/endpoint.rb +2 -2
- data/lib/peddler/error.rb +21 -12
- data/lib/peddler/helpers/feeds_2021_06_30.rb +26 -0
- data/lib/peddler/json_feed_document.rb +31 -0
- data/lib/peddler/marketplace.rb +46 -2
- data/lib/peddler/response.rb +46 -0
- data/lib/peddler/version.rb +1 -1
- data/lib/peddler.rb +54 -55
- metadata +59 -56
- data/lib/peddler/api/finances_v0.rb +0 -148
@@ -5,11 +5,11 @@ require "peddler/api"
|
|
5
5
|
module Peddler
|
6
6
|
class << self
|
7
7
|
def fba_inbound_eligibility_v1(...)
|
8
|
-
|
8
|
+
APIs::FBAInboundEligibilityV1.new(...)
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
|
-
|
12
|
+
module APIs
|
13
13
|
# Selling Partner API for FBA Inbound Eligibilty
|
14
14
|
#
|
15
15
|
# With the FBA Inbound Eligibility API, you can build applications that let sellers get eligibility previews for
|
@@ -28,7 +28,7 @@ module Peddler
|
|
28
28
|
# @param asin [String] The ASIN of the item for which you want an eligibility preview.
|
29
29
|
# @param program [String] The program that you want to check eligibility against.
|
30
30
|
# @param rate_limit [Float] Requests per second
|
31
|
-
# @return [
|
31
|
+
# @return [Peddler::Response] The API response
|
32
32
|
def get_item_eligibility_preview(asin, program, marketplace_ids: nil, rate_limit: 1.0)
|
33
33
|
path = "/fba/inbound/v1/eligibility/itemPreview"
|
34
34
|
params = {
|
@@ -5,11 +5,11 @@ require "peddler/api"
|
|
5
5
|
module Peddler
|
6
6
|
class << self
|
7
7
|
def fba_inventory_v1(...)
|
8
|
-
|
8
|
+
APIs::FBAInventoryV1.new(...)
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
|
-
|
12
|
+
module APIs
|
13
13
|
# Selling Partner API for FBA Inventory
|
14
14
|
#
|
15
15
|
# The Selling Partner API for FBA Inventory lets you programmatically retrieve information about inventory in
|
@@ -44,7 +44,7 @@ module Peddler
|
|
44
44
|
# @param marketplace_ids [Array<String>] The marketplace ID for the marketplace for which to return inventory
|
45
45
|
# summaries.
|
46
46
|
# @param rate_limit [Float] Requests per second
|
47
|
-
# @return [
|
47
|
+
# @return [Peddler::Response] The API response
|
48
48
|
def get_inventory_summaries(granularity_type, granularity_id, marketplace_ids, details: nil, start_date_time: nil,
|
49
49
|
seller_skus: nil, seller_sku: nil, next_token: nil, rate_limit: 2.0)
|
50
50
|
path = "/fba/inventory/v1/summaries"
|
@@ -69,7 +69,7 @@ module Peddler
|
|
69
69
|
# @note This operation can make a dynamic sandbox call.
|
70
70
|
# @param create_inventory_item_request_body [Hash] CreateInventoryItem Request Body Parameter.
|
71
71
|
# @param rate_limit [Float] Requests per second
|
72
|
-
# @return [
|
72
|
+
# @return [Peddler::Response] The API response
|
73
73
|
def create_inventory_item(create_inventory_item_request_body, rate_limit: nil)
|
74
74
|
must_sandbox!
|
75
75
|
|
@@ -87,7 +87,7 @@ module Peddler
|
|
87
87
|
# @param seller_sku [String] A single seller SKU used for querying the specified seller SKU inventory summaries.
|
88
88
|
# @param marketplace_id [String] The marketplace ID for the marketplace for which the sellerSku is to be deleted.
|
89
89
|
# @param rate_limit [Float] Requests per second
|
90
|
-
# @return [
|
90
|
+
# @return [Peddler::Response] The API response
|
91
91
|
def delete_inventory_item(seller_sku, marketplace_id, rate_limit: nil)
|
92
92
|
must_sandbox!
|
93
93
|
|
@@ -108,7 +108,7 @@ module Peddler
|
|
108
108
|
# @param x_amzn_idempotency_token [String] A unique token/requestId provided with each call to ensure idempotency.
|
109
109
|
# @param add_inventory_request_body [Hash] List of items to add to Sandbox inventory.
|
110
110
|
# @param rate_limit [Float] Requests per second
|
111
|
-
# @return [
|
111
|
+
# @return [Peddler::Response] The API response
|
112
112
|
def add_inventory(x_amzn_idempotency_token, add_inventory_request_body, rate_limit: nil)
|
113
113
|
must_sandbox!
|
114
114
|
|
@@ -1,19 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "peddler/api"
|
4
|
+
require "peddler/helpers/feeds_2021_06_30"
|
4
5
|
|
5
6
|
module Peddler
|
6
7
|
class << self
|
7
8
|
def feeds_2021_06_30(...)
|
8
|
-
|
9
|
+
APIs::Feeds20210630.new(...)
|
9
10
|
end
|
10
11
|
end
|
11
12
|
|
12
|
-
|
13
|
-
#
|
13
|
+
module APIs
|
14
|
+
# Feeds v2021-06-30
|
14
15
|
#
|
15
16
|
# The Selling Partner API for Feeds lets you upload data to Amazon on behalf of a selling partner.
|
16
17
|
class Feeds20210630 < API
|
18
|
+
include Peddler::Helpers::Feeds20210630
|
19
|
+
|
17
20
|
# Returns feed details for the feeds that match the filters that you specify.
|
18
21
|
#
|
19
22
|
# @note This operation can make a static sandbox call.
|
@@ -33,7 +36,7 @@ module Peddler
|
|
33
36
|
# call the getFeeds operation and include this token as the only parameter. Specifying nextToken with any other
|
34
37
|
# parameters will cause the request to fail.
|
35
38
|
# @param rate_limit [Float] Requests per second
|
36
|
-
# @return [
|
39
|
+
# @return [Peddler::Response] The API response
|
37
40
|
def get_feeds(feed_types: nil, marketplace_ids: nil, page_size: 10, processing_statuses: nil, created_since: nil,
|
38
41
|
created_until: nil, next_token: nil, rate_limit: 0.0222)
|
39
42
|
path = "/feeds/2021-06-30/feeds"
|
@@ -55,7 +58,7 @@ module Peddler
|
|
55
58
|
# @note This operation can make a static sandbox call.
|
56
59
|
# @param body [Hash] Information required to create the feed.
|
57
60
|
# @param rate_limit [Float] Requests per second
|
58
|
-
# @return [
|
61
|
+
# @return [Peddler::Response] The API response
|
59
62
|
def create_feed(body, rate_limit: 0.0083)
|
60
63
|
path = "/feeds/2021-06-30/feeds"
|
61
64
|
|
@@ -71,7 +74,7 @@ module Peddler
|
|
71
74
|
# @param feed_id [String] The identifier for the feed. This identifier is unique only in combination with a seller
|
72
75
|
# ID.
|
73
76
|
# @param rate_limit [Float] Requests per second
|
74
|
-
# @return [
|
77
|
+
# @return [Peddler::Response] The API response
|
75
78
|
def cancel_feed(feed_id, rate_limit: 2.0)
|
76
79
|
path = "/feeds/2021-06-30/feeds/#{feed_id}"
|
77
80
|
|
@@ -84,7 +87,7 @@ module Peddler
|
|
84
87
|
# @param feed_id [String] The identifier for the feed. This identifier is unique only in combination with a seller
|
85
88
|
# ID.
|
86
89
|
# @param rate_limit [Float] Requests per second
|
87
|
-
# @return [
|
90
|
+
# @return [Peddler::Response] The API response
|
88
91
|
def get_feed(feed_id, rate_limit: 2.0)
|
89
92
|
path = "/feeds/2021-06-30/feeds/#{feed_id}"
|
90
93
|
|
@@ -99,7 +102,7 @@ module Peddler
|
|
99
102
|
# @note This operation can make a static sandbox call.
|
100
103
|
# @param body [Hash] Specifies the content type for the createFeedDocument operation.
|
101
104
|
# @param rate_limit [Float] Requests per second
|
102
|
-
# @return [
|
105
|
+
# @return [Peddler::Response] The API response
|
103
106
|
def create_feed_document(body, rate_limit: 0.5)
|
104
107
|
path = "/feeds/2021-06-30/documents"
|
105
108
|
|
@@ -111,7 +114,7 @@ module Peddler
|
|
111
114
|
# @note This operation can make a static sandbox call.
|
112
115
|
# @param feed_document_id [String] The identifier of the feed document.
|
113
116
|
# @param rate_limit [Float] Requests per second
|
114
|
-
# @return [
|
117
|
+
# @return [Peddler::Response] The API response
|
115
118
|
def get_feed_document(feed_document_id, rate_limit: 0.0222)
|
116
119
|
path = "/feeds/2021-06-30/documents/#{feed_document_id}"
|
117
120
|
|
@@ -5,11 +5,11 @@ require "peddler/api"
|
|
5
5
|
module Peddler
|
6
6
|
class << self
|
7
7
|
def finances_2024_06_19(...)
|
8
|
-
|
8
|
+
APIs::Finances20240619.new(...)
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
|
-
|
12
|
+
module APIs
|
13
13
|
# The Selling Partner API for Finances
|
14
14
|
#
|
15
15
|
# The Selling Partner API for Finances provides financial information relevant to a seller's business. You can
|
@@ -33,7 +33,7 @@ module Peddler
|
|
33
33
|
# arguments as the call that produced the token. To get a complete list, call this operation until `nextToken`
|
34
34
|
# is null. Note that this operation can return empty pages.
|
35
35
|
# @param rate_limit [Float] Requests per second
|
36
|
-
# @return [
|
36
|
+
# @return [Peddler::Response] The API response
|
37
37
|
def list_transactions(posted_after, posted_before: nil, marketplace_id: nil, next_token: nil, rate_limit: 0.5)
|
38
38
|
path = "/finances/2024-06-19/transactions"
|
39
39
|
params = {
|
@@ -0,0 +1,135 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "peddler/api"
|
4
|
+
|
5
|
+
module Peddler
|
6
|
+
class << self
|
7
|
+
def finances_v0(...)
|
8
|
+
APIs::FinancesV0.new(...)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
module APIs
|
13
|
+
# Selling Partner API for Finances
|
14
|
+
#
|
15
|
+
# The Selling Partner API for Finances helps you obtain financial information relevant to a seller's business. You
|
16
|
+
# can obtain financial events for a given order, financial event group, or date range without having to wait until a
|
17
|
+
# statement period closes. You can also obtain financial event groups for a given date range.
|
18
|
+
class FinancesV0 < API
|
19
|
+
# Returns financial event groups for a given date range. It may take up to 48 hours for orders to appear in your
|
20
|
+
# financial events.
|
21
|
+
#
|
22
|
+
# @note This operation can make a static sandbox call.
|
23
|
+
# @param max_results_per_page [Integer] The maximum number of results to return per page. If the response exceeds
|
24
|
+
# the maximum number of transactions or 10 MB, the API responds with 'InvalidInput'.
|
25
|
+
# @param financial_event_group_started_before [String] A date used for selecting financial event groups that
|
26
|
+
# opened before (but not at) a specified date and time, in [ISO
|
27
|
+
# 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) format. The date-time must be later than
|
28
|
+
# FinancialEventGroupStartedAfter and no later than two minutes before the request was submitted. If
|
29
|
+
# FinancialEventGroupStartedAfter and FinancialEventGroupStartedBefore are more than 180 days apart, no
|
30
|
+
# financial event groups are returned.
|
31
|
+
# @param financial_event_group_started_after [String] A date used for selecting financial event groups that opened
|
32
|
+
# after (or at) a specified date and time, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601)
|
33
|
+
# format. The date-time must be no later than two minutes before the request was submitted.
|
34
|
+
# @param next_token [String] A string token returned in the response of your previous request.
|
35
|
+
# @param rate_limit [Float] Requests per second
|
36
|
+
# @return [Peddler::Response] The API response
|
37
|
+
def list_financial_event_groups(max_results_per_page: 10, financial_event_group_started_before: nil,
|
38
|
+
financial_event_group_started_after: nil, next_token: nil, rate_limit: 0.5)
|
39
|
+
path = "/finances/v0/financialEventGroups"
|
40
|
+
params = {
|
41
|
+
"MaxResultsPerPage" => max_results_per_page,
|
42
|
+
"FinancialEventGroupStartedBefore" => financial_event_group_started_before,
|
43
|
+
"FinancialEventGroupStartedAfter" => financial_event_group_started_after,
|
44
|
+
"NextToken" => next_token,
|
45
|
+
}.compact
|
46
|
+
|
47
|
+
meter(rate_limit).get(path, params:)
|
48
|
+
end
|
49
|
+
|
50
|
+
# Returns all financial events for the specified financial event group. It may take up to 48 hours for orders to
|
51
|
+
# appear in your financial events. **Note:** This operation will only retrieve group's data for the past two
|
52
|
+
# years. If a request is submitted for data spanning more than two years, an empty response is returned.
|
53
|
+
#
|
54
|
+
# @note This operation can make a static sandbox call.
|
55
|
+
# @param max_results_per_page [Integer] The maximum number of results to return per page. If the response exceeds
|
56
|
+
# the maximum number of transactions or 10 MB, the API responds with 'InvalidInput'.
|
57
|
+
# @param posted_after [String] A date used for selecting financial events posted after (or at) a specified time.
|
58
|
+
# The date-time **must** be more than two minutes before the time of the request, in [ISO
|
59
|
+
# 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.
|
60
|
+
# @param posted_before [String] A date used for selecting financial events posted before (but not at) a specified
|
61
|
+
# time. The date-time must be later than `PostedAfter` and no later than two minutes before the request was
|
62
|
+
# submitted, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format. If
|
63
|
+
# `PostedAfter` and `PostedBefore` are more than 180 days apart, no financial events are returned. You must
|
64
|
+
# specify the `PostedAfter` parameter if you specify the `PostedBefore` parameter. Default: Now minus two
|
65
|
+
# minutes.
|
66
|
+
# @param event_group_id [String] The identifier of the financial event group to which the events belong.
|
67
|
+
# @param next_token [String] A string token returned in the response of your previous request.
|
68
|
+
# @param rate_limit [Float] Requests per second
|
69
|
+
# @return [Peddler::Response] The API response
|
70
|
+
def list_financial_events_by_group_id(event_group_id, max_results_per_page: 100, posted_after: nil,
|
71
|
+
posted_before: nil, next_token: nil, rate_limit: 0.5)
|
72
|
+
path = "/finances/v0/financialEventGroups/#{event_group_id}/financialEvents"
|
73
|
+
params = {
|
74
|
+
"MaxResultsPerPage" => max_results_per_page,
|
75
|
+
"PostedAfter" => posted_after,
|
76
|
+
"PostedBefore" => posted_before,
|
77
|
+
"NextToken" => next_token,
|
78
|
+
}.compact
|
79
|
+
|
80
|
+
meter(rate_limit).get(path, params:)
|
81
|
+
end
|
82
|
+
|
83
|
+
# Returns all financial events for the specified order. It may take up to 48 hours for orders to appear in your
|
84
|
+
# financial events.
|
85
|
+
#
|
86
|
+
# @note This operation can make a static sandbox call.
|
87
|
+
# @param order_id [String] An Amazon-defined order identifier, in 3-7-7 format.
|
88
|
+
# @param max_results_per_page [Integer] The maximum number of results to return per page. If the response exceeds
|
89
|
+
# the maximum number of transactions or 10 MB, the API responds with 'InvalidInput'.
|
90
|
+
# @param next_token [String] A string token returned in the response of your previous request.
|
91
|
+
# @param rate_limit [Float] Requests per second
|
92
|
+
# @return [Peddler::Response] The API response
|
93
|
+
def list_financial_events_by_order_id(order_id, max_results_per_page: 100, next_token: nil, rate_limit: 0.5)
|
94
|
+
path = "/finances/v0/orders/#{order_id}/financialEvents"
|
95
|
+
params = {
|
96
|
+
"MaxResultsPerPage" => max_results_per_page,
|
97
|
+
"NextToken" => next_token,
|
98
|
+
}.compact
|
99
|
+
|
100
|
+
meter(rate_limit).get(path, params:)
|
101
|
+
end
|
102
|
+
|
103
|
+
# Returns financial events for the specified data range. It may take up to 48 hours for orders to appear in your
|
104
|
+
# financial events. **Note:** in `ListFinancialEvents`, deferred events don't show up in responses until in they
|
105
|
+
# are released.
|
106
|
+
#
|
107
|
+
# @note This operation can make a static sandbox call.
|
108
|
+
# @param max_results_per_page [Integer] The maximum number of results to return per page. If the response exceeds
|
109
|
+
# the maximum number of transactions or 10 MB, the API responds with 'InvalidInput'.
|
110
|
+
# @param posted_after [String] A date used for selecting financial events posted after (or at) a specified time.
|
111
|
+
# The date-time must be no later than two minutes before the request was submitted, in [ISO
|
112
|
+
# 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format.
|
113
|
+
# @param posted_before [String] A date used for selecting financial events posted before (but not at) a specified
|
114
|
+
# time. The date-time must be later than PostedAfter and no later than two minutes before the request was
|
115
|
+
# submitted, in [ISO 8601](https://developer-docs.amazon.com/sp-api/docs/iso-8601) date time format. If
|
116
|
+
# PostedAfter and PostedBefore are more than 180 days apart, no financial events are returned. You must specify
|
117
|
+
# the PostedAfter parameter if you specify the PostedBefore parameter. Default: Now minus two minutes.
|
118
|
+
# @param next_token [String] A string token returned in the response of your previous request.
|
119
|
+
# @param rate_limit [Float] Requests per second
|
120
|
+
# @return [Peddler::Response] The API response
|
121
|
+
def list_financial_events(max_results_per_page: 100, posted_after: nil, posted_before: nil, next_token: nil,
|
122
|
+
rate_limit: 0.5)
|
123
|
+
path = "/finances/v0/financialEvents"
|
124
|
+
params = {
|
125
|
+
"MaxResultsPerPage" => max_results_per_page,
|
126
|
+
"PostedAfter" => posted_after,
|
127
|
+
"PostedBefore" => posted_before,
|
128
|
+
"NextToken" => next_token,
|
129
|
+
}.compact
|
130
|
+
|
131
|
+
meter(rate_limit).get(path, params:)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|