亚马逊费用API交易摘要

时间:2014-02-10 15:12:20

标签: amazon

我正在使用亚马逊商城网络服务订单API:

https://developer.amazonservices.com/gp/mws/api.html/181-8217517-6357550?ie=UTF8&group=orders&section=orders&version=latest

是否有亚马逊的交易摘要API?

我想准确计算亚马逊费用:

亚马逊费用(可变结算费,佣金) 送货服务费

是否有API我可以获得这些确切的金额?

2 个答案:

答案 0 :(得分:3)

是的,您可以通过使用MWS Reports API检索结算报告来获取此信息。它们以XML或平面文件格式提供。

以下是有关和解报告的一般信息: http://www.amazon.com/gp/help/customer/display.html?nodeId=200253140

以下是结算报告的不同MWS报告类型枚举: http://docs.developer.amazonservices.com/en_US/reports/Reports_ReportType.html#ReportTypeCategories__SettlementReports

答案 1 :(得分:0)

我使用Finances API获取费用信息(Amazon Documentation)。对于我需要做的事情,我使用了ListFinancialEvents操作(Amazon Documentation)。使用此端点,您将拥有多个过滤器。在我看来,最有用的是PostAfter,PostBefore和AmazonOrderID。测试和查看响应模式的一种好方法是使用Scratchpad

您没有提到您使用哪种语言进行编程,因此下一部分可能不适用于您,但是如果您使用c#,建议您使用亚马逊c# library。您将需要下载finances库(并使用dist文件夹中的dll)。该库还包含必需的MWSClientCsRuntime-1.0.dll。

有些代码可能对您有用,也可能对您没有帮助。

    public ListFinancialEventsResult GetOrderFeesByPostedDateRange(DateTime postedAfter, DateTime postedBefore)
    {
        var config = new MWSFinancesServiceConfig();
        config.ServiceURL = "https://mws.amazonservices.com";
        var client = new MWSFinancesServiceClient(AccessKey, SecretKey, AppName, AppVersion, config);
        try
        {
            var request = new MWSFinancesService.Model.ListFinancialEventsRequest();
            request.PostedAfter = postedAfter;
            request.PostedBefore = postedBefore;
            request.SellerId = SellerId;

            var response = client.ListFinancialEvents(request);
            return response.ListFinancialEventsResult;

        }
        catch (MWSFinancesServiceException ex)
        {
            MWSFinancesService.Model.ResponseHeaderMetadata responseHeaderMetatData = ex.ResponseHeaderMetadata;
            File.AppendAllText(ErrorLog, "----- SERVICE EXCEPTION -----" + Environment.NewLine);

            if (responseHeaderMetatData != null)
            {
                File.AppendAllText(ErrorLog, "     - RequestID: " + responseHeaderMetatData.RequestId + Environment.NewLine);
                File.AppendAllText(ErrorLog, "     - Timestamp: " + responseHeaderMetatData.Timestamp + Environment.NewLine);
            }

            File.AppendAllText(ErrorLog, "     - Message: " + ex.Message + Environment.NewLine);
            File.AppendAllText(ErrorLog, "     - StatusCode: " + ex.StatusCode + Environment.NewLine);
            File.AppendAllText(ErrorLog, "     - ErrorCode: " + ex.ErrorCode + Environment.NewLine);
            File.AppendAllText(ErrorLog, "     - ErrorType: " + ex.ErrorType + Environment.NewLine + Environment.NewLine);
            throw;
        }
    }