# Выгрузка заказов в ЛК

У некоторых доставок реализована выгрузка заказов с сайта в личный кабинет транспортных компаний в ручном режиме.

Выгрузка происходи при изменении статуса заказа на тот, который указан в [Настройка MegaPost](/megapost/nastroika-megapost.md) параметр **"Статус для выгрузки заказа по API"** (если статус не указан, то выгрузка происходить не будет).

После успешной выгрузки\* должен вернуться трек номер, который сохраняется в дополнительное свойство заказа "Номер отправления", который вы можете уже использовать в своих целях (например вывести в XSL-шаблоне и делать отправку клиенту)

{% hint style="danger" %}
Все логи выгрузки записываются в **«Журнал событий»**\*, можно ознакомиться для анализа ошибок.\
\&#xNAN;*\*модуль доступен в редакции **HostCMS.Бизнес**, для младшей редакции смотрите файлы в директории **/hostcmsfiles/logs/(текущая дата).log.csv***
{% endhint %}

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

{% hint style="danger" %}
Это нестандартный функционал, хук приведен для примера и стандартно должен работать, если что то не работает, то произведите тестирования кода со своим администартором сайта
{% endhint %}

— в корне сайта в файле **bootstrap.php** разместите следующий код:

{% code lineNumbers="true" fullWidth="true" %}

```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'));
```

{% endcode %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.morozovpimnev.ru/megapost/vygruzka-zakazov-v-lk.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
