GetReportList

作成されたレポートのIDを取得

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

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

MarketplaceWebService_Model_GetReportListRequestオブジェクトを作成する。
$request = new MarketplaceWebService_Model_GetReportListRequest();
$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()の引数に配列を渡すことで、複数の種類を指定することもできる。

その他のパラメータ

めんどいので試してない・・・。
// MaxCount
// レスポンスで取得するレポートリクエストの最大数を1~100の間で指定。
// デフォルトは10

$request->setMaxCount(100);

// AvailableFromDate
// レポート作成が完了した日付範囲の開始日?
// デフォルトは90日前

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

// AvailableToDate
// レポート作成が完了した日付範囲の終了日?
// デフォルトは現在

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

// Acknowledged
// よくわからん・・・。注文レポートのみ有効。

$request->setAcknowledged(true);

リクエストを送信

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

レスポンスを確認

if ($response->isSetGetReportListResult()) {
  $getReportListResult = $response->getGetReportListResult();
  $reportInfoList = $getReportListResult->getReportInfoList();
  foreach ($reportInfoList as $reportInfo) {
    if ($reportInfo->isSetReportId()) {
      $reportId = $reportInfo->getReportId();
    }
    if ($reportInfo->isSetReportType()) 
      $reportRequestId = $reportInfo->getReportRequestId();
    }
  }
}
レポートをダウンロードする際は、$reportInfo->getReportId() の値が必要。

例)
<?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
);

$reportType = new MarketplaceWebService_Model_TypeList();
$reportType->setType('_GET_MERCHANT_LISTINGS_DATA_LITE_');

$request = new MarketplaceWebService_Model_GetReportListRequest();
$request->setMerchant(MERCHANT_ID);
$request->setReportTypeList($reportType);

try {
  $response = $service->getReportList($request);
  if ($response->isSetGetReportListResult()) {
    $getReportListResult = $response->getGetReportListResult();
    $reportInfoList = $getReportListResult->getReportInfoList();
    foreach ($reportInfoList as $reportInfo) {
      print_r($reportInfo);
    }
  }
} catch (MarketplaceWebService_Exception $ex) {
 print_r($ex);
}
?>

次はいよいよレポートのダウンロード(GetReport


タグ:

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

下から選んでください:

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