AMO CRM
Возможности интеграции
Интеграция заключается в изменении и/или создании контактов в enKod при совершении в АМО CRM следующих событий:
- Добавление контакта
- Изменение контакта
- Добавление сделки
- Изменение сделки
Авторизация
1. Установите веб-хук (один на все события или отдельный для каждого)
Если вы хотите, например, при совершении одного события подписывать контакты на группу рассылок, а при совершении другого нет - используйте отдельные веб-хуки.
Менеджер предоставит вам URL вебхука, который необходимо установить в АМО → АМО маркет → Webhooks
2. Выберите необходимые события
Мы поддерживаем 4 типа событий, изменения в которых являются триггером для изменения/добавления контакта в enKod.
- Добавление контакта
- Изменение контакта
- Добавление сделки
- Изменение сделки
Настройте те из четырех событий, которые вам необходимы.
Работа с контактами
Добавление контакта в АМО → Добавление/обновление контакта в enKod
При добавлении контакта в АМО:
- контакт будет создан в enKod, если он не был найден
- контакт будет обновлен в enKod, если он был найден
Изменение контакта в АМО → Добавление/обновление контакта в enKod
При изменении контакта в АМО:
- контакт будет создан в enKod, если он не был найден
- контакт будет обновлен в enKod, если он был найден
Сопоставление полей контакта в АМО с полями данных в enKod
У контакта в АМО есть два типа полей - системные (существующие изначально, не отображаются в интерфейсе) и пользовательские (созданные вручную). Емейл, телефон, имя и фамилия контакта будут переданы по умолчанию.
Обработка системных полей контакта
В АМО у контакта есть системные поля:
Имя | Значение |
---|---|
id | id карточки контакта |
responsible_user_id | id ответственного |
date_create | дата создания карточки |
last_modified | дата последнего изменения карточки |
created_user_id | id создателя |
modified_user_id | id изменившего |
account_id | id аккаунта |
Для каждого системного поля контакта, которое необходимо передавать в enKod, создайте поле данных с системным именем в виде amo_contact_id
, amo_contact_name
, amo_contact_responsible_user_id
и тд.
Если поле передавать не нужно, просто не создавайте его в enKod. Ознакомьтесь со списком полей, которые мы можем и не можем обрабатывать в этом разделе.
Обработка пользовательских полей:
В АМО у пользовательских полей контакта есть свой уникальный id, который можно посмотреть здесь:
Для передачи таких полей в enKod создайте в сервисе поля данных с системными именами в виде:
- amo_contact_1
- amo_contact_2
где 1 и 2 - id пользовательских полей контакта в АМО.
Если поле передавать не нужно, просто не создавайте его в enKod. Ознакомьтесь со списком полей, которые мы можем и не можем обрабатывать в этом разделе.
Работа со сделками
Добавление и изменение контакта в enKod при добавлении и изменении сделки в АМО
Мы можем связать сделку с контактом только в том случае, если для сущности сделки в АМО будет создано пользовательское поле с названием email.
В таком случае мы можем обрабатывать события:
Добавление сделки в АМО → Добавление/обновление контакта в enKod
При добавлении сделки в АМО:
- контакт будет создан в enKod, если он не был найден
- контакт будет обновлен в enKod, если он был найден
Изменение сделки в АМО → Добавление/обновление контакта в enKod
При изменении сделки в АМО:
- контакт будет создан в enKod, если он не был найден
- контакт будет обновлен в enKod, если он был найден
Сопоставление полей сделки в АМО с полями данных контакта в enKod
У сделки в АМО есть два типа полей - системные (существующие изначально, почти все не отображаются в интерфейсе) и пользовательские (созданные вручную).
Обработка системных полей сделки
В АМО у сделки есть системные поля:
Имя | Значение |
---|---|
id | id карточки сделки |
name | название сделки |
status_id | id статуса сделки |
price | бюджет сделки |
responsible_user_id | id ответственного |
last_modified | дата последнего изменения карточки |
modified_user_id | id изменившего |
created_user_id | id создателя |
date_create | дата создания |
pipeline_id | id воронки |
account_id | id аккаунта |
Для каждого системного поля сделки, которое необходимо передавать в enKod, создайте поле данных с системным именем в виде amo_lead_id
, amo_lead_name
, amo_lead_status_id
и тд.
Если поле передавать не нужно, просто не создавайте его в enKod. Ознакомьтесь со списком полей, которые мы можем и не можем обрабатывать в этом разделе.
Обработка пользовательских полей:
В АМО у пользовательских полей сделки есть свой уникальный id, который можно посмотреть здесь:
Для передачи таких полей в enKod создайте в сервисе поля данных с системными именами в виде:
- amo_lead_1
- amo_lead_2
где 1 и 2 - id пользовательских полей сделки в АМО.
Если поле передавать не нужно, просто не создавайте его в enKod. Ознакомьтесь со списком полей, которые мы можем и не можем обрабатывать в этом разделе.
Как происходит матчинг контактов
Из АМО в enKod может прийти: емейл, несколько емейлов, емейл и телефон, только телефон, несколько телефонов. Множественные поля с емейлами или телефонами мы можем получить в том случае, если они были добавлены вручную в АМО (пользовательские поля).
- Если пришло несколько емейлов - мы ищем контакт в enKod по первому, остальные игнорируем
- Если пришли емейл и телефон - ищем по емейлу (если никого не нашли, то по телефону)
- Если пришел только емейл - ищем по емейлу
- Если пришел только телефон - ищем по телефону
Если в емейле или телефоне, по которому мы матчим, передано невалидное значение (например, емейл без собаки, буквы в телефоне), то такие запросы мы не обрабатываем (для случаев когда передан только емейл или только телефон). Если мы получили емейл и телефон, а один из идентификаторов невалидный, то мы будем искать контакт по второму (корректому) идентификатору.
Если контакт был найден - мы обновляем его поля.
Если контакт не был найден - мы его создаем.
Типы данных системных полей в АМО и их соответствия в enKod
Системные поля контакта
Поле в АМО | Тип поля в enKod |
---|---|
Имя | Имя и Фамилия, передаются по умолчанию, разбиваются по пробелу |
Емейл | Емейл, передается по умолчанию |
Телефон | Телефон, передается по умолчанию |
id | Текст или Число |
responsible_user_id | Текст или Число |
date_create | Дата и время |
last_modified | Дата и время |
created_user_id | Текст или Число |
modified_user_id | Текст или Число |
account_id | Текст или Число |
Системные поля сделки
Поле в АМО | Тип поля в enKod |
---|---|
id | Текст или Число |
name | Текст |
status_id | Текст или Число |
price | Число |
responsible_user_id | Текст или Число |
last_modified | Дата и время |
modified_user_id | Текст или Число |
created_user_id | Текст или Число |
date_create | Дата и время |
pipeline_id | Текст или Число |
account_id | Текст или Число |
Типы данных пользовательских полей в АМО и их соответствия в enKod
Тип в АМО | Тип в enKod |
---|---|
Имя | Имя |
Емейл | Емейл |
Телефон | Телефон |
Текст | Текст |
Число | Число |
Флаг | Логический |
Список | Опционально в зависимости от наполнения - текст, число, дробное число (записано будет только одно (выбранное) значение) |
Мультисписок | Опционально в зависимости от наполнения - текст, число, дробное число (записано будет только одно (первое выбранное) значение) |
Дата | Дата |
Ссылка | Текст |
Текстовая область | Текст |
Переключатель | Не обрабатываем |
Короткий адрес | Текст |
Адрес | Не обрабатываем |
День рождения | Дата |
Юрлицо | Не обрабатываем |
Дата и время | Дата и время |
Файл | Не обрабатываем |
Важно
- Если один и тот же контакт привязан к нескольким сделкам в АМО, то мы будем хранить в полях только последнюю измененную из них.
- Если в сделке в АМО не создано поле email, то мы не сможем привязать сделку к контакту в enKod.
- В enKod будут изменены только те поля контакта, которые были предварительно созданы по всем правилам.
- Если в enKod будет передан невалидный емейл, в котором присутствует пробел, то при передаче мы заменим пробел на плюс. Это связано с логикой работы веб-хуков в АМО. В данном случае контакт будет добавлен, как валидный.
Подписка на группы рассылок
При необходимости вы можете подписать контакты на группы рассылок при добавлении в enKod. В таком случае подписка будет работать по логике “всех, включая отписчиков”, но контакты, которые находятся в ЧС или ГЧС, подписаны не будут.
Для подписки добавьте после основной части URL системные имена необходимых групп в следующем виде:
https://wh.enkod.ru/amo/MzJjamJ1YXWZvZA==tfhodg/?groups=sysname1,sysname2