/** * @return ReportListItem[] */ public function getReportList() { $returnList = array(); //$request = new MarketplaceWebServiceProducts_Model_GetProductCategoriesForASINRequest(); $request = new \MarketplaceWebService_Model_GetReportListRequest(); $request->setMerchant($this->config->getMerchantId()); $request->setMarketplace($this->config->getMarketPlaceId()); $request->setMaxCount(100); $typeList = new \MarketplaceWebService_Model_TypeList(); $typeList->setType("_GET_MERCHANT_LISTINGS_DATA_"); $request->setReportTypeList($typeList); $response = $this->service->getReportList($request); var_dump($response); if ($response->isSetGetReportListResult()) { $getReportListResult = $response->getGetReportListResult(); $reportInfoList = $getReportListResult->getReportInfoList(); foreach ($reportInfoList as $reportInfo) { $report = new ReportListItem(); if ($reportInfo->isSetReportId()) { $report->setReportId($reportInfo->getReportId()); } if ($reportInfo->isSetReportType()) { $report->setReportType($reportInfo->getReportType()); } if ($reportInfo->isSetReportRequestId()) { $report->setReportRequestId($reportInfo->getReportRequestId()); } if ($reportInfo->isSetAvailableDate()) { $report->setAvailableDate($reportInfo->getAvailableDate()); } if ($reportInfo->isSetAcknowledged()) { $report->setAcknowledged($reportInfo->getAcknowledged()); } if ($reportInfo->isSetAcknowledgedDate()) { $report->setAcknowledgedDate($reportInfo->getAcknowledgedDate()); } $returnList[] = $report; } } return $returnList; }
function getAmazonNewOrders($with_header_message = true) { global $files; use_class('jng_sp_download'); $class_jd = new jng_sp_download(); $ready_path = SP_AMAZONEDE_DECRYPT_PATH; $archived_path = SP_AMAZONEDE_ARCHIVE_PATH; use_class('amazon/MarketplaceWebService/Client'); //MANDATORY CLASS use_class('amazon/MarketplaceWebService/Model/ErrorResponse'); //MANDATORY CLASS use_class('amazon/MarketplaceWebService/Model/GetReportRequest'); //FEED USED CLASS use_class('amazon/MarketplaceWebService/Model/GetReportResponse'); //FEED USED CLASS use_class('amazon/MarketplaceWebService/Model/GetReportListRequest'); //FEED USED CLASS use_class('amazon/MarketplaceWebService/Model/GetReportListResponse'); //FEED USED CLASS use_class('amazon/MarketplaceWebService/Model/TypeList'); //TYPE LIST CLASS $serviceUrl = "https://mws.amazonservices.de"; $aws_config = array('ServiceURL' => $serviceUrl, 'ProxyHost' => null, 'ProxyPort' => -1, 'MaxErrorRetry' => 3); $service = new MarketplaceWebService_Client(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, $aws_config, APPLICATION_NAME, APPLICATION_VERSION); $list = new MarketplaceWebService_Model_TypeList(); $list->setType('_GET_ORDERS_DATA_'); $report_from_date = new DateTime('-3 months', new DateTimeZone('UTC')); $report_to_date = new DateTime('now', new DateTimeZone('UTC')); $request = new MarketplaceWebService_Model_GetReportListRequest(); $request->setMerchant(MERCHANT_ID); $request->setMarketplace(MARKETPLACE_ID); $request->setAvailableToDate($report_to_date); $request->setAvailableFromDate($report_from_date); $request->setReportTypeList($list); $request->setAcknowledged(false); // echo"<pre>";var_dump($request);die(); $response = $service->getReportList($request); // echo"<pre>";var_dump($response);die(); if ($response->isSetGetReportListResult()) { if ($with_header_message) { echo "START DOWNLOADING NEW ORDERS FROM AMAZON PERIODE " . $report_from_date->format(DATE_ISO8601) . " TO " . $report_to_date->format(DATE_ISO8601) . "<br/>"; } $getReportListResult = $response->getGetReportListResult(); $reportInfoList = $getReportListResult->getReportInfoList(); if (count($reportInfoList) > 0) { $download_message = ' --- NO NEW ORDERS AVAILABLE ---<br/>'; foreach ($reportInfoList as $reportInfo) { if ($reportInfo->isSetReportId()) { $report_id = $reportInfo->getReportId(); $filename = date('Ymd') . '-' . $report_id . '.XML'; if (!$class_jd->isAlreadyDownloaded("jng_sp_id = 4 AND SUBSTRING_INDEX(filename, '-',-1) = '{$report_id}.XML'")) { $download_message = ''; echo " >> DOWNLOADING REPORT_ID: {$report_id} ... "; $fullpath_ready = $ready_path . $filename; $handle = fopen($fullpath_ready, 'w'); $request_report = new MarketplaceWebService_Model_GetReportRequest(); $request_report->setMarketplace(MARKETPLACE_ID); $request_report->setMerchant(MERCHANT_ID); $request_report->setReport($handle); $request_report->setReportId($report_id); $response_report = $service->getReport($request_report); echo "STREAMING XML {$filename} ... "; $archive_path_raw = $archived_path . 'raw/' . date('Y') . '/'; if (!file_exists($archive_path_raw)) { mkdir($archive_path_raw); } $fullpath_archive = $archive_path_raw . $filename; $class_jd->addDownload('4', 'ORDERS', $filename, 'R'); $files[] = $filename; fclose($handle); echo "PROCESS DONE<br/>"; } } } echo $download_message; } else { echo ' --- NO NEW ORDERS AVAILABLE ---<br/>'; } //LOOP MORE IF HAS NEXT NEW ORDERS if ($getReportListResult->isSetHasNext() && $getReportListResult->getHasNext()) { getAmazonNewOrders(false); } else { echo "DONE DOWNLOADING NEW ORDERS FROM AMAZON <br/>"; } } }