-
Оценка
-
Установок224
-
Разработчик
-
Опубликовано15.05.2025
Назначение:
Приложение "Поиск Дубликатов Pro" предназначено для автоматического поиска и обработки дубликатов контактов в CRM Битрикс24. Оно интегрируется в Роботы и в Конструктор Бизнес-Процессов, позволяя находить в CRM контакты-дубликаты — контакты с одинаковыми номерами телефонов или адресами e-mail — по ID контакта, по списку телефонов или по списку e-mail и передавать следующим роботам их ID, количество и ссылку на штатную страницу ручного объединения контактов.
Основные возможности:
Для кого. Отделы продаж и сервиса, которые ведут клиентов в контактах CRM Битрикс24 и хотят вовремя замечать повторные карточки одного и того же клиента — созданные вручную, из звонков, форм или обращений.Какую задачу решает. Робот «Дубликаты Контакта» берёт номера телефонов и адреса e-mail Контакта по его ID и (или) номера и E-mail адреса, указанные в настройках робота, ищет в CRM Rонтакты с такими же телефонами или адресами E-mail и возвращает следующим роботам автоматизации: есть ли дубликаты, их ID и количество, первый (самый ранний) и последний (самый поздний) ID среди найденных, а также ссылку на штатную страницу ручного объединения контактов Битрикс24. Если поиск не удался, робот возвращает признак ошибки и её текст.
Что считается дубликатами. Дубликаты — это два и более найденных Контакта. Если поиск идёт по ID Контакта и у Контакта указаны телефон или E-mail, исходный Контакт тоже находится по ним, поэтому входит в список ID и в количество. Если найден только один Контакт (т.е. только исходный контакт), робот возвращает «Дубликаты существуют» = Нет.
| Важно: Робот ничего не объединяет, не изменяет и не удаляет в CRM. Он только находит Контакты и возвращает результат следующим роботам. Объединяет Контакты пользователь — вручную, на штатной странице объединения Битрикс24, адрес которой робот возвращает в результате. Результат можно использовать в условии, в задаче, в уведомлении или записать в поле штатным роботом «Изменить элемент» (в дизайнере бизнес-процессов — «Изменить документ»). |
Типичные сценарии
- Проверка нового Контакта: робот в автоматизации Контакта ищет другие Контакты с теми же телефонами и e-mail; если дубликаты есть, следующий шаг ставит ответственному задачу со ссылкой на объединение.
- Проверка клиента сделки: в автоматизации Сделки робот получает ID Контакта Сделки и сообщает, есть ли у клиента повторные карточки, — менеджер узнаёт об этом до звонка.
- Проверка Контактов по данным лида: робот ищет среди Контактов по телефонам и e-mail из Лида; если найдено два и более Контакта — у клиента уже есть дубли среди Контактов, — условие бизнес-процесса по значению «Дубликаты существуют» ставит задачу на их объединение.
- Контроль чистоты базы: количество дубликатов и их ID можно отправить руководителю в уведомлении или записать в поле элемента.
- Поиск по ID Контакта: робот сам загружает номера телефонов и адреса e-mail Контакта из его карточки — указывать их отдельно не нужно.
- Поиск по списку телефонов и (или) по списку e-mail: можно указать только ID Контакта, только телефоны, только e-mail или любое сочетание — результаты всех поисков объединяются без повторов.
- Номер телефона ищется в нескольких вариантах записи: как указан; без пробелов, скобок и дефисов; а для российских 11-значных номеров, начинающихся с 7 или 8, — также в форматах «+7…» и «8…». Например, для номера «+7 (900) 000-00-00» дополнительно ищутся «+79000000000» и «89000000000».
- Список ID найденных контактов — множественное значение, ID упорядочены по возрастанию; отдельно возвращаются наименьший и наибольший ID — как правило, это первый и последний созданный Контакт.
- Адрес штатной страницы ручного объединения найденных контактов — текстом и в разметке BBcode — для задачи, уведомления или комментария.
- Если поиск не удался (например, Битрикс24 вернул ошибку), робот возвращает «Есть ошибка» = Да и текст ошибки в «Текст ошибки» — он виден в бизнес-процессе, настройку можно поправить, не обращаясь в поддержку. Робот при этом завершается и бизнес-процесс идёт дальше.
- Если портал временно не принял результат робота, приложение повторяет отправку того же результата.
У робота три необязательные настройки. Отдельных страниц и разделов у приложения нет: всё настраивается в карточке робота и в дизайнере бизнес-процессов.
- «ID Контакта» (inputId) — ID Контакта, дубликаты которого нужно найти.
- «Телефон(ы)» (inputPhones) — номера телефонов для поиска, через запятую.
- «Email(ы)» (inputEmails) — адреса e-mail для поиска, через запятую.
- если БП вызывается в Сделке - можно указать поле {{Контакт}} или {{Контакт: ID}}
- если БП вызывается в Контакте - можно указать поле {{ID}}
- если БП вызывается в Лиде - можно указать поля, содержащие ID Контакта или номера телефонов/адреса почты, но убедитесь, что указываете правильные имена полей и они существуют в списке доступных полей
- если БП вызывается в Сделке - можно указать поле {{Контакт: Телефон (текст)}} или {{Контакт: E-mail (текст)}}, соответственно
- если БП вызывается в Контакте - можно указать поле {{Телефон (текст)}} или {{E-mail (текст)}}, соответственно
- если БП вызывается в Лиде - можно указать поля, содержащие ID Контакта или номера телефонов/адреса почты, но убедитесь, что указываете правильные имена полей и они существуют в списке доступных полей
- «Дубликаты существуют» (hasDuplicates) — Да, если найдено два и более Контакта.
- «ID Дубликатов» (idsDuplicates) — ID найденных Контактов, включая исходный, если он найден (множественное значение).
- «Количество дубликатов» (quantityDuplicates) — число найденных Контактов, включая исходный, если он найден.
- «Самый ранний (первый) ID дубликата» (earliestIdDuplicates) — наименьший ID среди найденных.
- «Самый поздний (последний) ID дубликата» (latestIdDuplicates) — наибольший ID среди найденных.
- «Ссылка для ручного объединения дубликатов» (mergeUrlDuplicates) — текст адреса страницы объединения.
- «Ссылка для ручного объединения дубликатов (BBcode)» (mergeUrlDuplicatesBBcode) — тот же адрес в разметке BBcode.
- «Есть ошибка» (hasError)
- «Текст ошибки» (errorText) — при наличии
| Меры предосторожности: Очень желательно устанавливать «Период ожидания: Время ожидания ответа от приложения» - больше 0. Это поможет избежать его зависания в случае сбоев или технических проблем не по вине самого приложения. |
Дополнительные условия
- Тариф. Коммерческий тариф Битрикс24: на бесплатном тарифе REST API недоступен.
- Окружение. Работа проверена в облачном и коробочном Битрикс24.
- Права доступа приложения (scope). CRM (crm), Бизнес-процессы (bizproc), Пользователи (user_brief). CRM нужен для поиска контактов и чтения телефонов и e-mail контакта по ID, Бизнес-процессы — для регистрации робота и передачи его результата; user_brief используется только один раз при установке, чтобы сохранить служебные сведения о портале (число пользователей) для технической поддержки. Из сведений о сотрудниках приложение сохраняет только ID и признак администратора пользователя, установившего приложение, и ID служебного пользователя приложения.
- Права на установку. Устанавливать приложение должен пользователь с правами администратора портала: при установке приложение регистрирует робота автоматизации, а эта операция требует администраторских прав.
- Права пользователя. По умолчанию робот обращается к CRM от имени служебного пользователя приложения с правами администратора портала. Если в настройке робота выбран другой пользователь, у него должны быть права на чтение контактов CRM; если прав не хватает, робот вернёт «Есть ошибка» = Да и текст ошибки.
- Квалификация. Дополнительных навыков не требуется: настройка выполняется штатными средствами автоматизации CRM. Знание автоматизации CRM или дизайнера бизнес-процессов будет полезно.
- Дополнительное ПО и внешние сервисы. Не требуются. Оплата внешних систем не нужна.
- Дополнительные покупки. Приложение не содержит платных дополнений и не предлагает докупить функционал: вся заявленная функциональность доступна сразу после установки.
- До 5 номеров телефонов в одном поиске* — вместе с номерами из карточки контакта, если указан «ID Контакта» (номера контакта идут первыми). Каждый номер ищется в нескольких вариантах записи, а метод Битрикс24 принимает не более 20 значений за один запрос: 5 номеров × 4 варианта.
- До 20 адресов e-mail в одном поиске — вместе с адресами из карточки контакта.
- Предел выдачи — ограничение самого метода Битрикс24: не более 20 найденных записей за один поиск. Поиск по телефонам и поиск по адресам e-mail — отдельные запросы, их результаты объединяются.
- Робот ищет только среди Контактов: Компании, Сделки и Лиды в результат не попадают, даже если робот добавлен в автоматизацию Лида, Сделки или Компании.
- «Дубликаты существуют» = Да — только при двух и более найденных Контактах. Если найден один Контакт или ни одного, робот возвращает результат «Дубликаты существуют» = Нет, «Количество дубликатов» = 0, а список ID, наименьший и наибольший ID и обе ссылки остаются пустыми.
- «ID Контакта» — положительное целое число. Другое значение (текст, сломанная нераскрытая подстановка вида {{…}}) не используется, ошибки при этом нет. Если Контакта с таким ID нет, поиск идёт только по телефонам и e-mail из настроек робота, тоже без ошибки.
- Несколько значений в поле разделяются запятой или точкой с запятой — одним разделителем на строку: если в строке есть запятая, значения делятся только по запятым. Пустые значения и некорректные нераскрытые подстановки вида {{…}} пропускаются.
- Варианты «+7…» и «8…» строятся только для 11-значных номеров, начинающихся с 7 или 8 (разбор номеров рассчитан на российский формат). Остальные номера, в том числе номер без кода страны (10 цифр), ищутся только как указаны и без пробелов, скобок и дефисов.
- Если поля поиска пустые (не указаны ни ID контакта, ни телефоны, ни e-mail), это не ошибка: робот вернёт «Дубликаты существуют» = Нет и «Есть ошибка» = Нет.
- Если поиск не удался (например, Битрикс24 вернул ошибку), робот возвращает «Есть ошибка» = Да, а в «Текст ошибки» — описание ошибки; как правило, это код и описание ошибки, которые вернул Битрикс24, «Дубликаты существуют» = Нет, «Количество дубликатов» = 0, остальные значения пустые.
- «Ссылка для ручного объединения дубликатов» — это текст адреса, а не готовая кнопка: {=System:HostUrl}/crm/contact/merge/?id= и ID найденных контактов через запятую, где {=System:HostUrl} — системная переменная бизнес-процессов Битрикс24 с адресом портала. Вариант BBcode — тот же адрес в разметке [URL=…]…[/URL] с надписью «Объединить дубли»; в строковом поле CRM он сохранится вместе с разметкой, поэтому его удобнее использовать в комментариях, уведомлениях и задачах.
- Названия робота, его настроек и возвращаемых значений — на русском или английском, в зависимости от языка интерфейса Битрикс24. Запись в журнале бизнес-процесса («Поиск дубликатов выполнен» или «Ошибка: …») и надпись ссылки BBcode — всегда на русском.
- ВАЖНО: Приложение работает по подписке на результат (USE_SUBSCRIPTION): робот ждёт ответа приложения. Если ответ не придёт (например, из-за технического сбоя), робот без ограничения времени ожидания будет ждать его бесконечно, поэтому рекомендуем задать в настройках робота «Период ожидания: Время ожидания ответа от приложения» — больше 0.
- Робот регистрируется на портале в фоне сразу после установки и появляется в списке роботов обычно в течение нескольких секунд; если портал временно недоступен, приложение повторяет регистрацию в течение нескольких минут.
| * Поиск по телефонам учитывает разные форматы номеров. Например, для номера +7(123)456-78-90 будет выполнен поиск также по +71234567890 и 81234567890, а для номера (123)456-78-90, т.е. без когда страны, будет выполнен поиск по всем возможным вариантам (с +7 и 8 без скобок, пробелов, тире) - таким образом расширяется зона поиска, т.к. клиенты зачастую указывают номера в разных форматах. |
Данные и приватность
Приложение хранит на своём сервере только авторизационные ключи доступа к порталу, необходимые для работы с REST API Битрикс24, служебную запись об установке (адрес и идентификатор портала, язык портала, код, версия и права приложения, тариф и число пользователей, ID пользователя, установившего приложение, и служебного пользователя приложения — для технической поддержки и диагностики) и технические журналы работы приложения в течение ограниченного срока хранения. Ключи доступа хранятся в зашифрованном виде. В журналы записываются идентификаторы запросов, тексты и коды ошибок, число переданных роботу номеров телефонов и адресов e-mail, ID контакта из настроек робота, ID элемента CRM и бизнес-процесса, для которых сработал робот, и ID найденных контактов — без самих номеров телефонов, адресов e-mail и другого содержимого CRM. Номера телефонов и адреса e-mail используются только для поиска в момент срабатывания робота и на постоянной основе не сохраняются. Пока запрос робота ожидает обработки, он находится в зашифрованной очереди заданий; если обработать его не удалось, зашифрованное задание хранится ограниченное время для диагностики. При удалении приложения ключи доступа к порталу отзываются и стираются; служебная запись об установке сохраняется в статусе «удалено» — уже без доступа к порталу. Данные третьим лицам не передаются.
Подробнее — в Условиях о конфиденциальности персональной информации.
История версий
Версия 3
- Новая платформа. Обработка запросов робота перенесена на новую серверную платформу приложений для обеспечения более стабильной и быстрой работы.
- Ошибки поиска дубликатов лучше видны. Раньше, если Битрикс24 отвечал на поиск ошибкой, робот возвращал обобщенную информацию об ошибке, а при определенных условиях мог вернуть «Есть ошибка» = Нет и «Дубликаты существуют» = Нет, будто дубликатов нет. Исправлено. Теперь, помимо «Есть ошибка» = Да, в значении «Текст ошибки» — как правило, код и описание ошибки Битрикс24. Если в ваших бизнес-процессах ветка «компании не найдены» не проверяет значение «Есть ошибка», рекомендуем добавить такую проверку.
- Запись в журнале бизнес-процесса стала короче: «Поиск дубликатов выполнен» или «Ошибка: …». Телефоны, e-mail и найденные ID в журнал бизнес-процесса больше не пишутся — ID найденных контактов доступны в возвращаемом значении «ID Дубликатов».
- Надёжная передача результата. Отправка результата робота теперь повторяется при любом временном отказе Битрикс24, а не только при превышении лимита запросов (с увеличивающимися паузами, вплоть до 10 минут), найденные ID контактов при этом не теряются.
Версия 2
Теперь можно работать с приложением там, где это нужно - либо в Роботах, либо в конструкторе Бизнес-Процессов.
Также открывается возможность работать с приложением на Стандартном тарифе, не имеющем доступа к конструктору Бизнес-Процессов.