Amazonさんにレポートを作ってもらうリクエストを送信。
リクエストパラメータ作成
MarketplaceWebService_Model_RequestReportRequestオブジェクトを作成する。
$request = new MarketplaceWebService_Model_RequestReportRequest();
$request->setMarketplace(MARKETPLACE_ID);
$request->setMerchant(MERCHANT_ID);
作成するレポートの種類は、リクエストクラスのsetReportTypeメソッドで指定する。
指定する値は
ReportType列挙子参照。
$request->setReportType('_GET_MERCHANT_LISTINGS_DATA_');
注文レポートとかの場合は処理対象の日付範囲も指定する。
(指定しなかった場合は、リクエスト送信日がデフォルト)
$timezone = new DateTimeZone('Asia/Tokyo');
$request->setStartDate(new DateTime('-7 day', $timezone));
$request->setEndDate(new DateTime('now', $timezone));
リクエストを送信
$response = $service->requestReport($request);
$service はMarketplaceWebService_Clientオブジェクト。
レスポンスを確認
ReportProcessingStatusの値が「_SUBMITTED_」になってれば成功。
次の段階で必要なReportRequestIdの値をしっかり保持しとく。
if ($response->isSetRequestReportResult()) {
$requestReportResult = $response->getRequestReportResult();
if ($requestReportResult->isSetReportRequestInfo()) {
$reportRequestInfo = $requestReportResult->getReportRequestInfo();
if ($reportRequestInfo->isSetReportProcessingStatus()) {
$reportProcessingStatus = $reportRequestInfo->getReportProcessingStatus();
}
// 省略するけど、ほんとはここで$reportProcessingStatus の値をチェック。
if ($reportRequestInfo->isSetReportRequestId()) {
$reportRequestId = $reportRequestInfo->getReportRequestId();
}
}
}
例)
<?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
);
$request = new MarketplaceWebService_Model_RequestReportRequest();
$request->setMarketplace(MARKETPLACE_ID);
$request->setMerchant(MERCHANT_ID);
$request->setReportType('_GET_MERCHANT_LISTINGS_DATA_');
try {
$response = $service->requestReport($request);
if ($response->isSetRequestReportResult()) {
$requestReportResult = $response->getRequestReportResult();
print_r($requestReportResult);
}
} catch (MarketplaceWebService_Exception $ex) {
print_r($ex);
}
?>
最終更新:2011年11月02日 09:41