Я использую API отчетов Amazon MWS, чтобы получать отзывы клиентов, используя тип отчета «_GET_SELLER_FEEDBACK_DATA_».
Но, к сожалению, там написано «статус отчета отменен». Используя Scratchpad для запроса этого отчета, он работает нормально.
Вот мой код:
$report_type = "_GET_SELLER_FEEDBACK_DATA_";
$config = array(
'ServiceURL' => "https://mws.amazonservices.co.uk",
'ProxyHost' => null,
'ProxyPort' => -1,
'MaxErrorRetry' => 3,
);
$service = new MarketplaceWebService_Client($AWS_ACCESS_KEY_ID, $AWS_SECRET_ACCESS_KEY, $config, $APPLICATION_NAME, $APPLICATION_VERSION);
$marketplaceIdArray = array("Id" => array($MARKETPLACE_ID));
//Sends Report Request
$request = new MarketplaceWebService_Model_RequestReportRequest();
$request->setMarketplaceIdList($marketplaceIdArray);
$request->setMerchant($MERCHANT_ID);
$request->setReportType($report_type);
$request->setReportOptions('ShowSalesChannel=true');
$request->setStartDate(new DateTime('-90 Days', new DateTimeZone('UTC')));
$report_request_id = invokeRequestReport($service, $request);
Методы класса API отчетов invokeReportRequest()
, invokeGetReportRequestList()
, invokeGetReportList()
а также invokeGetReport()
не изменены мной.
Amazon принимает ваш запрос на получение отчета, но затем отказывается предоставить его. Я не уверен, есть ли способ получить какое-либо значимое сообщение об ошибке из MWS, но из прошлого опыта такого рода вещи случаются, когда ваш запрос технически действителен, но имеет логическую ошибку некоторых типов (например, вы отправляете XML файл, который проверяет XSD, но содержит цены на товары, которые не являются частью вашего инвентаря)
Я не проверял это, но, глядя на документы API (Справочник по MWS Reports API стр. 46) кажется, что ShowSalesChannel
не является действительным ReportOption
за _GET_SELLER_FEEDBACK_DATA_
отчеты (кажется, что это разрешено только в отчетах о заказах, а получение отзывов от продавцов не поддерживает любой ReportOption). Поэтому, пожалуйста, попробуйте и удалите
$request->setReportOptions('ShowSalesChannel=true');
из вашего кода и посмотрим, что произойдет.
Других решений пока нет …