Skip to content
  1. Компоненты
  2. modRetailCRM
  3. Предварительная настройка
  4. Выгрузка заказов

Выгрузка старых заказов из интернет-магазина в RetailCRM

Описание

Для чего нужно. Если вы подключаете RetailCRM к уже действующему магазину - наверняка там уже есть созданные ранее заказы. Выгружая эти данные мы позволяем RetailCRM просчитывать более точную аналитику, и как минимум, показывать сколько учтенных покупок у того или иного пользователя.

Пошаговая инструкция

  1. К этому моменту у Вас уже должен быть куплен, подключен к магазину и настроен компонент modRetailCRM. Под настройкой я подразумеваю заполнение ключа АПИ, символьного кода сайта и адреса вашей CRM, так как здесь мы уже используем компонент. Если это не сделано - вернитесь к предварительной настройке компонента.

  2. Если заказов у вас в базе немного (понятие относительное, скажем меньше сотни) - мы можем запустить в админке MODX компонент console и выполнить в нем следующий код

php
<?php
if (!$modRetailCrm = $modx->getService(
  'modretailcrm',
  'modRetailCrm',
  MODX_CORE_PATH . 'components/modretailcrm/model/modretailcrm/',
  array($modx)
)) {
  $modx->log(modX::LOG_LEVEL_ERROR, '[modRetailCrm] - Not found class modRetailCrm');
  return;
}

$q = $modx->newQuery('msOrder');
//Сколько пользователей за раз передаем
$limit = 50;
//Сколько пропускаем от начала
$offset = 0;
$q->limit($limit, $offset);
$orders = $modx->getIterator('msOrder', $q);
//Выгружаем по одному
foreach($orders as $msOrder) {
  $modRetailCrm->msOnCreateOrder($msOrder);
}

По сути на этом все. Могу только добавить, что при большой базе эффективнее будет вынести код в отдельный php файл и запустить его через консоль сервера. Только не забудьте в этом случае в начале файла подключить MODX. Если не знаете как это сделать - читаем это

Возможные ошибки

Если что-то пошло не так, и выгрузка заказов не удалась, в первую очередь проверяем что вы заполнили системные настройки modRetailCRM. Затем можем попробовать выгрузить поменьше заказов. Для начала и один сойдет. Просто меняем $limit Если и сейчас что-то идет на так - включаем логирование ошибок в системной настройке modretailcrm_log пробуем еще раз и смотрим журнал ошибок MODX

Как правило, RetailCRM хорошо описывает все ошибки - и этого шага будет достаточно, чтобы понять, чего не хватает или что пошло не так.