Выгрузка заказов в ЛК
У некоторых доставок реализована выгрузка заказов с сайта в личный кабинет транспортных компаний в ручном режиме.
Выгрузка происходи при изменении статуса заказа на тот, который указан в Настройка MegaPost параметр "Статус для выгрузки заказа по API" (если статус не указан, то выгрузка происходить не будет).
После успешной выгрузки* должен вернуться трек номер, который сохраняется в дополнительное свойство заказа "Номер отправления", который вы можете уже использовать в своих целях (например вывести в XSL-шаблоне и делать отправку клиенту)
Все логи выгрузки записываются в «Журнал событий»*, можно ознакомиться для анализа ошибок.
*модуль доступен в редакции HostCMS.Бизнес, для младшей редакции смотрите файлы в директории /hostcmsfiles/logs/(текущая дата).log.csv
— в корне сайта в файле bootstrap.php разместите следующий код:
1
class My_Shop_Order_Observer
2
{
3
static public function onAfterProcessOrder($object, $args)
4
{
5
$oShop_Order = $object->getShopOrder();
6
$oShop_Order_Before = clone $oShop_Order;
7
8
$oShop_Order->shop_order_status_id = 123; // статус из настроек megapost
9
$oShop_Order->save();
10
11
$handler = Shop_Payment_System_Handler::factory($oShop_Order->Shop_Payment_System);
12
$handler->shopOrderBeforeAction($oShop_Order_Before)->shopOrder($oShop_Order);
13
14
MegaPost_Observer::onBeforeChangedOrder($handler, array('edit'));
15
}
16
}
17
18
Core_Event::attach('Shop_Payment_System_Handler.onAfterProcessOrder', array('My_Shop_Order_Observer', 'onAfterProcessOrder'));
Last modified 8mo ago