【发布时间】:2016-01-29 17:52:38
【问题描述】:
我正在使用 Ecwid API,现在正着手从我们的履行站点更新我的订单,其中包含跟踪信息和运输状态。
Fulfillment Operation 将导出订单更新的 xml 文件。
我首先创建了更新产品的基本脚本,这工作正常。
// Post Tracking number and change Status to shipped
// trackingNumber : ""
// fulfillmentStatus : "SHIPPED"
$storeID = "";
$myToken = "";
$data = array("trackingNumber" => "9405503699300250719362", "fulfillmentStatus" => "SHIPPED", "orderNumber" => "7074");
$data_string = json_encode($data);
$url = "https://app.ecwid.com/api/v3/".urlencode($storeID)."/orders/".$data['orderNumber']."?token=".$myToken;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: ' . strlen($data_string)));
$response = curl_exec($ch);
curl_close($ch);
我还创建了脚本来拉入 xml 文件并转换为 json 以将数据“放入”到购物车中。
<?php
// The file data.xml contains an XML document with a root element
// and at least an element /[root]/title.
if (file_exists('data.xml')) {
$xml = simplexml_load_file('data.xml');
print_r($xml);
} else {
exit('Failed to open data.xml.');
}
$data_string = json_encode($xml);
echo '<br> br>';
echo "<pre>";
print_r($data_string);
?>
现在这是我无法将两个部分放在一起的地方,以便它可以循环遍历带有多个“orderNumber(s)”的 xml 文件(json 内容)并更新每个订单的 trackingNumber 和fulfillmentStatus。
【问题讨论】: