Выгрузка заказов в ЛК
У некоторых доставок реализована выгрузка заказов с сайта в личный кабинет транспортных компаний в ручном режиме.
Выгрузка происходи при изменении статуса заказа на тот, который указан в Настройка MegaPost параметр "Статус для выгрузки заказа по API" (если статус не указан, то выгрузка происходить не будет).
После успешной выгрузки* должен вернуться трек номер, который сохраняется в дополнительное свойство заказа "Номер отправления", который вы можете уже использовать в своих целях (например вывести в XSL-шаблоне и делать отправку клиенту)
Все логи выгрузки записываются в «Журнал событий»*, можно ознакомиться для анализа ошибок. *модуль доступен в редакции HostCMS.Бизнес, для младшей редакции смотрите файлы в директории /hostcmsfiles/logs/(текущая дата).log.csv

Выгрузка заказа сразу после создания заказа

— в корне сайта в файле bootstrap.php разместите следующий код:
class My_Shop_Order_Observer
{
static public function onAfterProcessOrder($object, $args)
{
$oShop_Order = $object->getShopOrder();
$oShop_Order_Before = clone $oShop_Order;
$oShop_Order->shop_order_status_id = 123; // статус из настроек megapost
$oShop_Order->save();
$handler = Shop_Payment_System_Handler::factory($oShop_Order->Shop_Payment_System);
$handler->shopOrderBeforeAction($oShop_Order_Before)->shopOrder($oShop_Order);
MegaPost_Observer::onBeforeChangedOrder($handler, array('edit'));
}
}
Core_Event::attach('Shop_Payment_System_Handler.onAfterProcessOrder', array('My_Shop_Order_Observer', 'onAfterProcessOrder'));
Copy link