販売日数と販売日数の間に売上高があり、販売数量があるすべてのSKUの一覧が必要です。私は何をすべきか混乱しています。このためにAmazon MWS Order APIを使用するのか、それともReport APIを使用すべきですか?誰かが、レポートが要求され、さらなる処理、つまりデータベースにデータを保存するために私の最後にダウンロードされる方法を示すC#コードを持っていますか? ご協力いただければ幸いです。SKU番号と総販売数量を取得するためのAmazon Order APIまたはReport API?
p.s.私は大量のデータを持っています
更新:私はこのコードを書いて、レポートタイプを取得してデータを保存しました。今
private const string targetRptType = "_GET_CONVERGED_FLAT_FILE_ORDER_REPORT_DATA_";
try
{
RequestReportRequest reportRequestRequest = new RequestReportRequest();
reportRequestRequest.Merchant = merchantId;
reportRequestRequest.ReportType = targetRptType;
reportRequestRequest.StartDate = DateTime.Now.AddDays(-3);
reportRequestRequest.EndDate = DateTime.Now;
MarketplaceWebServiceConfig config = new MarketplaceWebServiceConfig();
config.ServiceURL = "https://mws.amazonservices.com";
MarketplaceWebService.MarketplaceWebService service = new MarketplaceWebServiceClient(accessKeyId, secretAccessKey, applicationName, applicationVersion, config);
RequestReportResponse requestResponse = service.RequestReport(reportRequestRequest);
Thread.Sleep(15000);
Response.Write(requestResponse.RequestReportResult.ReportRequestInfo.ReportProcessingStatus);
GetReportRequestListRequest reportRequestListRequest = new GetReportRequestListRequest();
reportRequestListRequest.Merchant = merchantId;
List<ReportRequestInfo> myListzz = new List<ReportRequestInfo>();
GetReportRequestListResponse reportRequestListResponse = new GetReportRequestListResponse();
reportRequestListResponse = service.GetReportRequestList(reportRequestListRequest);
GetReportRequestListResult reportRequestListResult = new GetReportRequestListResult();
reportRequestListResult = reportRequestListResponse.GetReportRequestListResult;
myListzz = reportRequestListResult.ReportRequestInfo;
while (myListzz[0].ReportProcessingStatus.ToString() != "_DONE_")
{
Thread.Sleep(20000);
reportRequestListResponse = service.GetReportRequestList(reportRequestListRequest);
reportRequestListResult = reportRequestListResponse.GetReportRequestListResult;
myListzz = reportRequestListResult.ReportRequestInfo;
}
GetReportListRequest listRequest = new GetReportListRequest();
listRequest.Merchant = merchantId;
listRequest.ReportRequestIdList = new IdList();
listRequest.ReportRequestIdList.Id.Add(requestResponse.RequestReportResult.ReportRequestInfo.ReportRequestId);
GetReportListResponse listResponse = service.GetReportList(listRequest);
//MessageBox.Show(listResponse.GetReportListResult.ReportInfo.ToString());
GetReportListResult getReportListResult = listResponse.GetReportListResult;
GetReportRequest reportRequest = new GetReportRequest();
reportRequest.Merchant = merchantId;
reportRequest.WithReportId(getReportListResult.ReportInfo[0].ReportId);
GetReportResponse reportResponse = new GetReportResponse();
try
{
reportRequest.Report = File.Open("C:\\AmazonReport.csv", FileMode.OpenOrCreate, FileAccess.ReadWrite); // Getting error access to path denied
reportResponse = service.GetReport(reportRequest);
}
catch (MarketplaceWebServiceException exe)
{
Response.Write(exe);
}
StreamReader sr = new StreamReader(reportRequest.Report);
Response.Write(sr.ReadToEnd());
sr.Close();
}
catch (MarketplaceWebServiceException ex)
{
Response.Write(ex.Message);
}
を「パスへのアクセスが拒否される」エラーが誰でも自分のコードをチェックして、このレポートからデータを取得するための正しい方法であれば提案してくださいことはできますか?私はまだレポートを保存することができません。私はパスを変更し、現在エラーがなくなっていると、ファイルが作成されますが、それは2つのレコードを持つだけで1キロバイトのファイルである
UPDATE 2
...それは完全なデータをフェッチされていないように見えます。コードが正しいかどうかはわかりません。スクラッチパッドでこれを確認するhttps://mws.amazonservices.com/scratchpad/index.html
はい、私は同意します。最初はOrders APIを使用していましたが、これは常に多くの時間がかかり、調整エラーが発生し、何度もデータを取得しませんでした。レポートAPIを使用してすべての面倒を解決するように勧められた人もいます。私はそれに取り組んでいます - 彼らは材料がありますが、私はC#で物事を書く方法としてコード例を探していました。わかりやすいものを見つけられなかったので、誰かがすでに働いていて、いくつかのインプット/提案があるかどうか疑問に思っています。とにかくリンクをありがとう。 – user1254053
私はReport APIから販売データを取得することに固執しています。_GET_FLAT_FILE_ORDERS_DATA_からデータを取得し、データを取得する方法を説明する簡単なC#コードサンプルを探したいと思います。 – user1254053
また、「レポートに要求されてダウンロードされた方法を示すコードが誰にもありますか?」 – user1254053