XML Ebay Trading API - Shipping元素

时间:2013-08-23 19:44:42

标签: xml ebay ebay-api

我想通过Trading API在易趣上列出一些项目,但他们的API非常复杂,我需要一些帮助。

我可以通过API很好地在易趣上列出项目,但我似乎无法弄清楚如何在ebay addItem页面上有多个送货选项

以下是我需要通过API在ebay上提供的送货设置 http://i.cubeupload.com/F4oURU.png

这是我的xml

<?xml version="1.0" encoding="utf-8"?>  
<AddItemsRequest xmlns="urn:ebay:apis:eBLBaseComponents">  
<ErrorLanguage>en_US</ErrorLanguage>  
<AddItemRequestContainer>  
<MessageID>100</MessageID>  
<Item>  
<StartPrice currencyID=\"CAD\">223.96</StartPrice>  
<CategoryMappingAllowed>true</CategoryMappingAllowed>  
<ConditionID>1000</ConditionID>  
<Country>CA</Country>  
<Currency>CAD</Currency>  
<Title>TEST</Title>  
<Description>DEscription</Description>  
<DispatchTimeMax>3</DispatchTimeMax>  
<ListingDuration>Days_7</ListingDuration>  
<ListingType>FixedPriceItem</ListingType>  
<PaymentMethods>PayPal</PaymentMethods>  
<PayPalEmailAddress>  [--  myPayPalEmail --]  </PayPalEmailAddress>  
<PictureDetails>  
<Item.PictureDetails.PictureURL>  
http://www.jccayer.com/productphoto/2793-22-1_ep1.jpg  
</Item.PictureDetails.PictureURL>  
<PictureURL>http://www.jccayer.com/productphoto/2793-22-1_ep1.jpg</PictureURL>  
</PictureDetails>  
<PostalCode>K0A1M0</PostalCode>  
<PrimaryCategory>  
<CategoryID>279</CategoryID>  
</PrimaryCategory>  
<Quantity>6</Quantity>  
<ReturnPolicy>  
<ReturnsAcceptedOption>ReturnsAccepted</ReturnsAcceptedOption>  
<RefundOption>MoneyBack</RefundOption>  
<ReturnsWithinOption>Days_30</ReturnsWithinOption>  
<Description>Text description of return policy details</Description>  
<ShippingCostPaidByOption>Buyer</ShippingCostPaidByOption>  
</ReturnPolicy>  
<ShippingDetails>  
<ShippingType>Flat</ShippingType>  
<ShippingServiceOptions>  
<ShippingService>CA_UPSStandardCanada</ShippingService>  
<ShippingServiceCost>21.50</ShippingServiceCost>  
<ShippingServiceAdditionalCost>5.00</ShippingServiceAdditionalCost>  
<ShippingServicePriority>1</ShippingServicePriority>  
</ShippingServiceOptions>  
<InternationalShippingServiceOption>  
<ShippingService>CA_UPSStandardUnitedStates</ShippingService>  
<ShippingServiceCost>50.50</ShippingServiceCost>  
<ShippingServiceCost>10.00</ShippingServiceCost>  
<ShipToLocation></ShipToLocation>  
<ShippingServicePriority>2</ShippingServicePriority>  
</InternationalShippingServiceOption>  
</ShippingDetails>  
<Site>Canada</Site>  
</Item>  
</AddItemRequestContainer>  
<RequesterCredentials>  
<eBayAuthToken>[INSERT YOUR OWN AUTH TOKEN]</eBayAuthToken>  
</RequesterCredentials>  
</AddItemsRequest>

有没有人知道如何在这张照片上匹配这些设置?

1 个答案:

答案 0 :(得分:3)

这将引导您完成在易趣上指定商品的送货详情所需的XML。

示例送货详情

卖家使用的运费模型是 Flat 模型。卖家通过 UPS标准加拿大在加拿大境内提供国内运输,第一项收费 CAD($)15.99 ,每增加 $ 6.00 。该物品也可以在国际上运输,并为此提供两种服务。第一项国际服务仅使用 UPS标准美国运送至美国,第一项目的费用 $ 21.08 $ 8.00 每增加一个。第二项服务第一项费用 $ 69.32 ,每项额外费用 $ 29.00 UPS Worldwide Expedited 已被使用,并将运往以下地点。

  • ñ。和S. America
  • 墨西哥
  • 德国
  • 法国
  • 英国
  • 日本
  • 台湾
  • 澳大利亚

XML

送货信息在您的请求的 ShippingDetails 元素中指定。这是 ShippingDetailsType 类型,可以使用完整的字段列表here

<ShippingDetails>
    <!-- Domestic and international shipping details will be added here -->
</ShippingDetails>

我们可以添加到 ShippingDetails 的第一条信息是卖家正在使用的送货模式,在这种情况下是 Flat

<ShippingType>Flat</ShippingType>

可以输入许多不同的值作为 ShippingType ,并且可以找到完整列表here

我们现在可以转到请求的国内运输部分。您最多可以指定4个国内送货服务。每个服务都是 ShippingServiceOptions 元素,其类型为 ShippingServiceOptionsType 。完整的字段列表here

<ShippingServiceOptions>
    <!-- Shipping costs and options related to a 
         domestic shipping service will be added here -->
</ShippingServiceOptions>

要控制国内送货服务在查看项目和结帐页面中的显示顺序,卖家可以指定优先级。优先级为1的服务将显示在顶部,值为4的服务将显示在底部。请注意,在此示例中,只有一个国内送货服务,因此优先级是可选的,但包含它并没有坏处。

<ShippingServicePriority>1</ShippingServicePriority>

使用 ShippingServiceCost 元素指定送货服务的费用。由于此卖家还要为其他商品收费,因此还需要指定 ShippingServiceAdditionalCost 元素。

