我有一个可以每天自动生成和上传的 XML 文件。我希望采用该 XML 并自动更新/关闭 Volusion 中的订单并添加跟踪号...
我有 API 凭据、加密的 PW 等,我有这个 XML,但我缺少实际执行导入的中间部分。并希望在规定的时间间隔内(如每天)
(我试图避免每天通过网络管理员手动上传 .csv)
我的 XML 看起来像:
有没有人有一个用 PHP/CURL 导入东西的例子?(我在另一台服务器上有 PHP 访问权限)
来自http://helpcenter.volusion.com/developers/get-building/order-management-trackingnumbers-developer
示例 XML 请求数据
<?xml version="1.0" encoding="utf-8" ?>
<xmldata>
<TrackingNumbers>
<gateway>UPS</gateway>
<MarkOrderShipped>true</MarkOrderShipped>
<OrderID>XXXX</OrderID>
<SendShippedEmail>false</SendShippedEmail>
<Shipment_Cost>0</Shipment_Cost>
<ShippingMethodID>141</ShippingMethodID>
<TrackingNumber>XXXXXXXXXXXXX</TrackingNumber>
</TrackingNumbers>
</xmldata>
邮政
POST http://yourdomain.com/net/WebService.aspx?Login=you@yourdomain.com&EncryptedPassword=YOURPASS&Import=Insert-Update
我们在 Godaddy 有一台 5 美元/月的廉价服务器作为此类操作的“中间人”。
它工作得很好,尽管如果您可以访问 Linux 服务器,但没有必要,如您所说。
我们定期为十几个不同的函数调用 API,在 Linux 中使用 cron 作业并通过 PHP 和 MySQL 执行 cURL。您可以使用您喜欢的任何脚本语言来完成此操作!
我们还在办公室的 Microsoft 服务器上运行了一些不同的软件产品,它们也与 Volusion 进行通信。
您可以创建服务器端 ASP 页面,但功能有限。
这是 PHP 中的一个基本示例:
$url = 'http://www.yoursite.com/net/WebService.aspx?Login=USERNAME&EncryptedPassword=PASSWORD&Import=Update';
$xml = 'YOUR COMPLETE XML';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:application/x-www-form-urlencoded; charset=utf-8", "Content-Action:Volusion_API"));
$head = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);