opencart-module/README.ru.md
2018-03-26 13:28:18 +03:00

3.8 KiB
Raw Blame History

Opencart module

Модуль интеграции CMS Openacart 1.5.x.x c RetailCRM

Внимание: Это устаревшая ветка, дальнейшее развитие модуля для OpenCart v1.x осуществляться не будет, мы настоятельно рекомендуем использовать самую свежую версию OpenCart

Модуль позволяет:

  • Экспортировать в CRM данные о заказах и клиентах и получать обратно изменения по этим данным
  • Синхронизировать справочники (способы доставки и оплаты, статусы заказов и т.п.)
  • Выгружать каталог товаров в формате ICML

Установка

Установите модуль скопировав необходимые файлы в корень сайта

unzip master.zip
cp -r opencart-module/* /path/to/site/root

Активируйте модуль

В списке модулей нажмите "Установить"

Настройте параметры интеграции

На странице настроек модуля укажите URL Вашей CRM и ключ авторизации, после сохранения этих данных укажите соответствия справочников типов доставок, оплат и статусов заказа.

Выгрузка новых заказов в CRM

VQmod

Скопируйте файл retailcrm_create_order.xml в /path/to/site/root/vqmod/xml.

Для обновления кеша VQmod может потрбоваться удалить файлы /path/to/site/root/vqmod/vqcache/vq2-admin_model_sale_order.php и /path/to/site/root/vqmod/vqcache/vq2-catalog_model_checkout_order.php

Ручная установка

В файле:

/catalog/model/checkout/order.php

Добавьте следующие строки в метод addOrder непосредственно перед языковой конструкцией return:

$this->load->model('retailcrm/order');
$this->model_retailcrm_order->sendToCrm($data, $order_id);

В файле:

/admin/model/sale/order.php

Добавьте следующие строки в методы addOrder и editOrder в самом конце каждого метода:

if (!isset($data['fromApi'])) {
    $this->load->model('setting/setting');
    $status = $this->model_setting_setting->getSetting('retailcrm');

    if (!empty($data['order_status_id'])) {
        $data['order_status'] = $status['retailcrm_status'][$data['order_status_id']];
    }

    $this->load->model('retailcrm/order');
    if (isset ($order_query)) {
        $this->model_retailcrm_order->changeInCrm($data, $order_id);
    } else {
        $this->model_retailcrm_order->sendToCrm($data, $order_id);
    }
}

Получение измений из CRM

Для получения изменений и новых данных добавьте в cron следующую запись:

*/5 * * * * /usr/bin/php /path/to/opencart/system/cron/history.php >> /path/to/opencart/system/logs/cronjob_history.log 2>&1

Настройка экспорта каталога

Для периодической выгрузки каталога добавьте в cron следующую запись:

* */4 * * * /usr/bin/php /path/to/opencart/system/cron/icml.php >> /path/to/opencart/system/logs/cronjob_icml.log 2>&1

В настройках CRM установите путь к файлу выгрузки

http://youropencartsite.com/retailcrm.xml