BigCommerce上传追踪号码
问题描述:
目前有一种方法可以将追踪编号上传到BigCommerce的订单上吗?我可以在BigCommerce的API文档中看到有一个参数指定PUT命令的特定追踪编号。 我还看到Shipment.php文件中有一个更新函数。但是,我不确定如何调用允许我这样做的函数,或者如果甚至可以上传跟踪编号。BigCommerce上传追踪号码
下面是shipment.php片段
namespace Bigcommerce\Api\Resources;
use Bigcommerce\Api\Resource;
use Bigcommerce\Api\Client;
class Shipment extends Resource
{
...
public function create()
{
return Client::createResource('/orders/' . $this->order_id . '/shipments', $this->getCreateFields());
}
public function update()
{
return Client::createResource('/orders/' . $this->order_id . '/shipments' . $this->id, $this->getCreateFields());
}
}
这里也是该链接为把API文档。
https://developer.bigcommerce.com/api/stores/v2/orders/shipments#update-a-shipment
答
只要您通过必填字段(如doc页面上所示),您就可以直接使用货件对象创建新货件。
<?php
$shipment = new Bigcommerce\Api\Resources\Shipment();
$shipment->order_address_id = $id; // destination address id
$shipment->items = $items; // a list of order items to send with the shipment
$shipment->tracking_number = $track; // the string of the tracking id
$shipment->create();
您也可以直接通过在信息与数组的createResource
功能:
<?php
$shipment = array(
'order_address_id' => $id,
'items' => $items,
'tracking_number' => $track
);
Bigcommerce\Api\Client::createResource("/orders/1/shipments", $shipment);
做一个PUT
是相似的。您可以从订单对象遍历它:
<?php
$order = Bigcommerce\Api\Client::getOrder($orderId);
foreach($order->shipments as $shipment) {
if ($shipment->id == $idToUpdate) {
$shipment->tracking_number = $track;
$shipment->update();
break;
}
}
或者直接拉回来,作为一个对象,并再次将其保存:
<?php
$shipment = Bigcommerce\Api\Client::getResource("/orders/1/shipments/1", "Shipment");
$shipment->tracking_number = $track;
$shipment->update();
或者直接更新:
<?php
$shipment = array(
'tracking_number' => $track
);
Bigcommerce\Api\Client::updateResource("/orders/1/shipments/1", $shipment);
+0
谢谢!这正是我所期待的。 –
展函数或代码...任何... – Callombert
使用更新函数的片段和PUT命令的链接编辑原始文章。 –