Автор дополнения
Воеводский Михаил
Пакетов
6
Закачек
832
Обычно отвечает в течение недели
Автор дополнения
Пакетов
6
Закачек
832
Обычно отвечает в течение недели
Версия 1.3.3-pl
Дата выпуска 17.11.2019
Загрузки 349
Просмотры 8 528
Внимание, этот компонент требует версию PHP 7.0 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.3 !

Модуль интеграции сайта на MODX Revolution и системы amoCRM



Актуальная документация доступна только по этой ссылке.


Ключевые возможности:
  • Из заказа на сайте создает сделку и контакт (или привязывает существующий)
  • В свойствах заказа указывается метод оплаты и список товаров
  • При смене статуса заказа изменяет статус сделки и наоборот
  • Из любой формы обратной связи создает контакт
  • Автоматически создает новую воронку для заказов с сайта и статусы заказов в ней
  • Автоматически создает дополнительные поля сделок для списка товаров и метода оплаты
  • Автоматически создает и обновляет Контакты при сохранении Пользователей на сайте
  • Может создавать неограниченное количество дополнительных полей для контактов (упрощенный режим)
Установка и настройка
Системные настройки
НазваниеЗначение по умолчанию
Описание
amocrm_account
Аккаунт. Поддомен домена amocrm.ru
amocrm_hashКлюч пользователя, можно получить на странице редактирования профиля пользователя
amocrm_loginЛогин, с которым вы авторизуетесь в amoCRM
amocrm_new_order_status_id1ID статуса нового заказа minishop2
amocrm_pipeline_idID воронки для нового заказа, заполняется автоматически при первом заказе
amocrm_secret_keyСекретный ключ виджета

Как получить значение amocrm_secret_key

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


Перейдите в раздел API настроек amoCRM (YOUR_DOMAIN.amocrm.ru/settings/dev/) и добавьте новый виджет, если не создан ранее. В окне ввода кода виджета можно ввести что-то осмысленное, но самое главное, чтобы код оказался уникальным в рамках всего amoCRM.


Затем в таблице виджетов скопируйте значение из колонки «Секретный ключ» и введите в системну настройку.


Настройка Webhook

Для получения изменений из amoCRM на сайт в блоке Webhook введите адрес

http://stite.ru/assets/components/amocrm/webhook.php
, заменив
http://stite.ru
на URL Вашего сайта. После этого в выпадающем списке справа отметьте галочками события: * Изменить сделку * Смена статуса сделки


Добавление дополнительных полей Контактам

При создании или изменении Контакта с сайта могут передаваться любые данные Пользователя. Единственное условие — должны быть созданы соответствующие дополнительные поля. Если секретный ключ виджета указан, то новые поля можно создать прямо с сайта. Для этого удобнее всего использовать компонент Console и выполнить в нем следующий код:


<code>if (!$amo = $modx->getService('amocrm', 'amoCRM', $modx->getOption('amocrm_core_path', null,
        $modx->getOption('core_path') . 'components/amocrm/') . 'model/amocrm/', array())
) {
    return 'Could not load amoCRM class!';
}
$amo->auth();
$amo->addContactsCustomFields(array('username', 'email', 'phone'));</code>

Здесь видно, что перечень полей задается в виде стандартного массива PHP. Важно: поля должны совпадать со свойствами пользователей MODX.



Обсуждение компонента в сообществе MODX.PRO.

1.3.3-pl

  • Исправлена обработка дополнительных полей заказа, возвращаемых из плагинов

1.3.2-pl

  • Исправлена обработка дополнительных полей заказа, возвращаемых из плагинов
  • Добавлен плагин-пример для переноса названия оплаты в заказе в дополнительное поле с типом ENUM

1.3.1-pl2

  • Исправлена передача артикулов в сделку
  • Обновлен плагин захвата UTM-меток

1.3.1-pl

  • Добавлена передача артикулов товаров в сделку

1.3.0-beta

  • Добавлена возможность обновления всех свойств заказа в amoCRM при изменении статуса на сайте
  • Добавлена передача ответа от amoCRM в плагины после передачи данных
  • Добавлен плагин-пример для изменения ответственного
  • Добавлены поля по умолчанию для пользователей (контактов)
  • Скорректировано описание системной настройки amocrm_default_responsible_user_id

1.2.2-beta2

  • Добавлено поле visitor_uid к стандартным полям сделок

1.2.2-beta

  • Актуализирован метод смены статуса заказа
  • Добавлен плагин-пример для переименования сделок
  • Добавлен пропуск заданий на синхронизацию после 5 неудачных ошибок обработки
  • Изменена проверка активного режима вебхука в плагине-примере
  • Изменено время задержки для обработки заданий от вебхука
  • Исправлен возврат значений из плагина
  • Улучшена работа с полями почты и телефона
  • Улучшено обновление пользователя

