Ответ 1
Изменить:
Элемент, возвращенный API-интерфейсом Amazon, может представлять собой элемент с одним изменением (один размер и/или один цвет) или родительский элемент .. Когда возвращается один элемент изменения, вам просто нужно использовать тот же подход, что и вы, и вы сможете получить цену.
Элемент родительский вариант (ваш случай), однако, не связан ни с одним предложением (ценой), поскольку он является абстракцией продукта и действует как контейнер для существующих вариантов продукта ( разные размеры, цвета).
В этом случае каждая вариация, содержащаяся в родительской переменной, имеет свою цену, и вы можете просто перебирать множество вариаций и получать требуемую цену.
Добавление группы ответов Вариации для вашего запроса поиска/поиска важно, поэтому не опускайте ее.
Тело запроса:
<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
<env:Header/>
<env:Body>
<ns1:ItemLookup xmlns='http://webservices.amazon.com/AWSECommerceService/2011-08-01' xmlns:ns1='http://webservices.amazon.com/AWSECommerceService/2011-08-01'>
<AWSAccessKeyId>xxxxxxxxxxxxxxxxxxx</AWSAccessKeyId>
<AssociateTag>xxxxxxxx</AssociateTag>
<Request>
<IdType>ASIN</IdType>
<MerchantId>All</MerchantId>
<ItemId>B008M4TB9C</ItemId>
<ResponseGroup>Variations</ResponseGroup>
</Request>
<Signature>xxxxxxxx</Signature>
<Timestamp>2012-12-13T23:49:27Z</Timestamp>
</ns1:ItemLookup>
</env:Body>
</env:Envelope>
Тело ответа.
Цена одного варианта может быть найдена в разделе:
item- > Variations- > item- > предложение- > OfferListing- > Цена.
<env:Envelope xmlns:env='http://schemas.xmlsoap.org/soap/envelope/'>
<env:Body>
<ItemLookupResponse xmlns='http://webservices.amazon.com/AWSECommerceService/2011-08-01'>
<OperationRequest>
<HTTPHeaders>
<Header Name='UserAgent' Value='JBossRemoting - 2.5.1 (Flounder)'/>
</HTTPHeaders>
<RequestId>05c3ecdd-60ae-4a87-8bcb-70f80a5f5d5b</RequestId>
<Arguments>
<Argument Name='Service' Value='AWSECommerceService'/>
</Arguments>
<RequestProcessingTime>0.1092920000000000</RequestProcessingTime>
</OperationRequest>
<Items>
<Request>
<IsValid>True</IsValid>
<ItemLookupRequest>
<IdType>ASIN</IdType>
<MerchantId>Deprecated</MerchantId>
<ItemId>B008M4TB9C</ItemId>
<ResponseGroup>Variations</ResponseGroup>
<VariationPage>All</VariationPage>
</ItemLookupRequest>
</Request>
<Item>
<ASIN>B008M4TB9C</ASIN>
<ParentASIN>B008M4TB9C</ParentASIN>
<VariationSummary>
<LowestPrice>
<Amount>49500</Amount>
<CurrencyCode>USD</CurrencyCode>
<FormattedPrice>$495.00</FormattedPrice>
</LowestPrice>
<HighestPrice>
<Amount>49500</Amount>
<CurrencyCode>USD</CurrencyCode>
<FormattedPrice>$495.00</FormattedPrice>
</HighestPrice>
</VariationSummary>
<Variations>
...
<Item>
<ASIN>B007HQYIBW</ASIN>
<ParentASIN>B008M4TB9C</ParentASIN>
...
<ImageSets>
...
</ImageSets>
<ItemAttributes>
....
</ItemAttributes>
<VariationAttributes>
<VariationAttribute>
<Name>Color</Name>
<Value>Black</Value>
</VariationAttribute>
<VariationAttribute>
<Name>Size</Name>
<Value>6 B(M) US</Value>
</VariationAttribute>
</VariationAttributes>
<Offers>
<Offer>
<Merchant>
<Name>Amazon.com</Name>
</Merchant>
<OfferAttributes>
<Condition>New</Condition>
</OfferAttributes>
<OfferListing>
<OfferListingId>xxxxxxxxxx</OfferListingId>
<Price>
<Amount>49500</Amount>
<CurrencyCode>USD</CurrencyCode>
<FormattedPrice>$495.00</FormattedPrice>
</Price>
<Availability>Usually ships in 24 hours</Availability>
<AvailabilityAttributes>
<AvailabilityType>now</AvailabilityType>
<MinimumHours>0</MinimumHours>
<MaximumHours>0</MaximumHours>
</AvailabilityAttributes>
<IsEligibleForSuperSaverShipping>1</IsEligibleForSuperSaverShipping>
</OfferListing>
</Offer>
</Offers>
</Item>
</Variations>
</Item>
...
</Items>
</ItemLookupResponse>
</env:Body>
</env:Envelope>