2016-01-13 5 views
1

Я проверяю запрос на стороне СДО в API eBay, отправив AddFixedPriceItemRequest к BulkDataExchangeRequests через createUploadJob.Ebay BulkDataExchangeRequests API XML - UUID отсутствует

Когда я это сделаю, я получаю сообщение об ошибке: «UUID требуется», хотя в документации, которую я могу найти, указано, что UUID не является обязательным. Тем не менее, я включаю UUID в тело вызова.

В течение жизни я не могу найти пример того, как должен выглядеть весь API-вызов. Включены заголовки.

Я кодирую это в Ruby с помощью драгоценных камней HTTParty и Builder для XML. Мои другие вызовы работают нормально, и я подтвердил, что это фактический XML-код, который отправляется.

Вот что мой XML выглядит с информацией заголовка:

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>[email protected]</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> 

ответ

3

Основываясь на вашем XML, представленной выше; Кажется, вы путаете природу LMS.

  • LMS - не сделать звонок -> изменить список eBay.
  • LMS - это многоступенчатый процесс обработки массовых операций.
  • Из-за массовой натуры этапы разделяются на несколько вызовов.
  • Преимущество этого заключается в том, что Сервис может проверять каждый шаг отдельно.
  • Также он упрощает отправку больших полезных нагрузок.

Это означает, что вы не должны включать в себя Item Payload в createUploadJob. (См. Ebay Documentation).


В общем, вы должны:

  1. Создание загрузки задания. (createUploadJob).
  2. Затем загрузите файл. (uploadFile).
  3. Затем запустите работу. (startUploadJob).

Далее следует:

  1. (ДОЛЖЕН) Подождите некоторое время.
  2. Проверьте статус работы. (getJobStatus).
  3. Загрузить файл результатов. (downloadFile).

Вы должны прочитать LMS guide. Начиная с раздела workflow.

+0

Да, просто начинайте так ОЧЕНЬ путать .. Спасибо, что указали мне в правильном направлении! – ToddT

+0

Ваше приветствие. Удачи !! –

Смежные вопросы