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
580 stars 730 forks source link

searchCatalogItems sorting? #1425

Closed amz-tools closed 1 year ago

amz-tools commented 3 years ago

We noticed the new endpoint searchCatologItems is returning ASINs for a specific keyword or set of keywords. And in contrast to listCatalogItems it is possible to retrieve up to 1000 ASINs instead of only 10.

We are wondering though about the sorting. The listCatalogItems endpoint is returning the ASINs by popularity quite similar as doing a manual search on Amazon. The searchCatalogItems is in a different order. Is there any logic behind the sorting? Or is it possible/planned to include an option that would i.e. enable to sort the ASINs returned by the searchCatalogItems quite similar to the sorting of the listCatalogItems? This would really improve the use of this new endpoint!

chapmanjw commented 3 years ago

Hi @amz-tools. The new Catalog Search API sorts results based on popularity/relevancy. If we were to add the ability to ask for different sorting on the request, what would be most useful to add (such as sorting on item name, or some other facet)?

amz-tools commented 3 years ago

Hi @chapmanjw, thanks for your reply. What we would really appreciate is a sorting that returns the items in a comparable sorting to the default sorting on the website when searching for a keyword or a set of keywords.

Right now this is already the case with the listCatalogItems operation. It essentially returns the Top 10 items for a specific query quite comparable to a manual search on the website with the same query. However, it is not possible to retrieve more than 10 items with the listCatalogItems operation (in contrast to the searchCatalogItems operation returning up to 1000 items).

In fact we would be very happy if you could enhance the API by one of these two possibilities:

chapmanjw commented 3 years ago

Hi @amz-tools, the V0 (ListCatalogItems) operations is on a deprecation path. See https://github.com/amzn/selling-partner-api-docs/discussions/1041.

The new SearchCatalogItems API is focused on "sellable" products as opposed to "buyable" products (where search relevancy is based on seller popularity instead of buyer popularity). While we would not be able to replicate the search behavior of the retail websites exactly, we could look at options to sort on dimensions like sales ranks.

To discuss your use-case in more detail, can you create a support request and reference this Github issue (so we can connect you with our product manager without sharing private details on Github)? https://sellercentral.amazon.com/gp/mws/contactus.html

amz-tools commented 3 years ago

@chapmanjw Thanks for the info about the deprecation of listCatalogItems. This is quite an issue, I guess not just for us but for many developers. This will remove the opportunity of retrieving the top products of a search (top products in the sense of buyer popularity, as you call it).

What I am wondering though: You say its not possible to replicate the search behavior exactly, but for the soon to be deprecated listCatalogItems you are already doing just that. Sorry to say so, but that sounds strange to me. Is it possible that Amazon maybe doesn't want to return products based on buyer popularity in future API releases in order to prevent developers from having an easy way of retrieving a "real" search result via the API?

chapmanjw commented 3 years ago

@amz-tools The issue with focusing on mimicking the "retail website" search functionality is that it is entirely focused on the buyer experience and does not cover seller use-cases. For example, today, you cannot get ASINs in the listCatalogItems operation if they do not have any buyable offers or have other factors preventing them from being included in search results on the retail website. The prevailing feedback we have received from developers is that such ASINs can be found only when searching on Seller Central, but not in the APIs. The expectation from developers based on the feedback we have received so far is that the API search results should be comparable to the search results on Seller Central when listing products. The goal of these APIs is to provide similar or identical functionality to what sellers see on Seller Central, not the buyer-facing experiences.

Our primary concern with the new API was ensuring we cover all "sellable" ASINs to enable discovery for selling items, even if they would have been omitted from retail website search results. We don't have a mechanism to accomplish both mirroring retail website search results behavior while also ensuring all sellable ASINs are provided. While we could consider adding more sorting options as a future iteration of this API, "sellable" ASINs will always be the focus of this API as those are most broadly applicable to the use-cases supported by Selling Partner APIs.

