Amazon MWS API: - как загрузить фиды продуктов XML с помощью PHP в _POST_PRODUCT_DATA_

У меня проблема с API Amazon MWS. По какой-то причине я продолжаю получать это сообщение об ошибке.

"Неустранимая ошибка синтаксического анализа XML в строке -1, столбце -1: преждевременный конец файла. Преждевременный конец файла".

Я перепробовал много учебников, примеров, документации, SDK и различных.

Все возвращается одно и то же сообщение.

Вот пример моего XML-файла, который я пытаюсь отправить в Amazon через сервис XML-API.

Кто-нибудь может показать мне какой-нибудь проверенный и работающий код для загрузки этого продукта или любого продукта с использованием 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 неверен. Вам нужно заменить последнюю строку <Message> с </AmazonEnvelope> чтобы сделать его действительным документом XML.

Вам также необходимо изменить структуру вашего <Home> элемент для проверки с помощью XSD Amazon (я предполагаю, FurnitureAndDecor правильный тип продукта):

<Home>
    <ProductType>
        <FurnitureAndDecor>
            <Material>cotton</Material>
            <ThreadCount>500</ThreadCount>
            <VariationData>
                <VariationTheme>Size-Color</VariationTheme>
            </VariationData>
        </FurnitureAndDecor>
    </ProductType>
    <Parentage>variation-parent</Parentage>
</Home>
Другие вопросы по тегам