2012-10-16 1 views
11

Ich verwende die Product Advertising API, um ein ItemLookup auf einer gültigen ASIN durchzuführen und alle drei Varianten von Angebotsgruppen anzufordern. Ich bekomme keine Preisinformationen zurück. Aber wenn ich mir das gleiche Produkt bei Amazon anschaue, ist es auf Lager und hat einen gültigen Preis. Ich glaube, dass alles, was ich brauche, das Problem zu beschreiben, wäre in der ItemLookupResponse als Antwort auf meinen itemLookup Antrag zurück, da es alle Parameter Echos zurück:Warum gibt ItemLookup keine Preisinformationen zurück, selbst wenn Sie alle 3 Angebotsgruppen anfragen?

<ItemLookupResponse> 
    <OperationRequest> 
     <HTTPHeaders> 
      <Header Name="UserAgent" 
       Value="Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0" /> 
     </HTTPHeaders> 
     <RequestId>09872c13-5297-4401-ad15-e631b05c7a8f</RequestId> 
     <Arguments> 
      <Argument Name="Condition" Value="All" /> 
      <Argument Name="Operation" Value="ItemLookup" /> 
      <Argument Name="Service" Value="AWSECommerceService" /> 
      <Argument Name="Signature" 
       Value="<omitted>" /> 
      <Argument Name="MerchantId" Value="All" /> 
      <Argument Name="AssociateTag" Value="<omitted>" /> 
      <Argument Name="Version" Value="2011-08-01" /> 
      <Argument Name="ItemId" Value="B00828J7PG" /> 
      <Argument Name="IdType" Value="ASIN" /> 
      <Argument Name="AWSAccessKeyId" Value="<omitted>" /> 
      <Argument Name="Timestamp" Value="2012-10-16T20:30:28.000Z" /> 
      <Argument Name="ResponseGroup" Value="Offers,OfferFull,OfferSummary" /> 
     </Arguments> 
     <RequestProcessingTime>0.0194200000000000</RequestProcessingTime> 
    </OperationRequest> 
    <Items> 
     <Request> 
      <IsValid>True</IsValid> 
      <ItemLookupRequest> 
       <Condition>All</Condition> 
       <IdType>ASIN</IdType> 
       <MerchantId>Deprecated</MerchantId> 
       <ItemId>B00828J7PG</ItemId> 
       <ResponseGroup>Offers</ResponseGroup> 
       <ResponseGroup>OfferFull</ResponseGroup> 
       <ResponseGroup>OfferSummary</ResponseGroup> 
       <VariationPage>All</VariationPage> 
      </ItemLookupRequest> 
     </Request> 
     <Item> 
      <ASIN>B00828J7PG</ASIN> 
      <ParentASIN>B00828J7PG</ParentASIN> 
      <OfferSummary> 
       <TotalNew>0</TotalNew> 
       <TotalUsed>0</TotalUsed> 
       <TotalCollectible>0</TotalCollectible> 
       <TotalRefurbished>0</TotalRefurbished> 
      </OfferSummary> 
      <Offers> 
       <TotalOffers>0</TotalOffers> 
       <TotalOfferPages>0</TotalOfferPages> 
       <MoreOffersUrl>0</MoreOffersUrl> 
      </Offers> 
     </Item> 
    </Items> 
</ItemLookupResponse>< 

Antwort

14

Edit:

Einen Artikel von dem Amazon Produkt zurück API kann entweder eine einzelne Variation Artikel (eine einzelne Größe und/oder eine einzige Farbe) oder eine Variation Elternteil darstellen. Wenn ein einzelner Variation-Artikel zurückgegeben wird, müssen Sie nur den gleichen Ansatz verwenden wie ursprünglich, und Sie können den Preis abrufen.

A Stammvariationselement (Ihr Fall) ist jedoch nicht mit einem Angebot (Preis) verbunden, da es eine Abstraktion eines Produkts ist und als Container für die vorhandenen Produktvariationen (verschiedene Größen, Farben) dient).

In diesem Fall hat jede Variation, die in der Variation-Parent enthalten ist, ihren eigenen Preis und Sie können einfach durch die Menge von Variationen iterieren und den Preis abrufen, den Sie benötigen.

Hinzufügen der Variationen Antwortgruppe auf Ihre Suche/Nachschlageanforderung ist von entscheidender Bedeutung, also nicht weglassen.

Die Anforderung Körper:

<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> 

Antworttext.

Item-> Variations-> Artikel-> Angebot-> OfferListing-> Preis:

Ein Preis für eine einzelne Variation finden Sie unter.

<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> 
Verwandte Themen