GetReportRequestList

レポート作成リクエストの一覧を取得する。

MWSレポート作成チュートリアルの「事前準備」ができてること前提。

リクエストパラメータ作成

MarketplaceWebService_Model_GetReportRequestListRequestオブジェクトを作成する。
$request = new MarketplaceWebService_Model_RequestReportRequest();
$request->setMerchant(MERCHANT_ID);

ReportRequestIdの値を指定する場合

レポート作成時に取得したReportRequestIdの値を指定することができる。
その場合、他のリクエストパラメータに指定した条件は無視される。
$request->setReportRequestIdList('123456789');

ちなみにReportRequestIdを複数指定することもできる。(まわりくどくて面倒だが・・・)
$idList = array(
    '123456789'
  , '987654321'
  , '999999999'
);
$reportRequestIdList = new MarketplaceWebService_Model_IdList();
$reportRequestIdList->setId($idList);
$request->setReportRequestIdList($reportRequestIdList);

レポートの種類を指定する場合

$reportType = new MarketplaceWebService_Model_TypeList();
$reportType->setType('_GET_MERCHANT_LISTINGS_DATA_LITE_');
$request->setReportTypeList($reportType);
ちなみに、$reportType->setType()の引数に配列を渡すことで、複数の種類を指定することもできる。

その他のパラメータ

めんどいので試してない・・・。
// ReportProcessingStatusList
// レポートの処理ステータスを指定
// 値は、_SUBMITTED_、_IN_PROGRESS_、_CANCELLED_、_DONE_、_DONE_NO_DATA_
// デフォルトは全て

$request->setReportProcessingStatusList('_DONE_');

// 複数指定する場合は、MarketplaceWebService_Model_StatusListオブジェクトを作ってごにょごにょ

// MaxCount
// レスポンスで取得するレポートリクエストの最大数を1~100の間で指定。
// デフォルトは10

$request->setMaxCount(100);

// RequestedFromDate
// レポート作成リクエストを送信した日付範囲の開始日

$request->setRequestedFromDate(new DateTime('-7 day'));

// RequestedToDate
// レポート作成リクエストを送信した日付範囲の終了日

$request->setRequestedToDate(new DateTime('now'));

リクエストを送信

$response = $service->getReportRequestList($request);
$service はMarketplaceWebService_Clientオブジェクト。

レスポンスを確認

if ($response->isSetGetReportRequestListResult()) {
  $getReportRequestListResult = $response->getGetReportRequestListResult();
  $reportRequestInfoList = $getReportRequestListResult->getReportRequestInfoList();
  foreach ($reportRequestInfoList as $reportRequestInfo) {
    if ($reportRequestInfo->isSetReportRequestId()) {
      $reportRequestId = $reportRequestInfo->getReportRequestId();
    }
    if ($reportRequestInfo->isSetReportType()) {
      $reportType = $reportRequestInfo->getReportType();
    }
    if ($reportRequestInfo->isSetReportProcessingStatus()) {
      $reportRequestInfo->getReportProcessingStatus();
    }
  }
}
ReportRequestInfoの値が「_DONE_」になってれば、レポートの作成は完了。
対象のデータがなかった場合は「_DONE_NO_DATA」。


例)
<?php
require_once('.config.inc.php');

$serviceUrl = "https://mws.amazonservices.jp";
$config = array (
 'ServiceURL' => $serviceUrl,
 'ProxyHost' => null,
 'ProxyPort' => -1,
 'MaxErrorRetry' => 3,
);

$service = new MarketplaceWebService_Client(
    AWS_ACCESS_KEY_ID, 
    AWS_SECRET_ACCESS_KEY, 
    $config,
    APPLICATION_NAME,
    APPLICATION_VERSION
);

$reportRequestIdList = new MarketplaceWebService_Model_IdList();
$reportRequestIdList->setId('123456789');  // ReportRequestId

$request = new MarketplaceWebService_Model_GetReportRequestListRequest();
$request->setMerchant(MERCHANT_ID);
$request->setReportRequestIdList($reportRequestIdList);
try {
  $response = $service->getReportRequestList($request);
  if ($response->isSetGetReportRequestListResult()) {
    $getReportRequestListResult = $response->getGetReportRequestListResult();
    $reportRequestInfoList = $getReportRequestListResult->getReportRequestInfoList();
    foreach ($reportRequestInfoList as $reportRequestInfo) {
      print_r($reportRequestInfo);
    }
  }
} catch (MarketplaceWebService_Exception $ex) {
  print_r($ex);
}
?>

次はレポートのIDを取得(GetReportList


タグ:

MWS
最終更新:2011年11月02日 09:41
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。