Class: MWS::Feeds::Client

Inherits:
Peddler::Client show all
Defined in:
lib/mws/feeds/client.rb

Overview

The MWS Feeds API lets you upload inventory and order data to Amazon. You can also use this API to get information about the processing of feeds.

Instance Attribute Summary

Attributes inherited from Peddler::Client

#auth_token, #body, #merchant_id, #path, #primary_marketplace_id, #version

Instance Method Summary collapse

Methods inherited from Peddler::Client

#aws_endpoint, #defaults, #error_handler, #headers, #initialize, #marketplace, #marketplace_id, #marketplace_id=, on_error, #on_error, #operation, path, #run, version

Constructor Details

This class inherits a constructor from Peddler::Client

Instance Method Details

#cancel_feed_submissions(opts = {}) ⇒ Peddler::XMLParser

Cancel one or more feed submissions

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :feed_submission_id_list (Array<String>, String)
  • :feed_type_list (Array<String>, String)
  • :submitted_from_date (String, #iso8601)
  • :submitted_to_date (String, #iso8601)

Returns:

See Also:



93
94
95
96
97
98
# File 'lib/mws/feeds/client.rb', line 93

def cancel_feed_submissions(opts = {})
  operation('CancelFeedSubmissions')
    .add(opts)

  run
end

#get_feed_submission_count(opts = {}) ⇒ Peddler::XMLParser

Counts submitted feeds

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :feed_type_list (Array<String>, String)
  • :feed_processing_status_list (Array<String>, String)
  • :submitted_from_date (String, #iso8601)
  • :submitted_to_date (String, #iso8601)

Returns:

See Also:



74
75
76
77
78
79
80
81
# File 'lib/mws/feeds/client.rb', line 74

def get_feed_submission_count(opts = {})
  operation('GetFeedSubmissionCount')
    .add(opts)
    .structure!('FeedTypeList', 'Type')
    .structure!('FeedProcessingStatusList', 'Status')

  run
end

#get_feed_submission_list(opts = {}) ⇒ Peddler::XMLParser

List feed submissions

Parameters:

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :feed_submission_id_list (Array<String>, String)
  • :max_count (Integer)
  • :feed_type_list (Array<String>, String)
  • :feed_processing_status_list (Array<String>, String)
  • :submitted_from_date (String, #iso8601)
  • :submitted_to_date (String, #iso8601)

Returns:

See Also:



42
43
44
45
46
47
48
49
50
# File 'lib/mws/feeds/client.rb', line 42

def get_feed_submission_list(opts = {})
  operation('GetFeedSubmissionList')
    .add(opts)
    .structure!('FeedSubmissionIdList', 'Id')
    .structure!('FeedTypeList', 'Type')
    .structure!('FeedProcessingStatusList', 'Status')

  run
end

#get_feed_submission_list_by_next_token(next_token) ⇒ Peddler::XMLParser

List the next page of feed submissions



57
58
59
60
61
62
# File 'lib/mws/feeds/client.rb', line 57

def get_feed_submission_list_by_next_token(next_token)
  operation('GetFeedSubmissionListByNextToken')
    .add('NextToken' => next_token)

  run
end

#get_feed_submission_result(feed_submission_id) ⇒ Peddler::XMLParser, Peddler::CSVParser

Gets the processing report for a feed and its Content-MD5 header

Parameters:

  • feed_submission_id (Integer, String)

Returns:

  • (Peddler::XMLParser)

    if the report is in XML format

  • (Peddler::CSVParser)

    if the report is a flat file

See Also:



106
107
108
109
110
111
# File 'lib/mws/feeds/client.rb', line 106

def get_feed_submission_result(feed_submission_id)
  operation('GetFeedSubmissionResult')
    .add('FeedSubmissionId' => feed_submission_id)

  run
end

#submit_feed(feed_content, feed_type, opts = {}) ⇒ Peddler::XMLParser

Note:

Feed size is limited to 2,147,483,647 bytes (2^31 -1) per feed

Uploads a feed

Parameters:

  • feed_content (String)

    an XML or flat file feed

  • feed_type (String)

    the feed type

  • opts (Hash) (defaults to: {})

Options Hash (opts):

  • :marketplace_id_list (Array<String>, String)
  • :purge_and_replace (Boolean)

Returns:

See Also:



21
22
23
24
25
26
27
28
# File 'lib/mws/feeds/client.rb', line 21

def submit_feed(feed_content, feed_type, opts = {})
  self.body = feed_content
  operation('SubmitFeed')
    .add(opts.update('FeedType' => feed_type))
    .structure!('MarketplaceIdList', 'Id')

  run
end