
CdekIntegrate
Интеграция заказов СДЭК для MiniShop3 — создание, отслеживание, накладные, вебхуки.


CdekIntegrate генерирует 3 собственных события MODX.
Генерируется перед отправкой заказа в СДЭК. Позволяет модифицировать данные запроса или отменить создание.
Доступные параметры:
msOrder.Чтобы отменить создание заказа, верните false из плагина.
switch ($modx->event->name) {
case 'cdekIntegrateOnBeforeCreateOrder':
$requestData['comment'] = 'Хрупкий груз, обращаться осторожно';
break;
}switch ($modx->event->name) {
case 'cdekIntegrateOnBeforeCreateOrder':
// Не отправлять заказы с суммой менее 500 руб.
if ((float) $order->get('cost') < 500) {
$modx->event->output(false);
return false;
}
break;
}Генерируется после успешного создания заказа в СДЭК.
Доступные параметры:
msOrder.switch ($modx->event->name) {
case 'cdekIntegrateOnAfterCreateOrder':
$orderId = $order->get('id');
$modx->log(1, "Заказ #{$orderId} отправлен в СДЭК, UUID: {$cdek_uuid}");
// Здесь можно отправить email или уведомление в Telegram
break;
}Генерируется при получении вебхука от СДЭК.
Доступные параметры:
msOrder (если заказ найден).switch ($modx->event->name) {
case 'cdekIntegrateOnWebhook':
$statusCode = $data['attributes']['code'] ?? 'unknown';
$orderId = $order ? $order->get('id') : 'not found';
$modx->log(1, "CDEK webhook: status={$statusCode}, order={$orderId}");
break;
}CdekIntegrate подписан на два системных события MiniShop3.
Срабатывает при смене статуса заказа MS3. Компонент проверяет:
cdekintegrate_create_statuses — автоматически создаёт заказ в СДЭК.cdekintegrate_cancel_status — автоматически отменяет заказ в СДЭК.Срабатывает при загрузке страницы редактирования заказа в админке. Компонент подключает Vue-панель с интерфейсом управления заказом СДЭК на вкладке «СДЭК Интеграция».