标签: amazon-mws

亚马逊MWS Api SubmitFeed _POST_FLAT_FILE_INVLOADER_DATA_错误的模板类型错误

我正在使用亚马逊MWS PHP MarketplaceWebService PHP API将库存Feed数据提交给亚马逊.

https://docs.developer.amazonservices.com/en_US/feeds/Feeds_SubmitFeed.html

我可以通过卖家中央上传库存gui手动提交我生成的库存装载机平面文件而不会出错.

使用API​​中的SubmitFeed示例提交相同的平面文件我总是得到"不正确的模板类型错误".

我的身份验证和市场数据都是正确的.

Feed数据是$ _feed,我正在从api创建feed数据流

$feedHandle = fopen('php://temp', 'rw+');
fwrite($feedHandle, $_feed);
rewind($feedHandle);
Run Code Online (Sandbox Code Playgroud)

并使用亚马逊的示例代码提交它

$marketplaceIdArray = array("Id" => array(MARKETPLACE_ID));


$parameters = array (
  'Merchant' => MERCHANT_ID,
  'MarketplaceIdList' => $marketplaceIdArray,
  'FeedType' => '_POST_FLAT_FILE_INVLOADER_DATA_',
  'FeedContent' => $feedHandle,
  'PurgeAndReplace' => false,
  'ContentMd5' => base64_encode(md5(stream_get_contents($feedHandle), true)),
);

rewind($feedHandle);

$request = new \MarketplaceWebService_Model_SubmitFeedRequest($parameters);

$_result=$this->invokeSubmitFeed($service, $request);
Run Code Online (Sandbox Code Playgroud)

Feed提交没有错误,但是当我检查提交状态时,我总是从Amazon获得不正确的模板类型错误.

如果我将feed数据写入单独的文件,或者获取流的副本并将其写入测试文件,例如

// TEST copy submitted file to temp file
$copystream = fopen('/copystream.txt', 'w');
stream_copy_to_stream($streamHandle, $copystream);
Run Code Online (Sandbox Code Playgroud)

我可以确认亚马逊MWS API卷曲上传(在client.php中)使用的数据是正确的,因为我也可以通过卖家中心手动上传此测试文件(copystream.txt)而不会出错. …

php curl amazon-mws

10
推荐指数
1
解决办法
2334
查看次数

XML提交给亚马逊MWS很好,但价格没有更新

我创建了自己的各种各样的复制品,但价格没有在亚马逊方面更新.

根据亚马逊提交后的响应,我的代码似乎运行得很好.我希望这里有人知道为什么它实际上没有更新价格.

这是提交的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>MERCHANTID</MerchantIdentifier>
    </Header>
    <MessageType>Price</MessageType>
    <Message>
        <MessageID>1</MessageID>
        <Price>
            <SKU>mysku</SKU>
            <StandardPrice currency="USD">350.50</StandardPrice>
        </Price>
    </Message>
</AmazonEnvelope>
Run Code Online (Sandbox Code Playgroud)

继承人的回应:

GetFeedSubmissionResultResponse{}(ResponseMetadata: <Element_?/ResponseMetadata_0x7fee61f74248>, GetFeedSubmissionResultResult: <Element_?/GetFeedSubmissionResultResult_0x7fee61f74248>, AmazonEnvelope: 
{'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance', 'xsi:noNamespaceSchemaLocation': 'amzn-envelope.xsd'}, DocumentVersion: '1.02', MerchantIdentifier: 'M_EXAMPLE_1234', Header: '\n\t', MessageType: 'ProcessingReport', MessageID: '1', DocumentTransactionID: '4200000000', StatusCode: 'Complete', MessagesProcessed: '1', MessagesSuccessful: '1', MessagesWithError: '0', MessagesWithWarning: '0', ProcessingSummary: '\n\t\t\t', ProcessingReport: '\n\t\t', Message: '\n\t')
Run Code Online (Sandbox Code Playgroud)

我不知道在这个实例中显示我的代码是否会有所帮助,因为我从亚马逊获得了成功的回复.无论如何:

...

# Provide credentials.
conn = MWSConnection(
    aws_access_key_id=AWS_ACCESS_KEY_ID,
    aws_secret_access_key=AWS_SECRET_ACCESS_KEY,
    Merchant=AMZ_SELLER_ID
)

# Get the service resource
sqs …
Run Code Online (Sandbox Code Playgroud)

django python-3.x amazon-mws

10
推荐指数
2
解决办法
794
查看次数

Amazon.com MWS集成

我目前正在开发一个非常基本的网站,此时只会显示来自亚马逊市场的订单信息.

  • 我拥有所有MWS安全证书.
  • 我已经下载并审查了很多混乱的PHP客户端库.
  • 我是PHP的新手,但我觉得我可以处理这个项目.

