Class: Peddler::APIs::ProductPricingV0

Inherits:
Peddler::API show all
Defined in:
lib/peddler/apis/product_pricing_v0.rb

Overview

Selling Partner API for Pricing

The Selling Partner API for Pricing helps you programmatically retrieve product pricing and offer information for Amazon Marketplace products.

Instance Attribute Summary

Attributes inherited from Peddler::API

#access_token, #endpoint, #parser

Instance Method Summary collapse

Methods inherited from Peddler::API

#endpoint_uri, #http, #initialize, #meter, #retriable, #sandbox, #sandbox?, #use, #via

Constructor Details

This class inherits a constructor from Peddler::API

Instance Method Details

#get_competitive_pricing(marketplace_id, item_type, asins: nil, skus: nil, customer_type: nil, rate_limit: 0.5) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Returns competitive pricing information for a seller's offer listings based on seller SKU or ASIN. Note: The parameters associated with this operation may contain special characters that require URL encoding to call the API. To avoid errors with SKUs when encoding URLs, refer to URL Encoding.

Parameters:

  • marketplace_id (String)

    A marketplace identifier. Specifies the marketplace for which prices are returned.

  • asins (Array<String>) (defaults to: nil)

    A list of up to twenty Amazon Standard Identification Number (ASIN) values used to identify items in the given marketplace.

  • skus (Array<String>) (defaults to: nil)

    A list of up to twenty seller SKU values used to identify items in the given marketplace.

  • item_type (String)

    Indicates whether ASIN values or seller SKU values are used to identify items. If you specify Asin, the information in the response will be dependent on the list of Asins you provide in the Asins parameter. If you specify Sku, the information in the response will be dependent on the list of Skus you provide in the Skus parameter. Possible values: Asin, Sku.

  • customer_type (String) (defaults to: nil)

    Indicates whether to request pricing information from the point of view of Consumer or Business buyers. Default is Consumer.

  • rate_limit (Float) (defaults to: 0.5)

    Requests per second

Returns:



75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/peddler/apis/product_pricing_v0.rb', line 75

def get_competitive_pricing(marketplace_id, item_type, asins: nil, skus: nil, customer_type: nil, rate_limit: 0.5)
  path = "/products/pricing/v0/competitivePrice"
  params = {
    "MarketplaceId" => marketplace_id,
    "Asins" => asins,
    "Skus" => skus,
    "ItemType" => item_type,
    "CustomerType" => customer_type,
  }.compact

  meter(rate_limit).get(path, params:)
end

#get_item_offers(marketplace_id, item_condition, asin, customer_type: nil, rate_limit: 0.5) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Returns the lowest priced offers for a single item based on ASIN.

Parameters:

  • marketplace_id (String)

    A marketplace identifier. Specifies the marketplace for which prices are returned.

  • item_condition (String)

    Filters the offer listings to be considered based on item condition. Possible values: New, Used, Collectible, Refurbished, Club.

  • asin (String)

    The Amazon Standard Identification Number (ASIN) of the item.

  • customer_type (String) (defaults to: nil)

    Indicates whether to request Consumer or Business offers. Default is Consumer.

  • rate_limit (Float) (defaults to: 0.5)

    Requests per second

Returns:



124
125
126
127
128
129
130
131
132
133
# File 'lib/peddler/apis/product_pricing_v0.rb', line 124

def get_item_offers(marketplace_id, item_condition, asin, customer_type: nil, rate_limit: 0.5)
  path = "/products/pricing/v0/items/#{asin}/offers"
  params = {
    "MarketplaceId" => marketplace_id,
    "ItemCondition" => item_condition,
    "CustomerType" => customer_type,
  }.compact

  meter(rate_limit).get(path, params:)
end

#get_item_offers_batch(get_item_offers_batch_request_body, rate_limit: 0.1) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Returns the lowest priced offers for a batch of items based on ASIN.

Parameters:

  • get_item_offers_batch_request_body (Hash)
  • rate_limit (Float) (defaults to: 0.1)

    Requests per second

Returns:



141
142
143
144
145
146
# File 'lib/peddler/apis/product_pricing_v0.rb', line 141

def get_item_offers_batch(get_item_offers_batch_request_body, rate_limit: 0.1)
  path = "/batches/products/pricing/v0/itemOffers"
  body = get_item_offers_batch_request_body

  meter(rate_limit).post(path, body:)
