class Ebay::Merchandising

Retrieves information about products or item listings on eBay to help you sell more merchandise to eBay buyers

@see developer.ebay.com/Devzone/merchandising/docs/Concepts/MerchandisingAPI_FormatOverview.html @see developer.ebay.com/Devzone/merchandising/docs/CallRef/index.html

Attributes

consumer_id[R]

@return [String]

global_id[R]

@return [String]

response_data_format[R]

@return [String]

service_version[R]

@return [String]

Public Class Methods

new(consumer_id: Config.app_id, global_id: nil, response_data_format: nil, service_version: nil) click to toggle source

Returns a Finding API request instance

@param [String] consumer_id @param [String] global_id @param [String] response_data_format @param [String] service_version

# File lib/ebay/merchandising.rb, line 41
def initialize(consumer_id: Config.app_id, global_id: nil,
               response_data_format: nil, service_version: nil)
  @consumer_id = consumer_id
  @global_id = global_id
  @response_data_format = response_data_format
  @service_version = service_version
end

Public Instance Methods

get_most_watched_items(payload = {}) click to toggle source

Retrieves data for items with the highest watch count

@param [Hash] payload @return [HTTP::Response]

# File lib/ebay/merchandising.rb, line 53
def get_most_watched_items(payload = {})
  request('getMostWatchedItems', payload)
end
get_similar_items(item_id, payload = {}) click to toggle source

Retrieves items that are similar to the specified item

@param [String] item_id @param [Hash] payload @return [HTTP::Response]

# File lib/ebay/merchandising.rb, line 71
def get_similar_items(item_id, payload = {})
  payload = payload.merge('itemId' => item_id)
  request('getSimilarItems', payload)
end
get_version() click to toggle source

Returns the current service version

@return [HTTP::Response]

# File lib/ebay/merchandising.rb, line 79
def get_version
  request('getVersion')
end

Private Instance Methods

request(operation, payload = {}) click to toggle source
# File lib/ebay/merchandising.rb, line 85
def request(operation, payload = {})
  params = { 'CONSUMER-ID' => consumer_id,
             'GLOBAL-ID' => global_id,
             'OPERATION-NAME' => operation,
             'REQUEST-DATA-FORMAT' => 'JSON',
             'RESPONSE-DATA-FORMAT' => response_data_format,
             'SERVICE-VERSION' => service_version }.compact

  http.headers(headers).post(endpoint, params: params, body: JSON.dump(payload))
end