Вызов CompleteSale API eBay для нескольких товаров

В настоящее время у меня есть система, которая извлекает список заказов с eBay (используя вызов API GetOrders) для выполнения некоторой обработки. Система отобразит список заказов, которые пользователи должны проверить, чтобы обновить статус до «Отправлено» (используя вызов API CompleteSale).

Проблема, с которой я столкнулся сейчас, заключается в том, что процесс обновления статуса с использованием API довольно медленный, потому что CompleteSale вызывается для каждого заказа (возможно, что пользователь проверяет 1000 записей, чтобы обновить статус до «Отправлено» за один раз). Можно ли отправить несколько элементов за один вызов CompleteSale или есть другие вызовы API, которые могут это сделать?

Спасибо


person Steven Tang Ti Khoon    schedule 10.09.2012    source источник


Ответы (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>';

Я думаю, что это также должно работать, если вместо этого вы используете идентификаторы заказов! Имейте в виду, что вы не можете использовать несколько идентификаторов покупателя (для получателя). Используйте только пары itemID/transactionID.

Это основано на приведенном здесь примере кода eBay PHP:

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

Просто измените вызов на то, что вам нужно!

Надеюсь это поможет!

person ddillert    schedule 11.09.2012
comment
Спасибо за образец!! :) я проверю это!! - person Steven Tang Ti Khoon; 12.09.2012