Я ищу, как запросить недокументированный API MWS для Сверка инвентаризации * Отчет 1002 * ( Список имен API для централизованных отчетов продавца ) с использованием C # Client Library или любые другие клиентские библиотеки, или использующие Amazon MWS Scratchpad - для последних мне неясны правила установки значений полей MarketplaceIdList.Id.1, StartDate, EndDate и ReportOptions:первые три поля, как я обычно делаю для других типов отчетов, и я оставляю поле ReportOptions пустым - и вызов API MWS через библиотеку C # для отчета _GET_FBA_RECONCILIATION_REPORT_DATA_ принимается, но в итоге он получает статус « Нет данных ».
ОБНОВЛЕНИЕ
Пример кода обходного пути для загрузки, запрошенного вручную через веб-сайт sellercentral.amazon.com. Последний отчет _GET_FBA_RECONCILIATION_REPORT_DATA_
с использованием MWS API C # Клиентская библиотека:
//private string ACCESS_KEY_ID => ...
//private string SECRET_ACCESS_KEY => ...
//private string MERCHANT_ID => ...
//private string MAKETPLACE_ID => ...
//private string APPLICATION_NAME => ...
//private string APPLICATION_VERSION => ...
public void DownloadMostRecentFBAInventoryReconciliationReport(string downloadedReportFullPath)
{
string reportId = "";
string reportType = "_GET_FBA_RECONCILIATION_REPORT_DATA_";
var config = new MarketplaceWebService.MarketplaceWebServiceConfig();
config.ServiceURL = "https://mws.amazonservices.com";
config.SetUserAgentHeader(APPLICATION_NAME, APPLICATION_VERSION, "C#");
var service = new MarketplaceWebService.MarketplaceWebServiceClient(ACCESS_KEY_ID, SECRET_ACCESS_KEY, config);
// find most recent report id for '_GET_FBA_RECONCILIATION_REPORT_DATA_' report type
{
var request = new MarketplaceWebService.Model.GetReportRequestListRequest();
request.Merchant = MERCHANT_ID;
request.ReportTypeList = new MarketplaceWebService.Model.TypeList();
request.ReportTypeList.Type.Add(reportType);
var response = service.GetReportRequestList(request);
foreach (MarketplaceWebService.Model.ReportRequestInfo info in response.GetReportRequestListResult.ReportRequestInfo)
{
if (!info.ReportProcessingStatus.Equals("_DONE_")) continue;
reportId = info.GeneratedReportId;
break;
}
}
// if most recent reportId found - download report's (.csv) data file into {{ downloadedReportFullPath }}
if (!string.IsNullOrEmpty(reportId))
{
var request = new MarketplaceWebService.Model.GetReportRequest();
request.Merchant = MERCHANT_ID;
request.ReportId = reportId;
request.Report = File.Open(downloadedReportFullPath, FileMode.OpenOrCreate, FileAccess.ReadWrite);
var response = service.GetReport(request);
}
}