2

目前我有一个系统可以从 eBay 检索订单列表(使用GetOrdersAPI 调用)来进行一些处理。系统将显示订单列表供用户检查以将状态更新为已发货(使用CompleteSaleAPI 调用)。

我现在遇到的问题是使用 API 更新状态的过程有点慢,因为CompleteSale每个订单都会调用它(可能用户检查 1000 条记录以一次将状态更新为已发货)。是否可以在一次CompleteSale调用中发送多个项目,或者是否有其他 API 调用能够发送?

谢谢

4

1 回答 1

1

您只需将几个 ItemID 和 TransactionID 添加到这样的一个请求中(对于 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>';

我认为如果您改用 orderID,它也应该有效!请注意,您不能使用多个买家用户 ID(对于收件人)。仅使用 itemID/transactionID 对。

这是基于此处提供的 eBay PHP 示例代码:

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

只需将呼叫更改为您需要的!

希望这可以帮助!

于 2012-09-11T16:06:01.183 回答