Передача контактов и сделок из amoCRM
Интеграция заключается в:
- Создании/обновлении контакта в enKod при создании/обновлении контакта в amoCRM - при этом вы сможете выбрать:
- какие поля контакта буду передаваться
- на какие группы рассылок в enKod контакты будут подписываться
- какие теги прикреплять передаваемым контактам
- Получении информации о сделках из amoCRM - осуществляется с помощью автоматического создания пользовательских событий в enKod при создании или изменении сделки в amoCRM
Если в amoCRM:
• значение поля контакта или сделки меняется с заполненного состояние на пустое
• удаляется глобально какое-либо значение поля на аккаунте
• удаляется глобально какое-либо поле контакта или сделки на аккаунте
в enKod эти изменения не будут записаны из-за логики работы веб-хуков amoCRM.
Таким образом, если в amoCRM были очищены или удалены какие-то из передаваемых полей или опции этих полей контактов или сделок, то в enKod соответствующие им поля данных перестанут обновляться, но удалены или зачищены не будут.
Подключение
Перейдите в Настройки → Интеграции. В разделе «CRM» кликните на «amoCRM Контакты и сделки»
В появившемся окне нажмите на кнопку «Подключить»
Далее введите данные нужного amoCRM-аккаунта и нажмите на кнопку «Войти» или «Разрешить». Таким образом вы завершите авторизацию amoCRM-аккаунта и сможете перейти к настройке его интеграции с enKod
Настройка интеграции
Главный канал
В окне настройки интеграции вы можете выбрать главный канал. Главный канал - это основной идентификатор, по которому будет добавляться или обновляться контакт. В зависимости от вашего выбора мы будем искать контакты для создания и обновления либо по полю емейл, либо по полю телефон. Подробнее про правила объединения контактов в зависимости от главного канала читайте в этом разделе базы знаний.
Ниже в разделе «Объединение контактов и создание сделок в контексте главного канала» приведены примеры для понимания логики работы настройки главного канала.
Необходимо обязательно настроить соответствие (емейл-емейл или телефон-телефон) для канала, выбранного главным.
Основные емейл и телефон
В разделе «Создание и изменение контактов» вы обязательно должны заполнить настройки основных емейла и телефона, в противном случае вы не сможете завершить интеграцию.
В amoCRM у контакта может существовать одновременно несколько емейлов и/или телефонов, в то время как у enKod для одной карточки контакта возможно только под одному емейлу и телефону. Поэтому при настройке интеграции вам необходимо выбрать, из какого поля в amoCRM должны передаваться емейлы и телефон в enKod.
Логика передачи при этом следующая:
- если у контакта заполнены емейл/телефон поля, которые вы указали в настройке как основные, то в enKod буду переданы именно они - остальные емейл и телефоны будут проигнорированы
- если у контакта НЕ заполнены емейл/телефон поля, которые вы указали в настройке как основные, то enKod заберет любые другие емейл и телефон
- если у контакта заполнены те емейл/телефон поля, которые вы указали в настройке как основные, при этом у контакта полей этого типа более одного (например, два рабочих телефона и три личных емейла), то enKod заберет только первые из них
- если первый номер/емейл (уже существующий в enKod) удалится в amoCRM, то при следующем получении события enKod посчитает его, как событие для нового контакта, которого еще нет в базе enKod (при отсутствии неизменного емейла/телефона)
- если первый номер/емейл (уже существующий в enKod) удалится в amoCRM, то при следующем получении события enKod перезапишет номер/емейл контакта на новый (при наличии неизменного емейла/телефона)
Настройка основного емейла и телефона обязательна для работы интеграции с enKod
Соответствие полей для емейла и телефона
Прежде чем настраивать соответствия для записи дополнительной информации в поля данных контактов необходимо настроить хотя бы одну пару для передачи идентификаторов контакта (емейл-емейл и/или телефон-телефон). Стоит учесть, что если главным каналом был выбран емейл - то обязательно должна быть настроена пара емейл (в amoCRM) - емейл (в enKod). При выборе главным каналом телефона - настройте соответствие для этого идентификатора.
Сопоставление полей контактов amoCRM с полями данных в enKod
Перед началом настройки интеграции убедитесь, что вы заранее создали необходимые вам для сопоставления поля данных в 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 типа:
- мультисписок,
- переключатель,
- адрес,
- юр. лицо,
- файл
Объединение контактов и создание сделок в контексте главного канала
События сделок будут записываться тому контакту, который был создан/обновлен по правилам объединения для выбранного главного канала. Ниже приведены примеры работы со сделками для обоих вариантов.
Главный канал емейл
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, и сохранить настройки интеграции.
Обратите внимание: поля сделки amoCRM типа «Список» записываются в enKod как параметры пользовательского события типа «Текст».
В enKod не обрабатываются и не выводятся в настройки поля amoCRM типа:
- мультисписок,
- переключатель,
- адрес,
- юр. лицо,
- файл
Если поля сделок оставить невыбранными, то данные о сделках в enKod записываться не будут.
Принцип передачи данных о сделках
Если вы выбираете хотя бы одно поле сделки и сохраняете интеграцию, то в enKod автоматически создаются:
- два пользовательских события
- параметры, заключающие в себе выбранные поля сделок amoCRM и передаваемые пользовательскими событиями
- Обрабатываться будут сделки только с контактом внутри, т.к. создание пользовательского события без контакта невозможно
- В сделке может быть несколько контактов - в enKod это обрабатывается как несколько событий одной и той же сделки с разными контактами внутри
- Если удалить созданные пользовательские события сделок в enKod, то данные о сделках в amoCRM перестанут записываться
Названия воронки и статуса сделки
По умолчанию при передаче данных о сделках enKod получает только числовые идентификаторы статуса (status_id) и воронки (pipeline_id). Если вы хотите видеть в истории событий или использовать в сегментации текстовые названия (например, «Сделка заключена» или «Прогрев»), включите дополнительную опцию.
Как включить
- Перейдите в настройки интеграции (см. раздел «Подключение»).
- В блоке «Создание, изменение и закрытие сделок» найдите чекбокс «Передавать названия воронки и статуса сделки» и активируйте его.
После включения в списке выбранных полей сделок автоматически появятся и станут обязательными для передачи поля status_id и pipeline_id. Это необходимо, чтобы enKod мог сопоставить числовые коды с названиями. Пока чекбокс активен, вы не сможете убрать эти поля.
Где отображаются названия
В истории событий в карточке пользовательского события (создание или изменение сделки) текстовые названия выводятся отдельным блоком вверху, над остальными параметрами:
Числовые поля status_id и pipeline_id при этом сохраняются ниже в своём обычном виде.
В сегментации при создании сегментов (для рассылок, виджетов, условий) в списке параметров событий amoCRM появляются два новых поля:
- Название воронки
- Статус
Они закреплены в самом верху списка и работают как обычные текстовые поля. Вы можете использовать любые текстовые операторы: равно, не равно, содержит, начинается с и т.д.
Важные особенности
События сделок, которые уже были в enKod на момент активации, не получат текстовые названия.
- Если вы отключите чекбокс – новые события перестанут получать названия. Однако ранее сохранённые названия в старых событиях останутся и продолжат работать в сегментации.
- Поля «Название воронки» и «Статус» не исчезают из интерфейса сегментации после выключения чекбокса – они остаются, но применяются только к тем событиям, где названия были сохранены.
Если вы измените название статуса или воронки в самой amoCRM, то в enKod в истории событий автоматически начнут отображаться новые названия для всех последующих изменений сделок. Однако сегменты, которые вы уже настроили на старое название, не обновятся автоматически. Вам потребуется вручную зайти в каждый такой сегмент и заменить старое название на новое в текстовом поле фильтра.
Сегментация работает либо по названиям, либо по числовым идентификаторам статуса сделки и воронки.
При попытке сегментации по status_id и pipeline_id - не будут учитываться события изменения этих id, произошедшие с момента включения опции передачи названий до момента ее выключения. Эти события можно будет получить только по именам.
Если вы удалите поля status_id и pipeline_id из мультиселекта (предварительно отключив чекбокс), то названия передаваться не будут – enKod не сможет определить, к какой воронке и статусу относится сделка.
Автоматически создаваемые пользовательские события можно найти в соответствующем разделе сервиса:
| Название | Системное имя | |
|---|---|---|
| Событие 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-адрес решения, которое привело к блокировке
После совершения этих шагов вы сможете понять, какая из интеграций привела к блокировке, и оптимизировать работу вашего аккаунта.