private:koding:hostcms:modules:shop:order:otgruzka_otpravlenij

Отгрузка отправлений

Интернет-магазины работают со службами доставки, и для ускорения обмена данными между ними службы доставки предоставляют собственные API, которые позволяют создавать отправления на основе заказов, сделанных покупателями в интернет-магазинах.

Для интеграции службы доставки с интернет-магазином на HostCMS разработан класс и его реализации для некоторых служб доставки, файлы решения доступны по ссылке ниже:

Файлы решения, на данный момент реализована интеграция с PickPoint и Hermes.

Описание работы

При оплате пользователем заказ будет отправляться в выбранную службу доставки.

Установка

  1. Необходимо скачать файлы решения и загрузить их в директорию /modules/shop/order.
  2. Подключить наблюдатель, разместив в bootstrap.php следующий код:
    Shop_Order_Observer_Dispatch::attach();
  3. Настроить наблюдатель Shop_Order_Observer_Dispatch, указав соответствия между способом доставки HostCMS и службой доставки, например, так:
    switch ($oShopOrder->shop_delivery_id)
    {
    	// Pickpoint
    	case 6:
    		Shop_Order_Dispatcher::factory('pickpoint')
    			->debug(self::$_debug)
    			->dispatch($oClonedShopOrder);
    	break;
     
    	// Hermes
    	case 11:
    		Shop_Order_Dispatcher::factory('hermes')
    			->debug(self::$_debug)
    			->dispatch($oClonedShopOrder);
    	break;
    }

Структура файлов решения

Решение имеет правильную структуру с базовым классом, реализациями под каждую службу доставки и конфигурациями, при необходимости поддержки какой-то другой службы доставки нужно будет написать новую реализацию для работы с конкретным API, уже имеющиеся службы доставки это не затронит.

/dispatcher/                    // Реализации для различных служб доставки
----/config/                     
--------config.php		// Конфигурации для служб доставки
----hermes.php
----pickpoint.php
/observer/			// Наблюдатели для заказа
dispatcher.php			// Основной класс

Страницу создал Максим Засорин 31.07.17 в 11:59

private/koding/hostcms/modules/shop/order/otgruzka_otpravlenij.txt · Last modified: 31.07.17 в 12:44 by maximzasorin_gmail.com