2013-07-15 43 views
1

目前有一種方法可以將追蹤編號上傳到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

+1

展函數或代碼...任何... – Callombert

+0

使用更新函數的片段和PUT命令的鏈接編輯原始文章。 –

回答

2

只要您通過必填字段(如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

謝謝!這正是我所期待的。 –