我使用eBay API
中的以下代码在ebay中创建项目!
但是,下面的代码只会创建auction
类型列表。
我只是想知道是否有人知道如何创建buy it now
项目/列表呢?
这是代码:
<?php
/********************************************
addItem.php
Uses eBay Trading API to list an item under
a seller's account.
********************************************/
// include our Trading API constants
require_once 'tradingConstants.php';
// check if posted
if (!empty($_POST)) {
// grab our posted keywords and call helper function
// TODO: check if need urlencode
$title = $_POST['title'];
$categoryID = $_POST['categoryID'];
$startPrice = $_POST['startPrice'];
$pictureURL = $_POST['pictureURL'];
$description = $_POST['description'];
// call the getAddItem function to make AddItem call
$response = getAddItem($title, $categoryID, $startPrice, $pictureURL, $description);
}
// Function to call the Trading API AddItem
function getAddItem($addTitle, $addCatID, $addSPrice, $addPicture, $addDesc) {
/* Sample XML Request Block for minimum AddItem request
see ... for sample XML block given length*/
// Create unique id for adding item to prevent duplicate adds
$uuid = md5(uniqid());
// create the XML request
$xmlRequest = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";
$xmlRequest .= "<AddItemRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\">";
$xmlRequest .= "<ErrorLanguage>en_US</ErrorLanguage>";
$xmlRequest .= "<WarningLevel>High</WarningLevel>";
$xmlRequest .= "<Item>";
$xmlRequest .= "<Title>" . $addTitle . "</Title>";
$xmlRequest .= "<Description>" . $addDesc . "</Description>";
$xmlRequest .= "<PrimaryCategory>";
$xmlRequest .= "<CategoryID>" . $addCatID . "</CategoryID>";
$xmlRequest .= "</PrimaryCategory>";
$xmlRequest .= "<StartPrice>" . $addSPrice . "</StartPrice>";
$xmlRequest .= "<ConditionID>1000</ConditionID>";
$xmlRequest .= "<CategoryMappingAllowed>true</CategoryMappingAllowed>";
$xmlRequest .= "<BuyItNowPrice currencyID=\"USD\">" . $addSPrice . "</BuyItNowPrice>";
$xmlRequest .= "<Country>US</Country>";
$xmlRequest .= "<Currency>USD</Currency>";
$xmlRequest .= "<DispatchTimeMax>3</DispatchTimeMax>";
$xmlRequest .= "<ListingDuration>Days_7</ListingDuration>";
$xmlRequest .= "<ListingType>FixedPriceItem</ListingType>";
$xmlRequest .= "<PaymentMethods>PayPal</PaymentMethods>";
$xmlRequest .= "<PayPalEmailAddress>@gmail.com</PayPalEmailAddress>";
$xmlRequest .= "<PictureDetails>";
$xmlRequest .= "<PictureURL>" . $addPicture . "</PictureURL>";
$xmlRequest .= "</PictureDetails>";
$xmlRequest .= "<PostalCode>05485</PostalCode>";
$xmlRequest .= "<Quantity>1</Quantity>";
$xmlRequest .= "<ReturnPolicy>";
$xmlRequest .= "<ReturnsAcceptedOption>ReturnsAccepted</ReturnsAcceptedOption>";
$xmlRequest .= "<RefundOption>MoneyBack</RefundOption>";
$xmlRequest .= "<ReturnsWithinOption>Days_30</ReturnsWithinOption>";
$xmlRequest .= "<Description>" . $addDesc . "</Description>";
$xmlRequest .= "<ShippingCostPaidByOption>Buyer</ShippingCostPaidByOption>";
$xmlRequest .= "</ReturnPolicy>";
$xmlRequest .= "<ShippingDetails>";
$xmlRequest .= "<ShippingType>Flat</ShippingType>";
$xmlRequest .= "<ShippingServiceOptions>";
$xmlRequest .= "<ShippingServicePriority>1</ShippingServicePriority>";
$xmlRequest .= "<ShippingService>USPSMedia</ShippingService>";
$xmlRequest .= "<ShippingServiceCost>2.50</ShippingServiceCost>";
$xmlRequest .= "</ShippingServiceOptions>";
$xmlRequest .= "</ShippingDetails>";
$xmlRequest .= "<Site>US</Site>";
$xmlRequest .= "<UUID>" . $uuid . "</UUID>";
$xmlRequest .= "</Item>";
$xmlRequest .= "<RequesterCredentials>";
$xmlRequest .= "<eBayAuthToken>" . AUTH_TOKEN . "</eBayAuthToken>";
$xmlRequest .= "</RequesterCredentials>";
$xmlRequest .= "<WarningLevel>High</WarningLevel>";
$xmlRequest .= "</AddItemRequest>";
// define our header array for the Trading API call
// notice different headers from shopping API and SITE_ID changes to SITEID
$headers = array(
'X-EBAY-API-SITEID:'.SITEID,
'X-EBAY-API-CALL-NAME:AddItem',
'X-EBAY-API-REQUEST-ENCODING:'.RESPONSE_ENCODING,
'X-EBAY-API-COMPATIBILITY-LEVEL:' . API_COMPATIBILITY_LEVEL,
'X-EBAY-API-DEV-NAME:' . API_DEV_NAME,
'X-EBAY-API-APP-NAME:' . API_APP_NAME,
'X-EBAY-API-CERT-NAME:' . API_CERT_NAME,
'Content-Type: text/xml;charset=utf-8'
);
// initialize our curl session
$session = curl_init(API_URL);
// set our curl options with the XML request
curl_setopt($session, CURLOPT_HTTPHEADER, $headers);
curl_setopt($session, CURLOPT_POST, true);
curl_setopt($session, CURLOPT_POSTFIELDS, $xmlRequest);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
// execute the curl request
$responseXML = curl_exec($session);
// close the curl session
curl_close($session);
// return the response XML
return $responseXML;
}
?>
答案 0 :(得分:1)
因为您使用了错误的API调用,如果您想创建现在购买(仅限)项目,您应该使用“AddFixedPriceItem”调用
你可以在这里玩这个电话:https://ebay-sdk.intradesys.com/s/b53b3a3d6ab90ce0268229151c9bde11它应该使用你已经拥有的几乎相同的输入。
如果您想创建一个现在买它的拍卖物品选项,您可以继续调用addItem但是您需要在ItemObject中添加“BuyItNowPrice”对象