1

I'm looking how to query undocumented MWS API for Inventory Reconciliation report (List of api names for seller central fulfillment reports ) using C# Client Library or any other client libraries, or using Amazon MWS Scratchpad - for the latter the rules to set the values of the fields MarketplaceIdList.Id.1, StartDate, EndDate and ReportOptions are unclear for me: I'm setting the first three fields as I usually do for the other report types and I leave the ReportOptions field empty - and the MWS API call via C# library for _GET_FBA_RECONCILIATION_REPORT_DATA_ report is accepted but it finally gets 'No Data Available' status.

UPDATE

Sample workaround code to download manually requested via sellercentral.amazon.com web site most recent _GET_FBA_RECONCILIATION_REPORT_DATA_ report using MWS API C# Client library:

    //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);
        }
    }
ShamilS
  • 1,410
  • 2
  • 20
  • 40
  • I would post this to the MWS support team. Maybe ReportOptions contains something you need. I wasn't even aware of undocumented reports. If you could post some code, it would probably help to paint a picture of your request. https://sellercentral.amazon.com/gp/mws/contactus.html – ScottG Oct 08 '18 at 14:15
  • @ScottG Thank you for your note. The code I'm using here is within a custom commercial app with code copyright belonging to my customer. The Amazon FBA Inventory Reconciliation report is only planned to be used by my customer. They decided to wait till requesting this report via MWS API will be officially documented. Meanwhile it's possible to request this report generation manually via sellercentral.amazon.com and then download it via MWS API/client C# library. I will post the workaround code here in a few minutes. – ShamilS Oct 14 '18 at 17:08
  • Any updates on this? I've tried repeatedly to generate the _GET_FBA_RECONCILIATION_REPORT_DATA_ report and all I get back is _DONE_NO_DATA_. Did Amazon remove support for this report? – Samuel Rosenstein Jan 20 '20 at 18:21

0 Answers0