[amoCRM] Интеграция с востребованным сервисом
Как многие помнят, месяц назад вместе с MODSTORE.PRO мы объявили о создании компонента для интеграции сайта на MODX Revo с популярной amoCRM. Реакция сообщества тогда обрадовала, что означало достаточно высокую востребованность такого инструмента.
И вот, теперь он готов!
Если вкратце, то AmoCRM — это простая и понятная система учета потенциальных клиентов и сделок, которая поможет контролировать и увеличивать ваши продажи. С помощью нее вы не только с легкостью сможете контролировать сделки, но и не потеряете ни одной заявки от потенциальных клиентов.
Перейдите в раздел API настроек amoCRM (YOUR_DOMAIN.amocrm.ru/settings/dev/) и добавьте новый виджет, если не создан ранее. В окне ввода кода виджета можно ввести что-то осмысленное, но самое главное, чтобы код оказался уникальным в рамках всего amoCRM.
Затем в таблице виджетов скопируйте значение из колонки «Секретный ключ» и введите в системну настройку.
Компонент написан мной, Воеводским Михаилом, совместно с нашим разработчиком Волковым Николаем.
Отдельное спасибо Павлу Гвоздю за предоставление своих наработок в этом направлении.
Пакет отправлен в магазин, доступен здесь.
И вот, теперь он готов!
Если вкратце, то AmoCRM — это простая и понятная система учета потенциальных клиентов и сделок, которая поможет контролировать и увеличивать ваши продажи. С помощью нее вы не только с легкостью сможете контролировать сделки, но и не потеряете ни одной заявки от потенциальных клиентов.
Ключевые возможности компонента:
- Из заказа на сайте создает сделку и контакт (или привязывает существующий)
- В свойствах заказа указывается метод оплаты и список товаров
- При смене статуса заказа изменяет статус сделки и наоборот
- Из любой формы обратной связи создает контакт
- Автоматически создает новую воронку для заказов с сайта и статусы заказов в ней
- Автоматически создает дополнительные поля сделок для списка товаров и метода оплаты
- Автоматически создает и обновляет Контакты при сохранении Пользователей на сайте
- Может создавать неограниченное количество дополнительных полей для контактов (упрощенный режим)
Установка и настройка
Системные настройки
| Название | Значение по умолчанию | Описание | amocrm_account | Аккаунт. Поддомен домена amocrm.ru | amocrm_hash | Ключ пользователя, можно получить на странице редактирования профиля пользователя | amocrm_login | Логин, с которым вы авторизуетесь в amoCRM | amocrm_new_order_status_id | 1 | ID статуса нового заказа minishop2 | amocrm_pipeline_id | ID воронки для нового заказа, заполняется автоматически при первом заказе | 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.Компонент написан мной, Воеводским Михаилом, совместно с нашим разработчиком Волковым Николаем.
Отдельное спасибо Павлу Гвоздю за предоставление своих наработок в этом направлении.
Пакет отправлен в магазин, доступен здесь.
Комментарии: 81
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
АнтонАнтонАнтонС новым годом!
АнтонИначе добрый Дед Мороз, станет горбатым дедом нетрадиционной ориентации.
С Новым Годом!
АнтонПодскажите как можно реализовать передачу контакта или создать сделку при заказе обратного звонка с сайта, через обычную форму?
Обновляйтесь корректируйте под свои нужды.
АнтонКонтакт или лид создает?
АнтонНаверно можно легко поправить.
Игорь ЗябкоСекунд около 10 примерно.
Вишлист:
опционально в настройках: реалтайм или данные в файл, в csv или json мб.
А далее можно будет по крону как нито разобрать.
Спасибо!
А подскажите:
Все работает, контакт при заполнении формы создается. Но в админке сыпятся ошибки:
Посмотрел — жалуется на сниппет amoCRMAddContact, а конкретно на эту строку:
Напишите результат.
Fi1osofОсобенно важно поле tags. Если прописать хотя бы вот так $default_fields = array('name','tags'), уже получается создавать контакты с тэгами.
Пока же пришлось делать так:
И вот здесь всплывает еще один момент: хорошо было бы иметь возможность в метод addContext() передавать объект контакта, чтобы не приходилось формировать запрос.
А в целом все работает, контакты создаются, список контактов из АМО получается забрать и прочий необходимый функционал есть. Спасибо за компонент! Пригодился.
addContext() — где такой метод? Мб, addContact()?
Fi1osofДа, все верно, моя ошибка.
Fi1osofВозможность создавать заметки особенно полезна, когда с сайта передаются не только простые поля (типа емейл, имя и т.п.), а какие-нибудь данные из более сложных форм (произвольные текстовые сообщения, информация по товару или типа того).
Создание События:
element_type: 1 — контакт, 2 — сделка.
element_id: id объекта (в нашем случае аккаунта).
note_type: 4 — это произвольная заметка по контакту.
Полный список типов здесь: developers.amocrm.ru/rest_api/notes_type.php
Получение всех Событий по контакту:
Fi1osofFi1osofПолучается вот такой результат:
Установил плагин. В crm передаются данные заказов и всех форм через хук formit
С заказами минишопа проблем нет, а вот при отправке форм в логах ошибка
На работу компонента и отправку данных ошибка не влияет, но хотелось бы от нее избавиться.
1. Как к вашему модулю добавить добавление Заметки, я так понимаю то-что описал Николай это его собственное решение не привязанное к модулю.
2. Можно ли в принципе создать задачу сразу после попадания заявки в CRM? Если это возможно то планируете ли такое улучшение модуля.
3. Развитие модуля прекращено?
2. Возможно. В будущем такое обновление появится
3. Не прекращено. Заявок на добавление возможностей не поступало.
Вопрос: передача кастомного поля реализована в модуле? Если да, то подскажите как передать, так как я не разобрался, если нет, то надо дописывать, будете ли вы этим заниматься или это уже удел того, кто купил модуль?
Ответил в поддержке.
На всякий случай, дублирую:
Добавьте в вызов FormIt параметр:
В этой ветке документации больше чем в самой документации.
Настройка указывается в формате:
{«userLogin@email.com»:«UA-43,RU-ROS,RU-KDA,RU-STA,RU-SPE»,«userLogin2@email.com»:«RU-LEN»}
у меня форма с полями name, phone, email, но они называются contact_name, contact_phone, contact_email. Я прописала
&hooks=`email,FormItAutoResponder,amoCRMAddContact`
&amoCRMNameField=`name==contact_name||phone==contact_phone||email==contact_email`
это правильно? В amoCRM контакт не попадает :(
Предоставьте доступ в админку, напишите данные в поддержке магазина.
Интересует покупка вашего плагина. Возможно ли с помощью вашего плагина сделать следующие:
1. Пользователь заходит на сайт, находит интересующий его товар.
2. Заполняет форму и нажимает отправить. У формы есть дополнительное поле «Название товара».
3. Форма отправляется в амоцрм, в качестве Контакта.
4. Дальше менеджер уже работает с контактом, проводя его по ссылке.
В документации у вас указано «Важно: поля контактов amoCRM должны совпадать с названиями полей формы.»
А как в форму добавить поле «Название товара», чтобы данные из нее отправились в амоцрм? Это возможно сделать?
На сайте корзины нету, все заказы через формы обычные на Formit.
Как сделать чтобы не назначался ответственный, и сделки падали в раздел неразобранное?
Какую настройку изменить? Очень прошу помочь! Так как никто в офисе не видит приход новых сделок.
Купил дополнение, настроил всё что нужно, кроме отправки текста сообщения из formit. Почему-то оно не добавляется в amoCRM.
вызов formit
но я так понимаю что name==name||phone==phone||email==email|| не нужно указывать, оно и так добавляется в amoCRM, а вот комментарий добавить не получается.
в системных настройках сделал так.
Шаблон формы:
Подскажите, кто уже это настраивал – автор дополнения не отвечает уже неделю…
Интересует вот этот функционал: www.amocrm.ru/developers/content/digital_pipeline/site_visit
Подойдёт ли данный модуль интеграции с этим сайтом? sakurasimferopol.ru. Спасибо
Вместе с передачей необходимых полей нужно было передавать UTM метки, а также client ID Yandex метрики и GA.
Пишу как реализовал:
В наши формы добавляем скрытые поля:
В код вызова AjaxForm в параметр amoCRMmodxAmoFieldsEq добавляем соответствие полей:
Где XXXXXXX — номер поля в AmoCRM.
Далее создаем сниппет utmSnippet — для сохранения значений UTM меток в кукки. Для чего это нужно, а чтобы отслеживать метки не только по ссылке, по которой пришел клиент с рекламы, а также при переходе по другим страницам сайта метки не терялись.
Вызываем, в body сниппет
Переходим к получению, подстановке в скрытые поля и передаче значений UTM меток, client ID в AmoCRM.
Получаем значения Client ID:
Для облегчения получения значений UTM меток воспользуемся либой js-cookie
Сниппет: utmSnippet
Обновление получения данных из кук и передача в поля:
prnt.sc/uy0m24
Купить купил, а извините вопрос возник ноль ответа, ни в поддержке ни тут.
Я видел ваш вопрос в магазине. Отвечу как будет возможность.
Касательно вашего вопроса здесь. Я вот ни слова не понял из вопроса.
Буду ждать возможно попробую как-то более понятно обьяснить всю суть проблемы.
Но большое спасибо за ответ хотя бы тут.
Хорошо что вообще к Николаю перешел компонент во владения, ранее был человек другой и он совсем не отвечал ( А тут появился хотя бы фидбек от разработчиков
Вообще странно такой вопрос задавать постороннему человеку.
Обновление будет выпущено по мере свободного времени.
клиенты ждут)) уже в следующем году или можно в этом ждать?