Автор дополнения
Николай Савин
Пакетов
16
Закачек
28 417
Автор дополнения
Пакетов
16
Закачек
28 417
Обычно отвечает в течение суток
Версия 2.13.2-pl
Дата выпуска 23.08.2021
Загрузки 288
Просмотры 10 759
Внимание, этот компонент требует версию PHP 7.0 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.5 !
Компонент для интеграции популярного сервиса RetailCRM с MODX.

Компонент в основном заточен под популярный интернет-магазин miniShop2, но может работать и без него в ручном режиме, поддерживая весь функционал заложенный в API RetaiCRM

Что умеет modRetailCRM из коробки

1. Формировать правильную выгрузку товаров в формате ICML, в том числе, работая с модификациями msOptionsPrice2. Как сформировать выгрузку.
2. Выгружать старых пользователей MODX в RetailCRM. Как это сделать.
3. Выгружать старые заказы в RetailCRM.Как это сделать.
4. Отслеживать регистрацию новых пользователей (в том числе и скрытую регистрацию при создании заказа miniShop2) и создавать пользователей в RetailCRM
5. Отслеживать создание новых заказов miniShop2 и передавать данных о заказах в RetailCRM
6. Отслеживать изменение статусов заказов в интернет-магазине, и передавать эти изменения в RetailCRM, меняя статус заказа и там.
7. Отслеживать изменения статусов заказов в RetailCRM и менять статусы этих заказов в интернет-магазине (Требуется дополнительная настройка на стороне RetailCRM)
8. Работать с формами с подключенным FormIt и передавать данные из форм в CRM. Пример

Другие возможности


API RetailCRM очень обширный и позволяет решить на сайте большое количество вопросов.
Например
  • Получать ключевые аналитические метрики клиента CRM и использовать их на сайте. Общая сумма заказов \ Средний чек \ Количество заказов \ LTV
  • Расчет стоимости доставки для выбранной службы доставки
  • Обновление информации о статусе доставки. Трекинг
  • Программа лояльности. Добавление клиента в программу лояльности, активация в программе, редактирование клиента.
  • Расчет максимальной скидки в программе лояльности. Рассчитывает максимальную скидку для клиента. Учитывая персональную скидку или уровень лояльности или событие. Позволяет списать бонусы
  • Применение бонусов к Заказу по программе лояльности
  • Рекомендации. Запрос рекомендуемых товаров по типу рекомендации «Покупают с» «Аналоги»
  • Верификация. Отправка смс клиенту для прохождения верификации, и последующая отправка кода подтверждения введенного клиентом

Данные возможности не реализованы непосредственно в компоненте, так как привязываются индивидуально к бизнес-логике проекта, но используя встроенный API компонента — реализовать их становится возможно

Какие данные о пользователях передаются в RetailCRM

1. Email
2. Номер телефона
4. Имя
3. Идентификационный номер пользователя в MODX
Перечень несложно расширить, передавая любые другие данные, в том числе индивидуальные для вашего проекта.

Какие данные о заказе передаются в RetailCRM

1. Номер заказа
2. Перечень товаров в заказе, включая цену, наименование, количество, идентификатор товара (для связи с каталогом RetailCRM)
3. Стоимость и способ доставки
4. Способ оплаты
5. Адрес доставки
6. Общий вес заказа
Перечень несложно расширить, передавая любые другие данные, в том числе индивидуальные для вашего проекта.

Что отслеживает и делает плагин

1. Событие OnUserSave — Регистрация новых пользователей. Данные о новых пользователях передаются в RetailCRM
2. Событие msOnCreateOrder — Новые заказы. Данные передаются в RetailCRM
3. Событие msOnChangeOrderStatus — Изменение статуса заказа. Данные об обновленном заказе передаются в RetailCRM
4. Событие OnMODXInit — Добавление новых полей к способам Оплаты и Доставки, к статусу Заказа
5. Событие msOnManagerCustomCssJs — Добавление новых полей к способам Оплаты и Доставки, к статусу Заказа

Системные настройки modRetailCRM


  • modretailcrm_apiKey | Ключ API — получить его можно в RetailCRM (**Администрирование** / **Интеграция** / **Ключи доступа к API**)
  • modretailcrm_siteCode | Символьный код сайта — получить его можно в RetailCRM (**Администрирование** / **Магазины** / **Ваш магазин**)
  • modretailcrm_url | URL адрес вашей CRM. Его можно взять прямо из адресной строки
  • modretailcrm_log | Логгирование всех запросов. Необходимо для отладки
  • modretailcrm_sync_statuses | Перечень статусов заказов, необходимый для синхронизации статусов. Через запятую перечисляем все статусы, которые мы хотели бы отслеживать. Например 2, 4 (Оплачен, Выполнен).
  • modretailcrm_ allow_msoptionsprice | Используете msOptionsPrice2? Влияет на XML разметку для выгрузки товаров в RetailCRM, используется в передаче заказов