1.2.1-beta

  • Добавлен скрипт для установки статусов сделок заказам ms2
  • Добавлен учет контекста при поиске воронок и других опций по категории
  • Добавлена возможность установки дополнительных полей контактам через extended поля пользователей
  • Добавлена поддержка очереди simpleQueue для вебхука
  • Добавлена сортировка при выборке заданий на отправку
  • Добавлено сохранение воронки для amoCRMLead при отправке формы
  • Изменен механизм выставления и проверки работы в режиме вебхука
  • Изменена выборка заданий с коллекции на единичные объекты
  • Исключено пустое событие OnHandleRequest для основного плагина
  • Исправлена ошибка добавления контакта с отсутствующими телефоном и почтой
  • Отключено сохранение связи со сделкой, если от amoCRM не получен ID сделки
  • Улучшен плагин-пример отлова UTM-меток для их сохранения в профиль пользователя
  • Улучшен скрипт-пример для консоли, добавляющий контакт и выводящий ссылки на страницы пользователей
  • Улучшена обработка полей контактов, сохраняемых в extended пользователей

1.2.0-beta

  • Добавлен плагин для захвата и передачи UTM-меток
  • Исправлен метод amoCRM::changeOrderStatusInAmo для случая отсутствующего ID сделки
  • Обновлен плагин-пример для работы с amoCRMTools
  • Улучшена совместимость с Office плагина сохранения множественных полей

1.2.0-alpha

  • Добавлен вспомогательный класс amoCRMTools, все служебные методы перенесены в него
  • Добавлен метод нормализации российских мобильных телефонных номеров
  • Добавлен скрипт для нормализации телефонов и удаления дублирующихся значений полей в контактах amoCRM
  • Добавлен скрипт для консоли, добавляющий контакт и выводящий ссылки на страницы пользователей
  • Добавлен скрипт очистки дополнительных полей от дублей и нормализации номеров телефонов
  • Добавлена возможность указания произвольных полей для контакта при оформлении заказа
  • Добавлена системная настройка для указания префикса полей адреса заказа
  • Добавлена системная настройка amocrm_user_fields_glue_amo_values, значение которой используется при склейке множественных значений полей контактов при получении из amoCRM
  • Добавлено внесение пакета amoCRM в системную настройку extension_packages при установке
  • Добавлено обновление аккаунта, если массив дополнительных пустой
  • Замена array_merge на array_replace для поддержки указания ID полей
  • Исключено дублирование почты и телефона для контактов при добавлении заказа
  • Исправлен механизм создания связи "Пользователь MODX" -- "Контакт amoCRM"
  • Исправлен механизм смены статуса для удаленной в amoCRM сделки
  • Исправлен возвращаемого значения метода добавления формы, если не включено создание сделок
  • Исправлена подготовка контактов из пользователей, если не передано поле name
  • Исправлено создание дублирующихся значений в дополнительных полях
  • Оптимизирован основной плагин
  • Улучшен механизм подготовки полей пользователя
  • Улучшен механизм разбора полей
  • Улучшена защита полей контактов amoCRM от изменения
  • Улучшена проверка существования дополнительных полей для сделок
  • Улучшено применение стоимости сделки при отправке формы
  • Улучшены методы получения ID дополнительных полей

1.1.6-beta

  • Добавлен скрипт сохранения зависимых от категорий параметров в заказе при работе в контексте отличном от WEB
  • Добавлена настройка для списка полей контактов, значения которых в amo не обновляются значениями с сайта
  • Улучшено сохранение ID контактов в БД
  • Метод updateContact помечен "устаревшим"

1.1.5-beta2

  • Добавлен вызов событий при создании сделок из формы
  • Исправлена передача данных при добавлении формы

1.1.5-beta

  • Добавлена возможность передачи особых параметров $amoCRM в скрипт фоновой отправки данных
  • Добавлена возможность принудительной авторизации
  • Исправлено создание отдельных экземпляров amoCRM в скрипте фоновой отправки
  • Улучшена обработка возвращаемых из плагинов данных
  • Добавлена передача ID контактов amoCRM в плагины
  • Метод обновления контакта изменен на актуальную версию API
  • Добавлен пример плагина для сохранения в amoCRM имеющихся значений ENUM полей
  • Добавлена системная настройка для указания ответственного по умолчанию

1.1.4-beta1

  • Добавлена передача экземпляра класса (amoCRM и amoCRMWebhook) в вызываемые события
  • Добавлена поддержка очередей simpleQueue и отправки данных в отдельном потоке
  • Добавлена прозрачная авторизация
  • Добавлена системная настройка для пропуска пустых полей при передаче данных
  • Добавлены примеры дополнительных скриптов
  • Добавлены события отправки пользователей
  • Исправлено обновление пользователя из контакта (добавлена передача username в процессор)

1.1.3-beta1

  • Исправлена проверка воронки сделки при изменении статуса заказа в MODX
  • Возвращено поле товаров в заказе в список передаваемых полей сделки
  • Добавлена возможность смены статуса заказа из сайта в AMO в любой воронке
  • Исправлено добавление сделки к контакту при отправке формы
  • Добавлены методы работы с вебхуками в amoCRM: подписка, отписка, получение
  • Добавлены вспомогательные скрипты

