Здравствуйте.
Кто-нибудь знает, как получить email покупателя через Ebay Api? И возможно ли это впринципе?
Разрабатываю web-приложение, которое должно получать данные с Ebay.
Интересует список заказов, из него пытаюсь получить список пользователей.
Использую php-sdk:
https://github.com/davidtsadler/ebay-sdk-php
Использую Trading Api, метод GetOrders:
developer.ebay.com/devzone/xml/docs/Reference/ebay...
Пример кода:
public function getOrders(){
$service = $this->getTradingService();
$args = array(
//"OrderStatus" => "Completed",
"OrderStatus" => "All",
"SortingOrder" => "Ascending",
"OrderRole" => "Seller",
//"CreateTimeFrom" => new \DateTime('2015-01-01'),
"CreateTimeFrom" => new \DateTime('2000-01-01'),
"CreateTimeTo" => new \DateTime(),
);
$request = new Types\GetOrdersRequestType($args);
$request->RequesterCredentials = new Types\CustomSecurityHeaderType();
$request->RequesterCredentials->eBayAuthToken = $this->userToken;
$request->IncludeFinalValueFee = true;
$request->Pagination = new Types\PaginationType();
$request->Pagination->EntriesPerPage = 100;
$pageNum = 1;
$orders = [];
do {
$request->Pagination->PageNumber = $pageNum;
$response = $service->getOrders($request);
if (isset($response->Errors)) {
$message = '';
foreach ($response->Errors as $error) {
$message .= $error->ShortMessage;
}
throw new Exception($message);
}
if ($response->Ack !== 'Failure' && isset($response->OrderArray)) {
foreach ($response->OrderArray->Order as $order) {
$orders[] = $order->toArray();
}
}
$pageNum += 1;
}
while(isset($response->OrderArray) && $pageNum <= $response->PaginationResult->TotalNumberOfPages);
return $orders;
}
Работает нормально, получаю заказ, адрес доставки и т.д.
Но Email покупателя не удается получить никак.
$orders[0]['ShippingAddress']['ExternalAddressID']
Пустая строка.
$orders[0]['TransactionArray']['Transaction'][0]['Buyer']['Email']
Строковое значение "Invalid Request"
Грешил на sdk, пробовал то же самое делать через Post запрос, тот же результат.
Пробовал через метод GetUser - все то же самое.
Похоже, что это связано с политикой приватности ebay.
Но, по-идее, для завершенных заказов должна быть возможность получить email.
Кто-нибудь сталкивался с подобным?
Заранее спасибо.