<ShippingServiceCost>15.99</ShippingServiceCost>
<ShippingServiceAdditionalCost>6.00</ShippingServiceAdditionalCost>

表示将使用 UPS Standard Canada 通过 ShippingService 元素完成。

<ShippingService>CA_UPSStandardCanada</ShippingService>

请注意,您实际上并未指定 UPS Standard Canada ,而是使用值* CA_UPSStandardCanada *。获取要使用的正确值超出了本示例的范围,但可以总结如下。

  • DetailName 设置为 ShippingServiceDetails 的情况下调用 GeteBayDetails
  • 在响应中迭代每个 ShippingServiceDetails 元素并检查是否存在 ValidForSellingFlow
  • 如果存在 ValidForSellingFlow ,请阅读 ShippingService 的值。
  • 可以找到更多信息here

我们现在可以开始第一个国际航运服务。您最多可以指定5个国际运输服务。每个服务都是一个 InternationalShippingServiceOption 元素,其类型为 InternationalShippingServiceOptionsType 。完整的字段列表here

<InternationalShippingServiceOption>
    <!-- Shipping costs and options related to an 
         international shipping service will be added here -->
</InternationalShippingServiceOption>

卖方可以再次为每个送货服务指定优先级,为此我们将输入值1.请注意,优先级仅在相同类型的送货服务之间进行比较。这意味着即使我们为国内和国际航运服务设定了优先级1,在确定它们出现的顺序时也不会相互比较。

<ShippingServicePriority>1</ShippingServicePriority>

我们现在可以添加使用此服务的费用。

<ShippingServiceCost>21.08</ShippingServiceCost>
<ShippingServiceAdditionalCost>8.00</ShippingServiceAdditionalCost>

UPS标准美国也被添加。请再次注意,我们实际上并未指定 UPS标准美国,而是使用在调用 GeteBayDetails 时检索到的值。

<ShippingService>CA_UPSStandardUnitedStates</ShippingService>

卖方已指明此国际运输服务仅发运至美国。指示卖家将运送到的位置或地区是通过 ShipToLocation 元素完成的。

<ShipToLocation>US</ShipToLocation>

我们再一次没有指定美国,而是使用值 US 。获取正确的值也不在本示例的范围之内,但可以总结如下。

  • 调用 GeteBayDetails ,将 DetailName 设置为 ShippingLocationDetails
  • 在响应中迭代每个 ShippingLocationDetails 元素并读入 ShippingLocation 的值。
  • 可以找到更多信息here

建立第二个国际航运服务的步骤与第一个相同。请注意,我们将优先级设置为2,因为卖方希望它显示在第一个国际送货服务下方。此外,还指定了几个 ShipToLocation 元素,以指示卖方将使用此服务运送的许多区域。

<InternationalShippingServiceOption>
    <ShippingServicePriority>2</ShippingServicePriority>
    <ShippingServiceCost>69.32</ShippingServiceCost>
    <ShippingServiceAdditionalCost>29.00</ShippingServiceAdditionalCost>
    <ShippingService>CA_UPSWorldWideExpedited</ShippingService>
    <ShipToLocation>Americas</ShipToLocation>
    <ShipToLocation>TW</ShipToLocation>
    <ShipToLocation>Asia</ShipToLocation>
    <ShipToLocation>AU</ShipToLocation>
    <ShipToLocation>MX</ShipToLocation>
    <ShipToLocation>DE</ShipToLocation>
    <ShipToLocation>FR</ShipToLocation>
    <ShipToLocation>Europe</ShipToLocation>
    <ShipToLocation>GB</ShipToLocation>
    <ShipToLocation>JP</ShipToLocation>
</InternationalShippingServiceOption> 

将所有部分组合在一起产生以下XML。

<ShippingDetails>
    <ShippingType>Flat</ShippingType>
    <ShippingServiceOptions>
        <ShippingServicePriority>1</ShippingServicePriority>
        <ShippingServiceCost>15.99</ShippingServiceCost>
        <ShippingServiceAdditionalCost>6.00</ShippingServiceAdditionalCost>
        <ShippingService>CA_UPSStandardCanada</ShippingService>
    </ShippingServiceOptions>
    <InternationalShippingServiceOption>
        <ShippingServicePriority>1</ShippingServicePriority>
        <ShippingServiceCost>21.08</ShippingServiceCost>
        <ShippingServiceAdditionalCost>8.00</ShippingServiceAdditionalCost>
        <ShippingService>CA_UPSStandardUnitedStates</ShippingService>
        <ShipToLocation>US</ShipToLocation>
    </InternationalShippingServiceOption>        
    <InternationalShippingServiceOption>
        <ShippingServicePriority>2</ShippingServicePriority>
        <ShippingServiceCost>69.32</ShippingServiceCost>
        <ShippingServiceAdditionalCost>29.00</ShippingServiceAdditionalCost>
        <ShippingService>CA_UPSWorldWideExpedited</ShippingService>
        <ShipToLocation>Americas</ShipToLocation>
        <ShipToLocation>TW</ShipToLocation>
        <ShipToLocation>Asia</ShipToLocation>
        <ShipToLocation>AU</ShipToLocation>
        <ShipToLocation>MX</ShipToLocation>
        <ShipToLocation>DE</ShipToLocation>
        <ShipToLocation>FR</ShipToLocation>
        <ShipToLocation>Europe</ShipToLocation>
        <ShipToLocation>GB</ShipToLocation>
        <ShipToLocation>JP</ShipToLocation>
    </InternationalShippingServiceOption>
</ShippingDetails>

可以找到使用这些送货详情的示例列表here。请注意,此项目可能已不存在。