亚马逊 MWS API:- 如何使用 PHP 将 xml 产品提要上传到 _POST_PRODUCT_DATA_

Posted

技术标签:

【中文标题】亚马逊 MWS API:- 如何使用 PHP 将 xml 产品提要上传到 _POST_PRODUCT_DATA_【英文标题】:Amazon MWS API: - how to upload xml product feeds using PHP to _POST_PRODUCT_DATA_ 【发布时间】:2015-06-25 19:07:31 【问题描述】:

我在使用 亚马逊 MWS API 时遇到问题 出于某种原因,我不断收到此错误消息

“XML Parsing Fatal Error at Line -1, Column -1: Premature end of file. Premature end of file.”

我尝试了很多教程、示例、文档、sdks 和各种。

一切都返回相同的消息。

这是我尝试通过 xml api 服务提交给亚马逊的 xml 文件示例

谁能给我展示一些经过测试和工作的代码来制作这个产品或使用PHP上传的任何产品?

<?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>xxxxx</MerchantIdentifier>
</Header>
<MessageType>Product</MessageType>
<PurgeAndReplace>true</PurgeAndReplace>
<Message>
    <MessageID>1</MessageID>
    <OperationType>Update</OperationType>
    <Product>
        <SKU>1Z-500ABR-FLAT</SKU>
        <ProductTaxCode>A_GEN_TAX</ProductTaxCode>
        <LaunchDate>2005-07-26T00:00:01</LaunchDate>
        <DescriptionData>
            <Title>Lyric 500 tc Queen Flat Sheet, Ivory</Title>
            <Brand>Peacock Alley</Brand>
            <Description>Lyric sheeting by Peacock Alley is t
                he epitome of simple and classic elegance. The flat
                sheets
                and pillowcases feature a double row of hemstitchin
                g. The fitted sheets fit mattresses up to 21 inches
                deep.
                The sheets are shown at left with tone on tone mono
                gramming, please call for monogramming details and
                prices.
                Please note, gift wrapping and overnight shipping a
                re not available for this style.</Description>
            <BulletPoint>made in Italy</BulletPoint>
            <BulletPoint>500 thread count</BulletPoint>
            <BulletPoint>plain weave (percale)</BulletPoint>
            <BulletPoint>100% Egyptian cotton</BulletPoint>
            <Manufacturer>Peacock Alley</Manufacturer>
            <SearchTerms>bedding</SearchTerms>
            <SearchTerms>Sheets</SearchTerms>
            <ItemType>flat-sheets</ItemType>
            <IsGiftWrapAvailable>false</IsGiftWrapAvailable>
            <IsGiftMessageAvailable>false</IsGiftMessageAvailable>
            <RecommendedBrowseNode>60583031</RecommendedBrowseNode>
            <RecommendedBrowseNode>60576021</RecommendedBrowseNode>
        </DescriptionData>
        <ProductData>
            <Home>
                <Parentage>variation-parent</Parentage>
                <VariationData>
                    <VariationTheme>Size-Color</VariationTheme>
                </VariationData>
                <Material>cotton</Material>
                <ThreadCount>500</ThreadCount>
            </Home>
        </ProductData>
    </Product>
</Message>
<Message>

【问题讨论】:

【参考方案1】:

您的 XML 无效。您需要将最后一行 &lt;Message&gt; 替换为 &lt;/AmazonEnvelope&gt; 以使其成为有效的 XML 文档。

您还需要更改 &lt;Home&gt; 元素的结构以使用 Amazon 的 XSD 进行验证(我假设 FurnitureAndDecor 是正确的产品类型):

<Home>
    <ProductType>
        <FurnitureAndDecor>
            <Material>cotton</Material>
            <ThreadCount>500</ThreadCount>
            <VariationData>
                <VariationTheme>Size-Color</VariationTheme>
            </VariationData>
        </FurnitureAndDecor>
    </ProductType>
    <Parentage>variation-parent</Parentage>
</Home>

【讨论】:

以上是关于亚马逊 MWS API:- 如何使用 PHP 将 xml 产品提要上传到 _POST_PRODUCT_DATA_的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 从亚马逊 MWS API 获取订单数据

亚马逊 MWS 集成

将亚马逊 MWS 暂存器查询转换为 API 调用

如何通过“亚马逊MWS订单API”获取“非亚马逊”销售渠道订单

亚马逊 MWS API 请求错误

如何通过亚马逊的 MWS API 获取产品信息?