1.1.2-beta1

  • Добавлены события при отправке сделки и контакта, получении данных при вызове вебхука

1.1.1-rc5

  • Добавлена отправка пользователя при сохранении профиля $profile->save()
  • Улучшено сохранение сделок для существующих контактов в amoCRM
  • Исправлен поиск воронок и статусов по категории товаров - при отсутствии по категории не затираются ранее выставленные значения
  • Исправлена передача пользователя при сохранении в админке
  • Исправлена смена статуса MS2 для нового заказа при получении данных из amoCRM
  • Скорректирован возврат результата работы метода обновления воронки в amoCRM
  • Незначительные корректировки отладочного логирования

1.1.1-rc4

  • Исправлено обновление контакта при поиске по телефону
  • Исправлена обработка полей адреса заказа
  • Исключено поле goods из списка обрабатываемых полей заказа (добавляется всегда независимо от списка)

1.1.1-rc3

  • Изменен формат полей-перечислений по умолчанию (исключен array_flip)
  • Исправлено формирование запроса для поиска существующего контакта в amoCRM
  • Улучшено определение ID статуса amoCRM для нового заказа

1.1.1-rc2

  • Улучшен механизм обработки списков полей
  • Улучшен механизм определения ENUM полей

1.1.1-rc1

  • Добавлен возврат результата добавления контакта из формы
  • Добавлен метод получения всех сделок по ID
  • Добавлен механизм автообновлений воронок и их статусов
  • Добавлена возможность включения/отключения автоматического создания несуществующих в amoCRM дополнительных полей контактов и сделок
  • Добавлена возможность включения/отключения передачи пользователей из MODX в amoCRM при редактировании в админке
  • Добавлена возможность использования любых полей в массиве properties заказа в качестве значения дополнительных полей для сделок
  • Добавлена возможность синхронизации контактов из amoCRM
  • Добавлена возможность указания воронки, статуса и ответственного для сделки на основании категории одного из товаров
  • Добавлена возможность указания параметров подключения к amoCRM для хука FormIt
  • Добавлена возможность указания передаваемых дополнительных полей контакта
  • Добавлена возможность указания списков полей в 4-х форматах: прежний строковый (f==a||ff==aa), PHP-массив, JSON-массив, перечисление через запятую
  • Добавлена поддержка ENUM для полей контактов
  • Добавлена работа с компаниями в amoCRM
  • Добавлена системная настройка для автообновления воронок
  • Добавлена системная настройка для включения/отключения большего приоритета ответственного из свойств категории над указанным в properties заказа
  • Добавлено отключение синхронизации пользователя при сохранении в админке или активном приеме данных из amoCRM через Webhook
  • Добавлено поле goods в список дополнительных полей заказа для передачи купленных товаров
  • Добавлено сохранение ID воронки для объекта amoCRMLead
  • Обновлен список стандартных полей контактов и сделок, включая тэги
  • Обновлено взаимодействие с API amoCRM по многим запросам
  • Улучшена проверка существования контакта в amoCRM
  • Улучшена работа с дополнительными полями
  • Улучшена работа с полями формы в хуке FormIt
  • Улучшено определение воронки и статуса для новой сделки
  • Улучшено получение статусов воронки
  • Исправлено выставление воронки и ее статуса при изменении статуса заказа в MS2
  • Исправлено получение сделок существующего контакта
  • Исправлено формирование названия новой сделки из формы
  • Иные незначительные исправления и улучшения

1.0.9-pl3

  • Добавлена защита дополнения

1.0.8-pl3

  • Фикс бага при создании заказа авторизованным пользователем

1.0.7-pl3

  • Добавлена поддержка тэгов в качестве полей сделки

1.0.7-pl2

  • Исправлена ошибка проверки заполненности обязательных для форм полей

1.0.7-pl

  • Добавлена проверка на заполненность обязательных полей формы до создания контакта

1.0.6-pl

  • Добавление responsible_user_id в список разрешенных полей для контактов и сделок
  • Добавление сниппета-хука amoCRMAddContactGeo для примера взаимодействия с другими компонентами и добавления ответственных в заявки на основе геопозиции

1.0.5-pl2

  • Оптимизация работы с cookie
  • Корректировка работы с полями по ID
  • Устранение излишнего логирования

1.0.5-pl

  • Изменение способа хранения cookie
  • Корректировка получения имени контакта (username, если пусто fullname)
  • Добавление подбора дополнительного поля по ID

1.0.4-beta

  • Добавление заявок из форм в качестве сделок
  • Устранение предупреждения PHP

1.0.3-pl

  • Исправление работы hook'а для FormIt

1.0.2-pl

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

1.0.1-pl

  • Добавлена передача телефона контакту при создании сделки
  • Исправление ошибки в сниппете amoCRMAddContact

1.0.0-pl

  • Добавлены списки полей адреса и заказа для передачи в amoCRM при создании сделки

1.0.0-beta2

  • Исправлено создание системной настройки для нового заказа amocrm_new_order_status_id

1.0.0-beta

  • Первая публичная версия

Последние обсуждения в сообществе MODX.pro