amzn / selling-partner-api-models

This repository contains OpenAPI models for developers to use when developing software to call Selling Partner APIs.
Apache License 2.0
612 stars 739 forks source link

[BUG] [SP-API] [Issue] /catalog/v0/items/ ListPrice is incorrect #2746

Closed hellfire989 closed 11 months ago

hellfire989 commented 11 months ago

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report  
[ ] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:

I've tried using both /catalog/v0/items/ and /catalog/2022-04-01/items/ getCatalogItem request to get the list price of an amazon item, and both return either the incorrect price, or none at all.

This issue specifically focuses and has examples for /catalog/v0/items/

SP-API Name and Version or Report/Feed Type

/catalog/v0/items/

Expected Behavior

I should receive an API request with a correct ListPrice attribute.

I am receiving an incorrect ListPrice.

Current Behavior

The list price I receive from the API request is not the correct displayed ListPrice on Amazon.

There are no direct Errors other than an incorrect ListPrice.

The specific marketplace I'm using is ID: ATVPDKIKX0DER (USA)

If this could be changed to receive the correct ListPrice as displayed on amazon.com, that would be awesome!

Context/Screenshots

API Code:

@sp_endpoint('/catalog/v0/items/{}')
def get_item(self, asin: str, **kwargs) -> ApiResponse:
    return self._request(fill_query_params(kwargs.pop('path'), asin), params=kwargs)

Example code:

asin = 'B0157FD02C'
data = Catalog(credentials=CLIENT_CONFIG).get_item(asin,MarketplaceId='ATVPDKIKX0DER')

Resulting API Response:

{'errors': None,
 'headers': {'Server': 'Server', 'Date': 'Sat, 25 Nov 2023 06:26:16 GMT', 'Content-Type': 'application/json', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'x-amz-rid': '26RQ88782MHRMWTN96MZ', 'x-amzn-RateLimit-Limit': '2.0', 'x-amzn-RequestId': 'ecda6228-67ca-49b4-9f2b-f80ff42c5cb6', 'x-amz-apigw-id': 'OPFecda622867ca', 'X-Amzn-Trace-Id': 'Root=1-65619388-ecda622867ca49b4', 'Content-Encoding': 'gzip', 'Vary': 'accept-encoding,Content-Type,Accept-Encoding,User-Agent', 'Strict-Transport-Security': 'max-age=47474747; includeSubDomains; preload'},
 'kwargs': {},
 'next_token': None,
 'pagination': None,
 'payload': {'AttributeSets': [{'Binding': 'Kitchen',
                                'Brand': 'Amazon Basics',
                                'Color': 'White',
                                'IsAdultProduct': False,
                                'ItemDimensions': {'Height': {'Units': 'inches',
                                                              'value': 12.2},
                                                   'Length': {'Units': 'inches',
                                                              'value': 13.4},
                                                   'Weight': {'Units': 'pounds',
                                                              'value': 14},
                                                   'Width': {'Units': 'inches',
                                                             'value': 12.2}},
                                'Label': 'Amazon',
                                'ListPrice': {'Amount': 37.99,
                                              'CurrencyCode': 'USD'},
                                'Manufacturer': 'Amazon',
                                'MaterialType': ['Porcelain'],
                                'Model': 'CX01BG(22)D',
                                'NumberOfItems': 16,
                                'PackageDimensions': {'Height': {'Units': 'inches',
                                                                 'value': 12.099999987658},
                                                      'Length': {'Units': 'inches',
                                                                 'value': 13.0708661284},
                                                      'Weight': {'Units': 'pounds',
                                                                 'value': 18.33694864185},
                                                      'Width': {'Units': 'inches',
                                                                'value': 12.37354723147347}},
                                'PackageQuantity': 1,
                                'PartNumber': 'CX01BG(22)D',
                                'ProductGroup': 'Kitchen',
                                'ProductTypeName': 'DISHWARE_PLACE_SETTING',
                                'Publisher': 'Amazon',
                                'Size': '16-Piece',
                                'SmallImage': {'Height': {'Units': 'pixels',
                                                          'value': 33},
                                               'URL': 'https://m.media-amazon.com/images/I/31nC3gmz2pL._SL75_.jpg',
                                               'Width': {'Units': 'pixels',
                                                         'value': 75}},
                                'Studio': 'Amazon',
                                'Title': 'Amazon Basics 16-Piece Porcelain '
                                         'Kitchen Dinnerware Set with Plates, '
                                         'Bowls and Mugs, Service for 4 - '
                                         'White'}],
             'Identifiers': {'MarketplaceASIN': {'ASIN': 'B0157FD02C',
                                                 'MarketplaceId': 'ATVPDKIKX0DER'}},
             'Relationships': [],
             'SalesRankings': [{'ProductCategoryId': 'kitchen_display_on_website',
                                'Rank': 14714},
                               {'ProductCategoryId': '367146011', 'Rank': 80}]},
 'rate_limit': '2.0'}

image

Your Environment

Python version: Python 3.11.1

leonardonakagawa commented 11 months ago

Hi @hellfire989,

The List Price is the suggested retail price of a product as provided by a manufacturer, supplier, or seller. This is not the offering or cost price.

In order to see the offers prices, you can rely on getItemOffers operation.

You can find details regarding this in our Tutorial: Retrieve pricing information for seller's offer listings. If the information available in the documentation link provided above does not fully resolve your inquiry, please open a support case with us.

Thanks, Leonardo Nakagawa Solutions Architect, Selling Partner API Developer Support