我一直在尝试使用 Volusion API 来导入订单数据,但没有成功,并且通过 Volusion 的支持是有限的。我倾向于使用 PHP 解决方案,他们的网站上有这个示例,用于使用 API 和 php 进行导入...
<?php
// 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 .= " xml input file for \"\"";
$Xml_to_Send .= "-->";
$Xml_to_Send .= "</Volusion_API>";
// Create the Header
$url = "https://www.xxxxxcomusa.com/net/WebService.aspx?Login=xxxxx@xxxxcomusa.com &EncryptedPassword=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&Import=Insert";
$header = "POST".$url." HTTP/1.0 \r\n";
$header .= "MIME-Version: 1.0 \r\n";
$header .= "Content-type: text/xml; charset=utf-8 \r\n";
$header .= "Content-length: ".strlen($post_string)." \r\n";
$header .= "Content-transfer-encoding: text \r\n";
$header .= "Request-number: 1 \r\n";
$header .= "Document-type: Request \r\n";
$header .= "Interface-Version: Test 1.4 \r\n";
$header .= "Connection: close \r\n\r\n";
$header .= $Xml_to_Send;
// Post and Return Xml
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);
$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;
?>
我已经对此进行了相应的编辑以更新订单(使用“Import = Update”),但结果页面上没有“数据”输出,并且记录没有得到更新。我可以使用类似的 url 从 api 返回数据,所以我知道我的加密密码是正确的。我想我也确定了那行读...
$header = "POST".$url." HTTP/1.0 \r\n";
应该读 ...
$header = "POST ".$url." HTTP/1.0 \r\n";
POST 后有一个空格,但我仍然无法成功更新记录。我希望有人可能已经取得了成功,并且可以分享更多关于如何使用 Volusion API(希望是 PHP)导入更新的细节。