Magento: Save shipment information of order programatically
After creating invoice and shipment, it is necessary to add tracking information to shipment. Here is how to write a observer which will invoke as shipment save method is called and save tracking information programatically.
config.xml – under global -> events node
<sales_order_shipment_save_before>
<observers>
<namespace_modulename_ship_before>
<type>singleton</type>
<class>Namespace_Modulename_Model_Observer</class>
<method>salesOrderShipmentSaveBefore</method>
</namespace_modulename_ship_before>
</observers>
</sales_order_shipment_save_before>
Observer.php -> under Model directory of module
public function salesOrderShipmentSaveBefore($observer)
{
$shipment = $observer->getEvent()->getShipment();
$track = Mage::getModel(‘sales/order_shipment_track’)
->setNumber(‘824343454454’) //tracking number / awb number
->setCarrierCode(‘aramex’) //carrier code
->setTitle(‘Aramex’); //carrier title
$shipment->addTrack($track);
}
#assign awb number #magento #magento admin #save shipment #save tracking info #shipment save before