レポート作成リクエストの一覧を取得する。
リクエストパラメータ作成
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);
}
?>
最終更新:2011年11月02日 09:41