Мы используем cookie на нашем сайте. Это позволяет нам анализировать взаимодействие посетителей с сайтом и делать его лучше. Продолжая пользоваться сайтом, вы соглашаетесь на обработку персональных данных в соответствии с политикой конфиденциальности.
Вот уже 8 лет мы работаем с Битрикс24, и за это время какие только запросы нам не поступали: на интеграцию телефонии, ERP-систем, внешних систем отчетности и много другого. Безусловно, как и для любого опытного разработчика, чем сложнее проект, тем для нас интереснее. И все же мы не устаем повторять, что порой даже самые сложные запросы можно решить в два шага, а не в десять.
Как? Давайте разбираться. В этой статье мы расскажем, что под собой подразумевает любая интеграция двух систем, как мы подходим к процессу и к чему готовиться заказчику, чтобы наше взаимодействие получилось максимально эффективным.
Мы всегда ратуем за экономию ресурсов — как своих, так и заказчика. Поэтому на первом этапе обязательно смотрим, есть ли уже готовое решение, способное закрыть потребность клиента простым подключением и настройкой. Это может быть приложение из каталога Битрикс24 или собственное решение от компании-разработчика ПО.
Бывает и так, что потребности клиента можно удовлетворить без всяких сторонних приложений — исключительно за счет стандартных настроек Битрикс24. И только если ничего подобного нет, мы переходим к разработке интеграции с нуля.
Для начала выясняем, есть ли у продукта открытое API, и если да, исследуем его: смотрим, на каких технологиях реализован продукт, потребуется ли делать что-то промежуточное или система позволяет обращаться к ней напрямую из Битрикс24.
Важно помнить, что даже открытого API может не хватить, и тогда все равно придется дорабатывать вторую систему, причем силами её разработчиков или специальных подрядчиков.
Если прямая интеграция через API по тем или иным причинам невозможна, мы идем по второму пути и устанавливаем связь через промежуточный сервер. Он будет выполнять роль коммуникатора между интегрируемым продуктом и Битрикс24.
Может выясниться, что открытого API вообще нет. В этом случае мы исходим из конкретных условий, которые ставит перед нами вторая система. Например, если используется база данных, можно подключиться к ней напрямую; если это приложение для Windows, можно написать специальный драйвер, который будет отдавать нужную информацию в интернет; и так далее, вариантов множество.
На втором этапе мы расписываем, как будет строиться интеграция с точки зрения архитектуры и какие работы потребуются с обеих сторон для успешного завершения проекта.
Определяем общий процесс взаимодействия систем с точки зрения пользовательского сценария:
выявляем типы данных, которые нужно передавать;
устанавливаем, на каком этапе это нужно делать;
и прописываем сценарий обмена: будут ли данные передаваться все сразу или постепенно, через какой промежуток времени это будет происходить.
Всё это необходимо, чтобы и заказчик, и исполнитель заранее понимали, что будет происходить на дальнейших этапах проекта, и смогли как следует к нему подготовиться. О роли заказчика в процессе интеграции стоит сказать подробнее, и ниже мы еще вернемся к этому вопросу.
Обычно мы тестируем решение прямо в ходе работы. Сначала производим интеграционное тестирование на уровне простых вызовов: отправили запрос, получили ответ, внесли коррективы, если это необходимо. Затем приступаем к тестированию на уровне процессов — с учетом сценариев заказчика и на его тестовых данных.
Как мы уже говорили, Битрикс24 можно соединить практически с чем угодно, так что и видов интеграций есть великое множество. Однако чаще всего к нам приходят с запросами трех основных типов:
Интеграция с 1С. Наиболее популярные редакции: Бухгалтерия, Управление предприятием и Управление торговлей. Чаще всего клиенты заказывают данный тип интеграции, когда хотят обеспечить полноценный процесс лидогенерации за счет CRM и связать ее с той системой, где они ведут учет товаров, услуг, финансовых потоков и т.п.
Интеграция с ERP. Самые часто встречающиеся системы: SAP, 1C:ERP, MS Dynamics. Этот тип интеграции удобен, если пользователь хочет расширить набор коммуникационных инструментов, наладить работу сотрудников с задачами и оптимизировать бизнес-процессы, но при этом оставить документооборот в привычной ERP.
Интеграция с телефонией. Самые популярные бренды — Asterisk, Avaya, Cisco. Эта интеграция требуется, когда клиент уже пользуется какой-либо АТС и хочет наладить передачу данных из АТС в Битрикс24 CRM и обратно. Часто требуется тем, кто работает с той или иной формой колл-центра.
Интеграция — в принципе трудоемкий процесс, ведь сначала нужно провести работы на стороне обеих систем, а затем их “подружить”. По сути, мы должны наладить “межкультурную коммуникацию”, ведь мы говорим в терминах Битрикс24, а заказчик — в своих или терминах интегрируемой системы.
При этом оптимальный сценарий — проводить работы параллельно и сразу тестировать промежуточные результаты. Тогда нам не придется на финальном этапе объединять две независимые задачи проекта в единое целое, и в итоге мы получим тот же результат, но при меньшем объеме работ.
Чаще всего возникает два типа препятствий:
Технические сложности. Может оказаться, что интегрируемая система хранит данные в формате, который отличается от стандарта Битрикс24. Конвертация потребует дополнительных усилий. Обычно, такие проблемы решает предварительный анализ интеграции, хотя заранее предусмотреть все нюансы невозможно.
Изменения со стороны бизнеса. На старте заказчик обычно уверен в заложенной бизнес-логике. Но по мере погружения в проект у него часто появляется желание что-то поменять прямо в процессе интеграции. Как и в предыдущем случае, предусмотреть всё заранее невозможно, но важно помнить, что дополнительные работы требуют дополнительных затрат. Даже не самые кардинальные на первый взгляд изменения могут потребовать изменения сценария работы: полной или частичной смены технологий (с переделкой), подрядчиков (часто с переделкой), целей проекта (с переделкой) и т.п.
Четкое описание процесса. Важно максимально заранее определить логику интеграции, заложить необходимые ресурсы и просчитать возможные риски. Все это помогает и исполнителю, и заказчику подготовиться к проекту, и значительно снижает риск взаимного неудовольствия или срыва сроков. Чем тщательнее подготовка, тем быстрее и качественнее результат.
Выстроенная коммуникация. В рамках проекта заказчик исполняет две роли: во-первых, он служит организатором всего процесса, а во-вторых, его координатором. Идеально, если компания-заказчик готова выделить ответственного сотрудника, который и будет управлять проектом. Так как у нас не всегда есть возможность напрямую связываться с третьей стороной, чтобы получить, например, тестовые данные, ответственный со стороны заказчика должен быть готов оперативно реагировать на запросы и взаимодействовать со всеми участниками проекта.
Проверенный подрядчик. Сильно облегчает взаимодействие и наличие проверенного подрядчика или специалиста, работающего на аутсорсе или в штате компании, который бы разбирался в интегрируемой системе. Хорошо, чтобы коммуникация между подрядчиком и компанией заказчика была налажена до начала проекта, и выбранный специалист мог быстро вносить необходимые изменения.
Надеемся, нам удалось убедить вас, что интеграция — хотя и сложный, но вполне посильный проект, особенно если разбить его на составные части и тщательно к ним подготовиться. Если вы давно подумывали об интеграции, но не решались из-за туманности процесса, оставьте заявку с начальными вводными — мы обязательно с вами свяжемся и вместе разработаем подробный план действий.
Если вы уже обращались к другому подрядчику, но что-то пошло не так, и итоговый результат вас не устраивает, а то и вовсе отсутствует, обязательно приходите к нам — распрямим, наладим, переделаем. Есть у нас и такой опыт работы ;).
Конечно, разработка интеграции с нуля может обернуться большими затратами, а это не каждому под силу. Если ваш проект связан с интеграцией АТС и вы хотите разделить финансовое бремя с другими компаниями, оставьте заявку на странице краудфандинга. Укажите АТС, с которой вы хотите получить интеграцию, и, как только у нас наберется несколько заявок с той же АТС, мы свяжемся со всеми участниками крауда и предложим конкретные условия.