Ebay Trading API AddItem ListingDuration как GTC

Я выставляю товар на ebay, где мои условия

All listings should be:
1. Private (so the item sold is not displayed on my feedback)
2. Buy It Now only
3. All listing duration is ‘Good till cancelled’
4. Postage is ‘Other 24 hour’ dispatch in 1 working day
5. Express postage available at £7.99 extra

Я получаю эти ошибки

я. Входные данные для тега неверны или отсутствуют. Пожалуйста, проверьте API документацию. [Value] => Item.PrimaryCategory.CategoryID и

II. Продолжительность «GTC» дней не доступна для этого типа списка или недействительна для категории «309».

Если у кого есть идеи, пожалуйста, помогите. Вот мой код

    $requestXmlBody  = '<?xml version="1.0" encoding="utf-8" ?>';
$requestXmlBody .= '<AddItemRequest xmlns="urn:ebay:apis:eBLBaseComponents">';
$requestXmlBody .= "<RequesterCredentials><eBayAuthToken>$userToken</eBayAuthToken></RequesterCredentials>";
$requestXmlBody .= '<ErrorLanguage>en_US</ErrorLanguage>';
$requestXmlBody .= '<WarningLevel>High</WarningLevel>';
$requestXmlBody .= '<Item>';
$requestXmlBody .= "<Title><![CDATA[$Title]]></Title>";
$requestXmlBody .= '<Description><![CDATA[Seller assumes all responsibility for this listing.]]></Description>';
$requestXmlBody .= '<PrimaryCategory><CategoryID>$primaryCategory</CategoryID></PrimaryCategory>';
$requestXmlBody .= "<StartPrice currencyID='GBP'>$FinalPrice</StartPrice>";
//$requestXmlBody .= '<BuyItNowPrice currencyID="GBP">$FinalPrice</BuyItNowPrice>';
$requestXmlBody .= '<ConditionID>1000</ConditionID>';
$requestXmlBody .= '<CategoryMappingAllowed>true</CategoryMappingAllowed>';
$requestXmlBody .= '<Country>GB</Country>';
$requestXmlBody .= '<Currency>GBP</Currency>';
$requestXmlBody .= '<ListingDuration>GTC</ListingDuration>';
$requestXmlBody .= '<ListingType>FixedPriceItem</ListingType>';
$requestXmlBody .= '<PaymentMethods>PayPal</PaymentMethods>';
$requestXmlBody .= '<PayPalEmailAddress>[email protected]</PayPalEmailAddress>';
$requestXmlBody .= "<PictureDetails><PictureURL>" . $addPicture . "</PictureURL></PictureDetails>";
//$requestXmlBody .= "<PostalCode>95125</PostalCode>";
$requestXmlBody .= "<Quantity>10</Quantity>";
$requestXmlBody .= "<ReturnPolicy>";
$requestXmlBody .= "<ReturnsAcceptedOption>ReturnsAccepted</ReturnsAcceptedOption>";
//$requestXmlBody .= "<RefundOption>MoneyBack</RefundOption>";
$requestXmlBody .= "<ReturnsWithinOption>Days_30</ReturnsWithinOption>";
$requestXmlBody .= "<Description>If you are not satisfied, return the item for refund.</Description>";
$requestXmlBody .= "<ShippingCostPaidByOption>Buyer</ShippingCostPaidByOption>";
$requestXmlBody .= "</ReturnPolicy>";
$requestXmlBody .= "<ShippingDetails>";
$requestXmlBody .= "<ShippingType>Flat</ShippingType>";
$requestXmlBody .= "<ShippingServiceOptions>";
$requestXmlBody .= "<ShippingServicePriority>1</ShippingServicePriority>";
$requestXmlBody .= "<ShippingService>USPSMedia</ShippingService>";
$requestXmlBody .= "<ShippingServiceCost>2.50</ShippingServiceCost>";
$requestXmlBody .= "</ShippingServiceOptions>";
$requestXmlBody .= "</ShippingDetails>";
$requestXmlBody .= "<Site>UK</Site>";
$requestXmlBody .= "<!-- Change the UUID for each item you list. It needs to be unique. -->";
//$requestXmlBody .= "<UUID>ccefc1e08ac811ddad8b0800200c9a68</UUID>";
$requestXmlBody .= "</Item>";
$requestXmlBody .= "</AddItemRequest>";

1

Решение

если вы загляните в документацию API по этому вызову, вы найдете уведомления в поле listduration: http://developer.ebay.com/DevZone/XML/docs/Reference/eBay/AddItem.html#Request.Item.ListingDuration

«Правильный выбор значений зависит от формата списка (см. Item.ListingType). Для получения списка допустимых значений, вызовите GetCategoryFeatures с DetailLevel, установленным в ReturnAll, и ищите информацию ListingDurations. Чтобы установить продолжительность в 1 день, продавец должен иметь оценку обратной связи не менее 10 «.

если я вызываю API для вашего CatId 309 (пример для тестирования можно выполнить здесь: https://ebay-sdk.intradesys.com/s/44f683a84163b3523afe57c2e008bc8c это возвращает:

....
<Category>
<CategoryID>309</CategoryID>
<ListingDuration type="Chinese">1</ListingDuration>
<ListingDuration type="Dutch">1</ListingDuration>
<ListingDuration type="Live">1</ListingDuration>
<ListingDuration type="AdType">2</ListingDuration>
<ListingDuration type="StoresFixedPrice">31</ListingDuration>
<ListingDuration type="PersonalOffer">1</ListingDuration>
<ListingDuration type="FixedPriceItem">8</ListingDuration>
<ListingDuration type="LeadGeneration">19</ListingDuration>
<BestOfferEnabled>true</BestOfferEnabled>
....

Для вас важна эта строка:

   <ListingDuration type="FixedPriceItem">8</ListingDuration>

он сообщает вам, какой набор длительности доступен для этого типа листинга … далее в ответе API вы увидите:

 <ListingDuration durationSetID="1">
<Duration>Days_3</Duration>
<Duration>Days_5</Duration>
<Duration>Days_7</Duration>
<Duration>Days_10</Duration>
</ListingDuration>
<ListingDuration durationSetID="2">
<Duration>Days_30</Duration>
<Duration>Days_90</Duration>
</ListingDuration>
<ListingDuration durationSetID="19">
<Duration>Days_28</Duration>
</ListingDuration>
<ListingDuration durationSetID="8">
<Duration>Days_3</Duration>
<Duration>Days_5</Duration>
<Duration>Days_7</Duration>
<Duration>Days_10</Duration>
<Duration>Days_30</Duration>
</ListingDuration>
<ListingDuration durationSetID="31">
<Duration>Days_3</Duration>
<Duration>Days_5</Duration>
<Duration>Days_7</Duration>
<Duration>Days_10</Duration>
<Duration>Days_30</Duration>
<Duration>GTC</Duration>
</ListingDuration>

если вы теперь посмотрите на durationSetId = 8, то увидите, что GTC не разрешен для этого типа листинга. GTC кажется доступным только для набора с идентификатором 31, в этом случае «StoresFixedPrice»

1

Другие решения

Еще одно замечание: используйте бизнес-политики, они сделают вашу жизнь намного проще, если при перечислении через API они позаботятся о 4 и 5 в вашем списке.

0

По вопросам рекламы [email protected]