亚马逊商城网络服务(亚马逊MWS)是一个集成的Web服务API,可帮助亚马逊卖家以编程方式交换列表,订单,付款,报告等数据。
在亚马逊 MWS 上调用 ListOrders 时多个订单丢失
我使用 cron 作业从亚马逊账户退回订单,它在 2~3 周内运行良好。确实,订单比平时多(由于圣诞节前),看起来像 cron
我正在尝试根据亚马逊 MWS https://images-na.ssl-images-amazon.com/images/G/01/mwsportal/doc/en_US/bde/MWSAuthToken 的最新请求检索所有 MWSAuthToken .V325056062.pdf 我补充...
亚马逊 MWS |安息夏普 |我们计算出的请求签名与您提供的签名不符
我编写了以下方法来从亚马逊获取所有订单。我正在使用 RestSharp 库与 API 进行通信。每次执行请求时,我都会收到以下错误: 我写了以下method来获取Amazon的所有订单。我正在使用 RestSharp 库与 API 进行通信。每次执行request我都会收到以下错误: <?xml version="1.0"?> <ErrorResponse xmlns="https://mws.amazonservices.com/Orders/2013-09-01"> <Error> <Type>Sender</Type> <Code>SignatureDoesNotMatch</Code> <Message>The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing method. Consult the service documentation for details.</Message> </Error> <RequestID>9f03f5b0-e4e4-4766-a554-00ff970b6b8c</RequestID> </ErrorResponse> 这很奇怪,因为在Amazon Scratchpad(https://mws.amazonservices.de/scratchpad/index.html)上它正在工作,我也得到相同的signature(当我使用计算的时间戳时Scratchpad)在我的c#应用程序中。 C#类 public async void FetchOrders() { RestClient client = new RestClient("https://mws.amazonservices.de"); client.DefaultParameters.Clear(); client.ClearHandlers(); Dictionary<string, string> parameters = new Dictionary<string, string>(); parameters.Add("AWSAccessKeyId", "xxxxxxxxxx"); parameters.Add("Action", "ListOrders"); parameters.Add("CreatedAfter", "2018-01-01T11:34:00Z"); parameters.Add("MarketplaceId.Id.1", "A1PA6795UKMFR9"); parameters.Add("SellerId", "xxxxxxxxx"); parameters.Add("SignatureVersion", "2"); parameters.Add("Timestamp", DateTime.UtcNow.ToString("s") + "Z"); parameters.Add("Version", "2013-09-01"); RestRequest request = new RestRequest("Orders/2013-09-01/", Method.POST); string signature = AmzLibrary.SignParameters(parameters, "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"); request.AddParameter("Signature", signature); foreach (KeyValuePair<string, string> keyValuePair in parameters) { request.AddParameter(keyValuePair.Key, keyValuePair.Value); } IRestResponse result = await client.ExecuteTaskAsync(request); } public static class AmzLibrary { public static string GetParametersAsString(IDictionary<String, String> parameters) { StringBuilder data = new StringBuilder(); foreach (String key in (IEnumerable<String>)parameters.Keys) { String value = parameters[key]; if (value != null) { data.Append(key); data.Append('='); data.Append(UrlEncode(value, false)); data.Append('&'); } } String result = data.ToString(); return result.Remove(result.Length - 1); } public static String SignParameters(IDictionary<String, String> parameters, String key) { String signatureVersion = parameters["SignatureVersion"]; KeyedHashAlgorithm algorithm = new HMACSHA1(); String stringToSign = null; if ("2".Equals(signatureVersion)) { String signatureMethod = "HmacSHA256"; algorithm = KeyedHashAlgorithm.Create(signatureMethod.ToUpper()); parameters.Add("SignatureMethod", signatureMethod); stringToSign = CalculateStringToSignV2(parameters); } else { throw new Exception("Invalid Signature Version specified"); } return Sign(stringToSign, key, algorithm); } private static String CalculateStringToSignV2(IDictionary<String, String> parameters) { StringBuilder data = new StringBuilder(); IDictionary<String, String> sorted = new SortedDictionary<String, String>(parameters, StringComparer.Ordinal); data.Append("POST"); data.Append("\n"); Uri endpoint = new Uri("https://mws.amazonservices.de/Orders/2013-09-01"); data.Append(endpoint.Host); if (endpoint.Port != 443 && endpoint.Port != 80) { data.Append(":") .Append(endpoint.Port); } data.Append("\n"); String uri = endpoint.AbsolutePath; if (uri == null || uri.Length == 0) { uri = "/"; } data.Append(UrlEncode(uri, true)); data.Append("\n"); foreach (KeyValuePair<String, String> pair in sorted) { if (pair.Value != null) { data.Append(UrlEncode(pair.Key, false)); data.Append("="); data.Append(UrlEncode(pair.Value, false)); data.Append("&"); } } String result = data.ToString(); return result.Remove(result.Length - 1); } private static String UrlEncode(String data, bool path) { StringBuilder encoded = new StringBuilder(); String unreservedChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.~" + (path ? "/" : ""); foreach (char symbol in System.Text.Encoding.UTF8.GetBytes(data)) { if (unreservedChars.IndexOf(symbol) != -1) { encoded.Append(symbol); } else { encoded.Append("%" + String.Format("{0:X2}", (int)symbol)); } } return encoded.ToString(); } private static String Sign(String data, String key, KeyedHashAlgorithm algorithm) { Encoding encoding = new UTF8Encoding(); algorithm.Key = encoding.GetBytes(key); return Convert.ToBase64String(algorithm.ComputeHash( encoding.GetBytes(data.ToCharArray()))); } } 问题是 Request 末尾的 "/"。删除它,一切正常。 错了 RestRequest request = new RestRequest("Orders/2013-09-01/", Method.POST); 对 RestRequest request = new RestRequest("Orders/2013-09-01", Method.POST);
我正在调用亚马逊 MWS 服务来更新商品数量,但是当我调用“GetGetFeedSubmissionResult”以了解状态时,它返回了错误。我不知道这里有什么问题。 子...
我使用了亚马逊 MWS 市场网络服务订单获取订单 API。 我配置正确。但得到类似“捕获异常:访问被拒绝响应状态代码:401错误代码:
XML 错误:在第 8 行(或附近)第 18 列的 Amazon Envelope XML 级别格式错误
我正在尝试使用 Amazon MWS(在 php 中)在 Amazon.de 市场上上传产品提要,但收到错误消息“您提交的 XML 在第 8 行(或附近)的 Amazon Envelope XML 级别格式不正确,colu ...
InputDataError Amazon MSW Java
我正在尝试下载包含亚马逊 MWS Java 示例的报告。我制作了请求报告,然后制作了获取报告请求列表。答案是它已经完成但是当我试图调用 get 时......
AMTU(Amazon Transport Utility)崩溃且服务未运行
在 Windows 7 Pro 机器上运行 AMTU 时出现问题。 打开时它运行良好,但运行几天后就崩溃了。 这是崩溃报告。 2013-09-14 09:48:19,482 [pool-3-thread-3...
要检索 FBA 订单,我使用 _GET_AMAZON_FULFILLED_SHIPMENTS_DATA_ 报告。但我经常错过订单。 亚马逊 MWS 文档提到了这一点: 注意:在日本、欧盟和北美,大多数...
我想以与使用 MarketplaceWebService 处理亚马逊报告类似的方式从 C# 访问 MWS Inbound Shipments API 但我不知道该怎么做。 例如,我该如何做这个电话表格...
我是亚马逊 FBA 卖家,我想开始使用亚马逊 MWS 以更自动化的流程上传有关我的销售的数据。我刚刚创建了一个亚马逊 MWS 帐户并收到了不同的 ID(A...
我正在尝试查询 Aazon MWS 以获取 ASIN 的产品价格。但我无法在 Google Apps 脚本中转换查询,因此我可以使用 UrlFetchApp。请帮忙。 http://docs.dev...
我正在使用 Marketplace Web Service API (MWS) 为亚马逊的卖家开发一个应用程序。 卖家创建了一个账户来管理他的库存,并说他分配了必要的
任何人都知道如何使用亚马逊 MWS api 更新亚马逊产品价格。 我已经使用提要提交通过 MWS Scratchpad 更新了我的产品,但我不知道如何将 XML 提要发送到亚马逊。
Amazon Marketplace FBA API 连接问题 - 返回错误“卖家未注册基本履行”
我们正在尝试为 MWS 构建自定义内部解决方案,以便我们可以使用亚马逊 FBA。我们在美国和欧盟都有专业的账户设置,我们已经三重检查账户是否已注册...
我正在尝试从 Amazon Web Services 调用 GetAuthToken: http://docs.developer.amazonservices.com/en_US/auth_token/AuthToken_GetAuthToken.html 我检查了 C# 客户端库,但找不到
我们一直在尝试使用 API 自动执行从 Amazon Vendor Central 门户下载 COOP Deductions 的过程。 尝试过 Python 中可用的“sp_api.api”包。然而我...
每当我将任何客户从 MWS 迁移到 SP 时,我都会收到“不存在 MWS 授权”错误。对我来说情况不同如果我迁移欧盟地区连接那么它的工作......
我正在开发一个库存控制系统,客户希望将他们的列表导出到他们的亚马逊商城账户。到目前为止,我已经遇到了 SubmitFeed 端点。然而,所有的考试...