php – 尽管提交了OK,亚马逊的Marketplace Web Service库存仍没
我正在使用亚马逊的MWS提交产品库存,但它似乎并没有起作用尽管说它有.
我使用“SubmitFeed”提交我在下面粘贴的测试Feed XML; <?xml version="1.0" encoding="UTF-8 "?> <AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"> <Header> <DocumentVersion>1.01</DocumentVersion> <MerchantIdentifier>A1BJ5TNE5I3MUD</MerchantIdentifier> </Header> <MessageType>Product</MessageType> <PurgeAndReplace>true</PurgeAndReplace> <Message> <MessageID>1</MessageID> <OperationType>Insert</OperationType> <Product> <SKU>56789</SKU> <StandardProductID> <Type>ASIN</Type> <Value>B0EXAMPLEG</Value> </StandardProductID> <ProductTaxCode>A_GEN_NOTAX</ProductTaxCode> <DescriptionData> <Title>Example Product Title</Title> <Brand>Example Product Brand</Brand> <Description>This is an example product description.</Description> <BulletPoint>Example Bullet Point 1</BulletPoint> <BulletPoint>Example Bullet Point 2</BulletPoint> <MSRP currency="USD">99.99</MSRP> <Manufacturer>Example Product Manufacturer</Manufacturer> <ItemType>example-item-type</ItemType> </DescriptionData> <ProductData> <Health> <ProductType> <HealthMisc> <Ingredients>Example Ingredients</Ingredients> <Directions>Example Directions</Directions> </HealthMisc> </ProductType> </Health> </ProductData> </Product> </Message> </AmazonEnvelope> 这似乎工作正常,它返回“FeedSubmissionId”等… <?xml version="1.0"?> <SubmitFeedResponse xmlns="http://mws.amazonaws.com/doc/2009-01-01/"> <SubmitFeedResult> <FeedSubmissionInfo> <FeedSubmissionId>3008008200</FeedSubmissionId> <FeedType>_POST_PRODUCT_DATA_</FeedType> <SubmittedDate>2012-03-29T11:12:04+00:00</SubmittedDate> <FeedProcessingStatus>_SUBMITTED_</FeedProcessingStatus> </FeedSubmissionInfo> </SubmitFeedResult> <ResponseMetadata> <RequestId>9ff22ff1-e86b-45a1-b1ce-4b873f45e90a</RequestId> </ResponseMetadata> </SubmitFeedResponse> 然后,我使用“GetFeedSubmissionList”检查提交提交的状态,然后返回“DONE”…. <?xml version="1.0"?> <GetFeedSubmissionListResponse xmlns="http://mws.amazonaws.com/doc/2009-01-01/"> <GetFeedSubmissionListResult> <NextToken /> <HasNext>false</HasNext> <FeedSubmissionInfo> <FeedSubmissionId>3008008200</FeedSubmissionId> <FeedType>_POST_PRODUCT_DATA_</FeedType> <SubmittedDate>2012-03-29T11:12:04+00:00</SubmittedDate> <FeedProcessingStatus>_DONE_</FeedProcessingStatus> <StartedProcessingDate>2012-03-29T11:12:13+00:00</StartedProcessingDate> <CompletedProcessingDate>2012-03-29T11:12:33+00:00</CompletedProcessingDate> </FeedSubmissionInfo> </GetFeedSubmissionListResult> <ResponseMetadata> <RequestId>4afd9b3d-33c6-4c15-bbe1-51304dc1cd24</RequestId> </ResponseMetadata> </GetFeedSubmissionListResponse> 但是当我登录卖家中央并查看库存时,测试产品就不存在了.我似乎无法在任何地方找到它 – 所以它究竟在哪里提交?我绝对没有任何商家ID混淆 – 因为我通过相同的帐户进行了全部操作,授权开发者帐户使用卖家帐户等. 有什么东西我没做错吗?我是否需要调用另一个函数来提交数据? 这真是令人沮丧,因为亚马逊的文档非常糟糕.感谢Stackoverflow和随机博客文章,我实际上已经到了这里. 解决方法
您需要在此Feed中更改一些内容,但这只是一个起点.
先…… <PurgeAndReplace>false</PurgeAndReplace> // unless you want to delete all other inventory <Message> <MessageID>1</MessageID> <OperationType>Update</OperationType> //instead of insert 下一步…如果您知道要将SKU映射到的确切ASIN,则仅使用下一节. <StandardProductID> <Type>ASIN</Type> <Value>B0EXAMPLEG</Value> </StandardProductID> 然后……验证上传是否成功. ‘完成’不是一回事.你需要做一个GetFeedSubmissionResult,这是一个文件下载,并检查内容 <ProcessingSummary> <MessagesProcessed>1</MessagesProcessed> <MessagesSuccessful>1</MessagesSuccessful> <MessagesWithError>0</MessagesWithError> <MessagesWithWarning>0</MessagesWithWarning> </ProcessingSummary> 最重要的……与使用XML并仅执行产品Feed时执行平面文件上传不同,它不会创建列表. 您还必须执行库存(包含数量)和价格Feed,以创建可通过卖家中心页面查看的优惠清单. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |