2012-09-10 66 views
2

目前我有一個系統可以從Ebay(使用GetOrders API調用)檢索訂單列表來執行一些處理。系統將顯示用戶檢查以將狀態更新爲已發貨(使用CompleteSale API調用)的訂單列表。用於多個項目的CompleteSale Ebay API

我現在遇到的問題是,使用API​​更新狀態的過程比較慢,因爲每個訂單都要調用CompleteSale(可能是用戶檢查1000條記錄以將狀態更新爲一次發貨) 。是否可以在一個CompleteSale調用中發送多個項目,或者是否有其他可以調用的API調用?

感謝

回答

1

您只需添加幾ItemIDs和TransactionIDs一個請求,像這樣(爲PHP)

$item_id_1 = 1234567890; 
$item_id_2 = 0987654321; 
$feedback = 'Thanks for a smooth transaction!'; 

$transaction_id_1 = 771234567819; 
$transaction_id_2 = 770987654319; 

$requestXmlBody = '<?xml version="1.0" encoding="utf-8" ?>'; 
$requestXmlBody .= '<CompleteSaleRequest xmlns="urn:ebay:apis:eBLBaseComponents">'; 

$requestXmlBody .= "<ItemID>$item_id_1</ItemID>"; 
$requestXmlBody .= "<ItemID>$item_id_2</ItemID>"; 

$requestXmlBody .= "<FeedbackInfo>"; 
$requestXmlBody .= "<CommentText>$feedback_text</CommentText>"; 
$requestXmlBody .= "<CommentType>Positive</CommentType>"; 
$requestXmlBody .= "</FeedbackInfo>"; 

$requestXmlBody .= "<Shipped>true</Shipped>"; 
$requestXmlBody .= "<TransactionID>$transaction_id_1</TransactionID>"; 
$requestXmlBody .= "<TransactionID>$transaction_id_2</TransactionID>"; 

$requestXmlBody .= "<RequesterCredentials><eBayAuthToken>$userToken</eBayAuthToken></RequesterCredentials>"; 
$requestXmlBody .= '</CompleteSaleRequest>'; 

我覺得如果你使用orderIDs相反,它也應努力!請注意,您不能使用多個buyerUserID(針對收件人)。只使用itemID/transactionID對。

這是基於在這裏下車提供eBay的PHP代碼示例:

https://ebay.custhelp.com/app/answers/detail/a_id/1876/~/getorders-php-code-sample

只要改變調用你需要的東西!

希望這會有所幫助!

+0

感謝您的示例! :)我會測試它! –

+1

我嘗試使用多個訂單ID,但它似乎不起作用。 – ddillert