Передача контактов и сделок из amoCRM
Интеграция заключается в:
- Создании/обновлении контакта в enKod при создании/обновлении контакта в amoCRM - при этом вы сможете выбрать:
- какие поля контакта буду передаваться
- на какие группы рассылок в enKod контакты будут подписываться
- какие теги прикреплять передаваемым контактам
- Получении информации о сделках из amoCRM - осуществляется с помощью автоматического создания пользовательских событий в enKod при создании или изменении сделки в amoCRM
Подключение
1. Перейдите в Настройки → Интеграции. В разделе «CRM» кликните на «amoCRM Контакты и сделки»
2. В появившемся окне нажмите на кнопку «Подключить»
3. Далее введите данные нужного amoCRM-аккаунта и нажмите на кнопку «Войти» или «Разрешить». Таким образом вы завершите авторизацию amoCRM-аккаунта и сможете перейти к настройке его интеграции с enKod
4. В разделе «Создание и изменение контактов» вы обязательно должны заполнить настройки основных емейла и телефона, в противном случае вы не сможете завершить интеграцию.
5. Вам также необходимо настроить хотя бы одну из пар: email и email или телефон и телефон.
Добавление любых других полей и настройка сделок являются опциональными.
6. Для завершения интеграции нажмите на кнопку «Сохранить».
Для подключения нового amoCRM-аккаунта, вы должны предварительно отключить интеграцию со старым.
Настройка интеграции
Основные емейл и телефон
В amoCRM у контакта может существовать одновременно несколько емейлов и/или телефонов, в то время как у enKod для одной карточки контакта возможно только под одному емейлу и телефону. Поэтому при настройке интеграции вам необходимо выбрать, из какого поля в amoCRM должны передаваться емейлы и телефон в enKod.
Логика передачи при этом следующая:
- если у контакта заполнены емейл/телефон поля, которые вы указали в этой настройке, то в enKod буду переданы именно они - остальные емейл и телефоны будут проигнорированы
- если у контакта НЕ заполнены емейл/телефон поля, которые вы указали в этой настройке, то enKod заберет любые другие емейл и телефон
- если у контакта заполнены те емейл/телефон поля, которые вы указали в этой настройке, при этом у контакта полей этого типа более одного (например, два рабочих телефона и три личных емейла), то enKod заберет только первый из них
- если первый номер/емейл (уже существующий в enKod) удалится в amoCRM, то при следующем получении события enKod посчитает его, как событие новой персоны, которой нет в базе enKod (при отсутствии неизменного емейла/телефона)
- если первый номер/емейл (уже существующий в enKod) удалится в amoCRM, то при следующем получении события enKod перезапишет номер/емейл контакта на новый (при наличии неизменного емейла/телефона)
Настройка основного емейла и телефона обязательна для работы интеграции с enKod
Сопоставление полей контактов amoCRM с полями данных в enKod
Перед началом настройки интеграции убедитесь, что вы заранее создали необходимые вам для сопоставления поля данных в enKod: о том, как создавать поля данных, вы можете прочесть в этой статье нашей Базы знаний.
Важно, чтобы тип данных поля amoCRM соответствовал типу данных созданного поля в enKod. При создании полей в enKod вы можете сверяться с таблицами ниже.
Системные поля контактов в amoCRM | Типы полей данных в enKod |
---|---|
Имя | Имя |
Емейл | Емейл |
Телефон | Телефон |
id | Текст или число |
responsible_user_id | Текст или число |
date_create | Дата и время |
last_modified | Дата и время |
created_user_id | Текст или число |
modified_user_id | Текст или число |
account_id | Текст или число |
Типы пользовательских полей в amoCRM | Типы полей данных в enKod |
---|---|
Текст | Текст |
Число | Число |
Флаг | Логический |
Дата | Дата |
Ссылка | Текст |
Текстовая область | Текст |
Короткий адрес | Текст |
День рождения | Дата |
Дата и время | Дата и время |
В enKod не обрабатываются и не выводятся в настройки поля amoCRM типа:
- список,
- мультисписок,
- переключатель,
- адрес,
- юр. лицо,
- файл
Если в amoCRM были зачищены или удалены какие-то из передаваемых полей контактов или сделки, то в enKod соответствующие им поля данных перестанут обновляться, но удалены или зачищены не будут.
Для работы интеграции с enKod к заполнению обязательна пара емейл-емейл ИЛИ телефон-телефон
Объединение контактов и создание сделок в контексте главного канала
В окне настройки интеграции вы можете выбрать главный канал. В зависимости от вашего выбора мы будем искать контакты для создания и обновления либо по полю емейл, либо по полю телефон. Подробнее про правила объединения контактов в зависимости от главного канала читайте в этом разделе базы знаний.
События сделок будут записываться тому контакту, который был создан/обновлен по правилам объединения для выбранного главного канала. Ниже приведены примеры работы со сделками для обоих вариантов.
Главный канал емейл
1. Создана сделка с контактом, у которого есть емейл и телефон, а в базе enKod есть контакт только с этим емейлом
Событие запишется контакту с емейлом
2. Создана сделка с контактом, у которого есть емейл и телефон, а в базе enKod есть контакт только с этим телефоном
Будет создан контакт с телефоном, а событие запишется ему
3. Создана сделка с контактом, у которого есть емейл и телефон, а в базе enKod есть два разных контакта (у одного указанный емейл, у другого указанный телефон)
Событие запишется контакту с емейлом
4. Создана сделка с контактом, у которого есть емейл 1 и телефон 1, а в базе enKod есть контакт, у которого емейл 1 и телефон 2
Событие запишется этому контакту
5. Создана сделка с контактом, у которого есть емейл 1 и телефон 1, а в базе enKod есть контакт, у которого емейл 2 и телефон 1
Будет создан контакт с емейлом 1, а событие запишется ему
6. Создана сделка с контактом, у которого есть один канал (емейл 1), а в базе enKod есть контакт, у которого есть два канала (емейл 1, телефон 1)
Событие запишется этому контакту
7. Создана сделка с контактом, у которого есть один канал (телефон 1), а в базе enKod есть контакт, у которого есть два канала (емейл 1, телефон 1)
Событие запишется этому контакту
Главный канал телефон
1. Создана сделка с контактом, у которого есть емейл и телефон, а в базе enKod есть только контакт с емейлом
Будет создан контакт с телефоном, а событие запишется ему
2. Создана сделка с контактом, у которого есть емейл и телефон, а в базе enKod есть только контакт с телефоном
Событие запишется контакту с телефоном
3. Создана сделка с контактом, у которого есть емейл и телефон, а в базе enKod есть два разных контакта (у одного указанный емейл, у другого указанный телефон)
Событие запишется контакту с телефоном
4. Создана сделка с контактом, у которого есть емейл 1 и телефон 1, а в базе enKod есть контакт, у которого емейл 1 и телефон 2
Будет создан контакт с телефоном 1, а событие запишется ему
5. Создана сделка с контактом, у которого есть емейл 1 и телефон 1, а в базе enKod есть контакт, у которого емейл 2 и телефон 1
Событие запишется контакту
6. Создана сделка с контактом, у которого есть один канал (емейл 1), а в базе enKod есть контакт, у которого есть два канала (емейл 1, телефон 1)
Событие запишется этому контакту
7. Создана сделка с контактом, у которого есть один канал (телефон 1), а в базе enKod есть контакт, у которого есть два канала (емейл 1, телефон 1)
Событие запишется этому контакту
Главный канал можно изменить в любой момент.
Подписка на группы рассылок
В выпадающем списке вы можете выбрать все необходимые вам группы рассылок. В таком случае, при каждом создании, обновлении контакта или сделки с участием этого контакта в amoCRM соответствующий контакт будет подписываться на выбранные группы рассылок, если еще не был подписан на них.
Подписка работает:
- согласно условию «всех, включая отписчиков»
- исключая контакты, которые находятся в ЧС или ГЧС (они подписаны не будут)
- по правилу обновления (без замены) данных о контакте
Правило обновления (без замены) означает, что если контакт ранее был подписан на невыбранные в списке группы рассылок, то они будут за ним сохранены. Т.е. подписка по интеграции не повлечет за собой отписку от невыбранных в списке интеграции групп рассылок.
Прикрепление тегов
В соответствующем списке вы можете выбрать теги, которые будут прикреплены к контактам, данные о создании или изменении которых передаются из amoCRM. Например, вы можете прикрепить тег «amoCRM» всем контактам, полученным через интеграцию, чтобы в дальнейшем их можно было легко отсегментировать в enKod.
Прикрепление тегов также работает по правилу обновление данных о контакте без замены, то есть имеющиеся до интеграции у контакта теги, но не выбранные в окне интеграции, открепляться не будут.
Создание, изменение и закрытие сделок
Для того, чтобы отслеживать сделки amoCRM в enKod вам необходимо в соответствующем разделе настроек выбрать поля сделки, которые вы хотите передавать в enKod, и сохранить настройки интеграции.
В enKod не обрабатываются и не выводятся в настройки поля amoCRM типа:
- список,
- мультисписок,
- переключатель,
- адрес,
- юр. лицо,
- файл
Если в amoCRM были зачищены или удалены какие-то из передаваемых полей контактов или сделки, то в enKod соответствующие им поля данных перестанут обновляться, но удалены или зачищены не будут.
Если поля сделок оставить невыбранными, то данные о сделках в enKod записываться не будут.
Принцип передачи данных о сделках
Если вы выбираете хотя бы одно поле сделки и сохраняете интеграцию, то в enKod автоматически создаются:
- два пользовательских события
- параметры, заключающие в себе выбранные поля сделок amoCRM и передаваемые пользовательскими событиями
- Обрабатываться будут сделки только с контактом внутри, т.к. создание пользовательского события без контакта невозможно
- В сделке может быть несколько контактов - в enKod это обрабатывается как несколько событий одной и той же сделки с разными контактами внутри
- Если удалить созданные пользовательские события сделок в enKod, то данные о сделках в amoCRM перестанут записываться
Автоматически создаваемые пользовательские события можно найти в соответствующем разделе сервиса:
Название | Системное имя | |
---|---|---|
Событие 1 | Создана сделка в amoCRM | amocrm_lead_create |
Событие 2 | Изменена сделка в amoCRM | amocrm_lead_change |
В истории событий они будут прописаны с источником «amointegration».
По клику на название такого события вы можете просмотреть список всех передаваемых в нем параметров (полей сделок), которые были настроены:
Автоматически создаваемые параметры можно найти в соответствующем разделе сервиса:
- Название параметра - дублирует название поля сделки из amoCRM
- Системное имя параметра - amocrm_name, где
- amocrm_ - константа для всех параметров событий
- name - транслитерация названия полей сделки
Например, если поле сделки в amoCRM называется «price», то в enKod появится параметр с системным именем amocrm_price
Редактирование интеграции
Для того, чтобы внести изменения в интеграцию (удалить или добавить передаваемые пары поле amoCRM-enKod; изменить группы рассылок, теги, отслеживание сделок), перейдите в Настройки → Интеграции. В разделе «CRM» кликните на «amoCRM Контакты и сделки», внесите нужные вам изменения и нажмите на кнопку «Сохранить».
Отключение интеграции
Для отключения интеграции достаточно перейти в в Настройки → Интеграции → «amoCRM Контакты и сделки» и, не внося никаких изменений в настройки, нажать на кнопку «Отключить».
В сервисе сохранятся все уже переданные до деактивации интеграции события (пользовательские события, параметры, поля данных; по необходимости их вы можете удалить вручную), новые данные из amoCRM передаваться и записываться в enKod не будут.
После деактивации интеграции вы в любой момент можете повторно подключить и настроить любой amoCRM-аккаунт.
Запросы из enKod в amoCRM и лимиты
Вы можете настроить передачу контактов не только из amoCRM в enKod, но и наоборот - из enKod в amoCRM. Этот функционал можно использовать, например, чтобы добавлять в amoCRM контакты, которые оставили свои данные в поп-апе на сайте.
Для этого перейдите в раздел меню Настройки ➔ Интеграции и активируйте интеграцию «amoCRM Контакты и сделки». Авторизуйтесь в своем аккаунте и установите галочку у «Интеграция для API-запросов из enKod в amoCRM» (не забудьте сохранить изменения). Теперь вы можете настроить передачу контактов из enKod в amoCRM через сценарии.
В мастере создания сценария при использовании основного блока API-запрос активируйте «Авторизацию amoCRM». Теперь все запросы, отправленные через этот блок, будут использовать авторизацию для вашего amoCRM аккаунта.
Настройте блок API-запроса на необходимое действие согласно документации amoCRM.
Обратите внимание, что amoCRM ограничивает количество запросов из сторонних сервисов:
- для каждой интеграции (включая enKod) максимум 7 запросов в секунду
- для аккаунта суммарно (то есть для всех интеграций в аккаунте) максимум 50 запросов в секунду
В контексте нашей интеграции это ограничение распространяется и на отправку запросов из enKod через блок API-запроса и на работу веб-хуков (при получении событий и контактов из amoCRM). Т.е. при настройке передачи в обе стороны все события будут ограничены описанным выше лимитом. На своей стороне enKod будет растягивать во времени отправку запросов в amoCRM, чтобы избежать превышения лимита (так как это может привести к блокировке на стороне amoCRM). В процессе использования это будет выглядеть, как медленная работа блока API-запроса (с amoCRM авторизацией) и получение событий из amoCRM с задержкой (при большом объеме контактов, проходящих через блок или при большом объеме событий, получаемых из amoCRM).
Мы не рекомендуем использовать блок API-запроса с «Авторизацией amoCRM» в сценариях, предусматривающих ручные загрузки контактов в сценарий в больших объемах.
Например, если вы начнете сценарий по подписке на группу рассылок, подписав единоразово 10000 контактов, то прохождение такого количества контактов через блок API-запроса займет несколько минут (и это при условии, что в это же время мы не будем получать события и контакты из amoCRM - в таком случае скорость будет еще ниже). В это же время, если в вашем аккаунте amoCRM настроены какие-то иные интеграции - а запросы от них тоже попадают под лимит в 50/секунду - такие действия неизбежно приведут к блокировке доступа к API для всего аккаунта amoCRM или к блокировка доступа к API для конкретной интеграции.
Авторизация amoCRM в блоке API-запроса предусмотрена для автоматизированной передачи единичных контактов, которые оставили данные в форме или поп-апе на сайте и прочих подобных механик.
При получении блокировки доступа к API в amoCRM вам следует:
- написать в техподдержку amoCRM о подозрении на блокировку с просьбой проверить
- провести аудит интеграций и виджетов, которые могли привести к блокировке
- запросить у техподдержки лог запросов и IP-адрес решения, которое привело к блокировке
После совершения этих шагов вы сможете понять, какая из интеграций привела к блокировке, и оптимизировать работу вашего аккаунта.