peddler 0.7.0 → 0.7.1
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 +0 -2
- data/lib/mws/feeds.rb +9 -9
- data/lib/mws/orders.rb +6 -8
- data/lib/mws/products.rb +12 -13
- data/lib/mws/recommendations.rb +55 -2
- data/lib/mws/reports.rb +15 -16
- data/lib/mws/sellers.rb +3 -3
- data/lib/mws/subscriptions.rb +16 -22
- data/lib/peddler/version.rb +1 -1
- data/test/integration/test_recommendations.rb +25 -0
- data/test/unit/peddler/test_client.rb +1 -1
- data/test/unit/peddler/test_structured_list.rb +7 -0
- data/test/vcr_cassettes/Recommendations.yml +8844 -0
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b23af9259fc451eaf2efbf47b7c03a45b46714d7
|
4
|
+
data.tar.gz: 147618f91b42b19bfb6a34be99774c277ccd8dac
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73627f0730df844e71038dede262611b70fd9f26ad9756c3e5f43756dd53ec2bf7589ce12dc5abd3e1be0d46f6085146768726675b083a5eb44009d6fe0b5a23
|
7
|
+
data.tar.gz: b40bfcce330e6ee41f26da68c4f342960a636e9193d315d808ecb273d9b41ca12f0ff670e8e58646330535d132b6005da80d9408bb79cb2d6f00208edea16077
|
data/README.md
CHANGED
@@ -113,8 +113,6 @@ The MWS Products API helps you get information to match your products to existin
|
|
113
113
|
|
114
114
|
### Recommendations
|
115
115
|
|
116
|
-
**Not implemented**
|
117
|
-
|
118
116
|
The Recommendations API enables you to programmatically retrieve Amazon Selling Coach recommendations by recommendation category. A recommendation is an actionable, timely, and personalized opportunity to increase your sales and performance.
|
119
117
|
|
120
118
|
[Read more](http://rubydoc.info/gems/peddler/MWS/Recommendations)
|
data/lib/mws/feeds.rb
CHANGED
@@ -14,9 +14,9 @@ module MWS
|
|
14
14
|
# @param opts [Hash]
|
15
15
|
# @option opts [Array<String>, String] :marketplace_id_list
|
16
16
|
# @option opts [Boolean] :purge_and_replace
|
17
|
-
# @return [Peddler::
|
18
|
-
def submit_feed(
|
19
|
-
self.body =
|
17
|
+
# @return [Peddler::XMLParser]
|
18
|
+
def submit_feed(feed_content, feed_type, opts = {})
|
19
|
+
self.body = feed_content
|
20
20
|
operation('SubmitFeed')
|
21
21
|
.add(opts.merge('FeedType' => feed_type))
|
22
22
|
.structure!('MarketplaceId', 'Id')
|
@@ -35,7 +35,7 @@ module MWS
|
|
35
35
|
# @option opts [Array<String>, String] :feed_processing_status_list
|
36
36
|
# @option opts [String, #iso8601] :submitted_from_date
|
37
37
|
# @option opts [String, #iso8601] :submitted_to_date
|
38
|
-
# @return [Peddler::
|
38
|
+
# @return [Peddler::XMLParser]
|
39
39
|
def get_feed_submission_list(opts = {})
|
40
40
|
operation('GetFeedSubmissionList')
|
41
41
|
.add(opts)
|
@@ -50,8 +50,7 @@ module MWS
|
|
50
50
|
#
|
51
51
|
# @see http://docs.developer.amazonservices.com/en_US/feeds/Feeds_GetFeedSubmissionListByNextToken.html
|
52
52
|
# @param next_token [String]
|
53
|
-
# @return [Peddler::
|
54
|
-
# @return false if there are no more pages
|
53
|
+
# @return [Peddler::XMLParser]
|
55
54
|
def get_feed_submission_list_by_next_token(next_token)
|
56
55
|
operation('GetFeedSubmissionListByNextToken')
|
57
56
|
.add('NextToken' => next_token)
|
@@ -68,7 +67,7 @@ module MWS
|
|
68
67
|
# @option opts [Array<String>, String] :feed_processing_status_list
|
69
68
|
# @option opts [String, #iso8601] :submitted_from_date
|
70
69
|
# @option opts [String, #iso8601] :submitted_to_date
|
71
|
-
# @return [Peddler::
|
70
|
+
# @return [Peddler::XMLParser]
|
72
71
|
def get_feed_submission_count(opts = {})
|
73
72
|
operation('GetFeedSubmissionCount')
|
74
73
|
.add(opts)
|
@@ -87,7 +86,7 @@ module MWS
|
|
87
86
|
# @option opts [Array<String>, String] :feed_type_list
|
88
87
|
# @option opts [String, #iso8601] :submitted_from_date
|
89
88
|
# @option opts [String, #iso8601] :submitted_to_date
|
90
|
-
# @return [Peddler::
|
89
|
+
# @return [Peddler::XMLParser]
|
91
90
|
def cancel_feed_submissions(opts = {})
|
92
91
|
operation('CancelFeedSubmissions')
|
93
92
|
.add(opts)
|
@@ -99,7 +98,8 @@ module MWS
|
|
99
98
|
#
|
100
99
|
# @see http://docs.developer.amazonservices.com/en_US/feeds/Feeds_GetFeedSubmissionResult.html
|
101
100
|
# @param feed_submission_id [Integer, String]
|
102
|
-
# @return Peddler::
|
101
|
+
# @return [Peddler::XMLParser] if the report is in XML format
|
102
|
+
# @return [Peddler::CSVParser] if the report is a flat file
|
103
103
|
def get_feed_submission_result(feed_submission_id)
|
104
104
|
operation('GetFeedSubmissionResult')
|
105
105
|
.add('FeedSubmissionId' => feed_submission_id)
|
data/lib/mws/orders.rb
CHANGED
@@ -22,7 +22,7 @@ module MWS
|
|
22
22
|
# @option opts [String] :seller_order_id
|
23
23
|
# @option opts [String] :max_results_per_page
|
24
24
|
# @option opts [String] :tfm_shipment_status
|
25
|
-
# @return [Peddler::
|
25
|
+
# @return [Peddler::XMLParser]
|
26
26
|
def list_orders(opts = {})
|
27
27
|
opts[:marketplace_id] ||= marketplace_id
|
28
28
|
opts['TFMShipmentStatus'] = opts.delete(:tfm_shipment_status) if opts.has_key?(:tfm_shipment_status)
|
@@ -41,8 +41,7 @@ module MWS
|
|
41
41
|
#
|
42
42
|
# @see http://docs.developer.amazonservices.com/en_US/orders/2013-09-01/Orders_ListOrdersByNextToken.html
|
43
43
|
# @param next_token [String]
|
44
|
-
# @return [Peddler::
|
45
|
-
# @return false if there are no more pages
|
44
|
+
# @return [Peddler::XMLParser]
|
46
45
|
def list_orders_by_next_token(next_token)
|
47
46
|
operation('ListOrdersByNextToken')
|
48
47
|
.add('NextToken' => next_token)
|
@@ -54,7 +53,7 @@ module MWS
|
|
54
53
|
#
|
55
54
|
# @see http://docs.developer.amazonservices.com/en_US/orders/2013-09-01/Orders_GetOrder.html
|
56
55
|
# @param amazon_order_ids [Array<String>]
|
57
|
-
# @return [Peddler::
|
56
|
+
# @return [Peddler::XMLParser]
|
58
57
|
def get_order(*amazon_order_ids)
|
59
58
|
operation('GetOrder')
|
60
59
|
.add('AmazonOrderId' => amazon_order_ids)
|
@@ -67,7 +66,7 @@ module MWS
|
|
67
66
|
#
|
68
67
|
# @see http://docs.developer.amazonservices.com/en_US/orders/2013-09-01/Orders_ListOrderItems.html
|
69
68
|
# @param amazon_order_id [String]
|
70
|
-
# @return [Peddler::
|
69
|
+
# @return [Peddler::XMLParser]
|
71
70
|
def list_order_items(amazon_order_id)
|
72
71
|
operation('ListOrderItems')
|
73
72
|
.add('AmazonOrderId' => amazon_order_id)
|
@@ -79,8 +78,7 @@ module MWS
|
|
79
78
|
#
|
80
79
|
# @see http://docs.developer.amazonservices.com/en_US/orders/2013-09-01/Orders_ListOrderItemsByNextToken.html
|
81
80
|
# @param next_token [String]
|
82
|
-
# @return [Peddler::
|
83
|
-
# @return false if there are no more pages
|
81
|
+
# @return [Peddler::XMLParser]
|
84
82
|
def list_order_items_by_next_token(next_token)
|
85
83
|
operation('ListOrderItemsByNextToken')
|
86
84
|
.add('NextToken' => next_token)
|
@@ -91,7 +89,7 @@ module MWS
|
|
91
89
|
# Gets the service status of the API
|
92
90
|
#
|
93
91
|
# @see http://docs.developer.amazonservices.com/en_US/orders/2013-09-01/MWS_GetServiceStatus.html
|
94
|
-
# @return Peddler::
|
92
|
+
# @return [Peddler::XMLParser]
|
95
93
|
def get_service_status
|
96
94
|
operation('GetServiceStatus')
|
97
95
|
run
|
data/lib/mws/products.rb
CHANGED
@@ -11,13 +11,12 @@ module MWS
|
|
11
11
|
# Lists products and their attributes, based on a search query
|
12
12
|
#
|
13
13
|
# @see http://docs.developer.amazonservices.com/en_US/products/Products_ListMatchingProducts.html
|
14
|
-
# @method list_matching_products
|
15
14
|
# @overload list_matching_products(query, opts = { marketplace_id: marketplace_id })
|
16
15
|
# @param query [String]
|
17
16
|
# @param opts [Hash]
|
18
17
|
# @option opts [String] :marketplace_id
|
19
18
|
# @option opts [String] :query_context_id
|
20
|
-
# @return [Peddler::
|
19
|
+
# @return [Peddler::XMLParser]
|
21
20
|
def list_matching_products(query, opts = {})
|
22
21
|
opts[:marketplace_id] ||= marketplace_id
|
23
22
|
|
@@ -36,7 +35,7 @@ module MWS
|
|
36
35
|
# @param id_list [Array<String>]
|
37
36
|
# @param opts [Hash]
|
38
37
|
# @option opts [String] :marketplace_id
|
39
|
-
# @return [Peddler::
|
38
|
+
# @return [Peddler::XMLParser]
|
40
39
|
def get_matching_product_for_id(id_type, *id_list)
|
41
40
|
opts = extract_options(id_list)
|
42
41
|
opts[:marketplace_id] ||= marketplace_id
|
@@ -55,7 +54,7 @@ module MWS
|
|
55
54
|
# @param asins [Array<String>]
|
56
55
|
# @param opts [Hash]
|
57
56
|
# @option opts [String] :marketplace_id
|
58
|
-
# @return [Peddler::
|
57
|
+
# @return [Peddler::XMLParser]
|
59
58
|
def get_matching_product(*asins)
|
60
59
|
opts = extract_options(asins)
|
61
60
|
opts[:marketplace_id] ||= marketplace_id
|
@@ -74,7 +73,7 @@ module MWS
|
|
74
73
|
# @param skus [Array<String>]
|
75
74
|
# @param opts [Hash]
|
76
75
|
# @option opts [String] :marketplace_id
|
77
|
-
# @return [Peddler::
|
76
|
+
# @return [Peddler::XMLParser]
|
78
77
|
def get_competitive_pricing_for_sku(*skus)
|
79
78
|
opts = extract_options(skus)
|
80
79
|
opts[:marketplace_id] ||= marketplace_id
|
@@ -93,7 +92,7 @@ module MWS
|
|
93
92
|
# @param asins [Array<String>]
|
94
93
|
# @param opts [Hash]
|
95
94
|
# @option opts [String] :marketplace_id
|
96
|
-
# @return [Peddler::
|
95
|
+
# @return [Peddler::XMLParser]
|
97
96
|
def get_competitive_pricing_for_asin(*asins)
|
98
97
|
opts = extract_options(asins)
|
99
98
|
opts[:marketplace_id] ||= marketplace_id
|
@@ -115,7 +114,7 @@ module MWS
|
|
115
114
|
# @option opts [String] :marketplace_id
|
116
115
|
# @option opts [String] :item_condition
|
117
116
|
# @option opts [Boolean] :exclude_me
|
118
|
-
# @return [Peddler::
|
117
|
+
# @return [Peddler::XMLParser]
|
119
118
|
def get_lowest_offer_listings_for_sku(*skus)
|
120
119
|
opts = extract_options(skus)
|
121
120
|
opts[:marketplace_id] ||= marketplace_id
|
@@ -137,7 +136,7 @@ module MWS
|
|
137
136
|
# @option opts [String] :marketplace_id
|
138
137
|
# @option opts [String] :item_condition
|
139
138
|
# @option opts [Boolean] :exclude_me
|
140
|
-
# @return [Peddler::
|
139
|
+
# @return [Peddler::XMLParser]
|
141
140
|
def get_lowest_offer_listings_for_asin(*asins)
|
142
141
|
opts = extract_options(asins)
|
143
142
|
opts[:marketplace_id] ||= marketplace_id
|
@@ -158,7 +157,7 @@ module MWS
|
|
158
157
|
# @param opts [Hash]
|
159
158
|
# @option opts [String] :marketplace_id
|
160
159
|
# @option opts [String] :item_condition
|
161
|
-
# @return [Peddler::
|
160
|
+
# @return [Peddler::XMLParser]
|
162
161
|
def get_my_price_for_sku(*skus)
|
163
162
|
opts = extract_options(skus)
|
164
163
|
opts[:marketplace_id] ||= marketplace_id
|
@@ -179,7 +178,7 @@ module MWS
|
|
179
178
|
# @param opts [Hash]
|
180
179
|
# @option opts [String] :marketplace_id
|
181
180
|
# @option opts [String] :item_condition
|
182
|
-
# @return [Peddler::
|
181
|
+
# @return [Peddler::XMLParser]
|
183
182
|
def get_my_price_for_asin(*asins)
|
184
183
|
opts = extract_options(asins)
|
185
184
|
opts[:marketplace_id] ||= marketplace_id
|
@@ -199,7 +198,7 @@ module MWS
|
|
199
198
|
# @param sku [String]
|
200
199
|
# @param opts [Hash]
|
201
200
|
# @option opts [String] :marketplace_id
|
202
|
-
# @return [Peddler::
|
201
|
+
# @return [Peddler::XMLParser]
|
203
202
|
def get_product_categories_for_sku(sku, opts = {})
|
204
203
|
opts[:marketplace_id] ||= marketplace_id
|
205
204
|
|
@@ -216,7 +215,7 @@ module MWS
|
|
216
215
|
# @param asin [String]
|
217
216
|
# @param opts [Hash]
|
218
217
|
# @option opts [String] :marketplace_id
|
219
|
-
# @return [Peddler::
|
218
|
+
# @return [Peddler::XMLParser]
|
220
219
|
def get_product_categories_for_asin(asin, opts = {})
|
221
220
|
opts[:marketplace_id] ||= marketplace_id
|
222
221
|
|
@@ -229,7 +228,7 @@ module MWS
|
|
229
228
|
# Gets the service status of the API
|
230
229
|
#
|
231
230
|
# @see http://docs.developer.amazonservices.com/en_US/products/Products_GetServiceStatus.html
|
232
|
-
# @return Peddler::
|
231
|
+
# @return [Peddler::XMLParser]
|
233
232
|
def get_service_status
|
234
233
|
operation('GetServiceStatus')
|
235
234
|
run
|
data/lib/mws/recommendations.rb
CHANGED
@@ -5,9 +5,62 @@ module MWS
|
|
5
5
|
# Selling Coach recommendations by recommendation category. A recommendation
|
6
6
|
# is an actionable, timely, and personalized opportunity to increase your
|
7
7
|
# sales and performance.
|
8
|
-
#
|
9
|
-
# @todo Not implemented
|
10
8
|
class Recommendations < ::Peddler::Client
|
11
9
|
path 'Recommendations/2013-04-01'
|
10
|
+
|
11
|
+
# Checks whether there are active recommendations for each category for the
|
12
|
+
# given marketplace, and if there are, returns the time when recommendations
|
13
|
+
# were last updated for each category
|
14
|
+
#
|
15
|
+
# @see http://docs.developer.amazonservices.com/en_US/recommendations/Recommendations_GetLastUpdatedTimeForRecommendations.html
|
16
|
+
# @param marketplace_id [String]
|
17
|
+
# @return [Peddler::XMLParser]
|
18
|
+
def get_last_updated_time_for_recommendations(marketplace_id = marketplace_id)
|
19
|
+
operation('GetLastUpdatedTimeForRecommendations')
|
20
|
+
.add('MarketplaceId' => marketplace_id)
|
21
|
+
|
22
|
+
run
|
23
|
+
end
|
24
|
+
|
25
|
+
# Lists active recommendations for a specific category or for all categories
|
26
|
+
# for a specific marketplace
|
27
|
+
#
|
28
|
+
# @see http://docs.developer.amazonservices.com/en_US/recommendations/Recommendations_ListRecommendations.html
|
29
|
+
# @overload list_recommendations(opts = { marketplace_id: marketplace_id })
|
30
|
+
# @param opts [Hash]
|
31
|
+
# @option opts [String] :marketplace_id
|
32
|
+
# @option opts [String] :recommendation_category
|
33
|
+
# @option opts [String] :category_query_list
|
34
|
+
# @return [Peddler::XMLParser]
|
35
|
+
def list_recommendations(opts = {})
|
36
|
+
opts[:marketplace_id] ||= marketplace_id
|
37
|
+
|
38
|
+
operation('ListRecommendations')
|
39
|
+
.add(opts)
|
40
|
+
.structure!('CategoryQueryList', 'CategoryQuery', '1', 'FilterOptions', 'FilterOption')
|
41
|
+
|
42
|
+
run
|
43
|
+
end
|
44
|
+
|
45
|
+
# Lists the next page of active recommendations
|
46
|
+
#
|
47
|
+
# @see http://docs.developer.amazonservices.com/en_US/recommendations/Recommendations_ListRecommendationsByNextToken.html
|
48
|
+
# @param next_token [String]
|
49
|
+
# @return [Peddler::XMLParser]
|
50
|
+
def list_recommendations_by_next_token(next_token)
|
51
|
+
operation('ListRecommendationsByNextToken')
|
52
|
+
.add('NextToken' => next_token)
|
53
|
+
|
54
|
+
run
|
55
|
+
end
|
56
|
+
|
57
|
+
# Gets the service status of the API
|
58
|
+
#
|
59
|
+
# @see http://docs.developer.amazonservices.com/en_US/recommendations/Recommendations_GetServiceStatus.html
|
60
|
+
# @return [Peddler::XMLParser]
|
61
|
+
def get_service_status
|
62
|
+
operation('GetServiceStatus')
|
63
|
+
run
|
64
|
+
end
|
12
65
|
end
|
13
66
|
end
|
data/lib/mws/reports.rb
CHANGED
@@ -12,7 +12,7 @@ module MWS
|
|
12
12
|
# @option opts [String, #iso8601] :end_date
|
13
13
|
# @option opts [String] :report_options
|
14
14
|
# @option opts [Array<String>, String] :marketplace_id
|
15
|
-
# @return [Peddler::
|
15
|
+
# @return [Peddler::XMLParser]
|
16
16
|
def request_report(report_type, opts = {})
|
17
17
|
operation('RequestReport')
|
18
18
|
.add(opts.merge('ReportType' => report_type))
|
@@ -31,7 +31,7 @@ module MWS
|
|
31
31
|
# @option opts [Integer] :max_count
|
32
32
|
# @option opts [String, #iso8601] :requested_from_date
|
33
33
|
# @option opts [String, #iso8601] :requested_to_date
|
34
|
-
# @return [Peddler::
|
34
|
+
# @return [Peddler::XMLParser]
|
35
35
|
def get_report_request_list(opts = {})
|
36
36
|
operation('GetReportRequestList')
|
37
37
|
.add(opts)
|
@@ -46,8 +46,7 @@ module MWS
|
|
46
46
|
#
|
47
47
|
# @see http://docs.developer.amazonservices.com/en_US/reports/Reports_GetReportRequestListByNextToken.html
|
48
48
|
# @param next_token [String]
|
49
|
-
# @return [Peddler::
|
50
|
-
# @return false if there are no more pages
|
49
|
+
# @return [Peddler::XMLParser]
|
51
50
|
def get_report_request_list_by_next_token(next_token)
|
52
51
|
operation('GetReportRequestListByNextToken')
|
53
52
|
.add('NextToken' => next_token)
|
@@ -63,7 +62,7 @@ module MWS
|
|
63
62
|
# @option opts [Array<String>, String] :report_processing_status_list
|
64
63
|
# @option opts [String, #iso8601] :requested_from_date
|
65
64
|
# @option opts [String, #iso8601] :requested_to_date
|
66
|
-
# @return [Peddler::
|
65
|
+
# @return [Peddler::XMLParser]
|
67
66
|
def get_report_request_count(opts = {})
|
68
67
|
operation('GetReportRequestCount')
|
69
68
|
.add(opts)
|
@@ -81,7 +80,7 @@ module MWS
|
|
81
80
|
# @option opts [Array<String>, String] :report_processing_status_list
|
82
81
|
# @option opts [String, #iso8601] :requested_from_date
|
83
82
|
# @option opts [String, #iso8601] :requested_to_date
|
84
|
-
# @return [Peddler::
|
83
|
+
# @return [Peddler::XMLParser]
|
85
84
|
def cancel_report_requests(opts = {})
|
86
85
|
operation('CancelReportRequests')
|
87
86
|
.add(opts)
|
@@ -101,7 +100,7 @@ module MWS
|
|
101
100
|
# @option opts [String, #iso8601] :available_from_date
|
102
101
|
# @option opts [String, #iso8601] :available_to_date
|
103
102
|
# @option opts [Array<String>, String] :report_request_id_list
|
104
|
-
# @return [Peddler::
|
103
|
+
# @return [Peddler::XMLParser]
|
105
104
|
def get_report_list(opts = {})
|
106
105
|
operation('GetReportList')
|
107
106
|
.add(opts)
|
@@ -115,8 +114,7 @@ module MWS
|
|
115
114
|
#
|
116
115
|
# @see http://docs.developer.amazonservices.com/en_US/reports/Reports_GetReportListByNextToken.html
|
117
116
|
# @param next_token [String]
|
118
|
-
# @return [Peddler::
|
119
|
-
# @return false if there are no more pages
|
117
|
+
# @return [Peddler::XMLParser]
|
120
118
|
def get_report_list_by_next_token(next_token)
|
121
119
|
operation('GetReportListByNextToken')
|
122
120
|
.add('NextToken' => next_token)
|
@@ -132,7 +130,7 @@ module MWS
|
|
132
130
|
# @option opts [Boolean] :acknowledged
|
133
131
|
# @option opts [String, #iso8601] :available_from_date
|
134
132
|
# @option opts [String, #iso8601] :available_to_date
|
135
|
-
# @return [Peddler::
|
133
|
+
# @return [Peddler::XMLParser]
|
136
134
|
def get_report_count(opts = {})
|
137
135
|
operation('GetReportCount')
|
138
136
|
.add(opts)
|
@@ -145,7 +143,8 @@ module MWS
|
|
145
143
|
#
|
146
144
|
# @see http://docs.developer.amazonservices.com/en_US/reports/Reports_GetReport.html
|
147
145
|
# @param report_id [String]
|
148
|
-
# @return [Peddler::
|
146
|
+
# @return [Peddler::XMLParser] if report is in XML format
|
147
|
+
# @return [Peddler::CSVParser] if report is a flat file
|
149
148
|
def get_report(report_id, &blk)
|
150
149
|
operation('GetReport')
|
151
150
|
.add('ReportId' => report_id)
|
@@ -161,7 +160,7 @@ module MWS
|
|
161
160
|
# @param schedule [String]
|
162
161
|
# @param opts [Hash]
|
163
162
|
# @option opts [String, #iso8601] :schedule_date
|
164
|
-
# @return [Peddler::
|
163
|
+
# @return [Peddler::XMLParser]
|
165
164
|
def manage_report_schedule(report_type, schedule, opts = {})
|
166
165
|
operation('ManageReportSchedule')
|
167
166
|
.add(opts.merge('ReportType' => report_type, 'Schedule' => schedule))
|
@@ -173,7 +172,7 @@ module MWS
|
|
173
172
|
#
|
174
173
|
# @see http://docs.developer.amazonservices.com/en_US/reports/Reports_GetReportScheduleList.html
|
175
174
|
# @param report_type_list [*Array<String>]
|
176
|
-
# @return [Peddler::
|
175
|
+
# @return [Peddler::XMLParser]
|
177
176
|
def get_report_schedule_list(*report_type_list)
|
178
177
|
operation('GetReportScheduleList')
|
179
178
|
.add('ReportTypeList' => report_type_list)
|
@@ -187,7 +186,7 @@ module MWS
|
|
187
186
|
# @see http://docs.developer.amazonservices.com/en_US/reports/Reports_GetReportScheduleListByNextToken.html
|
188
187
|
# @param next_token [String]
|
189
188
|
# @raise [NotImplementedError]
|
190
|
-
def get_report_schedule_list_by_next_token(
|
189
|
+
def get_report_schedule_list_by_next_token(next_token)
|
191
190
|
raise NotImplementedError
|
192
191
|
end
|
193
192
|
|
@@ -195,7 +194,7 @@ module MWS
|
|
195
194
|
#
|
196
195
|
# @see http://docs.developer.amazonservices.com/en_US/reports/Reports_GetReportScheduleCount.html
|
197
196
|
# @param report_type_list [Array<String>]
|
198
|
-
# @return [Peddler::
|
197
|
+
# @return [Peddler::XMLParser]
|
199
198
|
def get_report_schedule_count(*report_type_list)
|
200
199
|
operation('GetReportScheduleCount')
|
201
200
|
.add('ReportTypeList' => report_type_list)
|
@@ -209,7 +208,7 @@ module MWS
|
|
209
208
|
# @see http://docs.developer.amazonservices.com/en_US/reports/Reports_UpdateReportAcknowledgements.html
|
210
209
|
# @param acknowledged [Boolean]
|
211
210
|
# @param report_id_list [Array<String>]
|
212
|
-
# @return [Peddler::
|
211
|
+
# @return [Peddler::XMLParser]
|
213
212
|
def update_report_acknowledgements(acknowledged, *report_id_list)
|
214
213
|
operation('UpdateReportAcknowledgement')
|
215
214
|
.add('ReportIdList' => report_id_list, 'Acknowledged' => acknowledged)
|
data/lib/mws/sellers.rb
CHANGED
@@ -10,7 +10,7 @@ module MWS
|
|
10
10
|
#
|
11
11
|
# @see http://docs.developer.amazonservices.com/en_US/sellers/Sellers_ListMarketplaceParticipations.html
|
12
12
|
# @param next_token [String]
|
13
|
-
# @return [Peddler::
|
13
|
+
# @return [Peddler::XMLParser]
|
14
14
|
def list_marketplace_participations
|
15
15
|
operation('ListMarketplaceParticipations')
|
16
16
|
run
|
@@ -20,7 +20,7 @@ module MWS
|
|
20
20
|
#
|
21
21
|
# @see http://docs.developer.amazonservices.com/en_US/sellers/Sellers_ListMarketplaceParticipationsByNextToken.html
|
22
22
|
# @param next_token [String]
|
23
|
-
# @return [Peddler::
|
23
|
+
# @return [Peddler::XMLParser]
|
24
24
|
def list_marketplace_participations_by_next_token(next_token)
|
25
25
|
operation('ListMarketplaceParticipationsByNextToken')
|
26
26
|
.add('NextToken' => next_token)
|
@@ -31,7 +31,7 @@ module MWS
|
|
31
31
|
# Gets the service status of the API
|
32
32
|
#
|
33
33
|
# @see http://docs.developer.amazonservices.com/en_US/sellers/MWS_GetServiceStatus.html
|
34
|
-
# @return [Peddler::
|
34
|
+
# @return [Peddler::XMLParser]
|
35
35
|
def get_service_status
|
36
36
|
operation('GetServiceStatus')
|
37
37
|
run
|
data/lib/mws/subscriptions.rb
CHANGED
@@ -13,11 +13,9 @@ module MWS
|
|
13
13
|
# Registers a new destination to receive notifications
|
14
14
|
#
|
15
15
|
# @see http://docs.developer.amazonservices.com/en_US/subscriptions/Subscriptions_RegisterDestination.html
|
16
|
-
# @
|
17
|
-
# @
|
18
|
-
#
|
19
|
-
# @param marketplace_id [String]
|
20
|
-
# @return [Peddler::Parser]
|
16
|
+
# @param sqs_queue_url [String]
|
17
|
+
# @param marketplace_id [String]
|
18
|
+
# @return [Peddler::XMLParser]
|
21
19
|
def register_destination(sqs_queue_url, marketplace_id = marketplace_id)
|
22
20
|
operation('RegisterDestination')
|
23
21
|
.add('MarketplaceId' => marketplace_id)
|
@@ -29,11 +27,9 @@ module MWS
|
|
29
27
|
# Removes an existing destination from the list of registered destinations
|
30
28
|
#
|
31
29
|
# @see http://docs.developer.amazonservices.com/en_US/subscriptions/Subscriptions_DeregisterDestination.html
|
32
|
-
# @
|
33
|
-
# @
|
34
|
-
#
|
35
|
-
# @param marketplace_id [String]
|
36
|
-
# @return [Peddler::Parser]
|
30
|
+
# @param sqs_queue_url [String]
|
31
|
+
# @param marketplace_id [String]
|
32
|
+
# @return [Peddler::XMLParser]
|
37
33
|
def deregister_destination(sqs_queue_url, marketplace_id = marketplace_id)
|
38
34
|
operation('DeregisterDestination')
|
39
35
|
.add('MarketplaceId' => marketplace_id)
|
@@ -46,7 +42,7 @@ module MWS
|
|
46
42
|
#
|
47
43
|
# @see http://docs.developer.amazonservices.com/en_US/subscriptions/Subscriptions_ListRegisteredDestinations.html
|
48
44
|
# @param marketplace_id [String]
|
49
|
-
# @return [Peddler::
|
45
|
+
# @return [Peddler::XMLParser]
|
50
46
|
def list_registered_destinations( marketplace_id = marketplace_id)
|
51
47
|
operation('ListRegisteredDestinations')
|
52
48
|
.add('MarketplaceId' => marketplace_id)
|
@@ -57,11 +53,9 @@ module MWS
|
|
57
53
|
# Sends a test notification to an existing destination
|
58
54
|
#
|
59
55
|
# @see http://docs.developer.amazonservices.com/en_US/subscriptions/Subscriptions_SendTestNotificationToDestination.html
|
60
|
-
# @
|
61
|
-
# @
|
62
|
-
#
|
63
|
-
# @param marketplace_id [String]
|
64
|
-
# @return [Peddler::Parser]
|
56
|
+
# @param sqs_queue_url [String]
|
57
|
+
# @param marketplace_id [String]
|
58
|
+
# @return [Peddler::XMLParser]
|
65
59
|
def send_test_notification_to_destination(sqs_queue_url, marketplace_id = marketplace_id)
|
66
60
|
operation('SendTestNotificationToDestination')
|
67
61
|
.add('MarketplaceId' => marketplace_id)
|
@@ -76,7 +70,7 @@ module MWS
|
|
76
70
|
# @param notification_type [String]
|
77
71
|
# @param sqs_queue_url [String]
|
78
72
|
# @param marketplace_id [String]
|
79
|
-
# @return [Peddler::
|
73
|
+
# @return [Peddler::XMLParser]
|
80
74
|
def create_subscription(notification_type, sqs_queue_url, marketplace_id = marketplace_id)
|
81
75
|
operation('CreateSubscription')
|
82
76
|
.add('MarketplaceId' => marketplace_id)
|
@@ -91,7 +85,7 @@ module MWS
|
|
91
85
|
# @param notification_type [String]
|
92
86
|
# @param sqs_queue_url [String]
|
93
87
|
# @param marketplace_id [String]
|
94
|
-
# @return [Peddler::
|
88
|
+
# @return [Peddler::XMLParser]
|
95
89
|
def get_subscription(notification_type, sqs_queue_url, marketplace_id = marketplace_id)
|
96
90
|
operation('GetSubscription')
|
97
91
|
.add('MarketplaceId' => marketplace_id, 'NotificationType' => notification_type)
|
@@ -106,7 +100,7 @@ module MWS
|
|
106
100
|
# @param notification_type [String]
|
107
101
|
# @param sqs_queue_url [String]
|
108
102
|
# @param marketplace_id [String]
|
109
|
-
# @return [Peddler::
|
103
|
+
# @return [Peddler::XMLParser]
|
110
104
|
def delete_subscription(notification_type, sqs_queue_url, marketplace_id = marketplace_id)
|
111
105
|
operation('DeleteSubscription')
|
112
106
|
.add('MarketplaceId' => marketplace_id, 'NotificationType' => notification_type)
|
@@ -119,7 +113,7 @@ module MWS
|
|
119
113
|
#
|
120
114
|
# @see http://docs.developer.amazonservices.com/en_US/subscriptions/Subscriptions_ListSubscriptions.html
|
121
115
|
# @param marketplace_id [String]
|
122
|
-
# @return [Peddler::
|
116
|
+
# @return [Peddler::XMLParser]
|
123
117
|
def list_subscriptions(marketplace_id = marketplace_id)
|
124
118
|
operation('ListSubscriptions')
|
125
119
|
.add('MarketplaceId' => marketplace_id)
|
@@ -134,7 +128,7 @@ module MWS
|
|
134
128
|
# @param sqs_queue_url [String]
|
135
129
|
# @param enabled [Boolean]
|
136
130
|
# @param marketplace_id [String]
|
137
|
-
# @return [Peddler::
|
131
|
+
# @return [Peddler::XMLParser]
|
138
132
|
def update_subscription(notification_type, sqs_queue_url, enabled, marketplace_id = marketplace_id)
|
139
133
|
operation('CreateSubscription')
|
140
134
|
.add('MarketplaceId' => marketplace_id)
|
@@ -146,7 +140,7 @@ module MWS
|
|
146
140
|
# Gets the service status of the API
|
147
141
|
#
|
148
142
|
# @see http://docs.developer.amazonservices.com/en_US/subscriptions/Subscriptions_GetServiceStatus.html
|
149
|
-
# @return [Peddler::
|
143
|
+
# @return [Peddler::XMLParser]
|
150
144
|
def get_service_status
|
151
145
|
operation('GetServiceStatus')
|
152
146
|
run
|
data/lib/peddler/version.rb
CHANGED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'integration_helper'
|
2
|
+
require 'mws/recommendations'
|
3
|
+
|
4
|
+
class RecommendationsTest < IntegrationTest
|
5
|
+
def test_gets_last_updated_time_for_recommendations
|
6
|
+
clients.each do |client|
|
7
|
+
res = client.get_last_updated_time_for_recommendations
|
8
|
+
refute_empty res.parse
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
def test_lists_recommendations
|
13
|
+
clients.each do |client|
|
14
|
+
res = client.list_recommendations
|
15
|
+
refute_empty res.parse
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_gets_service_status
|
20
|
+
clients.each do |client|
|
21
|
+
res = client.get_service_status
|
22
|
+
refute_empty res.parse
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -15,4 +15,11 @@ class StructuredListTest < MiniTest::Test
|
|
15
15
|
exp = { 'OrderStatus.Status.1' => 'foo', 'OrderStatus.Status.2' => 'bar' }
|
16
16
|
assert_equal exp, @list.build(%w(foo bar))
|
17
17
|
end
|
18
|
+
|
19
|
+
def test_handles_more_than_two_keys
|
20
|
+
list = Peddler::StructuredList.new('QueryList', 'Query', '1', 'FilterOptions', 'FilterOption')
|
21
|
+
exp = { 'QueryList.Query.1.FilterOptions.FilterOption.1' => 'foo' }
|
22
|
+
|
23
|
+
assert_equal exp, list.build('foo')
|
24
|
+
end
|
18
25
|
end
|