2013-07-03 40 views
5

在_POST_PRODUCT_DATA_提要中,「ProductData」節點包含特定於該項目所在類別的數據。該項目所在的類別究竟應該如何映射到XSD,因爲它不(總是)似乎是直接關係。調用「GetProductCategoriesForASIN」似乎沒有什麼幫助 - 與「類別」的ProductCategoryName有什麼關係? (如下)將amazon產品類別映射到正確的類別XSD

<?xml version="1.0"?> 
<GetProductCategoriesForASINResponse xmlns="http://mws.amazonservices.com/schema/Products/2011-10-01"> 
<GetProductCategoriesForASINResult> 
    <Self> 
    <ProductCategoryId>166099011</ProductCategoryId> 
    <ProductCategoryName>Building Sets</ProductCategoryName> 
    <Parent> 
     <ProductCategoryId>166092011</ProductCategoryId> 
     <ProductCategoryName>Building Toys</ProductCategoryName> 
     <Parent> 
     <ProductCategoryId>165795011</ProductCategoryId> 
     <ProductCategoryName>Categories</ProductCategoryName> 
     <Parent> 
      <ProductCategoryId>165793011</ProductCategoryId> 
      <ProductCategoryName>Categories</ProductCategoryName> 
     </Parent> 
     </Parent> 
    </Parent> 
    </Self> 
</GetProductCategoriesForASINResult> 
<ResponseMetadata> 
    <RequestId>0ce91472-4234-4222-8fd8-d56714db18ba</RequestId> 
</ResponseMetadata> 
</GetProductCategoriesForASINResponse> 

總之我真正想知道是怎麼了,一個新產品或一個與現有的ASIN,採取分類ID或名字和這個映射到正確的XSD使可以返回正確的一組特定類別的選項。

謝謝。

+0

我也在這些水域游泳。對這個功能感覺非常奇怪的編程,不知道如何以通用的方式去做。你有沒有找到一個體面的方式來處理這個問題?謝謝! –

回答

3

警告這是一個脆弱的解決辦法最好 - 你有已被警告!

沒有從ProductCategoryId到XSD的直接映射。但是,在BTG (Browse Tree Guide) *和Product XSD files *(減去BMVD¹類別)之間大致有一對一的映射。

BTG的Node ID列對應於ProductCategoryId。一旦找出Self類別屬於哪個BTG,就可以安全地假定相應的XSD文件是正確的。

例如,166099011Self > ProductCategoryId在對應於Toys and Games XSD

¹書籍,音樂,視頻和DVD
* 必須登錄到您的賣家中心帳戶訪問的Toys and Games BTG被發現

+0

我應該提到這種解決方法 - 我假設看過他的人知道這一點。通過嘗試找到與您嘗試列出的主類別大致相匹配的XSD,您會得到相同的結果。在這種情況下,「玩具與遊戲」(165795011)與'toys.xsd'匹配,其產品可能屬於'ToysAndGames' ProductType。但這是猜測,在許多情況下,這場比賽遠非明顯。 – Hazzit

+0

我同意這是一個脆弱的解決方法 –

+2

脆弱與否,這比沒有好。對我來說似乎很荒謬,甚至需要一種解決方法! – robjmills

2

如果我理解了您的問題,您是在問是否有任何方法可以告訴您應該將哪種<ProductData>放入您的_POST_PRODUCT_DATA_ Feed中以獲取特定產品。

E.g.對於ASIN B008HRVM5U,它應該是

<ProductData> 
    <Home> 
     <ProductType> 
     <Kitchen>...</Kitchen> 
     </ProductType> 
    </Home> 
</ProductData> 

或者說

<ProductData> 
    <Baby> 
     <ProductType> 
      <BabyProducts>...</BabyProducts> 
     </ProductType> 
    </Baby> 
</ProductData> 

據我所知,有沒有辦法真正找出 - 既不是通過MWS也不賣家中心。同時,XML結構的正確匹配非常重要......我花了總共三個星期的時間試圖弄清楚爲什麼某些產品有趣的行爲(你實際上買不到它們)。最後,我只好聯繫亞馬遜的支持,找出我用的是「錯誤」的XML結構的具體類別,我試圖列出

+0

是的,這正是我所要求的,但不是我正在尋找的答案! – robjmills

0

查看產品API部分中的GetMatchingProduct API。我沒有徹底地測試過,但我相信ProductGroup和ProductTypeName字段對應於XSD類別。

+0

就這樣,沒有人走這條兔子的蹤跡太遠。這不起作用。 –