Предварительная настройка


1. Естественно у вас должен быть аккаунт в RetailCRM.
2. В системных настройках сайта (раздел modretailcrm) Вам нужно указать

  • API ключ.
  • адрес вашей CRM.
  • символьный код сайта.

3. Доставка. Для передачи способов доставки при заказе нужно указать их символьные коды
Идем в настройки miniShop2 — открываем по очереди все активные способы доставки — в окне редактирования должно появиться новое поле Символьный код RetailCRM


Записываем туда соответствующий символьный код из справочника доставок RetailCRM. Сохраняем.


4. Проделываем то же самое со способами оплаты. Справочник типов оплаты можно найти в разделе Администрирование/Справочники RetailCRM

5. Проделываем то же самое со статусами заказа. Справочник статусов заказов можно найти в разделе Администрирование/Статусы RetailCRM


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

Попробовать бесплатно


На нашем хостинге modHost.pro существует бесплатный пробный тариф, на котором вы можете в течение суток тестировать любые платные компоненты совершенно бесплатно. Пользуйтесь на здоровье! Также перед покупкой Вы можете задавать вопросы по компоненту и его возможностям в сообществе modx.pro или лично автору по любым удобным каналам связи. Все контактны в профиле автора.

Индивидуальная настройка и помощь


Купив компонент — вы помимо всего прочего получаете возможность технической поддержки от автора. В случае необходимости он поможет Вам разобраться с возможными проблемами, максимально подробно ответит на вопросы и по возможности поможет в доработке компонента под индивидуальные нужды интернет-магазина (доработка компонента и общей логики работы обсуждается индивидуально и может быть как бесплатной, так и платной, в случае большого объема работ)

История modRetailCRM

2.13.2 - (23.08.2021)

  • Сниппет ICML: Возвращена выборка бренда

2.13.1 - (17.07.2021)

  • Сниппет ICML: Оптимизирован код выборки данных из таблицы msProductData

2.13.0 - (05.07.2021)

  • Добавлена возможность предварительной настройки компонента при его установке

2.12.3 - (29.06.2021)

  • Исправлено предупреждение при установке и удалении компонента modRestClient::__construct is deprecated since version 2.3.0. Use the modRest classes instead.

2.12.2 - (28.06.2021)

  • Улучшен код сборщика. Удален неиспользуемый функционал
  • Сниппет ICML: Ускорена выборка данных. Все запросы теперь работают через класс pdoFetch, взамен нативных XPDO запросов.
  • Сниппет ICML: Исправлена ошибка при которой у дочерней категории существовала ссылка на неопубликованного родителя
  • Сниппет ICML: Исправлена ошибка при которой в списке появлялись товары неопубликованного родителя

2.12.1 - (25.06.2021)

  • Весь код отрефакторен на соответствие стандарту PSR-12

2.12.0 - (23.03.2021)

  • Удалены ссылки на объекты как legacy код.
  • Небольшой рефакторинг кода. Удалены лишние переменные
  • Системные настройки разделены по секциям для удобства
  • Добавлена возможность перезаписать номер заказа на тот номер что присвоен CRM. Вместо 2103/308 будет 100A
  • Добавлена опция перезаписи номера заказа в CRM. Вместо 100A будет 2103/308

2.11.1 - (14.03.2021)

  • Исправления в changeStatus

2.11.0 - (09.02.2021)

  • Обновлена библиотека RetailCRM 5.2.0 - 5.7.2

==============

2.10.1 - (06.01.2020)

  • Улучшен класс работы с триггерами

==============

2.10.0 - (31.12.2019)

  • Часть плагина, отвечающая за прием и обработку триггеров, вынесена в отдельный класс.

==============

2.9.0 - (16.12.2019)

  • Часть плагина, отвечающая за изменение статуса, вынесена в отдельный класс.

==============

2.8.0 - (12.12.2019)

  • Переделана система расширения системных таблиц для встраивания служебных полей компонента

==============

2.7.3 - (11.12.2019)

  • Customers: Добавлена возможность работы с профилем пользователя как массивом и как с объектом одновременно.

==============

2.7.2 - (05.12.2019)

  • Исправлена синтаксическая ошибка предыдущего обновления

==============

2.7.1 - (04.12.2019)

  • Код из плагина (секция onModxInit) вынесен в отдельный класс

==============

2.7.0 - (16.11.2019)

  • Добавлена возможность подключения собственного класса управления клиентами, расширяющего базоый класс Customers
  • Добавлена валидация системной настройки modretailcrm_url для избежания возможных ошибок подключения
  • Исключена возможность запуска плагинов при незаполненных системных настройках

==============

2.6.10 - (03.11.2019)

  • Базовый класс modRetailCRM: Новые методы.

==============

2.6.9 - (24.10.2019)

  • Icml: Добавлен принудительный заголовок application/xml;
    • Новая системная настройка: modretailcrm_custom_orders_class.
  • Добавлена эксперементальная возможность подключения собственного класса заказа, расширяющего базового класс

