2012-10-16 22 views
11

Tôi đang sử dụng API quảng cáo sản phẩm để thực hiện ItemLookup trên ASIN hợp lệ, yêu cầu tất cả ba hương vị của nhóm cung cấp và tôi không lấy lại bất kỳ thông tin giá nào. Tuy nhiên, khi tôi nhìn vào cùng một sản phẩm trên Amazon, nó có trong kho và có giá hợp lệ. Tôi tin rằng tất cả mọi thứ tôi cần để mô tả vấn đề này sẽ là trong ItemLookupResponse trở để đáp ứng với yêu cầu ItemLookup của tôi, vì nó Echos lại tất cả các thông số:Tại sao ItemLookup không trả lại bất kỳ thông tin giá nào ngay cả khi yêu cầu tất cả 3 nhóm ưu đãi?

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

Trả lời

14

Edit:

Một item được trả về bởi các sản phẩm Amazon API có thể đại diện cho mục biến thể đơn lẻ (một kích thước và/hoặc một màu) hoặc biến thể gốc. Khi một mục biến thể được trả về, bạn chỉ cần sử dụng phương pháp tương tự như ban đầu bạn đã làm và bạn sẽ có thể tìm nạp giá.

Một mục biến mẹ (trường hợp của bạn), tuy nhiên, không liên quan đến bất kỳ lời đề nghị (giá), bởi vì nó là một khái niệm trừu tượng của một sản phẩm và hoạt động như một container cho các biến thể sản phẩm hiện có (các kích cỡ khác nhau, màu sắc).

Trong trường hợp này, mọi biến thể chứa trong biến thể cha mẹ đều có giá riêng và bạn chỉ có thể lặp qua tập hợp biến thể và tìm nạp giá bạn cần.

Thêm Biến thể nhóm phản hồi vào yêu cầu tìm kiếm/tra cứu của bạn là rất quan trọng, vì vậy đừng bỏ qua.

Cơ quan yêu cầu:

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

Cơ thể phản ứng.

Một giá cho một sự thay đổi duy nhất có thể được tìm thấy dưới:

item-> Variations-> item-> Offer-> OfferListing-> Giá.

<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> 
Các vấn đề liên quan