PERL:连接到沃尔玛API,加载项目不支持的媒体类型错误



我们正在尝试使用MarketPlace.walmartapis.com API批量列出项目,并且它正在返回XML项目feed的未支撑媒体类型

我们正在使用perl,并且能够执行其他命令来更新库存和定价,检查订单,查找feed和skus等。令牌应该很好,因为我们使用同样的标记和第一个来拨打两个呼叫,在尝试发送XML文件之前,请致电(项目清单)按预期工作。只有当我们尝试发送XML批处理文件时,我们才遇到问题。

我们假设问题是标题/身份验证,并且尝试了许多不同的组合。但是显然我们缺少一些东西。

正在发送的内容:

POST https://marketplace.walmartapis.com/v3/feeds?feedType=item HTTP/1.1

标题:

Authorization: Basic MDc4......
Content-Length: 2277
Accept: application/xml
Content-Type: multipart/formdata
Host: marketplace.walmartapis.com
WM_QOS.CORRELATION_ID: TB123456V32
WM_SEC.ACCESS_TOKEN: eyJra...
WM_SVC.NAME: Walmart Marketplace
Boundary: 1234ran4321dom5678boundary

formdata有效载荷:

--1234ran4321dom5678boundary
Content-Disposition: formdata; name="xml"
Content-length: 2151

<?xml version="1.0" encoding="UTF-8"?>
<MPItemFeed xmlns="http://walmart.com/">
  <MPItemFeedHeader>
    <version>3.1</version>
    <requestBatchId>......</requestBatchId>
    <feedDate>2019-02-18T19:45:17</feedDate>
    <mart>WALMART_US</mart>
  </MPItemFeedHeader>
  <MPItem>
    <processMode>CREATE</processMode>
    <sku>....</sku>
    <productIdentifiers>
      <productIdentifier>
        <productIdType>UPC</productIdType>
        <productId>..........</productId>
      </productIdentifier>
    </productIdentifiers>
    <MPProduct>
      <productName>.....................</productName>
      <category>
        <SportAndRecreation>
          <SportAndRecreationOther>
            <shortDescription>........................</shortDescription>
            <keyFeatures>
              <keyFeaturesValue>I...............</keyFeaturesValue>
            </keyFeatures>
            <brand>............</brand>
            <manufacturer>.............</manufacturer>
            <manufacturerPartNumber>.............</manufacturerPartNumber>
            <modelNumber>..</modelNumber>
            <mainImageUrl>............</mainImageUrl>
            <count>1</count>
            <isProp65WarningRequired>No</isProp65WarningRequired>
            <sportsLeague>
               <sportsLeagueValue>....</sportsLeagueValue>
            </sportsLeague>
            <keywords>................</keywords>
            <isMemorabilia>......</isMemorabilia>
            <isCollectible>...........</isCollectible>
          </SportAndRecreationOther>
        </SportAndRecreation>
      </category>
    </MPProduct>
    </MPOffer>
        <price>21.95</price>
        <StartDate>2019-02-23T19:45:17</StartDate>
        <EndDate>2019-04-19T19:45:17</EndDate>
        <ShippingWeight>
          <measure>2</measure>
          <unit>lb</unit>
        </ShippingWeight>
        <ProductTaxCode>2038345</ProductTaxCode>
    </MPOffer>
  </MPItem>
</MPItemFeed>
--1234ran4321dom5678boundary--

从沃尔玛返回。pm

$HASH = {
      "error" => {
                 "category" => "DATA",
                 "causes" => {},
                 "code" => "UNSUPPORTED_MEDIA_TYPE.GMP_GATEWAY_API",
                 "errorIdentifiers" => {},
                 "info" => "Unsupported Media Type.",
                 "severity" => "ERROR"
               },
      "xmlns:ns2" => "http://walmart.com/"
};

任何朝正确方向的指针都将不胜感激。

感谢每个外观的人。这个问题似乎已经解决

这是一个次要错字

多部分/formdata需要是多部分/form-data

随着这种更改,我们正在获得卖方区域中显示的供稿ID

最新更新