amazon-mws 相关问题

亚马逊商城网络服务(亚马逊MWS)是一个集成的Web服务API,可帮助亚马逊卖家以编程方式交换列表,订单,付款,报告等数据。

亚马逊产品API - 使用API从亚马逊搜索所有产品

寻找亚马逊官方API,可以为我们提供亚马逊的产品数据、畅销产品、趋势、关键词研究等,专门针对按需打印(Merch By amazon)产品。我们...

回答 1 投票 0

亚马逊 MWS 订单 API - 检查订单是否已退款

这是我通过使用 Action=GetOrder 调用 /Orders 获得的示例响应。 +“订单”:数组:100 [▼ 0 => SimpleXMLElement {#491 ▼ +“最新发货日期”:“1970-01-01T00:00:00Z” +“订单...

回答 2 投票 0

亚马逊 MWS 美国商城:如何获取订单行上使用的税率?

如何获取 Amazon MWS 订单行上用于计算税额的税率或税率? 在 Orders API 中,有一个 ItemPrice 和 ItemTax XML 元素,但这些只能...

回答 2 投票 0

复杂多维数组

我正在使用 API 来获取数据,它返回数组数组中的数据。现在我想获取我需要的数据并移入一个新数组。 $shipments = 数组 ( [0] => 数组 ...

回答 2 投票 0

如何获取搜索查询量?

我正在为客户开发一个项目,需要搜索查询量,可以从卖家中心的“品牌分析”选项卡中名为“搜索查询性能”的选项卡访问该项目。我还需要 ASIN

回答 1 投票 0

Amazon SP-API Listings API putListingsItem 如何更新价格和数量? Node.js

我正在使用 amazon-sp-api (亚马逊销售合作伙伴 API 的 JavaScript 客户端),但这不仅限于此客户端。我想做的就是使用 Amazon SP-API Listings API 的 putListingsItem cal...

回答 2 投票 0

亚马逊卖家中心开发者 ID

我是亚马逊卖家的新手,有一个客户可以共享来自亚马逊卖家的数据,以进一步推进我们的流程,客户要求提供“开发者 ID” 我已经看到了多种解决方案......

回答 1 投票 0

亚马逊 MWS 沙箱

我打算为亚马逊的市场网络服务(MWS)开发一个客户端。我的要求是更新订单、同步订单状态、使用他们拥有的 API 获取订单详细信息。

回答 2 投票 0

如何在亚马逊中获得待处理请求?

我正在使用 GetReport API 在亚马逊中发送请求。 根据亚马逊文档,我们每分钟只能发送 15 个请求。 如何从亚马逊获得有多少请求待处理? 亚马逊是亲...

回答 1 投票 0

_POST_ORDER_FULFILLMENT_DATA_ MD5 值不匹配获取错误

我正在尝试使用以下代码发布实现 我正在使用 json 将其转换为 xml,因为我的 json 是 var ShipJson = { “亚马逊信封”:{ ...

回答 1 投票 0

亚马逊是否通过MWS提供客户电话

我们开发了一个简单的应用程序来为我们的一位客户检索订单。我们的客户是亚马逊市场上的注册卖家。 我们能够获取订单。随着订单...

回答 2 投票 0

如何从亚马逊 mws 目录中删除图像

我有 2 个亚马逊账户,美国、英国(不同的 merchantId),在英国账户中,我有 DE、ES、IT、FR 账户,其 merchantID 与英国账户相同。 这里的问题是,上周在后端因为一些

回答 1 投票 0

使用亚马逊 MWS API 获取挂单价格

我正在尝试处理来自某些亚马逊商店的订单。但是遇到了一个问题: 我无法获得状态为“待处理”的订单的总价(或总金额)。该字段为空。这个我...

回答 1 投票 0

Amazon MWS API 做 PartialUpdate 需要所有 XML 元素

我正在尝试更新一个项目的描述。 这是我的要求: 我正在尝试更新一个项目的描述。 这是我的要求: <AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amznenvelope.xsd"> <Header> <DocumentVersion>1.01</DocumentVersion> <MerchantIdentifier>ABCDEFGH</MerchantIdentifier> </Header> <MessageType>Product</MessageType> <PurgeAndReplace>false</PurgeAndReplace> <Message> <MessageID>1</MessageID> <OperationType>PartialUpdate</OperationType> <Product> <SKU>my_sku</SKU> <StandardProductID> <Type>ASIN</Type> <Value>B009XXXXX</Value> </StandardProductID> <Condition> <ConditionType>New</ConditionType> <ConditionNote>New</ConditionNote> </Condition> <Description>My Description</Description> </Product> </Message> </AmazonEnvelope> 亚马逊的回应: <DocumentVersion>1.02</DocumentVersion> <MerchantIdentifier>M_MyCompany</MerchantIdentifier> </Header> <MessageType>ProcessingReport</MessageType> <Message> <MessageID>1</MessageID> <ProcessingReport> <DocumentTransactionID>5551401111</DocumentTransactionID> <StatusCode>Complete</StatusCode> <ProcessingSummary> <MessagesProcessed>1</MessagesProcessed> <MessagesSuccessful>0</MessagesSuccessful> <MessagesWithError>1</MessagesWithError> <MessagesWithWarning>0</MessagesWithWarning> </ProcessingSummary> <Result> <MessageID>1</MessageID> <ResultCode>Error</ResultCode> <ResultMessageCode>5000</ResultMessageCode> <ResultDescription>XML Parsing Error at Line 20, Column 33: cvc-complex-type.2.4.a: Invalid content was found starting with element &apos;Description&apos;. One of &apos;{Rebate, ItemPackageQuantity, NumberOfItems, LiquidVolume, DescriptionData, PromoTag, DiscoveryData, ProductData, ShippedByFreight, EnhancedImageURL, Amazon-Vendor-Only, Amazon-Only, RegisteredParameter}&apos; is expected.</ResultDescription> <AdditionalInfo> <SKU>my_sku</SKU> </AdditionalInfo> </Result> </ProcessingReport> 这好像是说我需要提供所有的要素?即使我只是想更新描述。 响应告诉您可能出现在它找到“描述”的地方的所有字段。进行部分更新时,您不必包含所有信息。所需的最低数据是 SKU 和描述数据/标题。 问题是 Description 必须放在 DescriptionData 标签内并且需要标题,如下所示: <AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amznenvelope.xsd"> <Header> <DocumentVersion>1.01</DocumentVersion> <MerchantIdentifier>ABCDEFGH</MerchantIdentifier> </Header> <MessageType>Product</MessageType> <PurgeAndReplace>false</PurgeAndReplace> <Message> <MessageID>1</MessageID> <OperationType>PartialUpdate</OperationType> <Product> <SKU>my_sku</SKU> <StandardProductID> <Type>ASIN</Type> <Value>B009XXXXX</Value> </StandardProductID> <Condition> <ConditionType>New</ConditionType> </Condition> <DescriptionData> <Title>Title should go here. It is required.</Title> <Description>My Description</Description> </DescriptionData> </Product> </Message> </AmazonEnvelope>

回答 1 投票 0

更新亚马逊市场中的商家订单 ID

我需要使用 C# 通过亚马逊 MWS API 更新亚马逊商城中的 MerchantOrderID。 因此,首先我创建了如下 XML 文件: 我需要使用 C# 通过亚马逊 MWS API 更新亚马逊商城中的 MerchantOrderID。 所以,首先我创建了如下 XML 文件: <?xml version="1.0"?> <AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> <Header> <DocumentVersion>1.01</DocumentVersion> <MerchantIdentifier>M_STORE_3918753</MerchantIdentifier> </Header> <MessageType>OrderAcknowledgement</MessageType> <Message> <MessageID>1</MessageID> <OrderAcknowledgement> <AmazonOrderID>104-9209939-0469021</AmazonOrderID> <MerchantOrderID>100828163</MerchantOrderID> <StatusCode>Success</StatusCode> <Item> <AmazonOrderItemCode>11111111111111</AmazonOrderItemCode> <MerchantOrderItemID>111111</MerchantOrderItemID> <AmazonOrderItemCode>22222222222222</AmazonOrderItemCode> <MerchantOrderItemID>222222222</MerchantOrderItemID> </Item> </OrderAcknowledgement> </Message> </AmazonEnvelope> 然后我试着打电话给亚马逊 MWS SubmitFeed: SubmitFeedRequest request = new SubmitFeedRequest(); request.Merchant = merchantId; request.MarketplaceIdList = new IdList(); request.MarketplaceIdList.Id = new List<string>(new string[] { marketplaceId }); request.FeedContent = File.Open(path, FileMode.Open, FileAccess.Read); request.ContentMD5 = MarketplaceWebServiceClient.CalculateContentMD5(request.FeedContent); request.FeedContent.Position = 0; request.FeedType = "_POST_ORDER_ACKNOWLEDGEMENT_DATA_"; MarketplaceWebService.MarketplaceWebService serviceFeed = new MarketplaceWebServiceClient( accessKeyId, secretAccessKey, applicationName, applicationVersion, configFeed); SubmitFeedResponse response = serviceFeed.SubmitFeed(request); 它成功提交但是当我在亚马逊(sellercentral.amazon.com)打开我的订单时它说“没有保存”: 您的商家订单 ID:# none saved 谁能帮帮我,哪里出了问题,我该怎么办? 谢谢! 对于那些想要一次更新多个订单中的商户订单 ID 的人,这里是示例(也适用于亚马逊 mws scratchpad): <?xml version="1.0"?> <AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> <Header> <DocumentVersion>1.01</DocumentVersion> <MerchantIdentifier>ALVH0CYWPBFNA</MerchantIdentifier> </Header> <MessageType>OrderAcknowledgement</MessageType> <Message> <MessageID>1</MessageID> <OrderAcknowledgement> <AmazonOrderID>000-0000000-0000000</AmazonOrderID> <MerchantOrderID>YOUR_MERCHANT_ORDER_ID</MerchantOrderID> <StatusCode>Success</StatusCode> </OrderAcknowledgement> </Message> <Message> <MessageID>2</MessageID> <OrderAcknowledgement> <AmazonOrderID>000-0000000-0000000</AmazonOrderID> <MerchantOrderID>YOUR_MERCHANT_ORDER_ID</MerchantOrderID> <StatusCode>Success</StatusCode> </OrderAcknowledgement> </Message> </AmazonEnvelope> 实际上是正确的代码。不知何故亚马逊不标记一些特殊订单或稍后标记它们。

回答 2 投票 0

在亚马逊 MWS 上调用 ListOrders 时多个订单丢失

我使用 cron 作业从亚马逊账户退回订单,它在 2~3 周内运行良好。确实,订单比平时多(由于圣诞节前),看起来像 cron

回答 1 投票 0

亚马逊 MWSAuthToken 错误响应

我正在尝试根据亚马逊 MWS https://images-na.ssl-images-amazon.com/images/G/01/mwsportal/doc/en_US/bde/MWSAuthToken 的最新请求检索所有 MWSAuthToken .V325056062.pdf 我补充...

回答 1 投票 0

亚马逊 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);

回答 1 投票 0

Amazon Submit Feed api 错误

我正在调用亚马逊 MWS 服务来更新商品数量,但是当我调用“GetGetFeedSubmissionResult”以了解状态时,它返回了错误。我不知道这里有什么问题。 子...

回答 1 投票 0

亚马逊商城 PHP 获取订单 API

我使用了亚马逊 MWS 市场网络服务订单获取订单 API。 我配置正确。但得到类似“捕获异常:访问被拒绝响应状态代码:401错误代码:

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.