示例#1
0
/**
 * 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);
}
示例#2
0
文件: Client.php 项目: stephlanj/mws
 /**
  * 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;
 }