2013-07-03 4 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, взять идентификатор категории или имя и сопоставить это с правильной XSD так может быть возвращен правильный набор определенных категорий.

Спасибо.

+0

Я также плаваю в этих водах. Это очень странное программирование против этой функции, но не уверен, как это сделать в общем виде. Вы нашли достойный способ справиться с этим с тех пор? Благодаря! –

ответ

3

Предупреждение Это хрупкий обходной путь в лучшем случае. - у вас есть были предупреждены!

Нет прямого отображения от ProductCategoryId к XSD. Однако между BTG (Browse Tree Guide) * и Product XSD files * (минус категории BMVD¹) имеется примерно один-к-один.

Столбец BTG Node ID соответствует ProductCategoryId. Как только вы узнаете, какой BTG принадлежит категории Self, вы можете с уверенностью предположить, что соответствующий XSD-файл является правильным.

Например, Self > ProductCategoryId из 166099011 находится в Toys and Games BTG, который соответствует Toys and Games XSD

¹ Книги, музыка, видео и DVD-диски
* должен быть подписан в свой Центральный счет Продавца доступа к

+0

Я должен был упомянуть об этом обходном пути - я предполагал, что знакомый алжир знал об этом. Вы получаете тот же результат, пытаясь найти XSD, который примерно соответствует основной категории, которую вы пытаетесь перечислить. В этом случае «Toys & Games» (165795011) соответствует 'toys.xsd', и его продукт, вероятно, принадлежит к 'ProductAndGames' ProductType. Но это догадки, и во многих случаях этот матч далеко не очевиден. – Hazzit

+0

Я согласен, что это хрупкое обходное решение –

+2

хрупкое или нет, это лучше, чем ничего. Мне кажется смешным, что обходное решение даже требуется! – robjmills

2

Если я понимаю ваш вопрос, вы спрашиваете, есть ли способ сообщить, какой тип <ProductData> вы должны ввести в свой _POST_PRODUCT_DATA_ канал для определенного продукта.

E.g. для ASIN B008HRVM5U, он должен быть

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

или скорее

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

Насколько мне известно, не существует никакого способа на самом деле выяснить - ни через MWS, ни продавца Central. В то же время правильное сопоставление XML-структур имеет большое значение ... Я потратил в общей сложности три недели, пытаясь понять, почему некоторые продукты ведут себя забавно (вы фактически не могли их купить). В конце концов, мне пришлось обратиться в службу поддержки Amazon, чтобы узнать, что я использовал «неправильную» структуру XML для конкретной категории я пытался перечислить в

+0

Да, это именно то, что я просил, но не тот ответ, который я искал! – robjmills

0

Ознакомьтесь с API GetMatchingProduct в разделе API продуктов. Я не тестировал это полностью, но считаю, что поля ProductGroup и ProductTypeName соответствуют категориям XSD.

+0

Просто так никто не идет по этой кроличьей тропе слишком далеко. Это не работает. –

Смежные вопросы