亚马逊MWS - SubmitFeed已成功发送,但不会被处理

时间:2014-01-14 11:14:19

标签: php xml api amazon-web-services amazon

我正在尝试编写一个程序,该程序将自动创建和更新亚马逊上的产品列表。所以我正在做的是通过SDK中提供的SubmitFeed函数发送XML文件。运行程序时,我得到以下响应:

  

的FeedType   _POST_PRODUCT_DATA _

     

SubmittedDate   2014-01-09T13:56:00Z

     

FeedProcessingStatus   _提交_

当使用GetFeedSubmissionResult询问我的请求结果时,它返回提交“成功”。但是,更新不会发生。亚马逊支持和论坛无法(或愿意?)帮助我解决这个问题。

这是我正在使用的代码(用于测试问题,我只是想更改单个产品的标题):

include_once ('.config.inc.php');

$serviceUrl = "https://mws.amazonservices.de";

$config = array (
  'ServiceURL' => $serviceUrl,
  'ProxyHost' => null,
  'ProxyPort' => -1,
  'MaxErrorRetry' => 3,
);

 $service = new MarketplaceWebService_Client(
     AWS_ACCESS_KEY_ID, 
     AWS_SECRET_ACCESS_KEY, 
     $config,
     APPLICATION_NAME,
     APPLICATION_VERSION);

$haendler_token = '##TOKEN##';

$feed = '';
$feed.= '<?xml version="1.0" encoding="UTF-8"?>';
$feed.= '<AmazonEnvelope xsi:noNamespaceSchemaLocation="amzn-envelope.xsd"     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">';
$feed.= '   <Header>';
$feed.= '       <DocumentVersion>1.01</DocumentVersion>';
$feed.= '       <MerchantIdentifier>'.$haendler_token.'</MerchantIdentifier>';
$feed.= '   </Header>';
$feed.= '   <MessageType>Product</MessageType>';
$feed.= '   <PurgeAndReplace>false</PurgeAndReplace>';
$feed.= '    <Message>';
$feed.= '        <MessageID>1</MessageID>';
$feed.= '        <OperationType>Update</OperationType>';
$feed.= '        <Product>';
$feed.= '           <SKU>##SKU##</SKU>';
$feed.= '           <DescriptionData>';
$feed.= '               <Title>##TITLE##</Title>';
$feed.= '           </DescriptionData>';
$feed.= '       </Product>';
$feed.= '    </Message>';
$feed.= '</AmazonEnvelope>';

$marketplaceIdArray = array("Id" => array('A1PA6795UKMFR9'));
$feedHandle = @fopen('php://temp', 'rw+');
fwrite($feedHandle, $feed);
rewind($feedHandle);
$parameters = array (
  'Merchant' => MERCHANT_ID,
  'MarketplaceIdList' => $marketplaceIdArray,
  'FeedType' => '_POST_PRODUCT_DATA_',
  'FeedContent' => $feedHandle,
  'PurgeAndReplace' => false,
  'ContentMd5' => base64_encode(md5(stream_get_contents($feedHandle), true)),
);
rewind($feedHandle);
$request = new MarketplaceWebService_Model_SubmitFeedRequest($parameters);
invokeSubmitFeed($service,$request);
@fclose($feedHandle);

我对整件事情非常绝望。感谢有人读这篇文章!

1 个答案:

答案 0 :(得分:0)

有一个称为详细页面控制的系统,用于决定公共产品详细信息页面上显示的内容。它可能接受您的详细信息页面的标题,也可能不接受。 http://www.amazon.com/gp/help/customer/display.html?nodeId=200202130

如果标题已正确提交,如果您尝试手动编辑产品详细信息页面,则应该可以在Seller Central中找到它(此处有关说明:http://www.amazon.com/gp/help/customer/display.html/ref=hp_left_sib?ie=UTF8&nodeId=200202090

相关问题