首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ebay BulkDataExchangeRequests API XML - UUID丢失

ebay BulkDataExchangeRequests API XML - UUID丢失
EN

Stack Overflow用户
提问于 2016-01-13 15:59:16
回答 1查看 365关注 0票数 1

我正在测试eBay API的LMS端的请求,方法是通过AddFixedPriceItemRequest向BulkDataExchangeRequests发送createUploadJob。

当我这样做时,我会得到一个错误:"UUID是必需的“,尽管在我可以找到的文档中,它说UUID是可选的。但是,我在调用的主体中包含了一个UUID。

在我的一生中,我找不到整个API调用应该是什么样子的例子。包括标题。

我正在使用用于XML的gems、HTTParty和Builder在Ruby中编写这段代码。我的其他调用运行良好,我验证了这是正在发送的实际XML。

以下是我的XML与报头信息的外观:

代码语言:javascript
运行
复制
destination = 'https://webservices.sandbox.ebay.com/BulkDataExchangeService'

headers = {
 "X-EBAY-API-COMPATIBILITY-LEVEL"=>"949",
 "X-EBAY-API-DEV-NAME"=>"My dev name token",
 "X-EBAY-API-APP-NAME"=>"App name token",
 "X-EBAY-API-CERT-NAME"=>"Cert name token",
 "X-EBAY-SOA-OPERATION-NAME"=>"createUploadJob",
 "X-EBAY-SOA-SECURITY-TOKEN" => "My auth token",
 "X-EBAY-API-SITEID"=>"0",
 "Content-Type"=>"text/xml"}

 <?xml version="1.0" encoding="utf-8"?>
 <BulkDataExchangeRequests>
  <Header>
   <SiteId>0</SiteId>
   <Version>739</Version>
  </Header>
<AddFixedPriceItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">
<RequesterCredentials>
  <eBayAuthToken>My Auth token</eBayAuthToken>
</RequesterCredentials>
<ErrorLanguage>en_US</ErrorLanguage>
<WarningLevel>High</WarningLevel>
<Item>
  <Title>Listing with a bunch of CSS but no JS</Title>
  <Description>
    <![CDATA[bunch of html]]>
  </Description>
  <PrimaryCategory>
    <CategoryID>37565</CategoryID>
  </PrimaryCategory>
  <ConditionID>3000</ConditionID>
  <CategoryMappingAllowed>true</CategoryMappingAllowed>
  <Country>US</Country>
  <Currency>USD</Currency>
  <DispatchTimeMax>3</DispatchTimeMax>
  <ListingDuration>Days_7</ListingDuration>
  <ListingType>FixedPriceItem</ListingType>
  <PaymentMethods>PayPal</PaymentMethods>
  <PayPalEmailAddress>todd@piedmontred.com</PayPalEmailAddress>
  <PictureDetails>
    <PictureURL>http://s18.postimg.org/ocjdgkfrt/4_pack.jpg</PictureURL>
  </PictureDetails>
  <PostalCode>28211</PostalCode>
  <ItemSpecifics>
    <NameValueList>
      <Name>Brand</Name>
      <Value>Nike</Value>
    </NameValueList>
    <NameValueList>
      <Name>Model</Name>
      <Value>Odyssey</Value>
    </NameValueList>
  </ItemSpecifics>
  <Variations>
    <VariationSpecificsSet>
      <NameValueList>
        <Name>Size</Name>
        <Value>XS</Value>
        <Value>Large</Value>
      </NameValueList>
      <NameValueList>
        <Name>Color</Name>
        <Value>Black</Value>
        <Value>Pink</Value>
      </NameValueList>
    </VariationSpecificsSet>
    <Variation>
      <SKU>my_first_sku</SKU>
      <StartPrice>35.99</StartPrice>
      <Quantity>5</Quantity>
      <VariationSpecifics>
        <NameValueList>
          <Name>Size</Name>
          <Value>XS</Value>
        </NameValueList>
        <NameValueList>
          <Name>Color</Name>
          <Value>Black</Value>
        </NameValueList>
      </VariationSpecifics>
    </Variation>
    <Variation>
      <SKU>my_second_sku</SKU>
      <StartPrice>38.99</StartPrice>
      <Quantity>6</Quantity>
      <VariationSpecifics>
        <NameValueList>
          <Name>Size</Name>
          <Value>Large</Value>
        </NameValueList>
        <NameValueList>
          <Name>Color</Name>
          <Value>Pink</Value>
        </NameValueList>
      </VariationSpecifics>
    </Variation>
    <Pictures>
      <VariationSpecificName>Color</VariationSpecificName>
      <VariationSpecificPictureSet>
        <VariationSpecificValue>Black</VariationSpecificValue>
        <PictureURL>http://thecodeplayer.com/uploads/s.jpg</PictureURL>
        <PictureURL>http://thecodeplayer.com/uploads/1.jpg</PictureURL>
      </VariationSpecificPictureSet>
      <VariationSpecificPictureSet>
        <VariationSpecificValue>Pink</VariationSpecificValue>
        <PictureURL>http://thecodeplayer.com/uploads/mediaB.jpg</PictureURL>
        <PictureURL>http://thecodeplayer.com/uploads/mediadx.jpg</PictureURL>
      </VariationSpecificPictureSet>
    </Pictures>
  </Variations>
  <ReturnPolicy>
    <ReturnsAcceptedOption>ReturnsAccepted</ReturnsAcceptedOption>
    <RefundOption>MoneyBack</RefundOption>
    <ReturnsWithinOption>Days_30</ReturnsWithinOption>
    <Description>This is just a description for the return 
     policy</Description>
    <ShippingCostPaidByOption>Buyer</ShippingCostPaidByOption>
  </ReturnPolicy>
  <ShippingDetails>
    <ShippingType>Flat</ShippingType>
    <ShippingServiceOptions>
      <ShippingServicePriority>1</ShippingServicePriority>
      <ShippingService>USPSMedia</ShippingService>
      <ShippingServiceCost>2.50</ShippingServiceCost>
    </ShippingServiceOptions>
  </ShippingDetails>
  <Site>US</Site>
  <UUID>8deb51e81bdc4b8eb136f92b746dd898</UUID>
</Item>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-13 17:28:14

基于上面提供的XML,您似乎混淆了LMS的性质。

  • LMS不是一个进行调用的->变更eBay列表。
  • LMS是一个处理批量操作的多步骤过程.
  • 由于批量性质,这些步骤被分离为多个调用。
  • 这样做的优点是,服务可以单独验证每个步骤。
  • 此外,它还简化了发送大型有效载荷的工作。

这意味着您不能在createUploadJob.中包含Item有效负载。(见Ebay文档)。

一般来说,你必须:

  1. 创建上载作业。(createUploadJob)。
  2. 然后上传文件。(uploadFile)。
  3. 那就开始工作。(startUploadJob)。

其次是:

  1. 等一段时间。
  2. 检查职务的状态。(getJobStatus)。
  3. 下载结果文件。(downloadFile)。

你应该读读LMS指南。从关于工作流程的部分开始。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34771299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档