我正在使用亚马逊商城网络服务订单API:
是否有亚马逊的交易摘要API?
我想准确计算亚马逊费用:
亚马逊费用(可变结算费,佣金) 送货服务费
是否有API我可以获得这些确切的金额?
答案 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;
}
}