I've captured an action item for my team to investigate what additional sorting options we can provide within the scope of "sellable" ASINs. It may be possible to achieve similar ranking, albeit with all matching "sellable" ASINs as opposed to only "buyable" ASINs.

Please submit a support case (if you haven't already) so that we can follow up on this directly with you. Thanks!

ellis commented 3 years ago

@chapmanjw I want to echo the concern of @amz-tool

The loss of listCatalogItems would be a major loss for our agency. We use it to keep track of our clients' top ranking products and their top competitors, which the new searchCatalogItems method doesn't support. Even sorting by BSR would not be helpful, because we need to stay on top of organic ranking per keyword.

ellis commented 3 years ago

I submitted Support Case 7344929922, and received a frustrating response that doesn't seem to acknowledge the significance of the use case:

listCatalogItems ranks results based on buyability and is generally similar to the search results you'd see on Amazon.com.

searchCatalogItems is intended to be seller oriented and presents ASINs in the same order as you would see them on the Seller Central product search page. These results can include ASINs that might be very relevant to seller's but not at all relevant to a buyer.

If you are interested in results ranked the same way as they are on Amazon.com, you could explore calling the Product Advertising API SearchItems: https://webservices.amazon.com/paapi5/documentation/search-items.html

Please note the issue related to Product Advertising API is handled by Amazon Associates Support team, so if you have any question regarding to the Product Advertising API, please refer to: https://webservices.amazon.com/paapi5/documentation/contact-us.html

Here's the two-part problem:

1. We're asking/begging for listCatalogItems NOT to be retired because it covers a very important use case for us and our clients. Its replacement, searchCatalogItems, can't cover the same use case, and it sounds like there is no interest in making it cover the same use case.

2. Regarding the suggested alternative, unfortunately, on the registration page, we see that we don't qualify!:

Product Advertising API sign up is available only to associates who have referred qualified sales and have been accepted into the program.

Furthermore, that API is really impractical insofar as agencies would need to register separately in (every individual marketplace)[https://webservices.amazon.com/paapi5/documentation/troubleshooting/sign-up-as-an-associate.html].

If you want to be an Amazon Associate in more than one locale, you must register separately for each locale.

@chapmanjw The alternative solution appears to be impossible (or at least very fragile at best), so how about just not removing listCatalogItems??? It feels like the developers still don't see this as an important use case, have no plans to support it in the new endpoint, and have so far decided to disregard the negative impact that the removal will have. If the importance of our use case isn't clear, I'd be happy to arrange a video call with between your team and all us various tool developers who rely on the functionality you're currently planning on removing. What do you think?

callumb123 commented 2 years ago

I wanted to add to the above that for MANY requests using the exact same query string can result in searchCatalogItems returning zero matches whereas listCatalogItems returns 10 matches. In what case is this useful to developers? I don't see how this is reflecting sellable items better than listCatalogItems?

In its current state searchCatalogItems is almost useless for my current use case and will completely destroy my application if it fully replaces listCatalogItems.

chapmanjw commented 2 years ago

@ellis Updated information on the deprecation timelines for the older APIs has been published: https://github.com/amzn/selling-partner-api-docs/discussions/1781.

In our original deprecation announcement back in the summer, we indicated that we are taking all of the feedback received in 2021 so that we can ensure we are covering the right use-cases in the Catalog Item APIs before finally deprecating the other APIs. So, to that end, thank you for the detailed feedback thus far.

I don't see that the support case ever made it to my team, so I will follow up on that next.

github-actions[bot] commented 1 year ago

This is a very old issue that is probably not getting as much attention as it deserves. We encourage you to check if this is still an issue after the latest release and if you find that this is still a problem, please feel free to open a new issue and make a reference to this one.

github-actions[bot] commented 1 year ago

closed for inactivity

ganeshkrishnan1 commented 1 year ago

Commenting to reopen this. We need a way to get list of catalog items that sellers know if their products are in the search results. The search catalog items returns random list that has no relation to the search results of the buyer. Hence this api should be available and not deprecated