==============

2.6.8 - (12.08.2019)

  • Orders: Добавление информации о доставке и оплате вынесены в отдельные методы

==============

2.6.7 - (12.08.2019)

  • Orders: Добавление адреса в закака вынесено в отдельный метод

==============

2.6.6 - (12.08.2019)

  • Orders: Добавление товаров в закака вынесено в отдельный метод

==============

2.6.5 - (31.07.2019)

  • Добавлен класс Customers, управляющий запросами связанными с клиентами RetailCRM

==============

2.6.4 - (31.07.2019)

  • Улучшен базовый класс modRetailCRM
  • Заложена возможность расширения и подключения дополнительных классов
  • Добавлен класс Orders, управляющий запросами связанными с заказами RetailCRM

==============

2.6.3 - (29.07.2019)

  • Оптимизировано подключение к библиотеке RetailCRM

==============

2.6.2 - (20.07.2019)

  • Добавлены лексиконы для js

==============

2.6.1 - (18.07.2019)

  • Весь JS отформатирован, перенесен из плагина в отдельный файл

==============

2.6.0 - (10.07.2019)

  • Новый API клиент retailCRM

==============

2.5.2 - (15.05.2019)

  • Сниппет ICML. Добавлена массовая автозамена амперсанта (&) во всех возможных строках

==============

2.5.1 - (14.05.2019)

  • Сниппет ICML. Исправлена ошибка с выборкой товаров, при указании параметра parents
  • Сниппет ICML. Добавлена замена символа & в наименовании товара, модификации, артикула, имени производителя

==============

2.5.0 - (12.04.2019)

  • Добавлен сниппет icml, который генерирует XML разметку для выгрузки товаров в RetailCRM
  • Добавлена системная настройка allow_msoptionsprice для работы с модификациями товаров
  • В плагин встроена нормальная поддержка модификаций

============== 2.4.3 - (16.01.2019)

  • Возвращено случайно отключенное событие msOnManagerCustomCssJs

==============

2.4.2 - (13.01.2019)

  • В плагин добавлено событие onHandleRequest
  • В событие onHandleRequest добавлен обработчик триггера на смену статуса заказа

==============

2.4.1 - (14.12.2018)

  • Добавлена смена статуса платежа в CRM

==============

2.4.0 - (14.12.2018)

  • Настроен учет промо-кодов и скидок компонента msPromoCode
  • Исправлены мелкие ошибки плагина.
  • Добавлены подписи популярных свойств size,color для передачи нормально читаемых опций
  • Добавлено обнаружение msOptionsPrice2 и заготовка под передачу опций

==============

2.3.3 - (13.12.2018)

  • Новая системная настройка - Перечень статусов заказов, которые будет слушать плагин
  • Мелкие правки в плагине

==============

2.3.2 - (13.12.2018)

  • В объект msOrderStatus, добавлено дополнительное поле retailcrm_status_code, позволяющее указать символьный код статуса заказа из настроек retailCRM.
  • Настроено отслеживание изменения статуса заказа.

==============

2.3.1 - (11.11.2018)

  • Исправлен подсчет стоимости доставки.
  • Исправлено получение адрес доставки

==============

2.3.0 - (28.10.2018)

  • Добавлена системная настройка modretailcrm_log, включающая логирование запросов к RetailCRM
  • Добавлена проверка свойств товара за заполненость
  • Исправлена ошибка, при которой заказы не создавались в RetailCRM, из-за пустых опций

==============

  • Исправлена ошибка с падением сайта при заполненном API KEY и пустом URL CRM 2.2.3 - (16.08.2018)

  • Исправлена ошибка с падением сайта при заполненном API KEY и пустом URL CRM

2.2.2 - (23.08.2018)

  • Исправлена ошибка разбиения имени на ФИО
  • Добавлена подсказка для получения модификаций msOptionsPrice

2.2.1 - (11.06.2018)

  • В выгрузку заказов добавлен передача способа доставки и способа оплаты

2.2.0 - (10.06.2018)

  • В объект msDelivery, добавлено дополнительное поле retailcrm_delivery_code, позволяющее указать символьный код доставки из настроек retailCRM, что дает возможность передавать способ доставки при заказе.
  • В объект msPayment, добавлено дополнительное поле retailcrm_payment_code, позволяющее указать символьный код способа оплаты из настроек retailCRM, что дает возможность передавать способ оплаты при заказе.

2.1.0 - (1.06.2018)

  • Отключена передача способа доставки и оплаты и за ошибки на стороне RetailCRM
  • Исправлена передача общей стоимости нескольких разных товаров
  • Добавлена передача стоимости доставки
  • Добавлена передача веса товара
  • Добавлено разбиение Строки ФИО на отдельные поля
  • Добавлена проверка на существование пользователя на стороне RetailCRM

2.0.0-beta - (19.11.2017)

  • Базовая версия 2.0.
  • Полностью переписанный компонент