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

Выгрузка пользователей из интернет-магазина в RetailCRM

Описание

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

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

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

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

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('modUser');
//Сколько пользователей за раз передаем
$limit = 50;
//Сколько пропускаем от начала
$offset = 0;
$q->limit($limit, $offset);
$users = $modx->getIterator('modUser', $q);
//Выгружаем по одному
foreach($users as $user) {
  $modRetailCrm->OnUserSave($user, 'new');
}

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

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

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