作成されたレポートのIDを取得
リクエストパラメータ作成
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);
}
?>
最終更新:2011年11月02日 09:44