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

Catalog API returns no result for some ASINs #1375

Closed hamduc7 closed 1 year ago

hamduc7 commented 3 years ago

This is a valid ASIN on Amazon.com: B00FYDBIZO But both below functions return no result: GET /catalog/v0/items, Query=B00FYDBIZO GET /catalog/v0/items/B00FYDBIZO

{ "payload": { "Identifiers": {} }}

there are some ASINS: B00016QU7A B00159H6ZW

hamduc7 commented 3 years ago

Does anyone have this same issue?

ZofD commented 3 years ago

Hi hamduc7, Yep, I have the same problem, but only in European marketplaces... In US marketplace this endpoint (GET /catalog/v0/items/{ASIN}) works fine. Unfortunetly this (GET /catalog/v0/items, ASIN={ASIN}) don't work in any market, just like GET /catalog/v0/items, UPC={UPC} GET /catalog/v0/items, EAN={EAN} In DE GET /catalog/v0/items, Query='something' isn't even valid form "{ "errors": [ { "code": "InvalidInput", "message": "All is not a valid QueryContextId for marketplace A1PA6795UKMFR9", "details": "" } ] }"

I will try to get catalog informations via GET_MERCHANT_LISTINGS_DATA. Did you solve this issue, or it's just Amazon fault?

hamduc7 commented 3 years ago

Hi @ZofD , I did not solve it. I believe this is an Amazon API error. I contacted Amazon support and he told me that v0 will be depreciated soon and we should use v.2020-12-01. and this V2020 API is also instill modifying

ZofD commented 3 years ago

Thanks for informations. For now v.2020-12-01 doesn't work better... at least not for me.

hamduc7 commented 3 years ago

Thanks for informations. For now v.2020-12-01 doesn't work better... at least not for me.

Agree, I also don't like that API. That why I used v0 version. I think Amazon is still working on the API and There will be a new API very soon.

chapmanjw commented 3 years ago

As of right now, B00FYDBIZO is not a valid ASIN. It was replaced by B001E18EYS. If you goto the product page for that ASIN (https://www.amazon.com/dp/B00FYDBIZO), you can see B001E18EYS listed as the ASIN under the product details.

Handling the case where one ASIN replaced another would be a good feature to add in the Catalog Items API. Making a note of that for our next iteration of the API.

For the 2020-12-01 version of the Catalog Item APIs, please contact us with any specific gaps that prevent your migration from V0 or MWS. See https://github.com/amzn/selling-partner-api-docs/discussions/1041 for more details on the deprecation of V0.

chapmanjw commented 3 years ago

@hamduc7 and @ZofD We're looking at how we might improve upon this scenario (where one ASIN has been replaced by another) and would love your feedback on some options we are considering. For this scenario, which option would be preferred for your use-cases (where you request ASIN-A, but it has been replaced by ASIN-B):

A. Return 404 NOT_FOUND with an error message containing the replacement ASIN. B. Return 301 REDIRECT to redirect the request to the URI path of the replacement ASIN. C. Return the data for ASIN-B when requesting ASIN-A (with the "asin" property in the response being "ASIN-B" when the URI requested has "ASIN-A"). D. Something else?

Thanks!

hamduc7 commented 3 years ago

Thanks chapmanjw, I will choose option C.

By the way, for Product API we need a way to lookup products using many IDs such as many UPC, many EAN, many ASIN,... Current we only lookup 1 ASIN which is very slow.

Thank you

chapmanjw commented 3 years ago

@hamduc7 In typical RESTful fashion, each of these APIs are modeled as single resources. Can you parallelize your calls to address the time concern?

Thanks for the feedback. If we implemented option C, would it be confusing to have a different ASIN returned? Or would documenting this behavior be sufficient?

hamduc7 commented 3 years ago

@chapmanjw I think we can return 2 separated fields such as QueryAsin = the asin we want to lookup and "ASIN" = the result asin Or we can just leave a warning message, anyway that the developer can know

abuzuhri commented 3 years ago

This is a valid ASIN on Amazon.com: B00FYDBIZO But both below functions return no result: GET /catalog/v0/items, Query=B00FYDBIZO GET /catalog/v0/items/B00FYDBIZO

{ "payload": { "Identifiers": {} }}

there are some ASINS: B00016QU7A B00159H6ZW

Try to Use my library handle most of requirement https://github.com/abuzuhri/Amazon-SP-API-CSharp

github-actions[bot] commented 2 years 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.

chapmanjw commented 2 years ago

@hamduc7 The newly released v2022-04-01 version of the Catalog Items API now allows you to query for up-to 20 identifiers (ASINs, UPCs, GTINs, etc.) per request: https://developer-docs.amazon.com/sp-api/docs/catalog-items-api-v2022-04-01-reference

abuzuhri commented 2 years ago

Thanks

hamduc7 commented 2 years ago

@hamduc7 The newly released v2022-04-01 version of the Catalog Items API now allows you to query for up-to 20 identifiers (ASINs, UPCs, GTINs, etc.) per request: https://developer-docs.amazon.com/sp-api/docs/catalog-items-api-v2022-04-01-reference

Thank you

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

wolendranh commented 1 year ago

@chapmanjw Hi, are changes for "renamed" ASINS already live?