ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php – 未能使用亚马逊MWS Reports API获取财务交易报告

2019-06-28 22:26:50  阅读:977  来源: 互联网

标签:php amazon-web-services reporting-services amazon-mws


我使用亚马逊API超过2年,我对它非常熟悉.我正在尝试使用Reports的API从亚马逊请求并订购此“_GET_DATE_RANGE_FINANCIAL_TRANSACTION_DATA_”报告,并且它生成了ReportRequestID,但从未生成任何报告,我在过去3天内请求.
它的状态一直在提交,但从未更新为已完成状态.我也尝试过亚马逊ScratchPad.

我正在使用相同的报告API请求许多其他报告,它们完美无缺.
请告诉我是否有人遇到同样的问题.

这是我用来请求报告的代码:

     $sdate = new DateTime('-7 days', new DateTimeZone('UTC'));
     $startdate = $sdate->format("Y-m-d\T00:00:00P");

     $edate = new DateTime('-1 days', new DateTimeZone('UTC'));
     $enddate = $edate->format("Y-m-d\T23:59:59P");

     $AWS_ACCESS_KEY_ID = $pos['azn_access_key'];
     $AWS_SECRET_ACCESS_KEY = $pos['azn_secret_access_key'];
     $APPLICATION_NAME = $pos['azn_app_name'];
     $APPLICATION_VERSION = $pos['azn_app_version'];
     $MERCHANT_ID = $pos['azn_merchant_id'];
     $MARKETPLACE_ID = $pos['azn_marketplace_id'];
     $MERCHANT_TOKEN = $pos['azn_merchant_token'];
     $pos_name = $pos['nickname'];
     $pos_id = $pos['id'];
     $serviceURL = $pos['azn_service_url'];

     $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);

     $marketplaceIdArray = array("Id" => array($MARKETPLACE_ID));

     //Sends Report Request

     $parameters = array(
         'Merchant' => $MERCHANT_ID,
         'MarketplaceIdList' => $marketplaceIdArray,
         'ReportType' => '_GET_DATE_RANGE_FINANCIAL_TRANSACTION_DATA_',
         'ReportOptions' => 'ShowSalesChannel=true',
         'StartDate' => new DateTime($startdate, new DateTimeZone('UTC')),
         'EndDate' => new DateTime($enddate, new DateTimeZone('UTC')),
     );

     $request = new MarketplaceWebService_Model_RequestReportRequest($parameters);
     $request = new MarketplaceWebService_Model_RequestReportRequest();
     $request->setMarketplaceIdList($marketplaceIdArray);
     $request->setMerchant($MERCHANT_ID);
     $request->setReportType('_GET_DATE_RANGE_FINANCIAL_TRANSACTION_DATA_');
     $request->setReportOptions('ShowSalesChannel=true');

     $request->setStartDate(new DateTime($startdate, new DateTimeZone('UTC')));
     $request->setEndDate(new DateTime($enddate, new DateTimeZone('UTC')));

     $report_requestID = invokeRequestReport($service, $request);

解决方法:

无法通过API请求此报告.在请求报告时,< Scheduled>标签会告诉你它是否会被处理.对于GET_DATE_RANGE_FINANCIAL_TRANSACTION_DATA_报告,您将始终获得< Scheduled> false< / Scheduled>.

另一种方法是使用用户界面安排报告,但这使您只能选择月度报告,而不是自定义日期范围报告.

标签:php,amazon-web-services,reporting-services,amazon-mws
来源: https://codeday.me/bug/20190628/1320093.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有