为什么即使请求所有3个要约组,ItemLookup也不会返回任何价格信息?

时间:2012-10-16 20:42:15

标签: amazon-product-api

我正在使用Product Advertising API在有效的ASIN上执行ItemLookup,请求所有三种优惠组,而且我没有收到任何价格信息。然而,当我在亚马逊上查看相同的产品时,它的库存和有效价格。我相信我需要描述问题的所有内容都是在我的ItemLookup请求中返回的ItemLookupResponse中,因为它回显了所有参数:

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

1 个答案:

答案 0 :(得分:15)

编辑:

Amazon Product API返回的商品可以代表单一变体商品(单一尺寸和/或单一颜色)或变体父品。当返回单个变体项时,您只需使用与最初相同的方法,并且您将能够获取价格。

父变体项(您的案例)不与任何要约(价格)相关联,因为它是产品的抽象,并充当现有产品变体的容器(不同的尺寸,颜色)。

在这种情况下,变体父项中包含的每个变体都有自己的价格,您可以简单地遍历变量集并获取所需的价格。

变体响应组添加到您的搜索/查找请求至关重要,因此请不要忽略它。

请求正文:

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

回复机构。

单个变体的价格可以在以下位置找到:

<强>本期特价货品&GT; Variations-&GT;本期特价货品&GT;优惠 - &GT; OfferListing-&GT;价格

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