如何使用PHP中的Volusion API在Volusion中导入类别和图像

时间:2016-11-03 09:46:53

标签: php xml api curl volusion

实际上我正在尝试使用PHP cURL方法通过Volusion API将产品导入我的volusion商店,产品插入和更新成功但是类别和图像存在问题。未插入图像和类别。

当我打开我的管理员时,不会分配类别和图像。直到我手动分配然后它显示在前端。

任何人都知道请帮助我。我的代码如下......

  1. 我的XML文件..
  2. 
    
    <?xml version="1.0" encoding="utf-8"?>
        <product>
        <productcode>960BX2SSD1</productcode>
        <upc_code>649528774156</upc_code>
        <productmanufacturer>Crucial</productmanufacturer>
        <category>SATA3</category>
        <categorytree></categorytree>
        <productprice>259</productprice>
        <stockstatus>Y</stockstatus>
        <productweight>0.25</productweight>
        <length>0</length>
        <width>0</width>
        <height>0</height>
        <photo_alttext>960BX2SSD1.JPG</photo_alttext>
        <photourl>http://www.malabs.com/i/960BX2SSD1.JPG</photourl>
        <productdescription>&lt;p&gt;&lt;b&gt;SpecificationS&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Mfr Part Number:&lt;/strong&gt; CT960BX200SSD1&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Capacity:&lt;/strong&gt; 960 GB&lt;/li&gt;&lt;li&gt;&lt;strong&gt;Form Factor:&lt;/strong&gt;;</productdescription>
      </product>
    &#13;
    &#13;
    &#13;

    1. 我的PHP脚本
    2. <?php
      
         $file = file_get_contents('dataPro.txt', true);
      
      //  Create the Xml to POST to the Webservice
      
          $Xml_to_Send = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
          $Xml_to_Send .= "<Volusion_API>";
      //  $Xml_to_Send .= "<!--";
          $Xml_to_Send .= $file;
      //  $Xml_to_Send .= "\"\"";
      //  $Xml_to_Send .= "-->";
          $Xml_to_Send .= "</Volusion_API>";
      
      
      $url = "http://xxxxxxxxxxxxx/net/WebService.aspx?Login=xxxxxxxxxxxxx&EncryptedPassword=xxxxxxxxxxx&Import=Insert-Update";
      
      
      //  Create the Header   
      
          //  Post and Return Xml
          $ch = curl_init();
          curl_setopt($ch, CURLOPT_URL,$url);
          curl_setopt($ch, CURLOPT_POST, true);
          curl_setopt($ch, CURLOPT_POSTFIELDS, $Xml_to_Send); 
          curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:application/x-www-form-urlencoded; charset=utf-8", "Content-Action:Volusion_API"));
          $data = curl_exec($ch);
      
          //  Check for Errors
          if (curl_errno($ch)){
      
              print curl_error($ch);
          } else {
      
             curl_close($ch);
          }
      
         //  Display the Xml Returned on the Browser
      
         echo $data;
      
      ?>
      

      缺少图像和类别的错误。

1 个答案:

答案 0 :(得分:0)

根据Volusion文档,

category,categorytree和photourl是虚拟列,无法导入。

它使用CSV导入工作,但它没有得到官方支持。

我之前从未使用过它,但如果您的类别已存在于管理员中,并且您尝试将新产品分配到这些类别,请查看此文档:

https://support.volusion.com/hc/en-us/articles/208850308-Product-Management-Categories-Products-Link-Developer-

我更喜欢使用CSV导入方法。您不限于每个事务100条记录,您可以插入/更新虚拟字段,如类别ID列表。我从我使用的任何后端系统开始,然后动态生成CSV文件。