OpenCart integration plugin
Go to file
Alex Lushpai 54312edd18 Merge pull request #4 from gwinn/master
v 2.x compability
2016-03-11 14:16:47 +03:00
admin fix delivery & hook data 2016-03-11 14:15:24 +03:00
catalog fix delivery & hook data 2016-03-11 14:15:24 +03:00
system update for 2.x 2016-03-10 02:07:25 +03:00
vqmod/xml merge gwinn repo 2016-02-09 16:32:33 +03:00
Changelog.md v0.3.0 2016-01-29 18:04:48 +03:00
LICENSE Update LICENSE 2015-02-02 16:21:38 +03:00
README.md update for 2.x 2016-03-10 02:07:25 +03:00
README.ru.md update for 2.x 2016-03-10 02:07:25 +03:00

Opencart module

Module allows integrate CMS Openacart with retailCRM

Module allows:

  • Export orders to retailCRM & fetch changes back
  • Export product catalog into ICML format

Install

Copy files to the site root

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

Setup

  • Go to Admin -> Extensions -> Modules -> retailCRM
  • Fill you api url & api key
  • Specify directories matching

Export orders to retailCRM (for opencart 1.5.x, for version 2.x this step is unnecessary)

VQmod

Copy retailcrm_create_order.xml into /path/to/site/root/vqmod/xml.

For VQmod cache renewal you may need to delete files /path/to/site/root/vqmod/vqcache/vq2-admin_model_sale_order.php & /path/to/site/root/vqmod/vqcache/vq2-catalog_model_checkout_order.php

Manual setup

In the file:

/catalog/model/checkout/order.php

add theese lines into addOrder method right before return statement:

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

In the file:

/admin/model/sale/order.php

add theese lines into addOrder & editOrder methods right before return statement:

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);
    }
}

Getting changes in orders

Add to cron:

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

Setting product catalog export

Add to cron:

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

Your export file will be available by following url

http://youropencartsite.com/retailcrm.xml