2012-10-16 6 views
11

Sto utilizzando l'API di pubblicità del prodotto per eseguire un ItemLookup su un ASIN valido, richiedendo tutti e tre i tipi di gruppi di offerta e non ricevo informazioni sui prezzi. Tuttavia, quando guardo lo stesso prodotto su Amazon, è disponibile e ha un prezzo valido. Credo che tutto quello che ho bisogno di descrivere il problema sarebbe nel ItemLookupResponse restituito in risposta alla mia richiesta ItemLookup, dal momento che echos indietro tutti i parametri:Perché ItemLookup non restituisce informazioni sui prezzi anche quando si richiedono tutti e 3 i gruppi di offerta?

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

risposta

14

Edit:

Un oggetto restituito dal prodotto Amazon L'API può rappresentare un elemento variazione singola (una dimensione singola e/o un colore singolo) o un genitore variazione . Quando viene restituito un singolo elemento di variazione, devi solo utilizzare lo stesso approccio che avevi inizialmente e sarai in grado di recuperare il prezzo.

A variazione genitore articolo (il tuo caso), tuttavia, non è associato a nessuna offerta (prezzo), perché è un'astrazione di un prodotto e funge da contenitore per le varianti di prodotto esistenti (diverse dimensioni, colori).

In questo caso, ogni variazione contenuta all'interno della variante genitore ha il suo prezzo e puoi semplicemente scorrere l'insieme di varianti e recuperare il prezzo che ti serve.

Aggiunta di Variazioni Il gruppo di risposta alla ricerca/ricerca richiesta è fondamentale, quindi non ometterlo.

Il corpo della richiesta:

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

Il corpo di risposta.

Un prezzo per una singola variante può essere trovato sotto:

Item> Variations-> Item> Offer-> OfferListing-> Prezzo.

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