end

#get_listing_offers(marketplace_id, item_condition, seller_sku, customer_type: nil, rate_limit: 1.0) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Returns the lowest priced offers for a single SKU listing. Note: The parameters associated with this operation may contain special characters that require URL encoding to call the API. To avoid errors with SKUs when encoding URLs, refer to URL Encoding.

Parameters:

  • marketplace_id (String)

    A marketplace identifier. Specifies the marketplace for which prices are returned.

  • item_condition (String)

    Filters the offer listings based on item condition. Possible values: New, Used, Collectible, Refurbished, Club.

  • seller_sku (String)

    Identifies an item in the given marketplace. SellerSKU is qualified by the seller's SellerId, which is included with every operation that you submit.

  • customer_type (String) (defaults to: nil)

    Indicates whether to request Consumer or Business offers. Default is Consumer.

  • rate_limit (Float) (defaults to: 1.0)

    Requests per second

Returns:



102
103
104
105
106
107
108
109
110
111
# File 'lib/peddler/apis/product_pricing_v0.rb', line 102

def get_listing_offers(marketplace_id, item_condition, seller_sku, customer_type: nil, rate_limit: 1.0)
  path = "/products/pricing/v0/listings/#{seller_sku}/offers"
  params = {
    "MarketplaceId" => marketplace_id,
    "ItemCondition" => item_condition,
    "CustomerType" => customer_type,
  }.compact

  meter(rate_limit).get(path, params:)
end

#get_listing_offers_batch(get_listing_offers_batch_request_body, rate_limit: 0.5) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Returns the lowest priced offers for a batch of listings by SKU.

Parameters:

  • get_listing_offers_batch_request_body (Hash)
  • rate_limit (Float) (defaults to: 0.5)

    Requests per second

Returns:



154
155
156
157
158
159
# File 'lib/peddler/apis/product_pricing_v0.rb', line 154

def get_listing_offers_batch(get_listing_offers_batch_request_body, rate_limit: 0.5)
  path = "/batches/products/pricing/v0/listingOffers"
  body = get_listing_offers_batch_request_body

  meter(rate_limit).post(path, body:)
end

#get_pricing(marketplace_id, item_type, asins: nil, skus: nil, item_condition: nil, offer_type: nil, rate_limit: 0.5) ⇒ Peddler::Response

Note:

This operation can make a static sandbox call.

Returns pricing information for a seller's offer listings based on seller SKU or ASIN. Note: The parameters associated with this operation may contain special characters that require URL encoding to call the API. To avoid errors with SKUs when encoding URLs, refer to URL Encoding.

Parameters:

  • marketplace_id (String)

    A marketplace identifier. Specifies the marketplace for which prices are returned.

  • asins (Array<String>) (defaults to: nil)

    A list of up to twenty Amazon Standard Identification Number (ASIN) values used to identify items in the given marketplace.

  • skus (Array<String>) (defaults to: nil)

    A list of up to twenty seller SKU values used to identify items in the given marketplace.

  • item_type (String)

    Indicates whether ASIN values or seller SKU values are used to identify items. If you specify Asin, the information in the response will be dependent on the list of Asins you provide in the Asins parameter. If you specify Sku, the information in the response will be dependent on the list of Skus you provide in the Skus parameter.

  • item_condition (String) (defaults to: nil)

    Filters the offer listings based on item condition. Possible values: New, Used, Collectible, Refurbished, Club.

  • offer_type (String) (defaults to: nil)

    Indicates whether to request pricing information for the seller's B2C or B2B offers. Default is B2C.

  • rate_limit (Float) (defaults to: 0.5)

    Requests per second

Returns:



40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/peddler/apis/product_pricing_v0.rb', line 40

def get_pricing(marketplace_id, item_type, asins: nil, skus: nil, item_condition: nil, offer_type: nil,
  rate_limit: 0.5)
  path = "/products/pricing/v0/price"
  params = {
    "MarketplaceId" => marketplace_id,
    "Asins" => asins,
    "Skus" => skus,
    "ItemType" => item_type,
    "ItemCondition" => item_condition,
    "OfferType" => offer_type,
  }.compact

  meter(rate_limit).get(path, params:)
end