+100 в опыт и карму!
В процессе интеграции 1С MDM и коробочной версии Битрикс24, возникла необходимость выгрузить базу контактов в Битрикс24 и сопоставить их с текущими компаниями. Что из этого получилось, рассказываем в текущем материале.
У клиента настроен обмен между MDM и Битрикс24. Полностью синхронизированы компании, путем сопоставления контрагентов между MDM и Битрикс24 по пользовательскому полю "ERP_ID". Импорт Контактов из MDM был затруднителен по причине некачественных данных.
Планируемый алгоритм:
- по ERP ID и ИНН определить компанию, к которой надо привязать контакт;
- если компания есть в CRM, то создать контакт и привязать его к компании, если компании нет, то не создавать контакт;
- если нет ИНН (например, иностранный контрагент), но есть ERP ID то создать и привязать контакт;
- чтобы не создавались дубли, необходимо сопоставление контактов с текущей базой Битрикс24 по телефону и имени. Если телефон отсутствует, по по E-mail;
- за вновь создаваемые контакты ответственный должен быть администратор.
Создан скрипт, который с помощью API производит необходимые действия:
- считывается файл и записывается в оперативную память в массив PHP; каждый элемент массива соответствует строке файла Excel;
- при наличии ERP_ID производится поиск компании в Битрикс24 с данным значением;
- если ERP_ID отсутствует, производится поиск в массиве реквизитов по ИНН, из которого производится чтение нужной компании по ID;
- затем происходит поиск контакта в базе Битрикс24 по одному из номеров телефонов (их 3 в базе Excel) и имени;
- если номер телефона отсутствует в файле, происходит поиск контакта по e-mail и имени;
- если контакт найден и он не прикреплён к какой-либо компании, либо прикреплён к неверной компании, производится прикрепление контакта к компании;
- если контакт не найден, то он создаётся и прикрепляется к нужной компании.