我需要知道如何安装和访问此API的信息.我觉得我已经尝试了一切.亚马逊没有提供足够的信息来实现这一目标.它们听起来好像需要5到6个简单的步骤,您可以访问您的信息; 这不是真的.

是否有关于MWS的详细教程?我需要尽可能多的信息.如果你可以帮助我,可能会概述实现这一目标所需的步骤,非常感谢!!!! 我把头发拉过来.再次感谢

php amazon-mws

9
推荐指数
3
解决办法
2万
查看次数

你如何解析MWS GetMatchingProduct中的关系?

数据:

<Relationships>
      <ns2:VariationChild>
        <Identifiers>
          <MarketplaceASIN>
            <MarketplaceId>ATVPDKIKX0DER</MarketplaceId>
            <ASIN>B002KT3XQC</ASIN>
          </MarketplaceASIN>
        </Identifiers>
        <ns2:Color>Black</ns2:Color>
        <ns2:Size>Small</ns2:Size>
      </ns2:VariationChild>
      <ns2:VariationChild>
        <Identifiers>
          <MarketplaceASIN>
            <MarketplaceId>ATVPDKIKX0DER</MarketplaceId>
            <ASIN>B002KT3XQW</ASIN>
          </MarketplaceASIN>
        </Identifiers>
        <ns2:Color>Black</ns2:Color>
        <ns2:Size>Medium</ns2:Size>
      </ns2:VariationChild>
</Relationships>
Run Code Online (Sandbox Code Playgroud)

代码:

$data = simplexml_load_string($response);
foreach($data->GetMatchingProductResult AS $GetMatchingProductResult){
     $Product = $GetMatchingProductResult->Product;
     $Relationships = $Product->Relationships;

     foreach($Relationships->children('ns2', true)->VariationChild AS $VariationChild){

          $Identifiers = $VariationChild->Identifiers;
               $MarketplaceASIN = $Identifiers->MarketplaceASIN;
                    $MarketplaceId = $MarketplaceASIN->MarketplaceId;
                    $ASIN = $MarketplaceASIN->ASIN;

                    echo "$ASIN<br />";

     }
}
Run Code Online (Sandbox Code Playgroud)

这回复了回归,但没有数据,所以它实际上循环遍历XML.但是,我尝试的任何内容都不会实际返回$ ASIN变量中的数据.这是因为命名空间还是simpleXML,还是我完全错过了其他东西?

编辑:尝试过其他方法

foreach($Relationships->children('http://mws.amazonservices.com/schema/Products/2011-10-01/default.xsd', true)->VariationChild AS $VariationChild){

     $Identifiers           = $VariationChild->Identifiers;
          $MarketplaceASIN  = $Identifiers->MarketplaceASIN;
               $MarketplaceId   = $MarketplaceASIN->MarketplaceId;
               $ASIN            = $MarketplaceASIN->ASIN;

               echo "[$ASIN]<br />";

} …
Run Code Online (Sandbox Code Playgroud)

php xml amazon-mws

9
推荐指数
1
解决办法
405
查看次数

将亚马逊MWS结果发送给Json或Xml并详细说明

有没有办法以Json或Xml格式而不是普通字符串获取亚马逊MWS请求的结果?

我的代码如下:

public function listOrders()
{
    $request = "https://mws.amazonservices.it/Orders/2013-09-01?";
    $request .= $this->getParameterString($this->parameters) . "&Signature=" . $this->calculateSignature($this->calculateStringToSign($this->parameters));

    $ch = curl_init();

    // set URL and other appropriate options
    curl_setopt($ch, CURLOPT_URL, $request);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    // grab URL and pass it to the browser

    $a = curl_exec($ch);
    echo $a;
    return $a;
}
Run Code Online (Sandbox Code Playgroud)

当$ a显示时,我看到了这个(一个简单的字符串,几乎没有详细说明):

2016-11-21T22:59:59Z StandardOrder 2016-11-17T06:24:44Z 2016-11-17T18:47:54Z 1@marketplace.amazon.it 402-2385999-1452355 1 IT Std Domestic Shipped Amazon.it false 0 2016-11-25T22:59:59Z nico 2016-11-20T23:00:00Z EUR 199.00 false 2016-11-17T23:00:00Z APJ6JRA9NG5V4 MFN Other arezzo 3332260766 …
Run Code Online (Sandbox Code Playgroud)

php curl amazon-mws

9
推荐指数
1
解决办法
1552
查看次数

在Amazon Marketplace API请求中获取内部错误

我已经下载了亚马逊的Marketplace SDK,我正在尝试样本目录中的一个样本.但是,每当我尝试时,我都会收到以下详细信息的异常:

Caught Exception: Internal Error
Response Status Code: 0
Error Code: 
Error Type: 
Request ID: 
XML: RequestId: , ResponseContext: , Timestamp: 
ResponseHeaderMetadata: 
Run Code Online (Sandbox Code Playgroud)

我也使用SSL启用了CURL.我究竟做错了什么?

