使用 Volusion API 的产品 Import/Insertion
Product Import/Insertion using Volusion API
我正在尝试通过 Volusion Import/insert 我的产品到我的产品 table API 我已经使用了 Volusion 提供的示例 PHP 代码。
$file = file_get_contents('C:\Users\Ray\Desktop.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://.servertrust.com/net/WebService.aspx?Login=support@mysite.com&EncryptedPassword=1234&Import=Insert";
$header = array(
"MIME-Version: 1.0",
"Content-type: text/xml; charset=utf-8",
"Content-transfer-encoding: text",
"Request-number: 1",
"Document-type: Request",
"Interface-Version: Test 1.4"
);
// 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, $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;
只要我的 xml 文件小于 10MB(这是常规导入的限制),此代码就可以正常工作。当我尝试导入任何内容时,我收到此错误:
<ReturnResult>
<Success>False</Success>
<Message>Maximum request length exceeded.</message>
</ReturnResults>Send Failure: Connection was reset
有没有办法绕过这个限制?就像我说的那样,代码在我收到此错误时达到 10MB 限制之前一直有效。我尝试导入的当前文件只有 30MB。任何增加文件大小的脚本或解决方案???
您将不得不拆分文件。我发现我不能一次导入超过 10 个左右的产品而不会 运行 进入 curl 超时错误(错误代码 28)。
您还可以编写一个脚本,在上传到小块之前将文件打断。欲了解更多详情,您可以访问下面的link。
Splitting a file before upload
记住一件事,你的脚本不会改变文件的原始格式,例如文件是 json 格式,所以块必须是 json 格式。
您还可以将产品动态发送到您的 Volusion API。
另一个原因可能是价格计划,因为我也遇到过这类问题,当时我的 volusion(商店)计划是 MINI。价格方案和方案有什么权限可以访问这个link.
我正在尝试通过 Volusion Import/insert 我的产品到我的产品 table API 我已经使用了 Volusion 提供的示例 PHP 代码。
$file = file_get_contents('C:\Users\Ray\Desktop.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://.servertrust.com/net/WebService.aspx?Login=support@mysite.com&EncryptedPassword=1234&Import=Insert";
$header = array(
"MIME-Version: 1.0",
"Content-type: text/xml; charset=utf-8",
"Content-transfer-encoding: text",
"Request-number: 1",
"Document-type: Request",
"Interface-Version: Test 1.4"
);
// 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, $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;
只要我的 xml 文件小于 10MB(这是常规导入的限制),此代码就可以正常工作。当我尝试导入任何内容时,我收到此错误:
<ReturnResult>
<Success>False</Success>
<Message>Maximum request length exceeded.</message>
</ReturnResults>Send Failure: Connection was reset
有没有办法绕过这个限制?就像我说的那样,代码在我收到此错误时达到 10MB 限制之前一直有效。我尝试导入的当前文件只有 30MB。任何增加文件大小的脚本或解决方案???
您将不得不拆分文件。我发现我不能一次导入超过 10 个左右的产品而不会 运行 进入 curl 超时错误(错误代码 28)。
您还可以编写一个脚本,在上传到小块之前将文件打断。欲了解更多详情,您可以访问下面的link。
Splitting a file before upload
记住一件事,你的脚本不会改变文件的原始格式,例如文件是 json 格式,所以块必须是 json 格式。
您还可以将产品动态发送到您的 Volusion API。
另一个原因可能是价格计划,因为我也遇到过这类问题,当时我的 volusion(商店)计划是 MINI。价格方案和方案有什么权限可以访问这个link.