mirror of
https://github.com/retailcrm/opencart-module.git
synced 2024-11-22 13:16:07 +03:00
100 lines
3.6 KiB
Markdown
100 lines
3.6 KiB
Markdown
|
Opencart module
|
|||
|
===============
|
|||
|
|
|||
|
Модуль интеграции CMS Openacart c [RetailCRM](http://retailcrm.ru)
|
|||
|
|
|||
|
#### Модуль позволяет:
|
|||
|
|
|||
|
* Экспортировать в CRM данные о заказах и клиентах и получать обратно изменения по этим данным
|
|||
|
* Синхронизировать справочники (способы доставки и оплаты, статусы заказов и т.п.)
|
|||
|
* Выгружать каталог товаров в формате [ICML](http://www.retailcrm.ru/docs/Developers/ICML)
|
|||
|
|
|||
|
#### Установка
|
|||
|
|
|||
|
Установите модуль скопировав необходимые файлы в корень сайта
|
|||
|
|
|||
|
```
|
|||
|
unzip master.zip
|
|||
|
cp -r opencart-module/* /path/to/site/root
|
|||
|
```
|
|||
|
|
|||
|
#### Активируйте модуль
|
|||
|
|
|||
|
В списке модулей нажмите "Установить"
|
|||
|
|
|||
|
#### Настройте параметры интеграции
|
|||
|
|
|||
|
На странице настроек модуля укажите URL Вашей CRM и ключ авторизации, после сохранения этих данных укажите соответствия справочников типов доставок, оплат и статусов заказа.
|
|||
|
|
|||
|
|
|||
|
#### Выгрузка новых заказов в CRM (для версии opencart 1.5.x.x, для версии 2.0 и старше не требуется)
|
|||
|
|
|||
|
##### 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:
|
|||
|
|
|||
|
```php
|
|||
|
$this->load->model('retailcrm/order');
|
|||
|
$this->model_retailcrm_order->sendToCrm($data, $order_id);
|
|||
|
```
|
|||
|
|
|||
|
В файле:
|
|||
|
|
|||
|
```
|
|||
|
/admin/model/sale/order.php
|
|||
|
```
|
|||
|
|
|||
|
Добавьте следующие строки в методы addOrder и editOrder в самом конце каждого метода:
|
|||
|
|
|||
|
```php
|
|||
|
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/export.php >> /path/to/opencart/system/logs/cronjob_export.log 2>&1
|
|||
|
```
|
|||
|
|
|||
|
В настройках CRM установите путь к файлу выгрузки
|
|||
|
|
|||
|
```
|
|||
|
http://youropencartsite.com/retailcrm.xml
|
|||
|
```
|