Class: Peddler::API::ProductPricingV0

Inherits:
Peddler::API show all
Defined in:
lib/peddler/api/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

Instance Method Summary collapse

Methods inherited from Peddler::API

#cannot_sandbox!, #endpoint_uri, #http, #initialize, #meter, #must_sandbox!, #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) ⇒ Hash

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:

  • (Hash)

    The API response



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

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) ⇒ Hash

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:

  • (Hash)

    The API response



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

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) ⇒ Hash

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:

  • (Hash)

    The API response



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

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) ⇒ Hash

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:

  • (Hash)

    The API response



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

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) ⇒ Hash

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:

  • (Hash)

    The API response



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

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) ⇒ Hash

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:

  • (Hash)

    The API response



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

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