/** * Requests the initial inventory reports from amazon. * * Stores the request ID returned from Amazon in a cache file, * and in the case of Amazon CA actually requests both reports * needed to make the completed comparison form. * * @param object $service * @param string $region * @param array $creds * @return void */ function do_request(MarketplaceWebService_Interface $service, $region, $creds) { // Create the request object to retrieve full inventory listing. $request = new MarketplaceWebService_Model_RequestReportRequest(); $request->setMerchant($creds['merchant_id']); $request->setReportType('_GET_MERCHANT_LISTINGS_DATA_'); $request->setReportOptions('ShowSalesChannel=true'); // Request report and retrieve request ID. $requestID .= $region . "\t" . Request_Report($request, $service) . "\n"; if ($region == 'ca') { // Create the request object to retrieve full inventory listing. $request = new MarketplaceWebService_Model_RequestReportRequest(); $request->setMerchant($creds['merchant_id']); $request->setReportType('_GET_FLAT_FILE_OPEN_LISTINGS_DATA_'); $request->setReportOptions('ShowSalesChannel=true'); // Request report and retrieve request ID. $requestID .= $region . " asin\t" . Request_Report($request, $service) . "\n"; } file_put_contents(CACHE_REQ_FILE . $region, $requestID); }
/** * Convert RequestReportRequest to name value pairs * @param MarketplaceWebService_Model_RequestReportRequest $request * @return array */ private function convertRequestReport($request) { $parameters = array(); $parameters['Action'] = 'RequestReport'; if ($request->isSetMarketplace()) { $parameters['Marketplace'] = $request->getMarketplace(); } if ($request->isSetMerchant()) { $parameters['Merchant'] = $request->getMerchant(); } if ($request->isSetMarketplaceIdList()) { $marketplaceIdList = $request->getMarketplaceIdList(); foreach ($marketplaceIdList->getId() as $idIndex => $id) { $parameters['MarketplaceIdList.Id.' . ($idIndex + 1)] = $id; } } if ($request->isSetReportType()) { $parameters['ReportType'] = $request->getReportType(); } if ($request->isSetStartDate()) { $parameters['StartDate'] = $this->getFormattedTimestamp($request->getStartDate()); } if ($request->isSetEndDate()) { $parameters['EndDate'] = $this->getFormattedTimestamp($request->getEndDate()); } if ($request->isSetReportOptions()) { $parameters['ReportOptions'] = $request->getReportOptions(); } if ($request->isSetMWSAuthToken()) { $parameters['MWSAuthToken'] = $request->getMWSAuthToken(); } return array(CONVERTED_PARAMETERS_KEY => $parameters, CONVERTED_HEADERS_KEY => $this->defaultHeaders); }
public function requestReport_v2($ReportType) { WPLA()->logger->info('requestReport_v2()'); $this->initAPI(); $marketplaceIdArray = array("Id" => array($this->MarketplaceId)); $request = new MarketplaceWebService_Model_RequestReportRequest(); $request->setMerchant($this->SellerId); $request->setMarketplaceIdList($marketplaceIdArray); $request->setReportType($ReportType); // $request->setReportOptions('ShowSalesChannel=true'); $result = $this->invokeRequestReport($this->service, $request); return $result; }