php api curl amazon amazon-mws

8
推荐指数
1
解决办法
4943
查看次数

亚马逊mws能够注意到受限制的产品

当我使用我的帐户api密钥时,我需要点击哪个端点和哪个API才能判断我是否可以销售给定的产品?

java amazon-mws

8
推荐指数
1
解决办法
283
查看次数

如何使用Amazon Products API获取SIZE CHART?

我已经浏览了亚马逊产品API文档亚马逊产品广告API(AWS)亚马逊产品API(MWS),但无法找到尺寸表(附加图像以供参考).

在此输入图像描述

请为我提供通过Amazon API获取大小图表的可行解决方案.

marketplace amazon-web-services amazon-mws

8
推荐指数
1
解决办法
409
查看次数

如何从boto调用返回XML?

我在Python 2.7.6中使用boto 2.32.1.我遇到了boto的mws模块的list_orders函数的问题,以获取我的亚马逊订单的XML数据.

这是我的电话:

response = connection.list_orders(CreatedAfter='2014-08-26T05:53:44+00:00', 
   MarketplaceId=['XXXXXXXXXXXXX'])
Run Code Online (Sandbox Code Playgroud)

这是response(显然删除了个人信息)的价值

ListOrdersResponse{u'xmlns': u'https://mws.amazonservices.com/Orders/2013-09-01'}
(ListOrdersResult: ListOrdersResult{}
(CreatedBefore: u'2014-08-26T10:06:10Z', Orders: ^Orders^{}
(Order: [Order{}(***ORDER INFORMATION***)])), 
ResponseMetadata: ^ResponseMetadata^{}(RequestId: u'xxxxxxxxxx'))
Run Code Online (Sandbox Code Playgroud)

这并不理想,因为我有另一个eBay销售模块,它与ebaysdk-python返回的XML一起使用.亚马逊的格式与eBay类似,所以如果我能够获得亚马逊返回的XML而不是上面的格式,那就太棒了.

我注意到,如果我使用boto.set_stream_logger('boto')它,它将打印返回的XML,所以也许我可以以某种方式利用它?

这就是我想要归还的内容:

<ListOrdersResponse xmlns="https://mws.amazonservices.com/Orders/2013-09-01">
  <ListOrdersResult>
    <Orders>
      <Order>
        ***ORDER INFORMATION***
      </Order>
    </Orders>
    <CreatedBefore>2014-08-26T10:18:59Z</CreatedBefore>
  </ListOrdersResult>
  <ResponseMetadata>
    <RequestId>XXXXXXXXXXXXXXXXXXXXXXXXXXXXX</RequestId>
  </ResponseMetadata>
</ListOrdersResponse>
Run Code Online (Sandbox Code Playgroud)

然后我可以使用Python的xml.etree.ElementTree来解析和处理数据.

python xml boto amazon-web-services amazon-mws

7
推荐指数
1
解决办法
892
查看次数

MWS在PHP中提供更新数量 - 亚马逊

有几天我试图通过php和亚马逊MWS在PHP上更新亚马逊的库存数量(不使用MWS API,因为在我看来已经过时了)

这是我的代码:

$param = array();
    $param['AWSAccessKeyId']     = $this->CHIAVE_ACCESSO;
    $param['Action']             = 'SubmitFeed';
    $param['Merchant']           = $this->SELLER_ID;
    $param['FeedType']       = '_POST_INVENTORY_AVAILABILITY_DATA_';
    $param['SignatureMethod']    = 'HmacSHA256';
    $param['SignatureVersion']   = '2';
    $param['Timestamp']          = gmdate("Y-m-d\TH:i:s.\\0\\0\\0\\Z", time());
    $param['Version']            = '2009-01-01';
    $params['MarketplaceId.Id.1'] = $this->MARCKETPLACE_IT;
    $params['MarketplaceId.Id.2'] = $this->MARCKETPLACE_UK;
    $params['MarketplaceId.Id.3'] = $this->MARCKETPLACE_ES;
    $params['MarketplaceId.Id.4'] = $this->MARCKETPLACE_DE;
    $params['MarketplaceId.Id.5'] = $this->MARCKETPLACE_FR;
    $param['PurgeAndReplace']    = 'false';


    foreach ($param as $key => $val) {

        $key = str_replace("%7E", "~", rawurlencode($key));
        $val = str_replace("%7E", "~", rawurlencode($val));
        $url[] = "{$key}={$val}";
    }

    $amazon_feed = '<?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> …
Run Code Online (Sandbox Code Playgroud)

php amazon-web-services amazon-mws

7
推荐指数
1
解决办法
698
查看次数

标签 统计

amazon-mws ×10

php ×6

amazon-web-services ×3

curl ×3

xml ×2

amazon ×1

api ×1

boto ×1

django ×1

java ×1

marketplace ×1

python ×1

python-3.x ×1